Bug 1004503 - Backout of failed attempt to fix relazification-related crash. r=jandem

--HG--
extra : rebase_source : e3b1a9f60f34d0b366cbc4f3bb98212f714525ce
This commit is contained in:
Till Schneidereit 2014-05-03 16:09:33 +02:00
parent af2665068b
commit abdc2df353
3 changed files with 1 additions and 11 deletions

View File

@ -4179,10 +4179,6 @@ IonBuilder::makeInliningDecision(JSFunction *target, CallInfo &callInfo)
types::TypeObjectKey *targetType = types::TypeObjectKey::get(target);
targetType->watchStateChangeForInlinedCall(constraints());
// We mustn't relazify functions that have been inlined, because there's
// no way to tell if it safe to do so.
script()->setHasBeenInlined();
return InliningDecision_Inline;
}

View File

@ -576,7 +576,6 @@ JSFunction::trace(JSTracer *trc)
// - they are not in the self-hosting compartment
// - they aren't generators
// - they don't have JIT code attached
// - they haven't ever been inlined
// - they don't have child functions
// - they have information for un-lazifying them again later
// This information can either be a LazyScript, or the name of a

View File

@ -834,9 +834,6 @@ class JSScript : public js::gc::BarrieredCell<JSScript>
// Script has been reused for a clone.
bool hasBeenCloned_:1;
// Script has been inlined at least once, and can't be relazified.
bool hasBeenInlined_:1;
// Script came from eval(), and is still active.
bool isActiveEval_:1;
@ -1026,12 +1023,10 @@ class JSScript : public js::gc::BarrieredCell<JSScript>
}
bool hasRunOnce() const { return hasRunOnce_; }
bool hasBeenCloned() const { return hasBeenCloned_; }
bool hasBeenInlined() const { return hasBeenInlined_; }
void setTreatAsRunOnce() { treatAsRunOnce_ = true; }
void setHasRunOnce() { hasRunOnce_ = true; }
void setHasBeenCloned() { hasBeenCloned_ = true; }
void setHasBeenInlined() { hasBeenInlined_ = true; }
bool isActiveEval() const { return isActiveEval_; }
bool isCachedEval() const { return isCachedEval_; }
@ -1252,7 +1247,7 @@ class JSScript : public js::gc::BarrieredCell<JSScript>
bool isRelazifiable() const {
return (selfHosted() || lazyScript) &&
!isGenerator() && !hasBaselineScript() && !hasAnyIonScript() && !hasBeenInlined();
!isGenerator() && !hasBaselineScript() && !hasAnyIonScript();
}
void setLazyScript(js::LazyScript *lazy) {
lazyScript = lazy;