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

Issue 1135243004: [es6] Support super.property in eval and arrow functions (Closed)

Created:
5 years, 7 months ago by arv (Not doing code reviews)
Modified:
5 years, 7 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

[es6] Support super.property in eval and arrow functions When we enter a method that needs access to the [[HomeObject]] we allocate a local variable `.home_object` and assign it the value from the [[HomeObject]] private symbol. Something along the lines of: method() { var .home_object = %ThisFunction()[home_object_symbol]; ... } BUG=v8:3867, v8:4031 LOG=N Committed: https://crrev.com/44e9810345cea9bfd6861905bc6856db7db5a25c Cr-Commit-Position: refs/heads/master@{#28644}

Patch Set 1 #

Patch Set 2 : Try feedback slot #

Total comments: 1

Patch Set 3 : i have no idea #

Total comments: 1

Patch Set 4 : Update tests #

Patch Set 5 : cleanup #

Patch Set 6 : All ports done #

Total comments: 3

Patch Set 7 : rebase #

Total comments: 3

Patch Set 8 : release mode works #

Patch Set 9 : Fix bailout id none assertion #

Patch Set 10 : cleanup #

Total comments: 2

Patch Set 11 : TF should stack overflow since it does not support super.prop #

Patch Set 12 : git rebase #

Total comments: 5

Patch Set 13 : Code review cleanup #

Unified diffs Side-by-side diffs Delta from patch set Stats (+438 lines, -318 lines) Patch
M src/arm/full-codegen-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 13 chunks +32 lines, -38 lines 0 comments Download
M src/arm64/full-codegen-arm64.cc View 1 2 3 4 5 6 7 8 9 10 11 13 chunks +32 lines, -40 lines 0 comments Download
M src/ast.h View 1 2 3 4 5 6 7 8 9 10 11 6 chunks +36 lines, -25 lines 0 comments Download
M src/ast.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M src/ast-numbering.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +3 lines, -0 lines 0 comments Download
M src/ast-value-factory.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/ast-graph-builder.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +7 lines, -0 lines 0 comments Download
M src/full-codegen.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +0 lines, -2 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 13 chunks +32 lines, -38 lines 0 comments Download
M src/mips/full-codegen-mips.cc View 1 2 3 4 5 6 7 8 9 10 11 13 chunks +33 lines, -33 lines 0 comments Download
M src/mips64/full-codegen-mips64.cc View 1 2 3 4 5 6 7 8 9 10 11 13 chunks +33 lines, -33 lines 0 comments Download
M src/parser.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -2 lines 0 comments Download
M src/parser.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +8 lines, -2 lines 0 comments Download
M src/preparser.h View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +30 lines, -18 lines 0 comments Download
M src/preparser.cc View 1 2 3 4 5 6 2 chunks +2 lines, -2 lines 0 comments Download
M src/scopes.h View 1 2 3 4 5 6 2 chunks +12 lines, -0 lines 0 comments Download
M src/scopes.cc View 1 2 3 4 5 6 6 chunks +29 lines, -12 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 13 chunks +33 lines, -38 lines 0 comments Download
M test/cctest/test-compiler.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +3 lines, -3 lines 0 comments Download
M test/cctest/test-feedback-vector.cc View 1 2 3 4 5 6 5 chunks +6 lines, -6 lines 0 comments Download
M test/cctest/test-heap.cc View 1 2 3 4 5 6 7 8 9 10 11 10 chunks +15 lines, -15 lines 0 comments Download
M test/cctest/test-parsing.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +5 lines, -8 lines 0 comments Download
M test/mjsunit/harmony/object-literals-super.js View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +40 lines, -1 line 0 comments Download
M test/mjsunit/harmony/super.js View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +44 lines, -1 line 0 comments Download

Messages

