mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 23:31:56 +00:00
Backed out changeset 1455629cb663 (bug 1384042) for regressing AngularJS perf.
--HG-- extra : rebase_source : e165fd16182dcf5a72133f7afb86069a60bfbec9
This commit is contained in:
parent
d7527a414d
commit
ea5d324e74
@ -211,7 +211,6 @@ namespace JS {
|
||||
_(CantInlineNativeNoTemplateObj) \
|
||||
_(CantInlineBound) \
|
||||
_(CantInlineNativeNoSpecialization) \
|
||||
_(CantInlineNoObservedTypes) \
|
||||
_(HasCommonInliningPath) \
|
||||
\
|
||||
_(GenericSuccess) \
|
||||
|
@ -419,22 +419,11 @@ IonBuilder::canInlineTarget(JSFunction* target, CallInfo& callInfo)
|
||||
return DontInline(nullptr, "Empty TypeSet for argument");
|
||||
}
|
||||
}
|
||||
|
||||
// If we're going to add a TypeBarrier that always fails, it's not
|
||||
// worth inlining this call as the script will be invalidated
|
||||
// immediately.
|
||||
if ((CodeSpec[*pc].format & JOF_TYPESET) &&
|
||||
!BytecodeIsPopped(pc) &&
|
||||
bytecodeTypes(pc)->empty())
|
||||
{
|
||||
trackOptimizationOutcome(TrackedOutcome::CantInlineNoObservedTypes);
|
||||
return DontInline(nullptr, "Empty type barrier");
|
||||
}
|
||||
}
|
||||
|
||||
// Allow constructing lazy scripts when performing the definite properties
|
||||
// analysis, as baseline has not been used to warm the caller up yet.
|
||||
if (info().analysisMode() == Analysis_DefiniteProperties) {
|
||||
if (target->isInterpreted() && info().analysisMode() == Analysis_DefiniteProperties) {
|
||||
RootedFunction fun(analysisContext, target);
|
||||
RootedScript script(analysisContext, JSFunction::getOrCreateScript(analysisContext, fun));
|
||||
if (!script)
|
||||
|
Loading…
Reference in New Issue
Block a user