Reviewers: Benedikt Meurer,
Description:
[turbofan] Fix bogus materialization from frame with OSR.
The context constant cannot be materialized from the frame when we are
compiling for OSR, because the context spill slot contains the current
instead of the outermost context in full-codegen.
[email protected]
Please review this at https://codereview.chromium.org/1220013003/
Base URL:
https://chromium.googlesource.com/v8/v8.git@local_contrib-1218873005
Affected files (+1, -1 lines):
M src/compiler/code-generator.cc
Index: src/compiler/code-generator.cc
diff --git a/src/compiler/code-generator.cc b/src/compiler/code-generator.cc
index
8d4baa3145a3ce0fef9eaa409c861f91c5cf8e51..2903c3d370dd825fd2f864f7d9186fed3d6da891
100644
--- a/src/compiler/code-generator.cc
+++ b/src/compiler/code-generator.cc
@@ -231,7 +231,7 @@ void CodeGenerator::RecordSafepoint(ReferenceMap*
references,
bool CodeGenerator::IsMaterializableFromFrame(Handle<HeapObject> object,
int* offset_return) {
if (linkage()->GetIncomingDescriptor()->IsJSFunctionCall()) {
- if (object.is_identical_to(info()->context())) {
+ if (object.is_identical_to(info()->context()) && !info()->is_osr()) {
*offset_return = StandardFrameConstants::kContextOffset;
return true;
} else if (object.is_identical_to(info()->closure())) {
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.