mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 08:18:41 +09:00
Bug 1320042: Rename BytecodeEmitter::emitConditionallyExecuted{SOMETHING} to BytecodeEmitter::emit{SOMETHING}InBranch
Issue #78 [Depends on] Bug 883377: Implement ES6 function "name" property semantics
This commit is contained in:
parent
e7ee7caf1e
commit
3b1c3ec605
2 changed files with 18 additions and 19 deletions
|
|
@ -4463,7 +4463,7 @@ BytecodeEmitter::emitDestructuringLHS(ParseNode* target, DestructuringFlavor fla
|
|||
}
|
||||
|
||||
bool
|
||||
BytecodeEmitter::emitConditionallyExecutedDestructuringLHS(ParseNode* target, DestructuringFlavor flav)
|
||||
BytecodeEmitter::emitDestructuringLHSInBranch(ParseNode* target, DestructuringFlavor flav)
|
||||
{
|
||||
TDZCheckCache tdzCache(this);
|
||||
return emitDestructuringLHS(target, flav);
|
||||
|
|
@ -4507,7 +4507,7 @@ BytecodeEmitter::emitDefault(ParseNode* defaultExpr)
|
|||
return false;
|
||||
if (!emit1(JSOP_POP)) // .
|
||||
return false;
|
||||
if (!emitConditionallyExecutedTree(defaultExpr)) // DEFAULTVALUE
|
||||
if (!emitTreeInBranch(defaultExpr)) // DEFAULTVALUE
|
||||
return false;
|
||||
if (!emitJumpTargetAndPatch(jump))
|
||||
return false;
|
||||
|
|
@ -4765,7 +4765,7 @@ BytecodeEmitter::emitDestructuringOpsArray(ParseNode* pattern, DestructuringFlav
|
|||
return false;
|
||||
if (!emitUint32Operand(JSOP_NEWARRAY, 0)) // ... OBJ? ARRAY
|
||||
return false;
|
||||
if (!emitConditionallyExecutedDestructuringLHS(member, flav)) // ... OBJ?
|
||||
if (!emitDestructuringLHSInBranch(member, flav)) // ... OBJ?
|
||||
return false;
|
||||
|
||||
if (!ifThenElse.emitElse()) // ... OBJ? ITER
|
||||
|
|
@ -4782,7 +4782,7 @@ BytecodeEmitter::emitDestructuringOpsArray(ParseNode* pattern, DestructuringFlav
|
|||
return false;
|
||||
if (!emit1(JSOP_POP)) // ... OBJ? ARRAY
|
||||
return false;
|
||||
if (!emitConditionallyExecutedDestructuringLHS(member, flav)) // ... OBJ?
|
||||
if (!emitDestructuringLHSInBranch(member, flav)) // ... OBJ?
|
||||
return false;
|
||||
|
||||
if (!isHead) {
|
||||
|
|
@ -4834,7 +4834,7 @@ BytecodeEmitter::emitDestructuringOpsArray(ParseNode* pattern, DestructuringFlav
|
|||
if (pndefault) {
|
||||
// Emit only pndefault tree here, as undefined check in emitDefault
|
||||
// should always be true.
|
||||
if (!emitConditionallyExecutedTree(pndefault)) // ... OBJ? ITER VALUE
|
||||
if (!emitTreeInBranch(pndefault)) // ... OBJ? ITER VALUE
|
||||
return false;
|
||||
} else {
|
||||
if (!isElision) {
|
||||
|
|
@ -4845,7 +4845,7 @@ BytecodeEmitter::emitDestructuringOpsArray(ParseNode* pattern, DestructuringFlav
|
|||
}
|
||||
}
|
||||
if (!isElision) {
|
||||
if (!emitConditionallyExecutedDestructuringLHS(subpattern, flav)) // ... OBJ? ITER
|
||||
if (!emitDestructuringLHSInBranch(subpattern, flav)) // ... OBJ? ITER
|
||||
return false;
|
||||
} else if (pndefault) {
|
||||
if (!emit1(JSOP_POP)) // ... OBJ? ITER
|
||||
|
|
@ -4877,7 +4877,7 @@ BytecodeEmitter::emitDestructuringOpsArray(ParseNode* pattern, DestructuringFlav
|
|||
}
|
||||
|
||||
if (!isElision) {
|
||||
if (!emitConditionallyExecutedDestructuringLHS(subpattern, flav)) // ... OBJ? ITER
|
||||
if (!emitDestructuringLHSInBranch(subpattern, flav)) // ... OBJ? ITER
|
||||
return false;
|
||||
} else {
|
||||
if (!emit1(JSOP_POP)) // ... OBJ? ITER
|
||||
|
|
@ -5788,7 +5788,7 @@ BytecodeEmitter::emitIf(ParseNode* pn)
|
|||
|
||||
if_again:
|
||||
/* Emit code for the condition before pushing stmtInfo. */
|
||||
if (!emitConditionallyExecutedTree(pn->pn_kid1))
|
||||
if (!emitTreeInBranch(pn->pn_kid1))
|
||||
return false;
|
||||
|
||||
ParseNode* elseNode = pn->pn_kid3;
|
||||
|
|
@ -5801,7 +5801,7 @@ BytecodeEmitter::emitIf(ParseNode* pn)
|
|||
}
|
||||
|
||||
/* Emit code for the then part. */
|
||||
if (!emitConditionallyExecutedTree(pn->pn_kid2))
|
||||
if (!emitTreeInBranch(pn->pn_kid2))
|
||||
return false;
|
||||
|
||||
if (elseNode) {
|
||||
|
|
@ -5814,7 +5814,7 @@ BytecodeEmitter::emitIf(ParseNode* pn)
|
|||
}
|
||||
|
||||
/* Emit code for the else part. */
|
||||
if (!emitConditionallyExecutedTree(elseNode))
|
||||
if (!emitTreeInBranch(elseNode))
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -6504,7 +6504,7 @@ BytecodeEmitter::emitCStyleFor(ParseNode* pn, EmitterScope* headLexicalEmitterSc
|
|||
if (jmp.offset == -1 && !emitLoopEntry(forBody, jmp))
|
||||
return false;
|
||||
|
||||
if (!emitConditionallyExecutedTree(forBody))
|
||||
if (!emitTreeInBranch(forBody))
|
||||
return false;
|
||||
|
||||
// Set loop and enclosing "update" offsets, for continue. Note that we
|
||||
|
|
@ -7284,7 +7284,7 @@ BytecodeEmitter::emitWhile(ParseNode* pn)
|
|||
if (!emitLoopHead(pn->pn_right, &top))
|
||||
return false;
|
||||
|
||||
if (!emitConditionallyExecutedTree(pn->pn_right))
|
||||
if (!emitTreeInBranch(pn->pn_right))
|
||||
return false;
|
||||
|
||||
if (!emitLoopEntry(pn->pn_left, jmp))
|
||||
|
|
@ -8449,13 +8449,13 @@ BytecodeEmitter::emitConditionalExpression(ConditionalExpression& conditional)
|
|||
if (!ifThenElse.emitCond())
|
||||
return false;
|
||||
|
||||
if (!emitConditionallyExecutedTree(&conditional.thenExpression()))
|
||||
if (!emitTreeInBranch(&conditional.thenExpression()))
|
||||
return false;
|
||||
|
||||
if (!ifThenElse.emitElse())
|
||||
return false;
|
||||
|
||||
if (!emitConditionallyExecutedTree(&conditional.elseExpression()))
|
||||
if (!emitTreeInBranch(&conditional.elseExpression()))
|
||||
return false;
|
||||
|
||||
if (!ifThenElse.emitEnd())
|
||||
|
|
@ -9017,7 +9017,7 @@ BytecodeEmitter::emitFunctionFormalParameters(ParseNode* pn)
|
|||
return false;
|
||||
if (!emit1(JSOP_POP))
|
||||
return false;
|
||||
if (!emitConditionallyExecutedTree(initializer))
|
||||
if (!emitTreeInBranch(initializer))
|
||||
return false;
|
||||
if (!emitJumpTargetAndPatch(jump))
|
||||
return false;
|
||||
|
|
@ -9728,7 +9728,7 @@ BytecodeEmitter::emitTree(ParseNode* pn, EmitLineNumberNote emitLineNote)
|
|||
}
|
||||
|
||||
bool
|
||||
BytecodeEmitter::emitConditionallyExecutedTree(ParseNode* pn)
|
||||
BytecodeEmitter::emitTreeInBranch(ParseNode* pn)
|
||||
{
|
||||
// Code that may be conditionally executed always need their own TDZ
|
||||
// cache.
|
||||
|
|
|
|||
|
|
@ -435,7 +435,7 @@ struct MOZ_STACK_CLASS BytecodeEmitter
|
|||
MOZ_MUST_USE bool emitTree(ParseNode* pn, EmitLineNumberNote emitLineNote = EMIT_LINENOTE);
|
||||
|
||||
// Emit code for the tree rooted at pn with its own TDZ cache.
|
||||
MOZ_MUST_USE bool emitConditionallyExecutedTree(ParseNode* pn);
|
||||
MOZ_MUST_USE bool emitTreeInBranch(ParseNode* pn);
|
||||
|
||||
// Emit global, eval, or module code for tree rooted at body. Always
|
||||
// encompasses the entire source.
|
||||
|
|
@ -648,8 +648,7 @@ struct MOZ_STACK_CLASS BytecodeEmitter
|
|||
// the stack and emits code to destructure a single lhs expression (either a
|
||||
// name or a compound []/{} expression).
|
||||
MOZ_MUST_USE bool emitDestructuringLHS(ParseNode* target, DestructuringFlavor flav);
|
||||
MOZ_MUST_USE bool emitConditionallyExecutedDestructuringLHS(ParseNode* target,
|
||||
DestructuringFlavor flav);
|
||||
MOZ_MUST_USE bool emitDestructuringLHSInBranch(ParseNode* target, DestructuringFlavor flav);
|
||||
|
||||
// emitDestructuringOps assumes the to-be-destructured value has been
|
||||
// pushed on the stack and emits code to destructure each part of a [] or
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue