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

Issue 171107: X64: Implement debugger hooks. (Closed)

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

Description

X64: Implement debugger hooks. Debugger is now fully functional. Fix difference in emitting statement positions to match ia32.

Patch Set 1 #

Total comments: 14
Unified diffs Side-by-side diffs Delta from patch set Stats (+213 lines, -141 lines) Patch
M src/arm/assembler-arm.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/debug.h View 2 chunks +4 lines, -0 lines 0 comments Download
M src/debug.cc View 2 chunks +4 lines, -2 lines 2 comments Download
M src/execution.h View 1 chunk +5 lines, -0 lines 0 comments Download
M src/ia32/assembler-ia32.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/x64/assembler-x64.h View 2 chunks +6 lines, -1 line 0 comments Download
M src/x64/assembler-x64.cc View 2 chunks +17 lines, -0 lines 0 comments Download
M src/x64/assembler-x64-inl.h View 1 chunk +9 lines, -10 lines 4 comments Download
M src/x64/builtins-x64.cc View 2 chunks +9 lines, -4 lines 0 comments Download
M src/x64/cfg-x64.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/x64/codegen-x64.cc View 2 chunks +12 lines, -3 lines 0 comments Download
M src/x64/debug-x64.cc View 1 chunk +133 lines, -17 lines 4 comments Download
M src/x64/macro-assembler-x64.cc View 4 chunks +4 lines, -7 lines 2 comments Download
M src/x64/virtual-frame-x64.cc View 1 chunk +0 lines, -1 line 2 comments Download
M test/cctest/cctest.status View 1 chunk +0 lines, -49 lines 0 comments Download
M test/cctest/test-debug.cc View 2 chunks +2 lines, -6 lines 0 comments Download
M test/message/message.status View 1 chunk +0 lines, -13 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 chunk +0 lines, -26 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Lasse Reichstein
Large review. Søren, if you could just check that the debugger details doesn't look odd ...
11 years, 4 months ago (2009-08-18 12:27:18 UTC) #1
Søren Thygesen Gjesse
It is great th have all this working now! http://codereview.chromium.org/171107/diff/1/3 File src/debug.cc (right): http://codereview.chromium.org/171107/diff/1/3#newcode1481 Line ...
11 years, 4 months ago (2009-08-18 13:10:43 UTC) #2
Lasse Reichstein
http://codereview.chromium.org/171107/diff/1/3 File src/debug.cc (right): http://codereview.chromium.org/171107/diff/1/3#newcode1481 Line 1481: // Move one byte back to where the ...
11 years, 4 months ago (2009-08-19 07:07:55 UTC) #3
William Hesse
LGTM. http://codereview.chromium.org/171107/diff/1/7 File src/x64/assembler-x64-inl.h (right): http://codereview.chromium.org/171107/diff/1/7#newcode246 Line 246: Assembler::set_target_address_at(pc_ + Assembler::kReturnAddrPatchPrefixSize, I really think this ...
11 years, 4 months ago (2009-08-19 08:44:00 UTC) #4
Lasse Reichstein
11 years, 4 months ago (2009-08-19 10:12:32 UTC) #5
http://codereview.chromium.org/171107/diff/1/7
File src/x64/assembler-x64-inl.h (right):

http://codereview.chromium.org/171107/diff/1/7#newcode246
Line 246: Assembler::set_target_address_at(pc_ +
Assembler::kReturnAddrPatchPrefixSize,
I can't see a good and quick way to separate it. I have renamed the constants to
kPatchReturnSequenceAddressOffset and kPatchReturnSequenceLength. We should
think about a prettier solution.

http://codereview.chromium.org/171107/diff/1/13
File src/x64/debug-x64.cc (right):

http://codereview.chromium.org/171107/diff/1/13#newcode95
Line 95: // overwritten by the address of DebugBreakXXX.
No,  it was meant to refer to the DebugBreak<something> functions. Clearly it
wasn't successful in doing that.

http://codereview.chromium.org/171107/diff/1/14
File src/x64/macro-assembler-x64.cc (left):

http://codereview.chromium.org/171107/diff/1/14#oldcode498
Line 498: WriteRecordedPositions();
It's correct in the sense that it matches what we do in ia32.
We only record positions where we can set breakpoints, and we can only set
breakpoints at stub calls and JSReturn sequences. In ia32 that means
call(Handle<...>) and at function return.

Powered by Google App Engine
This is Rietveld 408576698