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

Issue 1818873003: [Interpreter] Adds support to fetch return value on break at return. (Closed)

Created:
4 years, 9 months ago by mythria
Modified:
4 years, 9 months ago
CC:
v8-reviews_googlegroups.com, v8-x87-ports_googlegroups.com, Yang, v8-ppc-ports_googlegroups.com, oth, v8-mips-ports_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Interpreter] Adds support to fetch return value on break at return. Debugger fetches the return value of a function when we break at return. Interpreter holds the return value in accumulator. This is not stored in a specified location on stack and hence it is not possible to look it up from stack similar to full-codegen or optimized frames. This cl adds support to store the value of accumulator on debug breaks. The value of accumulator is passed to the runtime function and is then stored in thread local data. Also changes full-codegen implementation to match that of ignition. The return value from full-codegen is also stored in thread local data. The return value is fetched directly thread local data instead of finding it by iterating over frames. BUG=v8:4280, v8:4690 LOG=N Committed: https://crrev.com/fb65527b75754bcf3b173f16f5d0b04a1c6d9b99 Cr-Commit-Position: refs/heads/master@{#35060}

Patch Set 1 #

Patch Set 2 : Fixed the bugs in earlier implementation. Changed full-codegen to match ignition for fetching the r… #

Total comments: 13

Patch Set 3 : Adresses comments from Ross. #

Patch Set 4 : Addresses comments from Yang and port to arm/arm64. #

Patch Set 5 : Rebased the patch. #

Total comments: 4

Patch Set 6 : Addresses comments. #

Patch Set 7 : rebased the patch. #

Patch Set 8 : Fixed compilation error. #

