зеркало из https://github.com/mozilla/gecko-dev.git
Bug 511972 - More Fragment cleanups, r=dvander.
--HG-- extra : rebase_source : 186782bd96d8155eb3f0277616012636d6ebe469
This commit is contained in:
Родитель
11d01cf3fc
Коммит
a516931ed9
|
@ -5000,7 +5000,6 @@ AttemptToExtendTree(JSContext* cx, VMSideExit* anchor, VMSideExit* exitedFrom, j
|
||||||
" LINE=%d ANCHOR=%p OFFS=%d\n",
|
" LINE=%d ANCHOR=%p OFFS=%d\n",
|
||||||
f, c, cx->fp->regs->pc, cx->fp->script->filename,
|
f, c, cx->fp->regs->pc, cx->fp->script->filename,
|
||||||
js_FramePCToLineNumber(cx, cx->fp), anchor, FramePCOffset(cx->fp));
|
js_FramePCToLineNumber(cx, cx->fp), anchor, FramePCOffset(cx->fp));
|
||||||
c->spawnedFrom = anchor;
|
|
||||||
c->parent = f;
|
c->parent = f;
|
||||||
anchor->target = c;
|
anchor->target = c;
|
||||||
c->root = f;
|
c->root = f;
|
||||||
|
|
|
@ -735,7 +735,6 @@ namespace nanojit
|
||||||
prev = &vbr;
|
prev = &vbr;
|
||||||
)
|
)
|
||||||
|
|
||||||
verbose_only(_thisfrag->compileNbr++; )
|
|
||||||
_inExit = false;
|
_inExit = false;
|
||||||
|
|
||||||
LabelStateMap labels(alloc);
|
LabelStateMap labels(alloc);
|
||||||
|
|
|
@ -53,22 +53,6 @@ namespace nanojit
|
||||||
//
|
//
|
||||||
Fragment::Fragment(const void* _ip)
|
Fragment::Fragment(const void* _ip)
|
||||||
:
|
:
|
||||||
#ifdef NJ_VERBOSE
|
|
||||||
_called(0),
|
|
||||||
_native(0),
|
|
||||||
_exitNative(0),
|
|
||||||
_lir(0),
|
|
||||||
_lirbytes(0),
|
|
||||||
_token(NULL),
|
|
||||||
traceTicks(0),
|
|
||||||
interpTicks(0),
|
|
||||||
eot_target(NULL),
|
|
||||||
sid(0),
|
|
||||||
compileNbr(0),
|
|
||||||
#endif
|
|
||||||
treeBranches(NULL),
|
|
||||||
branches(NULL),
|
|
||||||
nextbranch(NULL),
|
|
||||||
anchor(NULL),
|
anchor(NULL),
|
||||||
root(NULL),
|
root(NULL),
|
||||||
parent(NULL),
|
parent(NULL),
|
||||||
|
@ -76,11 +60,8 @@ namespace nanojit
|
||||||
peer(NULL),
|
peer(NULL),
|
||||||
lirbuf(NULL),
|
lirbuf(NULL),
|
||||||
lastIns(NULL),
|
lastIns(NULL),
|
||||||
spawnedFrom(NULL),
|
|
||||||
kind(LoopTrace),
|
kind(LoopTrace),
|
||||||
ip(_ip),
|
ip(_ip),
|
||||||
guardCount(0),
|
|
||||||
xjumpCount(0),
|
|
||||||
recordAttempts(0),
|
recordAttempts(0),
|
||||||
fragEntry(NULL),
|
fragEntry(NULL),
|
||||||
loopEntry(NULL),
|
loopEntry(NULL),
|
||||||
|
|
|
@ -65,41 +65,22 @@ namespace nanojit
|
||||||
public:
|
public:
|
||||||
Fragment(const void*);
|
Fragment(const void*);
|
||||||
|
|
||||||
NIns* code() { return _code; }
|
NIns* code() { return _code; }
|
||||||
void setCode(NIns* codee) { _code = codee; }
|
void setCode(NIns* codee) { _code = codee; }
|
||||||
int32_t& hits() { return _hits; }
|
int32_t& hits() { return _hits; }
|
||||||
bool isAnchor() { return anchor == this; }
|
bool isAnchor() { return anchor == this; }
|
||||||
bool isRoot() { return root == this; }
|
bool isRoot() { return root == this; }
|
||||||
|
|
||||||
verbose_only( uint32_t _called; )
|
Fragment* anchor;
|
||||||
verbose_only( uint32_t _native; )
|
Fragment* root;
|
||||||
verbose_only( uint32_t _exitNative; )
|
Fragment* parent;
|
||||||
verbose_only( uint32_t _lir; )
|
Fragment* first;
|
||||||
verbose_only( uint32_t _lirbytes; )
|
Fragment* peer;
|
||||||
verbose_only( const char* _token; )
|
|
||||||
verbose_only( uint64_t traceTicks; )
|
|
||||||
verbose_only( uint64_t interpTicks; )
|
|
||||||
verbose_only( DWB(Fragment*) eot_target; )
|
|
||||||
verbose_only( uint32_t sid;)
|
|
||||||
verbose_only( uint32_t compileNbr;)
|
|
||||||
|
|
||||||
DWB(Fragment*) treeBranches;
|
|
||||||
DWB(Fragment*) branches;
|
|
||||||
DWB(Fragment*) nextbranch;
|
|
||||||
DWB(Fragment*) anchor;
|
|
||||||
DWB(Fragment*) root;
|
|
||||||
DWB(Fragment*) parent;
|
|
||||||
DWB(Fragment*) first;
|
|
||||||
DWB(Fragment*) peer;
|
|
||||||
LirBuffer* lirbuf;
|
LirBuffer* lirbuf;
|
||||||
LIns* lastIns;
|
LIns* lastIns;
|
||||||
SideExit* spawnedFrom;
|
|
||||||
GuardRecord* outbound;
|
|
||||||
|
|
||||||
TraceKind kind;
|
TraceKind kind;
|
||||||
const void* ip;
|
const void* ip;
|
||||||
uint32_t guardCount;
|
|
||||||
uint32_t xjumpCount;
|
|
||||||
uint32_t recordAttempts;
|
uint32_t recordAttempts;
|
||||||
NIns* fragEntry;
|
NIns* fragEntry;
|
||||||
NIns* loopEntry;
|
NIns* loopEntry;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче