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

Issue 491077: Fast codegen: Implement with. (Closed)

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

Description

Fast codegen: Implement with.

Patch Set 1 #

Total comments: 10
Unified diffs Side-by-side diffs Delta from patch set Stats (+86 lines, -8 lines) Patch
M src/arm/fast-codegen-arm.cc View 1 chunk +20 lines, -4 lines 0 comments Download
M src/compiler.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/fast-codegen.h View 1 chunk +9 lines, -0 lines 6 comments Download
M src/fast-codegen.cc View 1 chunk +24 lines, -2 lines 4 comments Download
M src/ia32/fast-codegen-ia32.cc View 1 chunk +15 lines, -0 lines 0 comments Download
M src/x64/fast-codegen-x64.cc View 1 chunk +16 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Lasse Reichstein
Short review.
11 years ago (2009-12-14 14:17:12 UTC) #1
Kevin Millikin (Chromium)
LGTM. You should go back (in another change) and make use of the new abstractions ...
11 years ago (2009-12-14 16:35:47 UTC) #2
Lasse Reichstein
11 years ago (2009-12-16 13:40:31 UTC) #3
http://codereview.chromium.org/491077/diff/1/4
File src/fast-codegen.cc (right):

http://codereview.chromium.org/491077/diff/1/4#newcode341
src/fast-codegen.cc:341: if (FLAG_debug_info) {
Should have known it would be in the fast codegen as well.

http://codereview.chromium.org/491077/diff/1/4#newcode361
src/fast-codegen.cc:361: if (FLAG_debug_info) {
Fixed.

http://codereview.chromium.org/491077/diff/1/5
File src/fast-codegen.h (right):

http://codereview.chromium.org/491077/diff/1/5#newcode294
src/fast-codegen.h:294: static Register context_register();
The context_register() function is used in generic code (fast-codegen.cc), but
we could just as well have a SaveContextRegister function, because that's all
it's currently used for. I'll keep it for now and see if there will be more uses
for it.

The uses of this function in the backend specific files, e.g.
fast-codegen-x64.cc, is overdoing it. I'll remove those.

http://codereview.chromium.org/491077/diff/1/5#newcode298
src/fast-codegen.h:298: void StoreFrameField(int frame_offset, Register value);
Will mention exceptions and change name to StoreTo...

The Load/StoreTo functions are meant to be used from generic code
(fast-codegen.cc), but we can only do that when we have access to the register
being loaded/stored (currently only result_register() and context_register()). 

We can use the functions from the backend-specific code as well, but I don't
think it's really worth it. At that level, the proper abstraction would be an
Operand/MemOperand.

http://codereview.chromium.org/491077/diff/1/5#newcode302
src/fast-codegen.h:302: void LoadContextField(Register dst, int context_index);
I actually think ContextOperand is the correct level of abstraction for the
backend specific code.

Powered by Google App Engine
This is Rietveld 408576698