Commit 1b4e0130 authored by rmcilroy's avatar rmcilroy Committed by Commit bot

Reland: [Crankshaft] Always check for stubs marked to not require an eager frame.

Previously only stubs built in the snapshot were checked for having an
eager frame. This caused a regression to creap in on ia32 for
RegExpConstructResultStub. Change test to always check.

CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg

Review-Url: https://codereview.chromium.org/2089673002
Cr-Commit-Position: refs/heads/master@{#37181}
parent 813f2318
......@@ -467,9 +467,14 @@ HValue* CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub() {
HValue* closure = GetParameter(0);
HValue* literal_index = GetParameter(1);
// TODO(turbofan): This codestub has regressed to need a frame on ia32 at some
// point and wasn't caught since it wasn't built in the snapshot. We should
// probably just replace with a TurboFan stub rather than fixing it.
#if !V8_TARGET_ARCH_IA32
// This stub is very performance sensitive, the generated code must be tuned
// so that it doesn't build and eager frame.
info()->MarkMustNotHaveEagerFrame();
#endif
HValue* literals_array = Add<HLoadNamedField>(
closure, nullptr, HObjectAccess::ForLiteralsPointer());
......@@ -2061,7 +2066,12 @@ HValue* CodeStubGraphBuilder<RegExpConstructResultStub>::BuildCodeStub() {
HValue* index = GetParameter(RegExpConstructResultStub::kIndex);
HValue* input = GetParameter(RegExpConstructResultStub::kInput);
// TODO(turbofan): This codestub has regressed to need a frame on ia32 at some
// point and wasn't caught since it wasn't built in the snapshot. We should
// probably just replace with a TurboFan stub rather than fixing it.
#if !V8_TARGET_ARCH_IA32
info()->MarkMustNotHaveEagerFrame();
#endif
return BuildRegExpConstructResult(length, index, input);
}
......
......@@ -469,8 +469,7 @@ Handle<Code> LChunk::Codegen() {
jit_handler_data));
CodeGenerator::PrintCode(code, info());
DCHECK(!(info()->isolate()->serializer_enabled() &&
info()->GetMustNotHaveEagerFrame() &&
DCHECK(!(info()->GetMustNotHaveEagerFrame() &&
generator.NeedsEagerFrame()));
return code;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment