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

Issue 99013003: Fix incorrect patching for OSR. (Closed)

Created:
7 years ago by Yang
Modified:
7 years ago
Reviewers:
titzer
CC:
v8-dev
Visibility:
Public.

Description

Fix incorrect patching for OSR. If OSR happens before regular recompilation, the unoptimized function code on the stack may not have deoptimization support. In that case, graph creation compiles the unoptimized code again to include support. That code is then installed as shared code. When we patch code for OSR, the function code on the stack and not the shared code is what we want. R=titzer@chromium.org TEST=block-conflicts.js with --always-osr --concurrent-osr Committed: https://code.google.com/p/v8/source/detail?r=18261

Patch Set 1 #

Patch Set 2 : #

Total comments: 1

Patch Set 3 : reworked how we obtain pc offset #

Total comments: 1

Patch Set 4 : comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+47 lines, -61 lines) Patch
M src/arm/builtins-arm.cc View 1 2 1 chunk +2 lines, -11 lines 0 comments Download
M src/compiler.h View 5 chunks +9 lines, -1 line 0 comments Download
M src/compiler.cc View 3 chunks +4 lines, -4 lines 0 comments Download
M src/full-codegen.cc View 2 chunks +6 lines, -2 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 1 chunk +2 lines, -10 lines 0 comments Download
M src/mips/builtins-mips.cc View 1 2 1 chunk +2 lines, -11 lines 0 comments Download
M src/runtime.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/runtime.cc View 1 2 3 3 chunks +19 lines, -11 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 2 1 chunk +2 lines, -10 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
Yang
7 years ago (2013-12-02 15:52:54 UTC) #1
titzer
https://codereview.chromium.org/99013003/diff/20001/src/runtime.cc File src/runtime.cc (right): https://codereview.chromium.org/99013003/diff/20001/src/runtime.cc#newcode8671 src/runtime.cc:8671: if (static_cast<uint32_t>(unoptimized->instruction_size()) <= pc_offset) { I don't see how ...
7 years ago (2013-12-03 15:42:43 UTC) #2
Yang
On 2013/12/03 15:42:43, titzer wrote: > https://codereview.chromium.org/99013003/diff/20001/src/runtime.cc > File src/runtime.cc (right): > > https://codereview.chromium.org/99013003/diff/20001/src/runtime.cc#newcode8671 > ...
7 years ago (2013-12-03 17:49:16 UTC) #3
titzer
https://codereview.chromium.org/99013003/diff/40001/src/runtime.cc File src/runtime.cc (right): https://codereview.chromium.org/99013003/diff/40001/src/runtime.cc#newcode8670 src/runtime.cc:8670: if (!unoptimized->contains(frame->pc())) { I am not sure this is ...
7 years ago (2013-12-04 17:49:16 UTC) #4
Yang
On 2013/12/04 17:49:16, titzer wrote: > https://codereview.chromium.org/99013003/diff/40001/src/runtime.cc > File src/runtime.cc (right): > > https://codereview.chromium.org/99013003/diff/40001/src/runtime.cc#newcode8670 > ...
7 years ago (2013-12-05 08:46:47 UTC) #5
titzer
LGTM Life in V8 is full of tradeoffs.
7 years ago (2013-12-05 09:29:02 UTC) #6
Yang
7 years ago (2013-12-05 16:17:55 UTC) #7
Message was sent while issue was closed.
Committed patchset #4 manually as r18261.

Powered by Google App Engine
This is Rietveld 408576698