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

Issue 1969423002: [Interpreter] Remove InterpreterExitTrampoline and replace with returning to the entry trampoline. (Closed)

Created:
4 years, 7 months ago by rmcilroy
Modified:
4 years, 7 months ago
Reviewers:
oth, Michael Starzinger
CC:
v8-reviews_googlegroups.com, oth, Hannes Payer (out of office), ulan
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Interpreter] Remove InterpreterExitTrampoline and replace with returning to the entry trampoline. In order to support compiling to baseline on return we need to be able to return to the actual return address. With this change this is what the Return bytecode now does, removing the need for the InterpreterExitTrampoline. This change also removes the InterpreterNotifyDeoptXXX builtins and unifies FCG and Igntion to both use NotifyDeoptXXX. As part of this change, FullCodegenerator::State is moved to Deoptimize::BailoutState. BUG=v8:4280 LOG=N Committed: https://crrev.com/34c9626e2ee56fe805de549697ca5323aed7cb66 Cr-Commit-Position: refs/heads/master@{#36288} Committed: https://crrev.com/39738bc90537a015bdaa4898478edaf88b021d11 Cr-Commit-Position: refs/heads/master@{#36310}

Patch Set 1 : #

Patch Set 2 : Add ports #

Patch Set 3 : Fix Deopt and unify NotifyDeopt stubs #

Patch Set 4 : Rebase #

Patch Set 5 : Fix typo on Arm64 #

Total comments: 4

