Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Issue 1330033002: [calls] Consistent call protocol for calls. (Closed)

Created:
5 years, 3 months ago by Benedikt Meurer
Modified:
5 years, 3 months ago
Reviewers:
Jarin
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[calls] Consistent call protocol for calls. The number of actual arguments should always be available, there's no point in trying to optimize away a simple assignment of an immediate to a register before some calls. The main motivation is to have a consistent state at the beginning of every function. Currently the arguments register (i.e. rax or eax) either contains the number of arguments or some random garbage depending on whether the callsite decided that the callee might need the information or not. This causes trouble with runtime implementations of functions that do not set internal_formal_parameter_count to the DontAdaptArguments sentinel (we don't have any of those yet), but also makes it impossible to sanity check the arguments in the callee, because the callee doesn't know whether the caller decided to pass the number of arguments or random garbage. BUG=v8:4413 LOG=n Committed: https://crrev.com/b37907ff7f866873ddfbfc97670b43c19a5fc7f9 Cr-Commit-Position: refs/heads/master@{#30648}

Patch Set 1 #

Patch Set 2 : Add arm64, mips and mips64 ports. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+43 lines, -81 lines) Patch
M src/arm/lithium-codegen-arm.cc View 2 chunks +3 lines, -8 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/arm64/lithium-codegen-arm64.cc View 1 2 chunks +3 lines, -8 lines 0 comments Download
M src/arm64/macro-assembler-arm64.cc View 1 2 chunks +2 lines, -3 lines 0 comments Download
M src/hydrogen.h View 1 chunk +1 line, -3 lines 0 comments Download
M src/hydrogen.cc View 3 chunks +5 lines, -5 lines 0 comments Download
M src/hydrogen-instructions.h View 3 chunks +1 line, -7 lines 0 comments Download
M src/hydrogen-instructions.cc View 2 chunks +2 lines, -5 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 2 chunks +3 lines, -8 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 3 chunks +4 lines, -2 lines 0 comments Download
M src/mips/lithium-codegen-mips.cc View 1 2 chunks +3 lines, -8 lines 0 comments Download
M src/mips/macro-assembler-mips.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M src/mips64/lithium-codegen-mips64.cc View 1 2 chunks +3 lines, -8 lines 0 comments Download
M src/mips64/macro-assembler-mips64.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 2 chunks +3 lines, -8 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 3 chunks +4 lines, -2 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
Benedikt Meurer
Hey Jaro, This unifies the handling of "actual number of arguments" for JSFunction calls. It ...
5 years, 3 months ago (2015-09-09 04:35:26 UTC) #2
Jarin
lgtm
5 years, 3 months ago (2015-09-09 04:58:26 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1330033002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1330033002/20001
5 years, 3 months ago (2015-09-09 04:58:48 UTC) #5
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 3 months ago (2015-09-09 05:01:09 UTC) #6
commit-bot: I haz the power
5 years, 3 months ago (2015-09-09 05:01:35 UTC) #7
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/b37907ff7f866873ddfbfc97670b43c19a5fc7f9
Cr-Commit-Position: refs/heads/master@{#30648}

Powered by Google App Engine
This is Rietveld 408576698