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

Issue 8256015: Implement for-in loop for proxies. (Closed)

Created:
9 years, 2 months ago by rossberg
Modified:
9 years, 2 months ago
Reviewers:
Rico
CC:
v8-dev
Visibility:
Public.

Description

Implement for-in loop for proxies. Fix related corner case for Object.keys. Remove obsolete GET_KEYS builtin. R=ricow@chromium.org BUG= TEST= Committed: http://code.google.com/p/v8/source/detail?r=9760

Patch Set 1 #

Patch Set 2 : Activate test cases that relied on for-in. #

Total comments: 15

Patch Set 3 : Addressed Rico's comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+365 lines, -85 lines) Patch
M src/api.cc View 1 2 2 chunks +6 lines, -2 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 3 chunks +23 lines, -5 lines 0 comments Download
M src/bootstrapper.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/builtins.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M src/contexts.h View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M src/handles.h View 1 2 1 chunk +6 lines, -5 lines 0 comments Download
M src/handles.cc View 1 2 5 chunks +18 lines, -7 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 chunks +25 lines, -5 lines 0 comments Download
M src/objects.h View 1 2 2 chunks +3 lines, -3 lines 0 comments Download
M src/objects.cc View 1 2 1 chunk +4 lines, -3 lines 0 comments Download
M src/proxy.js View 1 chunk +24 lines, -1 line 0 comments Download
M src/runtime.cc View 1 2 6 chunks +31 lines, -11 lines 0 comments Download
M src/runtime.js View 1 2 1 chunk +0 lines, -7 lines 0 comments Download
M src/v8natives.js View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 chunks +24 lines, -5 lines 0 comments Download
M test/mjsunit/harmony/proxies.js View 1 5 chunks +28 lines, -28 lines 0 comments Download
A test/mjsunit/harmony/proxies-for.js View 1 chunk +168 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
rossberg
9 years, 2 months ago (2011-10-13 13:06:34 UTC) #1
Rico
LGTM, platform specific comments in arm is also valid for ia32 and x64 http://codereview.chromium.org/8256015/diff/2002/src/arm/full-codegen-arm.cc File ...
9 years, 2 months ago (2011-10-20 14:25:31 UTC) #2
rossberg
9 years, 2 months ago (2011-10-24 13:31:35 UTC) #3
http://codereview.chromium.org/8256015/diff/2002/src/arm/full-codegen-arm.cc
File src/arm/full-codegen-arm.cc (right):

http://codereview.chromium.org/8256015/diff/2002/src/arm/full-codegen-arm.cc#...
src/arm/full-codegen-arm.cc:1023: __ mov(r1, Operand(Smi::FromInt(1)));  // smi
indicates slow check
On 2011/10/20 14:25:31, Rico wrote:
> Capitalize start of comment + below

Done.

http://codereview.chromium.org/8256015/diff/2002/src/arm/full-codegen-arm.cc#...
src/arm/full-codegen-arm.cc:1030: __ Push(r1, r0);  // map or smi, and array
On 2011/10/20 14:25:31, Rico wrote:
> how can r1 be a map, we either load smi 1 or smi 0 above right?

Done.

http://codereview.chromium.org/8256015/diff/2002/src/arm/full-codegen-arm.cc#...
src/arm/full-codegen-arm.cc:1060: // TODO(rossberg): What if only a prototype is
a proxy? Not specified.
On 2011/10/20 14:25:31, Rico wrote:
> Please file a bug

Will note it in bug v8:1543.

http://codereview.chromium.org/8256015/diff/2002/src/ia32/full-codegen-ia32.cc
File src/ia32/full-codegen-ia32.cc (right):

http://codereview.chromium.org/8256015/diff/2002/src/ia32/full-codegen-ia32.c...
src/ia32/full-codegen-ia32.cc:1014: __ push(eax);
On 2011/10/20 14:25:31, Rico wrote:
> Add comment about what eax is

Done.

http://codereview.chromium.org/8256015/diff/2002/src/v8natives.js
File src/v8natives.js (right):

http://codereview.chromium.org/8256015/diff/2002/src/v8natives.js#newcode1013
src/v8natives.js:1013: global.print("GetOwnEnumerablePropertyNames");
On 2011/10/20 14:25:31, Rico wrote:
> Debug print?

Oops.

http://codereview.chromium.org/8256015/diff/2002/src/x64/full-codegen-x64.cc
File src/x64/full-codegen-x64.cc (right):

http://codereview.chromium.org/8256015/diff/2002/src/x64/full-codegen-x64.cc#...
src/x64/full-codegen-x64.cc:989: __ push(rax);
On 2011/10/20 14:25:31, Rico wrote:
> Add comment about what rax is

Done.

http://codereview.chromium.org/8256015/diff/2002/test/mjsunit/harmony/proxies...
File test/mjsunit/harmony/proxies-for.js (right):

http://codereview.chromium.org/8256015/diff/2002/test/mjsunit/harmony/proxies...
test/mjsunit/harmony/proxies-for.js:28: // Flags: --harmony-proxies
On 2011/10/20 14:25:31, Rico wrote:
> General in this file: Add semicolons

To avoid conflicts, will defer until my open CLs are all in.

Powered by Google App Engine
This is Rietveld 408576698