diff --git a/js/src/jstracer.cpp b/js/src/jstracer.cpp index 516672604bd1..617b7439edfc 100644 --- a/js/src/jstracer.cpp +++ b/js/src/jstracer.cpp @@ -5428,7 +5428,7 @@ js_InitJIT(JSTraceMonitor *tm) if (!tm->fragmento) { JS_ASSERT(!tm->reservedDoublePool); Fragmento* fragmento = new (&gc) Fragmento(core, 32); - verbose_only(fragmento->labels = new (&gc) LabelMap(core, NULL);) + verbose_only(fragmento->labels = new (&gc) LabelMap(core);) tm->fragmento = fragmento; tm->lirbuf = new (&gc) LirBuffer(fragmento); #ifdef DEBUG @@ -5444,7 +5444,7 @@ js_InitJIT(JSTraceMonitor *tm) } if (!tm->reFragmento) { Fragmento* fragmento = new (&gc) Fragmento(core, 32); - verbose_only(fragmento->labels = new (&gc) LabelMap(core, NULL);) + verbose_only(fragmento->labels = new (&gc) LabelMap(core);) tm->reFragmento = fragmento; tm->reLirBuf = new (&gc) LirBuffer(fragmento); } diff --git a/js/src/lirasm/lirasm.cpp b/js/src/lirasm/lirasm.cpp index e986e683108b..2da1d65d26cd 100644 --- a/js/src/lirasm/lirasm.cpp +++ b/js/src/lirasm/lirasm.cpp @@ -691,7 +691,7 @@ main(int argc, char **argv) Fragmento *fragmento = new (&gc) Fragmento(core, 32); #ifdef DEBUG - fragmento->labels = new (&gc) LabelMap(core, NULL); + fragmento->labels = new (&gc) LabelMap(core); #endif LirBuffer *lirbuf = new (&gc) LirBuffer(fragmento, NULL); #ifdef DEBUG diff --git a/js/src/nanojit/LIR.cpp b/js/src/nanojit/LIR.cpp index e8230a6fc3e3..7325ab2087ea 100644 --- a/js/src/nanojit/LIR.cpp +++ b/js/src/nanojit/LIR.cpp @@ -2107,8 +2107,8 @@ namespace nanojit #endif /* FEATURE_NANOJIT */ #if defined(NJ_VERBOSE) - LabelMap::LabelMap(AvmCore *core, LabelMap* parent) - : parent(parent), names(core->gc), addrs(core->config.verbose_addrs), end(buf), core(core) + LabelMap::LabelMap(AvmCore *core) + : names(core->gc), addrs(core->config.verbose_addrs), end(buf), core(core) {} LabelMap::~LabelMap() @@ -2166,16 +2166,10 @@ namespace nanojit return dup(b); } else { - if (parent) - return parent->format(p); - sprintf(b, "%p", p); return dup(b); } } - if (parent) - return parent->format(p); - sprintf(b, "%p", p); return dup(b); } @@ -2192,15 +2186,6 @@ namespace nanojit strcpy(s, b); return s; } - - // copy all labels to parent, adding newbase to label addresses - void LabelMap::promoteAll(const void *newbase) - { - for (int i=0, n=names.size(); i < n; i++) { - void *base = (char*)newbase + (intptr_t)names.keyAt(i); - parent->names.put(base, names.at(i)); - } - } #endif // NJ_VERBOSE } diff --git a/js/src/nanojit/LIR.h b/js/src/nanojit/LIR.h index 1bc2241891f4..9acf1d46999b 100644 --- a/js/src/nanojit/LIR.h +++ b/js/src/nanojit/LIR.h @@ -452,7 +452,6 @@ namespace nanojit */ class LabelMap MMGC_SUBCLASS_DECL { - LabelMap* parent; class Entry MMGC_SUBCLASS_DECL { public: @@ -468,13 +467,12 @@ namespace nanojit void formatAddr(const void *p, char *buf); public: avmplus::AvmCore *core; - LabelMap(avmplus::AvmCore *, LabelMap* parent); + LabelMap(avmplus::AvmCore *); ~LabelMap(); void add(const void *p, size_t size, size_t align, const char *name); void add(const void *p, size_t size, size_t align, avmplus::String*); const char *dup(const char *); const char *format(const void *p); - void promoteAll(const void *newbase); void clear(); };