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

Issue 3156028: Change code pointer in function objects to a pointer to the first... (Closed)

Created:
10 years, 4 months ago by Rico
Modified:
9 years, 6 months ago
CC:
v8-dev
Visibility:
Public.

Description

Change code pointer in function objects to a pointer to the first instruction. By changing the pointer to the code object to a pointer to the first instruction we can call directly this instruction directly instead of looking up the address through the code object. Committed: http://code.google.com/p/v8/source/detail?r=5309

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 8

Patch Set 3 : '' #

Total comments: 7

Patch Set 4 : '' #

Patch Set 5 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+187 lines, -94 lines) Patch
M src/arm/builtins-arm.cc View 1 chunk +1 line, -2 lines 0 comments Download
M src/arm/codegen-arm.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 2 chunks +10 lines, -19 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 chunk +1 line, -2 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 2 chunks +5 lines, -2 lines 0 comments Download
M src/ia32/macro-assembler-ia32.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 3 chunks +16 lines, -25 lines 0 comments Download
M src/liveedit.cc View 3 chunks +15 lines, -3 lines 0 comments Download
M src/mark-compact.cc View 3 chunks +32 lines, -7 lines 0 comments Download
M src/objects.h View 1 2 3 4 chunks +12 lines, -2 lines 0 comments Download
M src/objects.cc View 4 chunks +23 lines, -2 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 3 chunks +13 lines, -4 lines 0 comments Download
M src/serialize.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/serialize.cc View 1 2 3 5 chunks +28 lines, -1 line 0 comments Download
M src/x64/builtins-x64.cc View 1 chunk +1 line, -2 lines 0 comments Download
M src/x64/codegen-x64.cc View 2 chunks +5 lines, -2 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 2 chunks +11 lines, -19 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
Rico
Erik: Could you take a look at the snapshot part? Slave: Could you take a ...
10 years, 4 months ago (2010-08-18 13:18:23 UTC) #1
Kasper Lund
LGTM. Shouldn't it be possible to simplify the builtin function/code tables and only have the ...
10 years, 4 months ago (2010-08-18 14:25:10 UTC) #2
Rico
http://codereview.chromium.org/3156028/diff/6002/12003 File src/arm/macro-assembler-arm.cc (right): http://codereview.chromium.org/3156028/diff/6002/12003#newcode1501 src/arm/macro-assembler-arm.cc:1501: On 2010/08/18 14:25:10, Kasper Lund wrote: > Extra newline ...
10 years, 4 months ago (2010-08-18 15:43:46 UTC) #3
Vyacheslav Egorov (Chromium)
GC part LGTM
10 years, 4 months ago (2010-08-18 15:46:59 UTC) #4
Rico
Kasper: Regarding the functions/code table for builtins, you are absolutely right. I will do this ...
10 years, 4 months ago (2010-08-19 06:12:44 UTC) #5
Erik Corry
LGTM http://codereview.chromium.org/3156028/diff/23001/24014 File src/serialize.cc (right): http://codereview.chromium.org/3156028/diff/23001/24014#newcode866 src/serialize.cc:866: ONE_PER_SPACE(kNewObject, kPlain, kFirstInstruction) It's a bit wasteful in ...
10 years, 4 months ago (2010-08-19 11:14:59 UTC) #6
Vyacheslav Egorov (Chromium)
some additional nitpicking http://codereview.chromium.org/3156028/diff/23001/24011 File src/objects-inl.h (right): http://codereview.chromium.org/3156028/diff/23001/24011#newcode2406 src/objects-inl.h:2406: Object* Code::GetObjectFromEntryAddress(Address entry) { Name 'entry' ...
10 years, 4 months ago (2010-08-19 11:38:25 UTC) #7
Rico
Thanks for the extra comment Slava - fixed. http://codereview.chromium.org/3156028/diff/23001/24011 File src/objects-inl.h (right): http://codereview.chromium.org/3156028/diff/23001/24011#newcode2741 src/objects-inl.h:2741: Address ...
10 years, 4 months ago (2010-08-20 06:59:57 UTC) #8
Rico
10 years, 4 months ago (2010-08-20 07:01:48 UTC) #9
Thanks for comments Erik, I created a new ONE_PER_CODE_SPACE

http://codereview.chromium.org/3156028/diff/23001/24014
File src/serialize.cc (right):

http://codereview.chromium.org/3156028/diff/23001/24014#newcode866
src/serialize.cc:866: ONE_PER_SPACE(kNewObject, kPlain, kFirstInstruction)
On 2010/08/19 11:14:59, Erik Corry wrote:
> It's a bit wasteful in terms of V8's exe size to have a case per space here
when
> only two spaces can be involved (code and large code).  Might be worth trying
> ALL_SPACES instead or if that impacts startup speed making a new
> ONE_PER_CODE_SPACE.

Done.

Powered by Google App Engine
This is Rietveld 408576698