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

Issue 1439693002: [runtime] Support Proxy setPrototypeOf trap (Closed)

Created:
5 years, 1 month ago by Camillo Bruni
Modified:
5 years ago
Reviewers:
neis, Toon Verwaest
CC:
neis, v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@2015-11-09_new_Proxy_1417063011
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[runtime] [proxy] adding [[SetPrototypeOf]] trap. LOG=N BUG=v8:1543

Patch Set 1 #

Patch Set 2 : more errors #

Patch Set 3 : more should_throw #

Patch Set 4 : skipping some fail proxy tests (ignition only) #

Patch Set 5 : skipping tests on ignition only #

Patch Set 6 : adding tests #

Patch Set 7 : more tests #

Total comments: 2

Patch Set 8 : fixing should_throw issues #

Patch Set 9 : removing accidental changes #

Patch Set 10 : gitg #

Patch Set 11 : cleanup #

Patch Set 12 : reverting error change #

Total comments: 5

Patch Set 13 : merging with master #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1783 lines, -2093 lines) Patch
M src/arm/macro-assembler-arm.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -4 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -2 lines 0 comments Download
M src/arm64/codegen-arm64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M src/arm64/macro-assembler-arm64.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -4 lines 0 comments Download
M src/arm64/macro-assembler-arm64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -2 lines 0 comments Download
M src/ast/ast.h View 1 2 3 4 5 6 7 8 9 10 11 12 51 chunks +99 lines, -174 lines 0 comments Download
M src/ast/ast.cc View 1 2 3 4 5 6 7 8 9 10 11 12 22 chunks +76 lines, -81 lines 0 comments Download
M src/ast/ast-value-factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +12 lines, -28 lines 0 comments Download
M src/ast/ast-value-factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +6 lines, -8 lines 0 comments Download
M src/ast/modules.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M src/ast/prettyprinter.h View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +7 lines, -8 lines 0 comments Download
M src/ast/prettyprinter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 16 chunks +17 lines, -34 lines 0 comments Download
M src/ast/scopeinfo.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -3 lines 0 comments Download
M src/ast/scopeinfo.cc View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +22 lines, -29 lines 0 comments Download
M src/ast/scopes.h View 1 2 3 4 5 6 7 8 9 10 11 12 9 chunks +13 lines, -19 lines 0 comments Download
M src/ast/scopes.cc View 1 2 3 4 5 6 7 8 9 10 11 12 18 chunks +40 lines, -56 lines 0 comments Download
M src/ast/variables.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -4 lines 0 comments Download
M src/ast/variables.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +18 lines, -9 lines 0 comments Download
M src/bootstrapper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +6 lines, -6 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -2 lines 0 comments Download
M src/mips/macro-assembler-mips.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -4 lines 0 comments Download
M src/mips/macro-assembler-mips.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -2 lines 0 comments Download
M src/mips64/macro-assembler-mips64.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -4 lines 0 comments Download
M src/mips64/macro-assembler-mips64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -2 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +6 lines, -0 lines 0 comments Download
M src/parsing/func-name-inferrer.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +4 lines, -12 lines 0 comments Download
M src/parsing/func-name-inferrer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -2 lines 0 comments Download
M src/parsing/json-parser.h View 1 2 3 4 5 6 7 8 9 10 11 12 10 chunks +21 lines, -32 lines 0 comments Download
M src/parsing/parser.h View 1 2 3 4 5 6 7 8 9 10 11 12 16 chunks +26 lines, -39 lines 0 comments Download
M src/parsing/parser.cc View 1 2 3 4 5 6 7 8 9 10 11 12 64 chunks +467 lines, -457 lines 0 comments Download
M src/parsing/pattern-rewriter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -3 lines 0 comments Download
M src/parsing/preparse-data.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -2 lines 0 comments Download
M src/parsing/preparser.h View 1 2 3 4 5 6 7 8 9 10 11 12 29 chunks +57 lines, -94 lines 0 comments Download
M src/parsing/preparser.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 chunks +22 lines, -31 lines 0 comments Download
M src/parsing/rewriter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +3 lines, -3 lines 0 comments Download
M src/parsing/scanner.h View 1 2 3 4 5 6 7 8 9 10 11 12 9 chunks +15 lines, -26 lines 0 comments Download
M src/parsing/scanner.cc View 1 2 3 4 5 6 7 8 9 10 11 12 18 chunks +87 lines, -168 lines 0 comments Download
M src/parsing/scanner-character-streams.h View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +4 lines, -4 lines 0 comments Download
M src/parsing/scanner-character-streams.cc View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +7 lines, -7 lines 0 comments Download
M src/parsing/token.h View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +43 lines, -44 lines 0 comments Download
M src/parsing/token.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -12 lines 0 comments Download
M src/regexp/bytecodes-irregexp.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +50 lines, -50 lines 0 comments Download
M src/regexp/interpreter-irregexp.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/mips64/regexp-macro-assembler-mips64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +23 lines, -14 lines 0 comments Download
M src/runtime/runtime-object.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +9 lines, -3 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +6 lines, -12 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -4 lines 0 comments Download
M test/cctest/compiler/test-run-bytecode-graph-builder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -3 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 48 chunks +472 lines, -492 lines 0 comments Download
M test/cctest/test-parsing.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +53 lines, -91 lines 0 comments Download
A test/mjsunit/harmony/proxy/proxy-setPrototypeOf.js View 1 2 3 4 5 6 1 chunk +59 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 14 (6 generated)
Camillo Bruni
work in progress
5 years, 1 month ago (2015-11-12 09:27:04 UTC) #1
Camillo Bruni
5 years, 1 month ago (2015-11-12 16:49:25 UTC) #2
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1439693002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1439693002/120001
5 years, 1 month ago (2015-11-13 16:38:38 UTC) #5
Camillo Bruni
PTAL
5 years, 1 month ago (2015-11-13 16:44:22 UTC) #7
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-11-13 17:10:38 UTC) #9
Toon Verwaest
https://codereview.chromium.org/1439693002/diff/120001/src/objects.cc File src/objects.cc (right): https://codereview.chromium.org/1439693002/diff/120001/src/objects.cc#newcode631 src/objects.cc:631: // TODO(cbruni,neis): Propagage should_throw here. Propagate https://codereview.chromium.org/1439693002/diff/120001/src/objects.cc#newcode639 src/objects.cc:639: // ...
5 years, 1 month ago (2015-11-13 17:28:21 UTC) #10
Camillo Bruni
PTAL again, removed the wrong should_throw code. https://codereview.chromium.org/1439693002/diff/220001/src/runtime/runtime-object.cc File src/runtime/runtime-object.cc (right): https://codereview.chromium.org/1439693002/diff/220001/src/runtime/runtime-object.cc#newcode189 src/runtime/runtime-object.cc:189: if (!status.FromJust()) ...
5 years, 1 month ago (2015-11-16 13:32:08 UTC) #11
neis
5 years, 1 month ago (2015-11-16 19:09:54 UTC) #13
https://codereview.chromium.org/1439693002/diff/220001/src/messages.h
File src/messages.h (right):

