Fix nomethodjit build (bug 723767, r=cdleary).

--HG--
extra : rebase_source : 98b13d09160b3cafac2088b3cec832c847395dbd
This commit is contained in:
David Anderson 2012-02-03 16:08:11 -08:00
parent c45339fb26
commit bc7bf36b01
4 changed files with 7 additions and 15 deletions

View File

@ -1095,7 +1095,7 @@ MarkRangeConservativelyAndSkipIon(JSTracer *trc, JSRuntime *rt, const uintptr_t
{
const uintptr_t *i = begin;
#if JS_STACK_GROWTH_DIRECTION < 0
#if JS_STACK_GROWTH_DIRECTION < 0 && defined(JS_ION)
// Walk only regions in between Ion activations. Note that non-volatile
// registers are spilled to the stack before the entry Ion frame, ensuring
// that the conservative scanner will still see them.

View File

@ -2226,11 +2226,9 @@ TypeCompartment::nukeTypes(JSContext *cx)
void
TypeCompartment::addPendingRecompile(JSContext *cx, const RecompileInfo &info)
{
bool hasJITCode = false;
#if defined(JS_METHODJIT)
mjit::JITScript *jit = info.script->getJIT(info.constructing);
hasJITCode |= jit && jit->chunkDescriptor(info.chunkIndex).chunk;
bool hasJITCode = jit && jit->chunkDescriptor(info.chunkIndex).chunk;
# if defined(JS_ION)
hasJITCode |= !!info.script->hasIonScript();

View File

@ -599,12 +599,14 @@ TypeScript::MonitorUnknown(JSContext *cx, JSScript *script, jsbytecode *pc)
/* static */ inline void
TypeScript::GetPcScript(JSContext *cx, JSScript **script, jsbytecode **pc)
{
#ifdef JS_ION
if (cx->fp()->runningInIon()) {
ion::GetPcScript(cx, script, pc);
} else {
*script = cx->fp()->script();
*pc = cx->regs().pc;
return;
}
#endif
*script = cx->fp()->script();
*pc = cx->regs().pc;
}
/* static */ inline void

View File

@ -53,10 +53,8 @@
#include "gc/Barrier.h"
#ifdef JS_ION
namespace js { namespace ion { struct IonScript; }}
# define ION_DISABLED_SCRIPT ((js::ion::IonScript *)0x1)
#endif
/*
* Type of try note associated with each catch or finally block, and also with
@ -339,13 +337,11 @@ namespace js { namespace mjit { struct JITScript; } }
namespace js { namespace ion { struct IonScript; } }
#endif
#ifdef JS_ION
namespace js {
namespace ion {
struct IonScript;
}
}
#endif
namespace js {
@ -542,15 +538,11 @@ struct JSScript : public js::gc::Cell {
/* Execution and profiling information for JIT code in the script. */
js::ScriptOpcodeCounts pcCounters;
#ifdef JS_ION
js::ion::IonScript *ion; /* Information attached by Ion */
bool hasIonScript() const {
return ion && ion != ION_DISABLED_SCRIPT;
}
#elif JS_BITS_PER_WORD == 32
void *padding_;
#endif
private:
js::DebugScript *debug;