diff --git a/js/src/jstracer.cpp b/js/src/jstracer.cpp index dfee6445986a..513f42f919cf 100644 --- a/js/src/jstracer.cpp +++ b/js/src/jstracer.cpp @@ -645,8 +645,8 @@ PCHash(jsbytecode* pc) Oracle::Oracle() { /* Grow the oracle bitsets to their (fixed) size here, once. */ - _stackDontDemote.set(&gc, ORACLE_SIZE-1); - _globalDontDemote.set(&gc, ORACLE_SIZE-1); + _stackDontDemote.set(ORACLE_SIZE-1); + _globalDontDemote.set(ORACLE_SIZE-1); clear(); } @@ -654,7 +654,7 @@ Oracle::Oracle() JS_REQUIRES_STACK void Oracle::markGlobalSlotUndemotable(JSContext* cx, unsigned slot) { - _globalDontDemote.set(&gc, GlobalSlotHash(cx, slot)); + _globalDontDemote.set(GlobalSlotHash(cx, slot)); } /* Consult with the oracle whether we shouldn't demote a certain global variable. */ @@ -668,7 +668,7 @@ Oracle::isGlobalSlotUndemotable(JSContext* cx, unsigned slot) const JS_REQUIRES_STACK void Oracle::markStackSlotUndemotable(JSContext* cx, unsigned slot) { - _stackDontDemote.set(&gc, StackSlotHash(cx, slot)); + _stackDontDemote.set(StackSlotHash(cx, slot)); } /* Consult with the oracle whether we shouldn't demote a certain slot. */ @@ -682,7 +682,7 @@ Oracle::isStackSlotUndemotable(JSContext* cx, unsigned slot) const void Oracle::markInstructionUndemotable(jsbytecode* pc) { - _pcDontDemote.set(&gc, PCHash(pc)); + _pcDontDemote.set(PCHash(pc)); } /* Consult with the oracle whether we shouldn't demote a certain bytecode location. */ diff --git a/js/src/nanojit/Assembler.cpp b/js/src/nanojit/Assembler.cpp index 16142903c8f6..51e95c6b12b2 100644 --- a/js/src/nanojit/Assembler.cpp +++ b/js/src/nanojit/Assembler.cpp @@ -724,7 +724,7 @@ namespace nanojit }) // STOREFILTER for sp - StackFilter storefilter1(prev, gc, frag->lirbuf, frag->lirbuf->sp); + StackFilter storefilter1(prev, frag->lirbuf, frag->lirbuf->sp); prev = &storefilter1; verbose_only( if (_logc->lcbits & LC_AfterSF_SP) { @@ -734,7 +734,7 @@ namespace nanojit }) // STOREFILTER for rp - StackFilter storefilter2(prev, gc, frag->lirbuf, frag->lirbuf->rp); + StackFilter storefilter2(prev, frag->lirbuf, frag->lirbuf->rp); prev = &storefilter2; verbose_only( if (_logc->lcbits & LC_AfterSF_RP) { diff --git a/js/src/nanojit/LIR.cpp b/js/src/nanojit/LIR.cpp index 74d776d0b208..73d1eabaa08b 100644 --- a/js/src/nanojit/LIR.cpp +++ b/js/src/nanojit/LIR.cpp @@ -1017,8 +1017,8 @@ namespace nanojit using namespace avmplus; - StackFilter::StackFilter(LirFilter *in, GC *gc, LirBuffer *lirbuf, LInsp sp) - : LirFilter(in), gc(gc), lirbuf(lirbuf), sp(sp), top(0) + StackFilter::StackFilter(LirFilter *in, LirBuffer *lirbuf, LInsp sp) + : LirFilter(in), lirbuf(lirbuf), sp(sp), top(0) {} LInsp StackFilter::read() @@ -1042,8 +1042,8 @@ namespace nanojit if (stk.get(d) && stk.get(d-1)) { continue; } else { - stk.set(gc, d); - stk.set(gc, d-1); + stk.set(d); + stk.set(d-1); } } else { @@ -1051,7 +1051,7 @@ namespace nanojit if (stk.get(d)) continue; else - stk.set(gc, d); + stk.set(d); } } } @@ -1520,8 +1520,8 @@ namespace nanojit LiveTable live(gc); uint32_t exits = 0; LirReader br(frag->lastIns); - StackFilter sf(&br, gc, frag->lirbuf, frag->lirbuf->sp); - StackFilter r(&sf, gc, frag->lirbuf, frag->lirbuf->rp); + StackFilter sf(&br, frag->lirbuf, frag->lirbuf->sp); + StackFilter r(&sf, frag->lirbuf, frag->lirbuf->rp); int total = 0; if (frag->lirbuf->state) live.add(frag->lirbuf->state, r.pos()); diff --git a/js/src/nanojit/LIR.h b/js/src/nanojit/LIR.h index b137e97c4720..41bbe14c7912 100644 --- a/js/src/nanojit/LIR.h +++ b/js/src/nanojit/LIR.h @@ -1199,14 +1199,13 @@ namespace nanojit class StackFilter: public LirFilter { - GC *gc; LirBuffer *lirbuf; LInsp sp; avmplus::BitSet stk; int top; int getTop(LInsp br); public: - StackFilter(LirFilter *in, GC *gc, LirBuffer *lirbuf, LInsp sp); + StackFilter(LirFilter *in, LirBuffer *lirbuf, LInsp sp); virtual ~StackFilter() {} LInsp read(); }; diff --git a/js/src/nanojit/avmplus.h b/js/src/nanojit/avmplus.h index 6a908d271c05..427092cb8fde 100644 --- a/js/src/nanojit/avmplus.h +++ b/js/src/nanojit/avmplus.h @@ -970,12 +970,12 @@ namespace avmplus { bits.ar[i] = 0; } - void set(GC *gc, int bitNbr) + void set(int bitNbr) { int index = bitNbr / kUnit; int bit = bitNbr % kUnit; if (index >= capacity) - grow(gc, index+1); + grow(index+1); if (capacity > kDefaultCapacity) bits.ptr[index] |= (1<