Fix orange in wake of patch for bug 542002.

This commit is contained in:
Brendan Eich 2010-02-10 18:58:49 -08:00
parent 0f6e815ee6
commit 83e657d499
2 changed files with 5 additions and 24 deletions

View File

@ -2037,20 +2037,6 @@ MinBlockId(JSParseNode *fn, uint32 id)
return true;
}
static bool
OneBlockId(JSParseNode *fn, uint32 id)
{
if (fn->pn_blockid != id)
return false;
if (fn->pn_defn) {
for (JSParseNode *pn = fn->dn_uses; pn; pn = pn->pn_link) {
if (pn->pn_blockid != id)
return false;
}
}
return true;
}
static inline bool
CanFlattenUpvar(JSDefinition *dn, JSFunctionBox *funbox, uint32 tcflags)
{
@ -2175,14 +2161,10 @@ CanFlattenUpvar(JSDefinition *dn, JSFunctionBox *funbox, uint32 tcflags)
* initialized at the time that the would-be-flat closure containing
* the jQuery upvar is formed.
*/
if (dn->pn_pos.end >= afunbox->node->pn_pos.end ||
(dn->isTopLevel()
? !MinBlockId(afunbox->node, dn->pn_blockid)
: !dn->isBlockChild() ||
!afunbox->node->isBlockChild() ||
!OneBlockId(afunbox->node, dn->pn_blockid))) {
if (dn->pn_pos.end >= afunbox->node->pn_pos.end)
return false;
if (!MinBlockId(afunbox->node, dn->pn_blockid))
return false;
}
}
return true;
}

View File

@ -14732,10 +14732,9 @@ JS_REQUIRES_STACK AbortableRecordingStatus
TraceRecorder::record_JSOP_LEAVEBLOCK()
{
/* We mustn't exit the lexical block we began recording in. */
if (cx->fp->blockChain != lexicalBlock)
return ARECORD_CONTINUE;
else
if (cx->fp->blockChain == lexicalBlock)
return ARECORD_STOP;
return ARECORD_CONTINUE;
}
JS_REQUIRES_STACK AbortableRecordingStatus