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

Issue 527963002: Implement loads and calls from 'super' (Closed)

Created:
6 years, 3 months ago by Dmitry Lomov (no reviews)
Modified:
6 years, 3 months ago
CC:
v8-dev
Project:
v8
Visibility:
Public.

Description

Implement loads and calls from 'super' R=verwaest@chromium.org, arv@chromium.org BUG=v8:3330 LOG=N Committed: https://code.google.com/p/v8/source/detail?r=24078

Patch Set 1 #

Total comments: 13

Patch Set 2 : CR feedback #

Total comments: 8

Patch Set 3 : Access checks #

Patch Set 4 : Minor changes #

Total comments: 1

Patch Set 5 : Platforms modulo MIPS #

Patch Set 6 : Refactoring in ports suggested by Ulan #

Patch Set 7 : Comments for stack layout in EmitSuperCallWithLoadIC #

Patch Set 8 : Rebased before landing #

Unified diffs Side-by-side diffs Delta from patch set Stats (+595 lines, -53 lines) Patch
M src/arm/full-codegen-arm.cc View 1 2 3 4 5 6 7 7 chunks +95 lines, -9 lines 0 comments Download
M src/arm64/full-codegen-arm64.cc View 1 2 3 4 5 6 7 7 chunks +97 lines, -10 lines 0 comments Download
M src/compiler.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/full-codegen.h View 1 2 3 4 5 6 7 3 chunks +5 lines, -0 lines 0 comments Download
M src/full-codegen.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -2 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -1 line 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 4 5 6 7 6 chunks +91 lines, -10 lines 0 comments Download
M src/messages.js View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/runtime.h View 1 2 3 4 5 6 7 1 chunk +4 lines, -1 line 0 comments Download
M src/runtime.cc View 1 2 3 4 5 6 7 2 chunks +41 lines, -0 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 4 5 6 7 6 chunks +93 lines, -10 lines 0 comments Download
M test/cctest/test-api.cc View 1 2 3 4 5 6 7 3 chunks +26 lines, -10 lines 0 comments Download
A test/mjsunit/harmony/super.js View 1 2 1 chunk +127 lines, -0 lines 0 comments Download
A test/mjsunit/runtime-gen/loadfromsuper.js View 1 2 3 4 5 6 7 1 chunk +7 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (3 generated)
Dmitry Lomov (no reviews)
This implements named loads and named calls from super. Only ia32 for now, please take ...
6 years, 3 months ago (2014-09-02 14:55:01 UTC) #1
arv (Not doing code reviews)
Looks good as far as I can tell. Toon need to look at this too ...
6 years, 3 months ago (2014-09-09 22:38:46 UTC) #2
Toon Verwaest
https://codereview.chromium.org/527963002/diff/1/src/ia32/full-codegen-ia32.cc File src/ia32/full-codegen-ia32.cc (right): https://codereview.chromium.org/527963002/diff/1/src/ia32/full-codegen-ia32.cc#newcode1293 src/ia32/full-codegen-ia32.cc:1293: __ j(equal, &super_lookup_failure); What about j(not_equal, &done) push(Immediate(...empty_string())); CallRuntime(...ThrowReferenceError...); ...
6 years, 3 months ago (2014-09-15 11:57:21 UTC) #3
Dmitry Lomov (no reviews)
CR comments addressed. https://codereview.chromium.org/527963002/diff/1/src/compiler.cc File src/compiler.cc (right): https://codereview.chromium.org/527963002/diff/1/src/compiler.cc#newcode409 src/compiler.cc:409: // TODO(turbofan): Make super work and ...
6 years, 3 months ago (2014-09-15 12:31:12 UTC) #4
Toon Verwaest
... and as discussed there's a missing access check when walking the prototype chain of ...
6 years, 3 months ago (2014-09-15 13:16:43 UTC) #5
Dmitry Lomov (no reviews)
https://codereview.chromium.org/527963002/diff/20001/src/ia32/full-codegen-ia32.cc File src/ia32/full-codegen-ia32.cc (right): https://codereview.chromium.org/527963002/diff/20001/src/ia32/full-codegen-ia32.cc#newcode1298 src/ia32/full-codegen-ia32.cc:1298: __ mov(eax, FieldOperand(eax, Map::kPrototypeOffset)); As discussed offline, this skips ...
6 years, 3 months ago (2014-09-15 13:18:26 UTC) #6
arv (Not doing code reviews)
https://codereview.chromium.org/527963002/diff/1/src/ia32/full-codegen-ia32.cc File src/ia32/full-codegen-ia32.cc (right): https://codereview.chromium.org/527963002/diff/1/src/ia32/full-codegen-ia32.cc#newcode1299 src/ia32/full-codegen-ia32.cc:1299: __ push(Immediate(isolate()->factory()->empty_string())); Can we do a better error message ...
6 years, 3 months ago (2014-09-15 15:22:57 UTC) #7
Dmitry Lomov (no reviews)
PTAL. Added access checks & addressed other feedback. Last check before platform ports. https://codereview.chromium.org/527963002/diff/20001/src/ia32/full-codegen-ia32.cc File ...
6 years, 3 months ago (2014-09-16 13:15:56 UTC) #8
Toon Verwaest
lgtm https://codereview.chromium.org/527963002/diff/60001/src/runtime.cc File src/runtime.cc (right): https://codereview.chromium.org/527963002/diff/60001/src/runtime.cc#newcode2239 src/runtime.cc:2239: // Define or redefine own pro//perty. remove //
6 years, 3 months ago (2014-09-16 13:56:16 UTC) #9
Dmitry Lomov (no reviews)
+ x64, arm, arm64 - PTAL. ulan@ - please take a look at arm/arm64 - ...
6 years, 3 months ago (2014-09-17 08:59:42 UTC) #11
arv (Not doing code reviews)
test/mjsunit/runtime-gen/loadfromsuper.js and tools/generate-runtime-tests.py have been removed.
6 years, 3 months ago (2014-09-17 16:49:51 UTC) #12
arv (Not doing code reviews)
On 2014/09/17 at 16:49:51, arv wrote: > test/mjsunit/runtime-gen/loadfromsuper.js and tools/generate-runtime-tests.py have been removed. I meant ...
6 years, 3 months ago (2014-09-17 16:50:16 UTC) #13
Dmitry Lomov (no reviews)
On 2014/09/17 16:50:16, arv wrote: > On 2014/09/17 at 16:49:51, arv wrote: > > test/mjsunit/runtime-gen/loadfromsuper.js ...
6 years, 3 months ago (2014-09-17 17:34:24 UTC) #14
arv (Not doing code reviews)
On 2014/09/17 at 17:34:24, dslomov wrote: > On 2014/09/17 16:50:16, arv wrote: > > On ...
6 years, 3 months ago (2014-09-17 17:37:57 UTC) #15
Dmitry Lomov (no reviews)
On 2014/09/17 17:37:57, arv wrote: > On 2014/09/17 at 17:34:24, dslomov wrote: > > On ...
6 years, 3 months ago (2014-09-17 17:41:36 UTC) #16
Dmitry Lomov (no reviews)
PTAL. Ulan suggested offline a nice restructuring for Emit* methods in full-codegen-<paltform>.cc - it is ...
6 years, 3 months ago (2014-09-18 11:56:45 UTC) #17
Toon Verwaest
still lgtm
6 years, 3 months ago (2014-09-19 09:36:44 UTC) #18
Dmitry Lomov (no reviews)
Committed patchset #8 (id:140001) manually as 24078 (presubmit successful).
6 years, 3 months ago (2014-09-19 11:08:19 UTC) #21
ulan
6 years, 3 months ago (2014-09-19 11:10:54 UTC) #22
Message was sent while issue was closed.
I looked at arm, arm64, x64 ports. They lgtm.

Powered by Google App Engine
This is Rietveld 408576698