Reviewers: Vyacheslav Egorov,
Description:
Add a few missing nops to signal no inlined code was generated.
Please review this at http://codereview.chromium.org/3399005/show
Affected files:
M src/ia32/full-codegen-ia32.cc
M src/x64/full-codegen-x64.cc
Index: src/ia32/full-codegen-ia32.cc
diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc
index
3d1653ce370f175139c0b8e2bfdd32f601f1a6a8..eeab9b8f5b9ef412058f6b471f12636b5cd1cf38
100644
--- a/src/ia32/full-codegen-ia32.cc
+++ b/src/ia32/full-codegen-ia32.cc
@@ -988,6 +988,7 @@ void
FullCodeGenerator::EmitLoadGlobalSlotCheckExtensions(
? RelocInfo::CODE_TARGET
: RelocInfo::CODE_TARGET_CONTEXT;
__ call(ic, mode);
+ __ nop();
}
@@ -3138,7 +3139,7 @@ void FullCodeGenerator::VisitCallRuntime(CallRuntime*
expr) {
InLoopFlag in_loop = (loop_depth() > 0) ? IN_LOOP : NOT_IN_LOOP;
Handle<Code> ic = CodeGenerator::ComputeCallInitialize(arg_count,
in_loop);
__ call(ic, RelocInfo::CODE_TARGET);
- // Restore context register.
+ // Restore context register.
__ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
} else {
// Call the C runtime function.
@@ -3483,6 +3484,7 @@ void
FullCodeGenerator::VisitForTypeofValue(Expression* expr, Location where) {
// Use a regular load, not a contextual load, to avoid a reference
// error.
__ call(ic, RelocInfo::CODE_TARGET);
+ __ nop();
if (where == kStack) __ push(eax);
} else if (proxy != NULL &&
proxy->var()->slot() != NULL &&
Index: src/x64/full-codegen-x64.cc
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
index
40e1e35f7cfd3240b4691cdc46e90586e78cb12c..909103c87c651a5fee500cc006c177b121feb762
100644
--- a/src/x64/full-codegen-x64.cc
+++ b/src/x64/full-codegen-x64.cc
@@ -938,6 +938,7 @@ void
FullCodeGenerator::EmitLoadGlobalSlotCheckExtensions(
? RelocInfo::CODE_TARGET
: RelocInfo::CODE_TARGET_CONTEXT;
__ call(ic, mode);
+ __ nop();
}
@@ -3174,6 +3175,7 @@ void
FullCodeGenerator::VisitForTypeofValue(Expression* expr, Location where) {
// Use a regular load, not a contextual load, to avoid a reference
// error.
__ Call(ic, RelocInfo::CODE_TARGET);
+ __ nop();
if (where == kStack) __ push(rax);
} else if (proxy != NULL &&
proxy->var()->slot() != NULL &&
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev