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

Issue 444001: Fix bug in the fast compiler's object literal code... (Closed)

Created:
11 years ago by fschneider
Modified:
9 years, 6 months ago
CC:
v8-dev
Visibility:
Public.

Description

Fix bug in the fast compiler's object literal code Fixes issue 526: BUG=http://code.google.com/p/v8/issues/detail?id=526 The object literals code in the fast compiler returned an incorrect result when getter or setters are defined together with computed properties. Added a regression test that captures the most reduced version of this problem. Also added a test for object literals with getters/setters and prototype properties. Committed: http://code.google.com/p/v8/source/detail?r=3370

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Total comments: 10

Patch Set 4 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+103 lines, -8 lines) Patch
M src/arm/fast-codegen-arm.cc View 1 2 3 3 chunks +5 lines, -3 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/fast-codegen-ia32.cc View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download
M src/x64/fast-codegen-x64.cc View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download
A test/mjsunit/compiler/objectliterals.js View 2 1 chunk +57 lines, -0 lines 0 comments Download
A test/mjsunit/regress/regress-526.js View 1 chunk +32 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
fschneider
Here is the fix - DevToolsSanityTest.* passes now :) I also re-enabled the fast compiler. ...
11 years ago (2009-11-25 19:43:40 UTC) #1
Lasse Reichstein
LGTM http://codereview.chromium.org/444001/diff/8/1013 File src/arm/fast-codegen-arm.cc (right): http://codereview.chromium.org/444001/diff/8/1013#newcode579 src/arm/fast-codegen-arm.cc:579: // stack and in eax. eax -> r0 ...
11 years ago (2009-11-26 08:15:18 UTC) #2
fschneider
11 years ago (2009-11-26 21:03:51 UTC) #3
http://codereview.chromium.org/444001/diff/8/1013
File src/arm/fast-codegen-arm.cc (right):

http://codereview.chromium.org/444001/diff/8/1013#newcode579
src/arm/fast-codegen-arm.cc:579: //  stack and in eax.
On 2009/11/26 08:15:18, Lasse Reichstein wrote:
> eax -> r0

Done.

http://codereview.chromium.org/444001/diff/8/1013#newcode580
src/arm/fast-codegen-arm.cc:580: // If result_saved == false: The result not on
the stack, just in eax.
On 2009/11/26 08:15:18, Lasse Reichstein wrote:
> ditto.

Done.

http://codereview.chromium.org/444001/diff/8/1012
File src/x64/fast-codegen-x64.cc (right):

http://codereview.chromium.org/444001/diff/8/1012#newcode584
src/x64/fast-codegen-x64.cc:584: //  stack and in eax.
On 2009/11/26 08:15:18, Lasse Reichstein wrote:
> eax->rax

Done.

http://codereview.chromium.org/444001/diff/8/1012#newcode585
src/x64/fast-codegen-x64.cc:585: // If result_saved == false: The result not on
the stack, just in eax.
On 2009/11/26 08:15:18, Lasse Reichstein wrote:
> ditto.

Done.

http://codereview.chromium.org/444001/diff/8/1012#newcode610
src/x64/fast-codegen-x64.cc:610: __ movq(rax, Operand(rsp, 0));  // Restore
result back into eax.
On 2009/11/26 08:15:18, Lasse Reichstein wrote:
> eax->rax.

Done.

Powered by Google App Engine
This is Rietveld 408576698