Fix incorrect patching for OSR.
authoryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 5 Dec 2013 16:17:44 +0000 (16:17 +0000)
committeryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 5 Dec 2013 16:17:44 +0000 (16:17 +0000)
commit96b58ba4a37c55f139bfe7b1c14f8dee2c5bc784
treef1f52e544a868bc0c3707264b73a53a7aa36f873
parent69314e1f47d1f6d710116fffff8aec720fcf9ef3
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

Review URL: https://codereview.chromium.org/99013003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/builtins-arm.cc
src/compiler.cc
src/compiler.h
src/full-codegen.cc
src/ia32/builtins-ia32.cc
src/mips/builtins-mips.cc
src/runtime.cc
src/runtime.h
src/x64/builtins-x64.cc