Total messages: 50 (11 generated)
arv (Not doing code reviews)
This works but could be improved. - This uses a runtime function to load the ...
5 years, 7 months ago (2015-05-12 15:55:20 UTC) #2
Dmitry Lomov (no reviews)
The approach looks good to me overall. It will be nice to keep the LoadIC ...
5 years, 7 months ago (2015-05-12 16:44:47 UTC) #3
arv (Not doing code reviews)
Try feedback slot
5 years, 7 months ago (2015-05-12 19:58:28 UTC) #4
arv (Not doing code reviews)
On 2015/05/12 19:58:28, arv wrote: > Try feedback slot I'm having issues with the ast-numbering/feedback ...
5 years, 7 months ago (2015-05-12 20:00:51 UTC) #5
wingo
https://codereview.chromium.org/1135243004/diff/20001/src/ast-numbering.cc File src/ast-numbering.cc (right): https://codereview.chromium.org/1135243004/diff/20001/src/ast-numbering.cc#newcode489 src/ast-numbering.cc:489: ReserveFeedbackSlots(node); Could it be that this needs to go ...
5 years, 7 months ago (2015-05-13 06:21:33 UTC) #6
arv (Not doing code reviews)
i have no idea
5 years, 7 months ago (2015-05-13 15:05:41 UTC) #7
arv (Not doing code reviews)
Andy, I realize that I don't understand this. Any hints? https://codereview.chromium.org/1135243004/diff/40001/src/ast-numbering.cc File src/ast-numbering.cc (right): https://codereview.chromium.org/1135243004/diff/40001/src/ast-numbering.cc#newcode515 ...
5 years, 7 months ago (2015-05-13 15:16:44 UTC) #8
arv (Not doing code reviews)
On 2015/05/13 15:16:44, arv wrote: > Andy, I realize that I don't understand this. Any ...
5 years, 7 months ago (2015-05-13 15:44:01 UTC) #9
arv (Not doing code reviews)
Update tests
5 years, 7 months ago (2015-05-13 16:04:27 UTC) #10
arv (Not doing code reviews)
Adding Ben since... IC
5 years, 7 months ago (2015-05-13 16:05:46 UTC) #12
arv (Not doing code reviews)
No longer WIP. I'll start the other ports today.
5 years, 7 months ago (2015-05-13 16:11:53 UTC) #15
arv (Not doing code reviews)
cleanup
5 years, 7 months ago (2015-05-13 17:09:51 UTC) #16
arv (Not doing code reviews)
All ports done
5 years, 7 months ago (2015-05-13 20:18:45 UTC) #17
arv (Not doing code reviews)
PTAL Now this is only gated on Andy's CL staying in the tree...
5 years, 7 months ago (2015-05-13 20:19:36 UTC) #18
arv (Not doing code reviews)
Thanks Ben. Toon, could you look at the IC stuff?
5 years, 7 months ago (2015-05-13 21:15:13 UTC) #20
mvstanton
I've reviewed the feedback vector stuff, and it looks good. Yes, it's unfortunate that tests ...
5 years, 7 months ago (2015-05-15 09:48:57 UTC) #22
wingo
for what it's worth, lgtm https://codereview.chromium.org/1135243004/diff/100001/src/preparser.h File src/preparser.h (right): https://codereview.chromium.org/1135243004/diff/100001/src/preparser.h#newcode3386 src/preparser.h:3386: while (scope->is_eval_scope() || scope->is_arrow_scope()) ...
5 years, 7 months ago (2015-05-15 14:59:35 UTC) #23
arv (Not doing code reviews)
https://codereview.chromium.org/1135243004/diff/100001/test/mjsunit/harmony/object-literals-super.js File test/mjsunit/harmony/object-literals-super.js (right): https://codereview.chromium.org/1135243004/diff/100001/test/mjsunit/harmony/object-literals-super.js#newcode145 test/mjsunit/harmony/object-literals-super.js:145: eval() { On 2015/05/15 14:59:35, wingo wrote: > This ...
5 years, 7 months ago (2015-05-15 15:11:52 UTC) #24
arv (Not doing code reviews)
rebase
5 years, 7 months ago (2015-05-20 21:13:34 UTC) #25
arv (Not doing code reviews)
I've cleanly applied the patch now. There is some problem related to call spread. test/mjsunit/harmony/spread-call-super-property.js ...
5 years, 7 months ago (2015-05-20 22:38:34 UTC) #26
arv (Not doing code reviews)
On 2015/05/20 22:38:34, arv wrote: > I've cleanly applied the patch now. > > There ...
5 years, 7 months ago (2015-05-21 17:56:20 UTC) #27
caitp (gmail)
On 2015/05/21 17:56:20, arv wrote: > On 2015/05/20 22:38:34, arv wrote: > > I've cleanly ...
5 years, 7 months ago (2015-05-21 18:12:35 UTC) #28
arv (Not doing code reviews)
On 2015/05/21 18:12:35, caitp wrote: > On 2015/05/21 17:56:20, arv wrote: > > On 2015/05/20 ...
5 years, 7 months ago (2015-05-21 19:42:32 UTC) #29
arv (Not doing code reviews)
https://codereview.chromium.org/1135243004/diff/120001/src/x64/full-codegen-x64.cc File src/x64/full-codegen-x64.cc (right): https://codereview.chromium.org/1135243004/diff/120001/src/x64/full-codegen-x64.cc#newcode309 src/x64/full-codegen-x64.cc:309: __ movp(LoadDescriptor::ReceiverRegister(), rdi); Caitlin, I think the problem is ...
5 years, 7 months ago (2015-05-21 19:42:42 UTC) #30
caitp (gmail)
https://codereview.chromium.org/1135243004/diff/120001/src/x64/full-codegen-x64.cc File src/x64/full-codegen-x64.cc (right): https://codereview.chromium.org/1135243004/diff/120001/src/x64/full-codegen-x64.cc#newcode309 src/x64/full-codegen-x64.cc:309: __ movp(LoadDescriptor::ReceiverRegister(), rdi); On 2015/05/21 19:42:42, arv wrote: > ...
5 years, 7 months ago (2015-05-21 19:47:51 UTC) #32
caitp (gmail)
https://codereview.chromium.org/1135243004/diff/120001/src/x64/full-codegen-x64.cc File src/x64/full-codegen-x64.cc (right): https://codereview.chromium.org/1135243004/diff/120001/src/x64/full-codegen-x64.cc#newcode309 src/x64/full-codegen-x64.cc:309: __ movp(LoadDescriptor::ReceiverRegister(), rdi); On 2015/05/21 19:47:51, caitp wrote: > ...
5 years, 7 months ago (2015-05-21 20:32:35 UTC) #33
arv (Not doing code reviews)
release mode works
5 years, 7 months ago (2015-05-26 16:17:49 UTC) #34
arv (Not doing code reviews)
Fix bailout id none assertion
5 years, 7 months ago (2015-05-26 17:04:44 UTC) #35
arv (Not doing code reviews)
cleanup
5 years, 7 months ago (2015-05-26 17:10:45 UTC) #36
arv (Not doing code reviews)
PTAL Michi, see comment in below. Is this what you were referring to last week? ...
5 years, 7 months ago (2015-05-26 17:17:48 UTC) #38
arv (Not doing code reviews)
TF should stack overflow since it does not support super.prop
5 years, 7 months ago (2015-05-26 18:43:48 UTC) #39
arv (Not doing code reviews)
PTAL Adam, care to take a look since Dmitry is ooo this week? https://codereview.chromium.org/1135243004/diff/180001/src/ast.h File ...
5 years, 7 months ago (2015-05-26 18:46:30 UTC) #41
arv (Not doing code reviews)
git rebase
5 years, 7 months ago (2015-05-26 18:51:53 UTC) #42
adamk
lgtm The IC stuff is not my forte, obviously, but it looks like mvstanton already ...
5 years, 7 months ago (2015-05-26 19:32:33 UTC) #43
arv (Not doing code reviews)
Code review cleanup
5 years, 7 months ago (2015-05-26 19:39:47 UTC) #44
arv (Not doing code reviews)
https://codereview.chromium.org/1135243004/diff/220001/src/preparser.h File src/preparser.h (right): https://codereview.chromium.org/1135243004/diff/220001/src/preparser.h#newcode344 src/preparser.h:344: DCHECK(scope_type != FUNCTION_SCOPE && scope_type != ARROW_SCOPE); On 2015/05/26 ...
5 years, 7 months ago (2015-05-26 19:39:59 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1135243004/240001
5 years, 7 months ago (2015-05-26 19:40:26 UTC) #48
commit-bot: I haz the power
Committed patchset #13 (id:240001)
5 years, 7 months ago (2015-05-26 20:29:54 UTC) #49
commit-bot: I haz the power
5 years, 7 months ago (2015-05-26 20:30:06 UTC) #50
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/44e9810345cea9bfd6861905bc6856db7db5a25c
Cr-Commit-Position: refs/heads/master@{#28644}

Powered by Google App Engine
This is Rietveld 408576698