mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
bug 592617 - cannot compile without JS_METHODJIT. r=dmandelin
This commit is contained in:
parent
d48229f661
commit
052c9099c5
@ -1329,23 +1329,12 @@ JSVAL_TRACE_KIND(jsval v)
|
||||
return JSVAL_TRACE_KIND_IMPL(l);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace js {
|
||||
class ConservativeGCStackMarker;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct JSTracer {
|
||||
JSContext *context;
|
||||
JSTraceCallback callback;
|
||||
JSTraceNamePrinter debugPrinter;
|
||||
const void *debugPrintArg;
|
||||
size_t debugPrintIndex;
|
||||
#ifndef __cplusplus
|
||||
void *conservativeMarker;
|
||||
#else
|
||||
js::ConservativeGCStackMarker *conservativeMarker;
|
||||
#endif
|
||||
};
|
||||
|
||||
/*
|
||||
@ -1445,7 +1434,6 @@ JS_CallTracer(JSTracer *trc, void *thing, uint32 kind);
|
||||
(trc)->debugPrinter = NULL; \
|
||||
(trc)->debugPrintArg = NULL; \
|
||||
(trc)->debugPrintIndex = (size_t)-1; \
|
||||
(trc)->conservativeMarker = NULL; \
|
||||
JS_END_MACRO
|
||||
|
||||
extern JS_PUBLIC_API(void)
|
||||
|
@ -2116,6 +2116,9 @@ Interpret(JSContext *cx, JSStackFrame *entryFrame, uintN inlineCallCount)
|
||||
|
||||
#ifdef JS_METHODJIT
|
||||
bool leaveOnTracePoint = (fp->flags & JSFRAME_BAILING) && !fp->hasIMacroPC();
|
||||
# define CLEAR_LEAVE_ON_TRACE_POINT() ((void) (leaveOnTracePoint = false))
|
||||
#else
|
||||
# define CLEAR_LEAVE_ON_TRACE_POINT() ((void) 0)
|
||||
#endif
|
||||
|
||||
#define LOAD_ATOM(PCOFF, atom) \
|
||||
@ -2179,7 +2182,7 @@ Interpret(JSContext *cx, JSStackFrame *entryFrame, uintN inlineCallCount)
|
||||
JS_ASSERT(TRACE_RECORDER(cx)); \
|
||||
MONITOR_BRANCH_TRACEVIS; \
|
||||
ENABLE_INTERRUPTS(); \
|
||||
leaveOnTracePoint = false; \
|
||||
CLEAR_LEAVE_ON_TRACE_POINT(); \
|
||||
} \
|
||||
RESTORE_INTERP_VARS(); \
|
||||
JS_ASSERT_IF(cx->throwing, r == MONITOR_ERROR); \
|
||||
@ -2412,7 +2415,7 @@ Interpret(JSContext *cx, JSStackFrame *entryFrame, uintN inlineCallCount)
|
||||
case ARECORD_IMACRO_ABORTED:
|
||||
atoms = COMMON_ATOMS_START(&rt->atomState);
|
||||
op = JSOp(*regs.pc);
|
||||
leaveOnTracePoint = false;
|
||||
CLEAR_LEAVE_ON_TRACE_POINT();
|
||||
if (status == ARECORD_IMACRO)
|
||||
DO_OP(); /* keep interrupting for op. */
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user