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

Issue 6390001: Add support for deoptimization on x64. ... (Closed)

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

Description

Add support for deoptimization on x64. I did not take out the code relating to osr from the generate method since this makes it easier to compare to ia32 (we will abort anyway when we hit the osr code so there should be no issues with having this in) Committed: http://code.google.com/p/v8/source/detail?r=6449

Patch Set 1 #

Total comments: 24

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+501 lines, -19 lines) Patch
M src/arm/deoptimizer-arm.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/ia32/deoptimizer-ia32.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/x64/assembler-x64.h View 1 2 chunks +4 lines, -0 lines 0 comments Download
M src/x64/assembler-x64.cc View 1 2 chunks +20 lines, -0 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 2 1 chunk +27 lines, -1 line 0 comments Download
M src/x64/deoptimizer-x64.cc View 1 2 3 2 chunks +430 lines, -6 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 1 chunk +15 lines, -1 line 0 comments Download
M test/cctest/cctest.status View 1 chunk +1 line, -4 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 chunk +0 lines, -3 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Rico
9 years, 11 months ago (2011-01-24 12:48:22 UTC) #1
Lasse Reichstein
LGTM, as far as I understand it :) http://codereview.chromium.org/6390001/diff/1/src/x64/assembler-x64.h File src/x64/assembler-x64.h (right): http://codereview.chromium.org/6390001/diff/1/src/x64/assembler-x64.h#newcode593 src/x64/assembler-x64.h:593: void ...
9 years, 11 months ago (2011-01-24 13:24:21 UTC) #2
Rico
http://codereview.chromium.org/6390001/diff/1/src/x64/assembler-x64.h File src/x64/assembler-x64.h (right): http://codereview.chromium.org/6390001/diff/1/src/x64/assembler-x64.h#newcode593 src/x64/assembler-x64.h:593: void push_imm32(int32_t imm32); On 2011/01/24 13:24:21, Lasse Reichstein wrote: ...
9 years, 11 months ago (2011-01-24 13:40:14 UTC) #3
Kevin Millikin (Chromium)
Small comments, LGTM. http://codereview.chromium.org/6390001/diff/1/src/x64/builtins-x64.cc File src/x64/builtins-x64.cc (right): http://codereview.chromium.org/6390001/diff/1/src/x64/builtins-x64.cc#newcode567 src/x64/builtins-x64.cc:567: // Pass the function and deoptimization ...
9 years, 11 months ago (2011-01-24 13:52:20 UTC) #4
Rico
9 years, 11 months ago (2011-01-25 07:48:14 UTC) #5
http://codereview.chromium.org/6390001/diff/1/src/x64/builtins-x64.cc
File src/x64/builtins-x64.cc (right):

http://codereview.chromium.org/6390001/diff/1/src/x64/builtins-x64.cc#newcode567
src/x64/builtins-x64.cc:567: // Pass the function and deoptimization type to the
runtime system.
On 2011/01/24 13:52:21, Kevin Millikin wrote:
> This comment isn't correct.  We grab the function from the stack.

Done.

http://codereview.chromium.org/6390001/diff/1/src/x64/deoptimizer-x64.cc
File src/x64/deoptimizer-x64.cc (right):

http://codereview.chromium.org/6390001/diff/1/src/x64/deoptimizer-x64.cc#newc...
src/x64/deoptimizer-x64.cc:321: // on the stack on windows and in r8 on windows.
The remaining arguments are
On 2011/01/24 13:52:21, Kevin Millikin wrote:
> Comment mentions "on windows" and "on windows".

Done.

http://codereview.chromium.org/6390001/diff/1/src/x64/deoptimizer-x64.cc#newc...
src/x64/deoptimizer-x64.cc:380: __ movq(rcx, Operand(rsp, (kNumberOfRegisters -
1 - i) * kPointerSize));
On 2011/01/24 13:52:21, Kevin Millikin wrote:
> I wonder why we don't count i down from kNumberOfRegisters to zero and
> 
> __ pop(Operand(rbx, offset))
> 
> for all of them?

Done.

http://codereview.chromium.org/6390001/diff/1/src/x64/deoptimizer-x64.cc#newc...
src/x64/deoptimizer-x64.cc:388: int src_offset = i * kDoubleSize +
kNumberOfRegisters * kPointerSize;
On 2011/01/24 13:52:21, Kevin Millikin wrote:
> Agree with lrn.

Done.

Powered by Google App Engine
This is Rietveld 408576698