https://codereview.chromium.org/1439693002/diff/220001/src/messages.h#newcode159
src/messages.h:159: T(ObjectSetPrototypeFailed, "Could not set '%' as Protoype
on '%'")          \
s/Protoype/prototype/
But why do we need both this one and ProtoNotSet below?

https://codereview.chromium.org/1439693002/diff/220001/src/objects.cc
File src/objects.cc (right):

https://codereview.chromium.org/1439693002/diff/220001/src/objects.cc#newcode...
src/objects.cc:14023: if (!object->IsJSReceiver()) return Just(false);
What's the motivation for this?

https://codereview.chromium.org/1439693002/diff/220001/src/objects.h
File src/objects.h (right):

https://codereview.chromium.org/1439693002/diff/220001/src/objects.h#newcode9585
src/objects.h:9585: ShouldThrow should_throw);
Shouldn't they be marked as MUST_USE_RESULT?

https://codereview.chromium.org/1439693002/diff/220001/test/mjsunit/harmony/p...
File test/mjsunit/harmony/proxy/proxy-setPrototypeOf.js (right):

https://codereview.chromium.org/1439693002/diff/220001/test/mjsunit/harmony/p...
test/mjsunit/harmony/proxy/proxy-setPrototypeOf.js:59: assertSame(prototype,
Object.getPrototypeOf(target));
For consistency, can you name this file proxies-set-prototype-of.js and move it
into harmony/ ?

Powered by Google App Engine
This is Rietveld 408576698