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

Issue 6452001: Allow esi to be an allocatable register on IA32. (Closed)

Created:
9 years, 10 months ago by Kevin Millikin (Chromium)
Modified:
9 years, 7 months ago
Reviewers:
fschneider
CC:
v8-dev
Visibility:
Public.

Description

Allow esi to be an allocatable register on IA32. Make esi available to the register allocator rather than dedicating it permanently to the context. The context is still passed in register esi to JavaScript and to the runtime as part of the calling convention. Because some stubs might end up calling JS or the runtime, it is also conservatively passed to stubs. Roughly half the calls have been modified to use the context as an input value in fixed register esi. The other half are marked as calls or deferred code so esi is spilled and can be explicitly set. It is no longer necessary to restore the context to esi after a call that might change it. Committed: http://code.google.com/p/v8/source/detail?r=6713

Patch Set 1 #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+634 lines, -210 lines) Patch
M src/hydrogen.cc View 30 chunks +82 lines, -30 lines 0 comments Download
M src/hydrogen-instructions.h View 14 chunks +212 lines, -35 lines 1 comment Download
M src/hydrogen-instructions.cc View 3 chunks +95 lines, -2 lines 0 comments Download
M src/ia32/assembler-ia32.h View 4 chunks +26 lines, -21 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.h View 1 chunk +7 lines, -10 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 40 chunks +70 lines, -45 lines 2 comments Download
M src/ia32/lithium-ia32.h View 10 chunks +99 lines, -35 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 10 chunks +42 lines, -22 lines 1 comment Download
M src/ia32/macro-assembler-ia32.cc View 2 chunks +0 lines, -10 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Kevin Millikin (Chromium)
9 years, 10 months ago (2011-02-08 10:43:26 UTC) #1
fschneider
http://codereview.chromium.org/6452001/diff/1/src/hydrogen-instructions.h File src/hydrogen-instructions.h (right): http://codereview.chromium.org/6452001/diff/1/src/hydrogen-instructions.h#newcode1181 src/hydrogen-instructions.h:1181: // (see HCall). Maybe it would be less effort ...
9 years, 10 months ago (2011-02-09 13:41:53 UTC) #2
fschneider
9 years, 10 months ago (2011-02-09 15:23:31 UTC) #3
LGTM as intermediate step and let's land the refactoring of the hydrogen call
instructions code asap.

http://codereview.chromium.org/6452001/diff/1/src/ia32/lithium-codegen-ia32.cc
File src/ia32/lithium-codegen-ia32.cc (right):

http://codereview.chromium.org/6452001/diff/1/src/ia32/lithium-codegen-ia32.c...
src/ia32/lithium-codegen-ia32.cc:2231: __ mov(esi, Operand(ebp,
StandardFrameConstants::kContextOffset));
Should this function for now also take an additional argument  like CallCode and
CallRuntime?

Powered by Google App Engine
This is Rietveld 408576698