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

Issue 1402943002: [Interpreter] Support for operator new. (Closed)

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

Description

[Interpreter] Support for operator new. This change add a new bytecode for operator new and implements it using the Construct() builtin. BUG=v8:4280 LOG=N Committed: https://crrev.com/8e4f9963d53913eab7fbd2f61a5733d8dc2169e7 Cr-Commit-Position: refs/heads/master@{#31293} Committed: https://crrev.com/7557dc5a70e333ba10eb370fe6e7b7a31760d891 Cr-Commit-Position: refs/heads/master@{#31312}

Patch Set 1 #

Patch Set 2 : Fix rebasing error. #

Total comments: 16

Patch Set 3 : Fix handling of arguments. #

Total comments: 4

Patch Set 4 : Incorporate review comments on patch sets 2 and 3. #

Total comments: 12

Patch Set 5 : Built-ins for ARM/ia32 and generator tests. #

Patch Set 6 : MIPS implementation of PushArgsAndConstruct. #

Patch Set 7 : Add MIPS64 and correct omissions in MIPS. #

Patch Set 8 : Rebase. #

Patch Set 9 : Borken test. #

Patch Set 10 : ARM64 version. #

Patch Set 11 : Attempt PPC. #

Patch Set 12 : Update comment. #

Patch Set 13 : Fix typo in MIPS64 version. #

Patch Set 14 : Second attempt at ARM64. #

Patch Set 15 : One more test. #

Total comments: 4

Patch Set 16 : Tweak ia32. #

Patch Set 17 : Rebase #

