| Index: src/top.cc
|
| diff --git a/src/top.cc b/src/top.cc
|
| index ff29cad46466297cdc775eb1b1be84298902fef7..99323180d0e5dc288bc85e25d8559b6a397d959f 100644
|
| --- a/src/top.cc
|
| +++ b/src/top.cc
|
| @@ -89,13 +89,13 @@ char* Isolate::Iterate(ObjectVisitor* v, char* thread_storage) {
|
|
|
|
|
| void Isolate::IterateThread(ThreadVisitor* v) {
|
| - v->VisitThread(thread_local_top());
|
| + v->VisitThread(this, thread_local_top());
|
| }
|
|
|
|
|
| void Isolate::IterateThread(ThreadVisitor* v, char* t) {
|
| ThreadLocalTop* thread = reinterpret_cast<ThreadLocalTop*>(t);
|
| - v->VisitThread(thread);
|
| + v->VisitThread(this, thread);
|
| }
|
|
|
|
|
| @@ -125,7 +125,7 @@ void Isolate::Iterate(ObjectVisitor* v, ThreadLocalTop* thread) {
|
| }
|
|
|
| // Iterate over pointers on native execution stack.
|
| - for (StackFrameIterator it(thread); !it.done(); it.Advance()) {
|
| + for (StackFrameIterator it(this, thread); !it.done(); it.Advance()) {
|
| it.frame()->Iterate(v);
|
| }
|
| }
|
| @@ -204,7 +204,7 @@ Handle<JSArray> Isolate::CaptureCurrentStackTrace(
|
| Handle<String> constructor_key =
|
| factory()->LookupAsciiSymbol("isConstructor");
|
|
|
| - StackTraceFrameIterator it;
|
| + StackTraceFrameIterator it(this);
|
| int frames_seen = 0;
|
| while (!it.done() && (frames_seen < limit)) {
|
| JavaScriptFrame* frame = it.frame();
|
| @@ -584,12 +584,12 @@ Failure* Isolate::PromoteScheduledException() {
|
|
|
|
|
| void Isolate::PrintCurrentStackTrace(FILE* out) {
|
| - StackTraceFrameIterator it;
|
| + StackTraceFrameIterator it(this);
|
| while (!it.done()) {
|
| HandleScope scope;
|
| // Find code position if recorded in relocation info.
|
| JavaScriptFrame* frame = it.frame();
|
| - int pos = frame->LookupCode(this)->SourcePosition(frame->pc());
|
| + int pos = frame->LookupCode()->SourcePosition(frame->pc());
|
| Handle<Object> pos_obj(Smi::FromInt(pos));
|
| // Fetch function and receiver.
|
| Handle<JSFunction> fun(JSFunction::cast(frame->function()));
|
| @@ -613,14 +613,14 @@ void Isolate::PrintCurrentStackTrace(FILE* out) {
|
|
|
| void Isolate::ComputeLocation(MessageLocation* target) {
|
| *target = MessageLocation(Handle<Script>(heap_.empty_script()), -1, -1);
|
| - StackTraceFrameIterator it;
|
| + StackTraceFrameIterator it(this);
|
| if (!it.done()) {
|
| JavaScriptFrame* frame = it.frame();
|
| JSFunction* fun = JSFunction::cast(frame->function());
|
| Object* script = fun->shared()->script();
|
| if (script->IsScript() &&
|
| !(Script::cast(script)->source()->IsUndefined())) {
|
| - int pos = frame->LookupCode(this)->SourcePosition(frame->pc());
|
| + int pos = frame->LookupCode()->SourcePosition(frame->pc());
|
| // Compute the location from the function and the reloc info.
|
| Handle<Script> casted_script(Script::cast(script));
|
| *target = MessageLocation(casted_script, pos, pos + 1);
|
|
|