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

Issue 405033: Fast-codegen: Arguments object working on all platforms. (Closed)

Created:
11 years, 1 month ago by Lasse Reichstein
Modified:
9 years, 6 months ago
CC:
v8-dev
Visibility:
Public.

Description

Fast-codegen: Arguments object working on all platforms. This time it's true.

Patch Set 1 #

Total comments: 13

Patch Set 2 : Addressed review comments, add missing functionality. #

Total comments: 4

Patch Set 3 : Addressed review coments. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+859 lines, -255 lines) Patch
M src/arm/fast-codegen-arm.cc View 1 2 9 chunks +194 lines, -75 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 1 chunk +20 lines, -0 lines 0 comments Download
M src/compiler.cc View 1 3 chunks +26 lines, -12 lines 0 comments Download
M src/fast-codegen.h View 1 2 1 chunk +10 lines, -3 lines 0 comments Download
M src/ia32/fast-codegen-ia32.cc View 1 2 9 chunks +201 lines, -83 lines 2 comments Download
M src/ia32/macro-assembler-ia32.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 2 1 chunk +20 lines, -0 lines 0 comments Download
M src/x64/fast-codegen-x64.cc View 1 2 9 chunks +198 lines, -82 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 1 chunk +19 lines, -0 lines 0 comments Download
A test/mjsunit/arguments-read-and-assignment.js View 1 2 1 chunk +164 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
Lasse Reichstein
Anyone with time to spare (and I mean: don't interrupt your vacation unless you reall, ...
11 years, 1 month ago (2009-11-19 14:01:50 UTC) #1
fschneider
This is a large one :) First round of comments. I only looked at IA32 ...
11 years ago (2009-11-23 18:32:45 UTC) #2
Lasse Reichstein
I've added missing implementation of varproxy->property assignment to X64 and ARM. http://codereview.chromium.org/405033/diff/1/5 File src/compiler.cc (right): ...
11 years ago (2009-11-25 12:58:23 UTC) #3
fschneider
LGTM. I like the extensive unit test program! http://codereview.chromium.org/405033/diff/3004/5001 File src/arm/fast-codegen-arm.cc (right): http://codereview.chromium.org/405033/diff/3004/5001#newcode253 src/arm/fast-codegen-arm.cc:253: Register ...
11 years ago (2009-11-26 08:17:05 UTC) #4
Lasse Reichstein
http://codereview.chromium.org/405033/diff/3004/5001 File src/arm/fast-codegen-arm.cc (right): http://codereview.chromium.org/405033/diff/3004/5001#newcode253 src/arm/fast-codegen-arm.cc:253: Register scratch) { The problem is that I want ...
11 years ago (2009-11-26 10:11:25 UTC) #5
Kevin Millikin (Chromium)
11 years ago (2009-12-02 11:47:39 UTC) #6
Drive by comments, questions, and suggestions.

http://codereview.chromium.org/405033/diff/3005/5018
File src/ia32/fast-codegen-ia32.cc (right):

http://codereview.chromium.org/405033/diff/3005/5018#newcode98
src/ia32/fast-codegen-ia32.cc:98: __ mov(Operand(esi,
Context::SlotOffset(slot->index())), eax);
Why can we avoid the write barrier here?

http://codereview.chromium.org/405033/diff/3005/5018#newcode123
src/ia32/fast-codegen-ia32.cc:123: __ mov(ecx, eax);  // Duplicate result.
This seems like more generality (and complication) than we need.  As far as I
can see, 'arguments' is in the stack or we don't need to set it anyway (it's
shadowed) [*].  '.arguments' may be in the stack or the local context.  In
either case, we shouldn't need to duplicate the result.

[*] We would thus break from our existing arguments-shadowing behavior, to match
the spec (and ES5).  That seems desirable.

Powered by Google App Engine
This is Rietveld 408576698