Patch Set 9 : Port to ppc,mips,mips64,x87,s390 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+192 lines, -119 lines) Patch
M src/debug/arm/debug-arm.cc View 1 2 3 2 chunks +14 lines, -6 lines 0 comments Download
M src/debug/arm64/debug-arm64.cc View 1 2 3 2 chunks +14 lines, -7 lines 0 comments Download
M src/debug/debug.h View 1 2 3 4 5 4 chunks +12 lines, -2 lines 0 comments Download
M src/debug/debug.cc View 1 2 3 4 5 6 7 6 chunks +10 lines, -24 lines 0 comments Download
M src/debug/ia32/debug-ia32.cc View 1 2 2 chunks +14 lines, -6 lines 0 comments Download
M src/debug/mips/debug-mips.cc View 1 2 3 4 5 6 7 8 2 chunks +14 lines, -6 lines 0 comments Download
M src/debug/mips64/debug-mips64.cc View 1 2 3 4 5 6 7 8 2 chunks +14 lines, -6 lines 0 comments Download
M src/debug/ppc/debug-ppc.cc View 1 2 3 4 5 6 7 8 2 chunks +14 lines, -6 lines 0 comments Download
M src/debug/s390/debug-s390.cc View 1 2 3 4 5 6 7 8 2 chunks +14 lines, -6 lines 0 comments Download
M src/debug/x64/debug-x64.cc View 1 2 2 chunks +14 lines, -6 lines 0 comments Download
M src/debug/x87/debug-x87.cc View 1 2 3 4 5 6 7 8 2 chunks +14 lines, -6 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 4 5 6 1 chunk +7 lines, -5 lines 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 2 chunks +2 lines, -3 lines 0 comments Download
M src/runtime/runtime-debug.cc View 1 2 3 4 5 3 chunks +35 lines, -29 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 55 (23 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1818873003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1818873003/1
4 years, 9 months ago (2016-03-21 10:34:41 UTC) #3
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm64_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm64_rel/builds/17211)
4 years, 9 months ago (2016-03-21 10:54:20 UTC) #5
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1818873003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1818873003/20001
4 years, 9 months ago (2016-03-21 15:50:25 UTC) #7
mythria
For now, I implemented it only for x64 and ia32. If the implementation looks ok ...
4 years, 9 months ago (2016-03-21 16:24:29 UTC) #11
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm_rel/builds/15672)
4 years, 9 months ago (2016-03-21 16:30:25 UTC) #13
rmcilroy
Approach looks good to me, with a couple of comments. I'll leave Yang to approve. ...
4 years, 9 months ago (2016-03-22 11:32:35 UTC) #14
mythria
Thanks, Fixed. https://codereview.chromium.org/1818873003/diff/20001/src/debug/debug.h File src/debug/debug.h (right): https://codereview.chromium.org/1818873003/diff/20001/src/debug/debug.h#newcode685 src/debug/debug.h:685: // this value will be a hole. ...
4 years, 9 months ago (2016-03-22 12:08:09 UTC) #15
Yang
https://codereview.chromium.org/1818873003/diff/20001/src/debug/arm64/debug-arm64.cc File src/debug/arm64/debug-arm64.cc (right): https://codereview.chromium.org/1818873003/diff/20001/src/debug/arm64/debug-arm64.cc#newcode114 src/debug/arm64/debug-arm64.cc:114: if (mode == SAVE_RESULT_REGISTER) __ Pop(x0); I thought we ...
4 years, 9 months ago (2016-03-22 12:22:58 UTC) #16
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1818873003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1818873003/60001
4 years, 9 months ago (2016-03-22 14:36:12 UTC) #18
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_gcc_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_gcc_compile_rel/builds/13802) v8_linux_rel_ng on ...
4 years, 9 months ago (2016-03-22 14:37:22 UTC) #20
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1818873003/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1818873003/80001
4 years, 9 months ago (2016-03-22 14:50:01 UTC) #22
mythria
Thanks Yang. Fixed them. PTAL. Thanks, Mythri https://codereview.chromium.org/1818873003/diff/20001/src/debug/arm64/debug-arm64.cc File src/debug/arm64/debug-arm64.cc (right): https://codereview.chromium.org/1818873003/diff/20001/src/debug/arm64/debug-arm64.cc#newcode114 src/debug/arm64/debug-arm64.cc:114: if (mode ...
4 years, 9 months ago (2016-03-22 15:11:44 UTC) #23
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 9 months ago (2016-03-22 15:12:46 UTC) #25
Yang
Thanks! LGTM with two more small comments. https://codereview.chromium.org/1818873003/diff/80001/src/debug/debug.h File src/debug/debug.h (right): https://codereview.chromium.org/1818873003/diff/80001/src/debug/debug.h#newcode527 src/debug/debug.h:527: Handle<Object> get_return_value() ...
4 years, 9 months ago (2016-03-23 14:22:30 UTC) #26
mythria
Thanks, Done. I will port it to other architectures as well. https://codereview.chromium.org/1818873003/diff/80001/src/debug/debug.h File src/debug/debug.h (right): ...
4 years, 9 months ago (2016-03-23 15:29:12 UTC) #27
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1818873003/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1818873003/120001
4 years, 9 months ago (2016-03-23 16:59:59 UTC) #29
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux64_rel_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_rel_ng/builds/3384)
4 years, 9 months ago (2016-03-23 17:03:05 UTC) #31
Yang
lgtm if tests pass.
4 years, 9 months ago (2016-03-24 05:28:43 UTC) #32
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1818873003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1818873003/140001
4 years, 9 months ago (2016-03-24 09:12:03 UTC) #34
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 9 months ago (2016-03-24 09:43:00 UTC) #36
mythria
weiliang.lin@ Could you please take a look at the x87 port. balazs.kilvady@ Could you please ...
4 years, 9 months ago (2016-03-24 10:10:06 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1818873003/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1818873003/160001
4 years, 9 months ago (2016-03-24 15:09:14 UTC) #41
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/12862)
4 years, 9 months ago (2016-03-24 15:14:43 UTC) #43
rmcilroy
lgtm on interpreter
4 years, 9 months ago (2016-03-24 15:16:49 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1818873003/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1818873003/160001
4 years, 9 months ago (2016-03-24 15:18:12 UTC) #46
john.yan
On 2016/03/24 10:10:06, mythria wrote: > weiliang.lin@ Could you please take a look at the ...
4 years, 9 months ago (2016-03-24 15:25:32 UTC) #47
MTBrandyberry
On 2016/03/24 15:25:32, john.yan wrote: > On 2016/03/24 10:10:06, mythria wrote: > > weiliang.lin@ Could ...
4 years, 9 months ago (2016-03-24 15:39:47 UTC) #48
weiliang.lin2
On 2016/03/24 10:10:06, mythria wrote: > weiliang.lin@ Could you please take a look at the ...
4 years, 9 months ago (2016-03-24 15:43:55 UTC) #49
commit-bot: I haz the power
Committed patchset #9 (id:160001)
4 years, 9 months ago (2016-03-24 17:13:47 UTC) #51
commit-bot: I haz the power
Patchset 9 (id:??) landed as https://crrev.com/fb65527b75754bcf3b173f16f5d0b04a1c6d9b99 Cr-Commit-Position: refs/heads/master@{#35060}
4 years, 9 months ago (2016-03-24 17:15:17 UTC) #53
balazs.kilvady
On 2016/03/24 10:10:06, mythria wrote: > balazs.kilvady@ Could you please take a look at mips ...
4 years, 9 months ago (2016-03-24 17:31:40 UTC) #54
Michael Achenbach
4 years, 9 months ago (2016-03-24 18:17:20 UTC) #55
Message was sent while issue was closed.
A revert of this CL (patchset #9 id:160001) has been created in
https://codereview.chromium.org/1834733002/ by machenbach@chromium.org.

The reason for reverting is: [Sheriff] Seems to break nosnap debug:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%2....

Powered by Google App Engine
This is Rietveld 408576698