Patch Set 6 : Review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+800 lines, -992 lines) Patch
M src/arm/builtins-arm.cc View 1 2 3 8 chunks +26 lines, -72 lines 0 comments Download
M src/arm64/builtins-arm64.cc View 1 2 3 4 6 chunks +95 lines, -138 lines 0 comments Download
M src/bailout-reason.h View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download
M src/builtins.h View 1 2 3 chunks +1 line, -9 lines 0 comments Download
M src/deoptimizer.h View 1 2 3 4 5 1 chunk +16 lines, -0 lines 0 comments Download
M src/deoptimizer.cc View 1 2 3 9 chunks +23 lines, -20 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 2 3 4 5 49 chunks +74 lines, -58 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 2 3 4 5 49 chunks +74 lines, -58 lines 0 comments Download
M src/full-codegen/full-codegen.h View 1 2 3 4 5 6 chunks +11 lines, -22 lines 0 comments Download
M src/full-codegen/full-codegen.cc View 1 2 3 4 5 29 chunks +44 lines, -43 lines 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 2 3 4 5 50 chunks +74 lines, -58 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 2 3 4 5 49 chunks +74 lines, -58 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 2 3 4 5 49 chunks +74 lines, -58 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 2 3 4 5 50 chunks +74 lines, -58 lines 0 comments Download
M src/heap/heap.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M src/heap/heap-inl.h View 1 chunk +4 lines, -4 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 3 6 chunks +29 lines, -75 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 2 chunks +4 lines, -1 line 0 comments Download
M src/interpreter/bytecodes.cc View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 1 chunk +3 lines, -1 line 0 comments Download
M src/interpreter/interpreter-assembler.h View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M src/interpreter/interpreter-assembler.cc View 1 2 3 3 chunks +3 lines, -6 lines 0 comments Download
M src/mips/builtins-mips.cc View 1 2 3 6 chunks +27 lines, -71 lines 0 comments Download
M src/mips64/builtins-mips64.cc View 1 2 3 7 chunks +27 lines, -72 lines 0 comments Download
M src/objects.cc View 1 2 3 1 chunk +3 lines, -2 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 2 3 7 chunks +30 lines, -76 lines 0 comments Download
M test/unittests/interpreter/interpreter-assembler-unittest.cc View 1 chunk +0 lines, -26 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 61 (30 generated)
rmcilroy
Turned out pretty clean I think. Let me know what you think and if happy ...
4 years, 7 months ago (2016-05-12 10:51:01 UTC) #2
oth
Cool, lgtm.
4 years, 7 months ago (2016-05-12 12:34:30 UTC) #4
Michael Starzinger
LGTM. Awesome, I like it!
4 years, 7 months ago (2016-05-13 09:39:09 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/1969423002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1969423002/40001
4 years, 7 months ago (2016-05-13 15:26:20 UTC) #7
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux64_asan_rel_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel_ng/builds/1644) v8_linux64_asan_rel_ng_triggered on ...
4 years, 7 months ago (2016-05-13 15:44:14 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1969423002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1969423002/60001
4 years, 7 months ago (2016-05-13 16:27:48 UTC) #11
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_mac_rel_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel_ng/builds/1647) v8_mac_rel_ng_triggered on ...
4 years, 7 months ago (2016-05-13 16:48:29 UTC) #13
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1969423002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1969423002/80001
4 years, 7 months ago (2016-05-13 20:55:31 UTC) #15
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_mac_rel_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel_ng/builds/1651) v8_mac_rel_ng_triggered on ...
4 years, 7 months ago (2016-05-13 21:14:02 UTC) #17
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1969423002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1969423002/100001
4 years, 7 months ago (2016-05-16 11:51:36 UTC) #21
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_mipsel_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_mipsel_compile_rel/builds/14507) v8_mac_rel_ng on ...
4 years, 7 months ago (2016-05-16 11:54:26 UTC) #24
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1969423002/110028 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1969423002/110028
4 years, 7 months ago (2016-05-16 12:37:58 UTC) #26
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm64_rel_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm64_rel_ng/builds/1639)
4 years, 7 months ago (2016-05-16 12:42:48 UTC) #28
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1969423002/130001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1969423002/130001
4 years, 7 months ago (2016-05-16 12:49:59 UTC) #30
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm64_rel_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm64_rel_ng/builds/1641)
4 years, 7 months ago (2016-05-16 12:54:08 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/1969423002/150001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1969423002/150001
4 years, 7 months ago (2016-05-16 13:19:14 UTC) #35
rmcilroy
There were some issues with deopt to Ignition, so I had to make a few ...
4 years, 7 months ago (2016-05-16 13:21:02 UTC) #36
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-16 13:42:02 UTC) #38
Michael Starzinger
https://codereview.chromium.org/1969423002/diff/150001/src/deoptimizer.h File src/deoptimizer.h (right): https://codereview.chromium.org/1969423002/diff/150001/src/deoptimizer.h#newcode418 src/deoptimizer.h:418: return NULL; nit: s/NULL/nullptr/ https://codereview.chromium.org/1969423002/diff/150001/src/full-codegen/full-codegen.h File src/full-codegen/full-codegen.h (left): https://codereview.chromium.org/1969423002/diff/150001/src/full-codegen/full-codegen.h#oldcode31 ...
4 years, 7 months ago (2016-05-17 14:41:53 UTC) #39
Michael Starzinger
Still LGTM modulo comments of course.
4 years, 7 months ago (2016-05-17 14:48:19 UTC) #40
rmcilroy
https://codereview.chromium.org/1969423002/diff/150001/src/deoptimizer.h File src/deoptimizer.h (right): https://codereview.chromium.org/1969423002/diff/150001/src/deoptimizer.h#newcode418 src/deoptimizer.h:418: return NULL; On 2016/05/17 14:41:53, Michael Starzinger wrote: > ...
4 years, 7 months ago (2016-05-17 15:20:05 UTC) #41
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1969423002/170001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1969423002/170001
4 years, 7 months ago (2016-05-17 15:20:19 UTC) #43
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-17 15:51:29 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1969423002/170001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1969423002/170001
4 years, 7 months ago (2016-05-17 16:41:59 UTC) #48
commit-bot: I haz the power
Committed patchset #6 (id:170001)
4 years, 7 months ago (2016-05-17 16:44:44 UTC) #50
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/34c9626e2ee56fe805de549697ca5323aed7cb66 Cr-Commit-Position: refs/heads/master@{#36288}
4 years, 7 months ago (2016-05-17 16:46:42 UTC) #52
Michael Achenbach
A revert of this CL (patchset #6 id:170001) has been created in https://codereview.chromium.org/1986353002/ by machenbach@chromium.org. ...
4 years, 7 months ago (2016-05-17 19:43:46 UTC) #53
rmcilroy
On 2016/05/17 19:43:46, Michael Achenbach (slow) wrote: > A revert of this CL (patchset #6 ...
4 years, 7 months ago (2016-05-18 07:46:22 UTC) #55
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1969423002/170001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1969423002/170001
4 years, 7 months ago (2016-05-18 07:47:06 UTC) #57
commit-bot: I haz the power
Committed patchset #6 (id:170001)
4 years, 7 months ago (2016-05-18 07:50:10 UTC) #59
commit-bot: I haz the power
4 years, 7 months ago (2016-05-18 07:52:20 UTC) #61
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/39738bc90537a015bdaa4898478edaf88b021d11
Cr-Commit-Position: refs/heads/master@{#36310}

Powered by Google App Engine
This is Rietveld 408576698