Static analysis fixes, recursion fallout (bug 520320, r=gal).

This commit is contained in:
David Anderson 2009-10-02 17:55:57 -07:00
parent d15b1b369b
commit b38fec344b
3 changed files with 25 additions and 17 deletions

View File

@ -545,7 +545,7 @@ TraceRecorder::downRecursion()
return closeLoop(exit);
}
LIns*
JS_REQUIRES_STACK LIns*
TraceRecorder::slurpInt32Slot(LIns* val_ins, jsval* vp, VMSideExit* exit)
{
guard(true,
@ -565,7 +565,7 @@ TraceRecorder::slurpInt32Slot(LIns* val_ins, jsval* vp, VMSideExit* exit)
return int32_ins;
}
LIns*
JS_REQUIRES_STACK LIns*
TraceRecorder::slurpDoubleSlot(LIns* val_ins, jsval* vp, VMSideExit* exit)
{
guard(true,
@ -582,7 +582,7 @@ TraceRecorder::slurpDoubleSlot(LIns* val_ins, jsval* vp, VMSideExit* exit)
return dbl_ins;
}
LIns*
JS_REQUIRES_STACK LIns*
TraceRecorder::slurpBoolSlot(LIns* val_ins, jsval* vp, VMSideExit* exit)
{
guard(true,
@ -595,7 +595,7 @@ TraceRecorder::slurpBoolSlot(LIns* val_ins, jsval* vp, VMSideExit* exit)
return bool_ins;
}
LIns*
JS_REQUIRES_STACK LIns*
TraceRecorder::slurpStringSlot(LIns* val_ins, jsval* vp, VMSideExit* exit)
{
guard(true,
@ -607,14 +607,14 @@ TraceRecorder::slurpStringSlot(LIns* val_ins, jsval* vp, VMSideExit* exit)
return str_ins;
}
LIns*
JS_REQUIRES_STACK LIns*
TraceRecorder::slurpNullSlot(LIns* val_ins, jsval* vp, VMSideExit* exit)
{
guard(true, lir->ins_peq0(val_ins), exit);
return val_ins;
}
LIns*
JS_REQUIRES_STACK LIns*
TraceRecorder::slurpObjectSlot(LIns* val_ins, jsval* vp, VMSideExit* exit)
{
/* Must not be NULL */
@ -636,7 +636,7 @@ TraceRecorder::slurpObjectSlot(LIns* val_ins, jsval* vp, VMSideExit* exit)
return val_ins;
}
LIns*
JS_REQUIRES_STACK LIns*
TraceRecorder::slurpFunctionSlot(LIns* val_ins, jsval* vp, VMSideExit* exit)
{
/* Must not be NULL */

View File

@ -9636,7 +9636,7 @@ TraceRecorder::putArguments()
}
}
static inline bool
static JS_REQUIRES_STACK inline bool
IsTraceableRecursion(JSContext *cx)
{
JSStackFrame *fp = cx->fp;

View File

@ -949,15 +949,23 @@ class TraceRecorder {
JS_REQUIRES_STACK void guard(bool expected, nanojit::LIns* cond, ExitType exitType);
JS_REQUIRES_STACK void guard(bool expected, nanojit::LIns* cond, VMSideExit* exit);
nanojit::LIns* slurpInt32Slot(nanojit::LIns* val_ins, jsval* vp, VMSideExit* exit);
nanojit::LIns* slurpDoubleSlot(nanojit::LIns* val_ins, jsval* vp, VMSideExit* exit);
nanojit::LIns* slurpStringSlot(nanojit::LIns* val_ins, jsval* vp, VMSideExit* exit);
nanojit::LIns* slurpObjectSlot(nanojit::LIns* val_ins, jsval* vp, VMSideExit* exit);
nanojit::LIns* slurpFunctionSlot(nanojit::LIns* val_ins, jsval* vp, VMSideExit* exit);
nanojit::LIns* slurpNullSlot(nanojit::LIns* val_ins, jsval* vp, VMSideExit* exit);
nanojit::LIns* slurpBoolSlot(nanojit::LIns* val_ins, jsval* vp, VMSideExit* exit);
nanojit::LIns* slurpSlot(nanojit::LIns* val_ins, jsval* vp, VMSideExit* exit);
void slurpSlot(nanojit::LIns* val_ins, jsval* vp, SlurpInfo* info);
JS_REQUIRES_STACK nanojit::LIns* slurpInt32Slot(nanojit::LIns* val_ins, jsval* vp,
VMSideExit* exit);
JS_REQUIRES_STACK nanojit::LIns* slurpDoubleSlot(nanojit::LIns* val_ins, jsval* vp,
VMSideExit* exit);
JS_REQUIRES_STACK nanojit::LIns* slurpStringSlot(nanojit::LIns* val_ins, jsval* vp,
VMSideExit* exit);
JS_REQUIRES_STACK nanojit::LIns* slurpObjectSlot(nanojit::LIns* val_ins, jsval* vp,
VMSideExit* exit);
JS_REQUIRES_STACK nanojit::LIns* slurpFunctionSlot(nanojit::LIns* val_ins, jsval* vp,
VMSideExit* exit);
JS_REQUIRES_STACK nanojit::LIns* slurpNullSlot(nanojit::LIns* val_ins, jsval* vp,
VMSideExit* exit);
JS_REQUIRES_STACK nanojit::LIns* slurpBoolSlot(nanojit::LIns* val_ins, jsval* vp,
VMSideExit* exit);
JS_REQUIRES_STACK nanojit::LIns* slurpSlot(nanojit::LIns* val_ins, jsval* vp,
VMSideExit* exit);
JS_REQUIRES_STACK void slurpSlot(nanojit::LIns* val_ins, jsval* vp, SlurpInfo* info);
JS_REQUIRES_STACK AbortableRecordingStatus slurpDownFrames(jsbytecode* return_pc);
nanojit::LIns* addName(nanojit::LIns* ins, const char* name);