Patch Set 18 : Fix missing receiver slot. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+655 lines, -53 lines) Patch
M src/arm/builtins-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +39 lines, -8 lines 0 comments Download
M src/arm/interface-descriptors-arm.cc View 1 2 3 4 1 chunk +12 lines, -0 lines 0 comments Download
M src/arm64/builtins-arm64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +38 lines, -1 line 0 comments Download
M src/arm64/interface-descriptors-arm64.cc View 1 2 3 4 5 6 7 8 9 1 chunk +12 lines, -0 lines 0 comments Download
M src/builtins.h View 2 chunks +2 lines, -0 lines 0 comments Download
M src/code-factory.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M src/code-factory.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/interpreter-assembler.h View 1 2 3 4 5 6 7 1 chunk +11 lines, -2 lines 0 comments Download
M src/compiler/interpreter-assembler.cc View 1 2 3 4 5 6 7 1 chunk +20 lines, -0 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +61 lines, -10 lines 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 1 2 3 4 1 chunk +12 lines, -0 lines 0 comments Download
M src/interface-descriptors.h View 2 chunks +9 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-array-builder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +7 lines, -1 line 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +10 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-generator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4 chunks +49 lines, -18 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +4 lines, -1 line 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +19 lines, -0 lines 0 comments Download
M src/mips/builtins-mips.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +32 lines, -0 lines 0 comments Download
M src/mips/interface-descriptors-mips.cc View 1 2 3 4 5 6 1 chunk +12 lines, -0 lines 0 comments Download
M src/mips64/builtins-mips64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +32 lines, -0 lines 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 1 2 3 4 5 6 1 chunk +12 lines, -0 lines 0 comments Download
M src/ppc/builtins-ppc.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +36 lines, -0 lines 0 comments Download
M src/ppc/interface-descriptors-ppc.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +12 lines, -0 lines 0 comments Download
M src/ppc/macro-assembler-ppc.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -1 line 0 comments Download
M src/x64/builtins-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +53 lines, -8 lines 0 comments Download
M src/x64/interface-descriptors-x64.cc View 1 2 3 1 chunk +12 lines, -0 lines 0 comments Download
M test/cctest/interpreter/test-bytecode-generator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +69 lines, -3 lines 0 comments Download
M test/cctest/interpreter/test-interpreter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +59 lines, -0 lines 0 comments Download
M test/unittests/interpreter/bytecode-array-builder-unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (8 generated)
oth
rmcilroy@chromium.org: Please review all the changes here. bmeurer@chromium.org: Please review changes in x64 and compiler. ...
5 years, 2 months ago (2015-10-13 12:32:40 UTC) #2
rmcilroy
The approach looks great. A couple of comments, and some BytecodeGenerator tests would be good ...
5 years, 2 months ago (2015-10-13 14:07:30 UTC) #3
Benedikt Meurer
compiler and x64 LGTM modulo comments. https://codereview.chromium.org/1402943002/diff/40001/src/code-factory.h File src/code-factory.h (right): https://codereview.chromium.org/1402943002/diff/40001/src/code-factory.h#newcode100 src/code-factory.h:100: static Callable ConstructNew(Isolate* ...
5 years, 2 months ago (2015-10-14 03:44:25 UTC) #4
oth
Thanks. Comments incorporated with a query about how far to push on the anonymous namespace ...
5 years, 2 months ago (2015-10-14 08:40:10 UTC) #5
rmcilroy
lgtm once bytecode generator tests are added and other architectures ported. https://codereview.chromium.org/1402943002/diff/60001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): ...
5 years, 2 months ago (2015-10-14 10:18:35 UTC) #6
oth
Think everything's done here modulo fixing ports. https://codereview.chromium.org/1402943002/diff/60001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): https://codereview.chromium.org/1402943002/diff/60001/src/interpreter/bytecode-generator.cc#newcode744 src/interpreter/bytecode-generator.cc:744: builder()->New(constructor, constructor, ...
5 years, 2 months ago (2015-10-14 16:02:19 UTC) #7
rmcilroy
Looks great. LGTM with optional suggestion on ia32 port. https://codereview.chromium.org/1402943002/diff/270001/src/ia32/builtins-ia32.cc File src/ia32/builtins-ia32.cc (right): https://codereview.chromium.org/1402943002/diff/270001/src/ia32/builtins-ia32.cc#newcode782 src/ia32/builtins-ia32.cc:782: ...
5 years, 2 months ago (2015-10-15 10:30:55 UTC) #8
oth
Thanks. https://codereview.chromium.org/1402943002/diff/270001/src/ia32/builtins-ia32.cc File src/ia32/builtins-ia32.cc (right): https://codereview.chromium.org/1402943002/diff/270001/src/ia32/builtins-ia32.cc#newcode782 src/ia32/builtins-ia32.cc:782: // Save number of arguments on the stack ...
5 years, 2 months ago (2015-10-15 11:16:43 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1402943002/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1402943002/280001
5 years, 2 months ago (2015-10-15 11:17:04 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: v8_android_arm_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_android_arm_compile_rel/builds/8775) v8_linux64_asan_rel on tryserver.v8 (JOB_FAILED, ...
5 years, 2 months ago (2015-10-15 11:18:03 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1402943002/290001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1402943002/290001
5 years, 2 months ago (2015-10-15 11:27:40 UTC) #17
commit-bot: I haz the power
Committed patchset #17 (id:290001)
5 years, 2 months ago (2015-10-15 11:50:50 UTC) #18
commit-bot: I haz the power
Patchset 17 (id:??) landed as https://crrev.com/8e4f9963d53913eab7fbd2f61a5733d8dc2169e7 Cr-Commit-Position: refs/heads/master@{#31293}
5 years, 2 months ago (2015-10-15 11:51:15 UTC) #19
Michael Achenbach
A revert of this CL (patchset #17 id:290001) has been created in https://codereview.chromium.org/1402153004/ by machenbach@chromium.org. ...
5 years, 2 months ago (2015-10-15 12:49:19 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1402943002/310001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1402943002/310001
5 years, 2 months ago (2015-10-15 15:48:17 UTC) #23
commit-bot: I haz the power
Committed patchset #18 (id:310001)
5 years, 2 months ago (2015-10-15 16:46:23 UTC) #24
commit-bot: I haz the power
5 years, 2 months ago (2015-10-15 16:46:42 UTC) #25
Message was sent while issue was closed.
Patchset 18 (id:??) landed as
https://crrev.com/7557dc5a70e333ba10eb370fe6e7b7a31760d891
Cr-Commit-Position: refs/heads/master@{#31312}

Powered by Google App Engine
This is Rietveld 408576698