| Index: test/cctest/test-log-stack-tracer.cc
|
| ===================================================================
|
| --- test/cctest/test-log-stack-tracer.cc (revision 7267)
|
| +++ test/cctest/test-log-stack-tracer.cc (working copy)
|
| @@ -36,7 +36,7 @@
|
| #include "api.h"
|
| #include "codegen.h"
|
| #include "log.h"
|
| -#include "top.h"
|
| +#include "isolate.h"
|
| #include "cctest.h"
|
| #include "disassembler.h"
|
| #include "register-allocator-inl.h"
|
| @@ -52,10 +52,10 @@
|
| using v8::internal::byte;
|
| using v8::internal::Address;
|
| using v8::internal::Handle;
|
| +using v8::internal::Isolate;
|
| using v8::internal::JSFunction;
|
| using v8::internal::StackTracer;
|
| using v8::internal::TickSample;
|
| -using v8::internal::Top;
|
|
|
| namespace i = v8::internal;
|
|
|
| @@ -78,18 +78,19 @@
|
| // sp is only used to define stack high bound
|
| trace_env.sample->sp =
|
| reinterpret_cast<Address>(trace_env.sample) - 10240;
|
| - StackTracer::Trace(trace_env.sample);
|
| + StackTracer::Trace(Isolate::Current(), trace_env.sample);
|
| }
|
|
|
|
|
| // Hide c_entry_fp to emulate situation when sampling is done while
|
| // pure JS code is being executed
|
| static void DoTraceHideCEntryFPAddress(Address fp) {
|
| - v8::internal::Address saved_c_frame_fp = *(Top::c_entry_fp_address());
|
| + v8::internal::Address saved_c_frame_fp =
|
| + *(Isolate::Current()->c_entry_fp_address());
|
| CHECK(saved_c_frame_fp);
|
| - *(Top::c_entry_fp_address()) = 0;
|
| + *(Isolate::Current()->c_entry_fp_address()) = 0;
|
| DoTrace(fp);
|
| - *(Top::c_entry_fp_address()) = saved_c_frame_fp;
|
| + *(Isolate::Current()->c_entry_fp_address()) = saved_c_frame_fp;
|
| }
|
|
|
|
|
| @@ -163,8 +164,8 @@
|
|
|
|
|
| static Address GetJsEntrySp() {
|
| - CHECK_NE(NULL, Top::GetCurrentThread());
|
| - return Top::js_entry_sp(Top::GetCurrentThread());
|
| + CHECK_NE(NULL, i::Isolate::Current()->thread_local_top());
|
| + return Isolate::js_entry_sp(i::Isolate::Current()->thread_local_top());
|
| }
|
|
|
|
|
| @@ -276,7 +277,7 @@
|
|
|
| // This test verifies that stack tracing works when called during
|
| // execution of a native function called from JS code. In this case,
|
| -// StackTracer uses Top::c_entry_fp as a starting point for stack
|
| +// StackTracer uses Isolate::c_entry_fp as a starting point for stack
|
| // walking.
|
| TEST(CFromJSStackTrace) {
|
| TickSample sample;
|
| @@ -318,7 +319,7 @@
|
| // This test verifies that stack tracing works when called during
|
| // execution of JS code. However, as calling StackTracer requires
|
| // entering native code, we can only emulate pure JS by erasing
|
| -// Top::c_entry_fp value. In this case, StackTracer uses passed frame
|
| +// Isolate::c_entry_fp value. In this case, StackTracer uses passed frame
|
| // pointer value as a starting point for stack walking.
|
| TEST(PureJSStackTrace) {
|
| // This test does not pass with inlining enabled since inlined functions
|
| @@ -397,6 +398,7 @@
|
| TEST(PureCStackTrace) {
|
| TickSample sample;
|
| InitTraceEnv(&sample);
|
| + InitializeVM();
|
| // Check that sampler doesn't crash
|
| CHECK_EQ(10, CFunc(10));
|
| }
|
|
|