[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.

Review-Url: https://codereview.chromium.org/2089673002
Cr-Commit-Position: refs/heads/master@{#37162}
This commit is contained in:
rmcilroy 2016-06-21 20:50:15 -07:00 committed by Commit bot
parent f45c65cae0
commit f6facbb210
2 changed files with 6 additions and 2 deletions

View File

@ -2061,7 +2061,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);
}

View File

@ -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;
}