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

Issue 1237813002: Switch CallConstructStub to take new.target in register. (Closed)

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

Description

Switch CallConstructStub to take new.target in register. This changes the calling convention of the CallConstructStub to take the original constructor (i.e. new.target in JS-speak) in a register instead of magically via the operand stack. For optimizing compilers the operand stack doesn't exist, hence cannot be peeked into. R=mvstanton@chromium.org Committed: https://crrev.com/1d9d895754e1d1cf824c11a9cce5e495fa47d5e2 Cr-Commit-Position: refs/heads/master@{#29681}

Patch Set 1 #

Patch Set 2 : Ported to all architectures. #

Total comments: 27

Patch Set 3 : Addressed comments about ARM and MIPS. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+164 lines, -134 lines) Patch
M src/arm/builtins-arm.cc View 2 chunks +2 lines, -5 lines 0 comments Download
M src/arm/code-stubs-arm.cc View 1 2 3 chunks +13 lines, -8 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 4 chunks +7 lines, -5 lines 0 comments Download
M src/arm/interface-descriptors-arm.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M src/arm64/builtins-arm64.cc View 1 1 chunk +5 lines, -5 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 chunks +10 lines, -4 lines 0 comments Download
M src/arm64/full-codegen-arm64.cc View 1 2 4 chunks +7 lines, -5 lines 0 comments Download
M src/arm64/interface-descriptors-arm64.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M src/compiler/js-generic-lowering.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 chunks +2 lines, -4 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 4 chunks +11 lines, -3 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 5 chunks +14 lines, -12 lines 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M src/mips/builtins-mips.cc View 1 2 chunks +2 lines, -5 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 3 chunks +13 lines, -10 lines 0 comments Download
M src/mips/full-codegen-mips.cc View 1 4 chunks +7 lines, -5 lines 0 comments Download
M src/mips/interface-descriptors-mips.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M src/mips64/builtins-mips64.cc View 1 2 2 chunks +2 lines, -5 lines 0 comments Download
M src/mips64/code-stubs-mips64.cc View 1 2 3 chunks +13 lines, -10 lines 0 comments Download
M src/mips64/full-codegen-mips64.cc View 1 2 4 chunks +7 lines, -5 lines 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 2 chunks +2 lines, -4 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 3 chunks +12 lines, -6 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 5 chunks +15 lines, -13 lines 0 comments Download
M src/x64/interface-descriptors-x64.cc View 1 chunk +3 lines, -3 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 17 (6 generated)
Michael Starzinger
Note that this only contains the ARM port, but I wanted to get your general ...
5 years, 5 months ago (2015-07-14 11:43:30 UTC) #1
Michael Starzinger
Ported to most architectures. Also adding the appropriate architecture experts to take a look at ...
5 years, 5 months ago (2015-07-14 15:02:47 UTC) #3
jbramley
ARM and ARM64 looks sensible. Minor comments only. I won't be in the office tomorrow ...
5 years, 5 months ago (2015-07-14 16:57:36 UTC) #5
paul.l...
mips32 port looks good. Some register usage/naming issues on mips64: the mips64 ABI allows passing ...
5 years, 5 months ago (2015-07-14 16:58:18 UTC) #7
mvstanton
LGTM on the rest of the CL.
5 years, 5 months ago (2015-07-14 20:46:14 UTC) #8
Michael Starzinger
Addressed comments. Thanks for all the feedback! https://codereview.chromium.org/1237813002/diff/20001/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): https://codereview.chromium.org/1237813002/diff/20001/src/arm/code-stubs-arm.cc#newcode2622 src/arm/code-stubs-arm.cc:2622: __ push(r4); ...
5 years, 5 months ago (2015-07-15 07:36:36 UTC) #10
paul.l...
MIPS part LGTM.
5 years, 5 months ago (2015-07-15 14:16:27 UTC) #11
martyn.capewell
ARM changes LGTM.
5 years, 5 months ago (2015-07-15 14:24:14 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1237813002/40001
5 years, 5 months ago (2015-07-15 14:35:13 UTC) #15
commit-bot: I haz the power
Committed patchset #3 (id:40001)
5 years, 5 months ago (2015-07-15 14:37:01 UTC) #16
commit-bot: I haz the power
5 years, 5 months ago (2015-07-15 14:37:26 UTC) #17
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/1d9d895754e1d1cf824c11a9cce5e495fa47d5e2
Cr-Commit-Position: refs/heads/master@{#29681}

Powered by Google App Engine
This is Rietveld 408576698