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

Issue 1961004: First step towards making JumpTarget work on ARM. Instead... (Closed)

Created:
10 years, 7 months ago by Erik Corry
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

First step towards making JumpTarget work on ARM. Instead of having a list of virtual frame pointers in the jump target we have one virtual frame, which is the frame that all have to merge to to branch to that frame. The virtual frame in the JumpTarget is inside the JumpTarget, rather than being an allocated object that is pointed to. Unfortunately this means that the JumpTarget class has to be able to see the size of a VirtualFrame object to compile, which in turn lead to a major reorganization of related .h files. The actual change of functionality in this change is intended to be minimal (we now assert that the virtual frames match when using JumpTarget instead of just assuming that they do). Committed: http://code.google.com/p/v8/source/detail?r=4631

Patch Set 1 #

Total comments: 15
Unified diffs Side-by-side diffs Delta from patch set Stats (+915 lines, -557 lines) Patch
M src/arm/codegen-arm.h View 2 chunks +2 lines, -0 lines 0 comments Download
M src/arm/codegen-arm.cc View 10 chunks +31 lines, -14 lines 1 comment Download
M src/arm/jump-target-arm.cc View 4 chunks +28 lines, -99 lines 2 comments Download
M src/arm/virtual-frame-arm.h View 9 chunks +25 lines, -60 lines 1 comment Download
M src/arm/virtual-frame-arm.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/ast.h View 9 chunks +9 lines, -33 lines 0 comments Download
M src/ast.cc View 3 chunks +14 lines, -0 lines 0 comments Download
A src/ast-inl.h View 1 chunk +79 lines, -0 lines 0 comments Download
M src/codegen.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/ia32/codegen-ia32.h View 1 chunk +2 lines, -0 lines 1 comment Download
M src/ia32/virtual-frame-ia32.h View 5 chunks +9 lines, -24 lines 1 comment Download
M src/jump-target.h View 2 chunks +11 lines, -207 lines 0 comments Download
M src/jump-target.cc View 3 chunks +0 lines, -64 lines 0 comments Download
A src/jump-target-heavy.h View 1 chunk +242 lines, -0 lines 0 comments Download
M src/jump-target-heavy.cc View 2 chunks +63 lines, -0 lines 0 comments Download
A src/jump-target-light.h View 1 chunk +186 lines, -0 lines 3 comments Download
M src/jump-target-light.cc View 1 chunk +52 lines, -29 lines 0 comments Download
M src/jump-target-light-inl.h View 1 chunk +12 lines, -2 lines 0 comments Download
M src/parser.cc View 1 chunk +3 lines, -0 lines 2 comments Download
M src/register-allocator.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M src/virtual-frame-heavy-inl.h View 2 chunks +40 lines, -0 lines 0 comments Download
M src/virtual-frame-light.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/virtual-frame-light-inl.h View 2 chunks +90 lines, -0 lines 2 comments Download
M src/x64/codegen-x64.h View 1 chunk +2 lines, -0 lines 1 comment Download
M src/x64/virtual-frame-x64.h View 5 chunks +8 lines, -20 lines 1 comment Download

Messages

Total messages: 3 (0 generated)
Erik Corry
10 years, 7 months ago (2010-05-05 14:41:48 UTC) #1
Søren Thygesen Gjesse
LGTM http://codereview.chromium.org/1961004/diff/1/20 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/1961004/diff/1/20#newcode49 src/arm/codegen-arm.cc:49: // These VirtualFrame methods should actually be in ...
10 years, 7 months ago (2010-05-06 07:48:11 UTC) #2
Erik Corry
10 years, 7 months ago (2010-05-10 10:34:10 UTC) #3
All other comments done:

http://codereview.chromium.org/1961004/diff/1/14
File src/jump-target-light.h (right):

http://codereview.chromium.org/1961004/diff/1/14#newcode132
src/jump-target-light.h:132: void DoBind();
On 2010/05/06 07:48:11, Søren Gjesse wrote:
> private:
>   DISALLOW_COPY_AND_ASSIGN?

We actually do copy and assign them and I don't see big problems with that.

http://codereview.chromium.org/1961004/diff/1/10
File src/parser.cc (right):

http://codereview.chromium.org/1961004/diff/1/10#newcode41
src/parser.cc:41: 
On 2010/05/06 07:48:11, Søren Gjesse wrote:
> Sort includes.

I think it makes sense to have the -inl.h files after the others.

http://codereview.chromium.org/1961004/diff/1/18
File src/virtual-frame-light-inl.h (right):

http://codereview.chromium.org/1961004/diff/1/18#newcode121
src/virtual-frame-light-inl.h:121: 
On 2010/05/06 07:48:11, Søren Gjesse wrote:
> Can these numbers in some way use the constants from frame-arm.h?

I tried this but it got much uglier (this code is only moved, not written by
me).  Those constants are in terms of bytes, not in terms of words, and don't
have very helpful names in terms of the way they are used here.  I lack the
insight to create a more coherent naming and organization in this part of the
VM.

Powered by Google App Engine
This is Rietveld 408576698