Bug 511972 - More Fragment cleanups, r=dvander.

--HG--
extra : rebase_source : 186782bd96d8155eb3f0277616012636d6ebe469
This commit is contained in:
Graydon Hoare 2009-08-21 13:51:55 -07:00
Родитель 11d01cf3fc
Коммит a516931ed9
4 изменённых файлов: 8 добавлений и 48 удалений

Просмотреть файл

@ -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;