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

Issue 465148: Create literal boilerplate as part of cloning in the top-level compiler.... (Closed)

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

Description

Create literal boilerplate as part of cloning in the top-level compiler. When generating code for object and array literals we performed the check if the a boilerplate already exists in generated code. In the top-level compiler we now do this check in a new runtime function. This makes the generated code more compact for top-level code. Committed: http://code.google.com/p/v8/source/detail?r=3437

Patch Set 1 #

Total comments: 8

Patch Set 2 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+98 lines, -124 lines) Patch
M src/arm/fast-codegen-arm.cc View 1 2 chunks +4 lines, -38 lines 0 comments Download
M src/ia32/fast-codegen-ia32.cc View 1 2 chunks +7 lines, -45 lines 0 comments Download
M src/runtime.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/runtime.cc View 1 1 chunk +76 lines, -0 lines 0 comments Download
M src/x64/fast-codegen-x64.cc View 1 2 chunks +7 lines, -41 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
fschneider
11 years ago (2009-12-09 12:01:25 UTC) #1
Kevin Millikin (Chromium)
LGTM. You should use the checked (in DEBUG builds) cast operator. http://codereview.chromium.org/465148/diff/1/2 File src/ia32/fast-codegen-ia32.cc (right): ...
11 years ago (2009-12-09 12:50:07 UTC) #2
fschneider
11 years ago (2009-12-09 13:05:10 UTC) #3
Thanks. 

Comments addressed (also on x64/arm).

http://codereview.chromium.org/465148/diff/1/2
File src/ia32/fast-codegen-ia32.cc (right):

http://codereview.chromium.org/465148/diff/1/2#newcode659
src/ia32/fast-codegen-ia32.cc:659: // Registers will be used as follows:
On 2009/12/09 12:50:07, Kevin Millikin wrote:
> This comment seems unnecessary (and no longer accurate).

Done.

http://codereview.chromium.org/465148/diff/1/2#newcode666
src/ia32/fast-codegen-ia32.cc:666: __ push(ebx);
On 2009/12/09 12:50:07, Kevin Millikin wrote:
> Can you just push(FieldOperand(edi, JSFunction::kLiteralsOffset))?

Done.

http://codereview.chromium.org/465148/diff/1/2#newcode774
src/ia32/fast-codegen-ia32.cc:774: __ push(ebx);
On 2009/12/09 12:50:07, Kevin Millikin wrote:
> Same.

Done.

http://codereview.chromium.org/465148/diff/1/3
File src/runtime.cc (right):

http://codereview.chromium.org/465148/diff/1/3#newcode416
src/runtime.cc:416: return
DeepCopyBoilerplate(static_cast<JSObject*>(*boilerplate));
On 2009/12/09 12:50:07, Kevin Millikin wrote:
> Not static_cast<JSObject*>(*boilerplate), but JSObject::cast(*boilerplate).

Done.

Powered by Google App Engine
This is Rietveld 408576698