mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 688769 - Remove dead args from StackFrame::functionEpilogue (r=bhackett)
--HG-- extra : rebase_source : ebb55d46c774a4e1dad6eacf59d55e5da496948c
This commit is contained in:
parent
bf9853332c
commit
f4a84db75a
@ -397,7 +397,7 @@ StackFrame::functionPrologue(JSContext *cx)
|
||||
}
|
||||
|
||||
inline void
|
||||
StackFrame::functionEpilogue(bool objectsOnly)
|
||||
StackFrame::functionEpilogue()
|
||||
{
|
||||
JS_ASSERT(isNonEvalFunctionFrame());
|
||||
|
||||
@ -409,12 +409,12 @@ StackFrame::functionEpilogue(bool objectsOnly)
|
||||
js_PutArgsObject(this);
|
||||
}
|
||||
|
||||
if (!objectsOnly && maintainNestingState())
|
||||
if (maintainNestingState())
|
||||
types::NestingEpilogue(this);
|
||||
}
|
||||
|
||||
inline void
|
||||
StackFrame::markFunctionEpilogueDone(bool activationOnly)
|
||||
StackFrame::markFunctionEpilogueDone()
|
||||
{
|
||||
if (flags_ & (HAS_ARGS_OBJ | HAS_CALL_OBJ)) {
|
||||
if (hasArgsObj() && !argsObj().maybeStackFrame()) {
|
||||
@ -441,7 +441,7 @@ StackFrame::markFunctionEpilogueDone(bool activationOnly)
|
||||
* when we redo it in the epilogue we get the right final value. The other
|
||||
* nesting epilogue changes (update active args/vars) are idempotent.
|
||||
*/
|
||||
if (!activationOnly && maintainNestingState())
|
||||
if (maintainNestingState())
|
||||
script()->nesting()->activeFrames++;
|
||||
}
|
||||
|
||||
|
@ -863,19 +863,17 @@ class StackFrame
|
||||
|
||||
/*
|
||||
* Epilogue for function frames: put any args or call object for the frame
|
||||
* which may still be live, and maintain type nesting invariants. Only the
|
||||
* args/call objects are put if activationOnly is set. Note: this does not
|
||||
* mark the epilogue as having been completed, since the frame is about to
|
||||
* be popped. Use markFunctionEpilogueDone for this.
|
||||
* which may still be live, and maintain type nesting invariants. Note:
|
||||
* this does not mark the epilogue as having been completed, since the
|
||||
* frame is about to be popped. Use markFunctionEpilogueDone for this.
|
||||
*/
|
||||
inline void functionEpilogue(bool activationOnly = false);
|
||||
inline void functionEpilogue();
|
||||
|
||||
/*
|
||||
* Mark any work needed in the function's epilogue as done. Only the args
|
||||
* and call objects are reset if activationOnly is set. If activationOnly
|
||||
* is *NOT* set, this call must be followed by a later functionEpilogue.
|
||||
* Mark any work needed in the function's epilogue as done. This call must
|
||||
* be followed by a later functionEpilogue.
|
||||
*/
|
||||
inline void markFunctionEpilogueDone(bool activationOnly = false);
|
||||
inline void markFunctionEpilogueDone();
|
||||
|
||||
inline bool maintainNestingState() const;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user