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

Issue 1689573004: [interpreter] Support for ES6 super keyword. (Closed)

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

Description

[interpreter] Support for ES6 super keyword. Adds support for ES6 super keyword and performing loads, stores, and calls to super class members. Implements SetHomeObject and enables ThisFunctionVariable. BUG=v8:4280, v8:4682 LOG=N Committed: https://crrev.com/e768bcca2494077e634dd9e1fa495b183b4344cc Cr-Commit-Position: refs/heads/master@{#33977}

Patch Set 1 #

Patch Set 2 : Nit. #

Patch Set 3 : Update cctest.status #

Patch Set 4 : Update test262.status. #

Total comments: 26

Patch Set 5 : Incorporate review comments. #

Patch Set 6 : Rebase #

Patch Set 7 : Fix super stores following redux. #

Total comments: 18

Patch Set 8 : Incorporate review comments on patch set 7. #

Total comments: 2

Patch Set 9 : Rebase. #

Total comments: 2

Patch Set 10 : Incorporate review comments on patchsets 8 & 9. #

Patch Set 11 : Fix sense reversal. Still a couple of tests to look at. #

Patch Set 12 : Update cctest.status for tests that now pass. #

Patch Set 13 : Rebase. #

Patch Set 14 : Skip subset of failing tests on ARM64. #

Patch Set 15 : More ARM64 failures. #

Patch Set 16 : No change #

Patch Set 17 : Rebase #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+519 lines, -175 lines) Patch
M src/compiler/bytecode-graph-builder.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -2 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -7 lines 0 comments Download
M src/interpreter/bytecode-array-builder.h View 1 2 3 4 5 6 7 8 3 chunks +6 lines, -5 lines 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 2 3 4 5 6 7 8 3 chunks +2 lines, -5 lines 0 comments Download
M src/interpreter/bytecode-generator.h View 1 2 3 4 5 6 7 8 5 chunks +33 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 5 6 7 8 9 10 22 chunks +290 lines, -50 lines 1 comment Download
M src/interpreter/bytecode-register-allocator.h View 1 2 3 4 5 6 7 1 chunk +11 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-register-allocator.cc View 1 2 3 4 5 6 7 1 chunk +8 lines, -0 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 4 5 6 7 8 3 chunks +5 lines, -2 lines 0 comments Download
M test/cctest/cctest.status View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +1 line, -39 lines 0 comments Download
M test/cctest/interpreter/test-bytecode-generator.cc View 1 2 3 4 5 6 7 8 9 4 chunks +6 lines, -2 lines 0 comments Download
M test/cctest/interpreter/test-interpreter.cc View 1 chunk +59 lines, -0 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 6 chunks +12 lines, -45 lines 0 comments Download
M test/test262/test262.status View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 chunks +76 lines, -18 lines 0 comments Download

Messages

Total messages: 43 (19 generated)
oth
rmcilroy@chromium.org: PTAL. Updates to test262.status in the pipe. bmeurer@chromium.org: Please review changes in compiler. Thanks
4 years, 10 months ago (2016-02-11 11:52:54 UTC) #2
rmcilroy
Nice! Couple of comments and suggestions. https://codereview.chromium.org/1689573004/diff/60001/src/interpreter/bytecode-array-builder.h File src/interpreter/bytecode-array-builder.h (right): https://codereview.chromium.org/1689573004/diff/60001/src/interpreter/bytecode-array-builder.h#newcode171 src/interpreter/bytecode-array-builder.h:171: // The |constructor| ...
4 years, 10 months ago (2016-02-11 15:25:49 UTC) #3
Benedikt Meurer
LGTM on compiler.
4 years, 10 months ago (2016-02-11 17:36:10 UTC) #4
oth
Ross, PTAL. There's more common code here and it tries to push all super property ...
4 years, 10 months ago (2016-02-12 14:12:54 UTC) #5
rmcilroy
Looks great, a few last comments. https://codereview.chromium.org/1689573004/diff/120001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): https://codereview.chromium.org/1689573004/diff/120001/src/interpreter/bytecode-generator.cc#newcode1828 src/interpreter/bytecode-generator.cc:1828: register_allocator()->PrepareForConsecutiveAllocations(arraysize(args)); unecessary, right? ...
4 years, 10 months ago (2016-02-12 14:56:42 UTC) #6
oth
Comment incorporated and have added class for SuperPropertyArguments as discussed. PTAL. Thanks! https://codereview.chromium.org/1689573004/diff/120001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc ...
4 years, 10 months ago (2016-02-12 16:50:34 UTC) #7
rmcilroy
LGTM to land when the bots are happy. https://codereview.chromium.org/1689573004/diff/140001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): https://codereview.chromium.org/1689573004/diff/140001/src/interpreter/bytecode-generator.cc#newcode561 src/interpreter/bytecode-generator.cc:561: size_t ...
4 years, 10 months ago (2016-02-12 17:08:43 UTC) #8
oth
Thanks, investigating test breakage that's introduced after rebase and SuperPropertyArguments change. https://codereview.chromium.org/1689573004/diff/140001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): ...
4 years, 10 months ago (2016-02-12 17:22:59 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1689573004/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1689573004/240001
4 years, 10 months ago (2016-02-12 21:07:35 UTC) #11
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm64_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm64_rel/builds/15280)
4 years, 10 months ago (2016-02-12 21:46:59 UTC) #13
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1689573004/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1689573004/260001
4 years, 10 months ago (2016-02-13 07:25:42 UTC) #15
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm_rel/builds/13713)
4 years, 10 months ago (2016-02-13 07:44:36 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1689573004/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1689573004/280001
4 years, 10 months ago (2016-02-13 09:26:13 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_arm_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm_rel/builds/13716)
4 years, 10 months ago (2016-02-13 09:30:55 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1689573004/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1689573004/280001
4 years, 10 months ago (2016-02-13 12:06:55 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_arm_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm_rel/builds/13718)
4 years, 10 months ago (2016-02-13 12:14:56 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1689573004/300001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1689573004/300001
4 years, 10 months ago (2016-02-13 12:21:05 UTC) #29
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_arm_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm_rel/builds/13720)
4 years, 10 months ago (2016-02-13 12:25:57 UTC) #31
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1689573004/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1689573004/320001
4 years, 10 months ago (2016-02-15 07:54:40 UTC) #33
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-02-15 08:15:49 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1689573004/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1689573004/320001
4 years, 10 months ago (2016-02-15 08:17:07 UTC) #38
commit-bot: I haz the power
Committed patchset #17 (id:320001)
4 years, 10 months ago (2016-02-15 08:18:28 UTC) #39
commit-bot: I haz the power
Patchset 17 (id:??) landed as https://crrev.com/e768bcca2494077e634dd9e1fa495b183b4344cc Cr-Commit-Position: refs/heads/master@{#33977}
4 years, 10 months ago (2016-02-15 08:19:15 UTC) #41
Michael Starzinger
4 years, 10 months ago (2016-02-16 16:53:09 UTC) #43
Message was sent while issue was closed.
https://codereview.chromium.org/1689573004/diff/320001/src/interpreter/byteco...
File src/interpreter/bytecode-generator.cc (right):

https://codereview.chromium.org/1689573004/diff/320001/src/interpreter/byteco...
src/interpreter/bytecode-generator.cc:553: class
BytecodeGenerator::SuperPropertyArguments final {
This assumes that both, the runtime calls for loads and stores always had
exactly 4 arguments. This assumption will not hold for long. In fact I just
broke it today. Not a big fan of this abstraction.

Powered by Google App Engine
This is Rietveld 408576698