Index: test/cctest/test-log-stack-tracer.cc |
diff --git a/test/cctest/test-log-stack-tracer.cc b/test/cctest/test-log-stack-tracer.cc |
index c92117678c1aa501f23acfdbc712c4e815f4c26e..b0cf93d9e70af509e68aeb3d5a953d7be17e847d 100644 |
--- a/test/cctest/test-log-stack-tracer.cc |
+++ b/test/cctest/test-log-stack-tracer.cc |
@@ -206,21 +206,8 @@ static Handle<JSFunction> CompileFunction(const char* source) { |
} |
-static Local<Value> GetGlobalProperty(const char* name) { |
- return env->Global()->Get(String::New(name)); |
-} |
- |
- |
-static Handle<JSFunction> GetGlobalJSFunction(const char* name) { |
- Handle<JSFunction> result(JSFunction::cast( |
- *v8::Utils::OpenHandle(*GetGlobalProperty(name)))); |
- return result; |
-} |
- |
- |
-static void CheckObjectIsJSFunction(const char* func_name, |
- Address addr) { |
- i::Object* obj = reinterpret_cast<i::Object*>(addr); |
+static void CheckJSFunctionAtAddress(const char* func_name, Address addr) { |
+ i::Object* obj = i::HeapObject::FromAddress(addr); |
CHECK(obj->IsJSFunction()); |
CHECK(JSFunction::cast(obj)->shared()->name()->IsString()); |
i::SmartPointer<char> found_name = |
@@ -304,7 +291,6 @@ static void CreateTraceCallerFunction(const char* func_name, |
#endif |
SetGlobalProperty(func_name, v8::ToApi<Value>(func)); |
- CHECK_EQ(*func, *GetGlobalJSFunction(func_name)); |
} |
@@ -332,13 +318,13 @@ TEST(CFromJSStackTrace) { |
// script [JS] |
// JSTrace() [JS] |
// JSFuncDoTrace() [JS] [captures EBP value and encodes it as Smi] |
- // trace(EBP encoded as Smi) [native (extension)] |
+ // trace(EBP) [native (extension)] |
// DoTrace(EBP) [native] |
// StackTracer::Trace |
CHECK_GT(sample.frames_count, 1); |
// Stack tracing will start from the first JS function, i.e. "JSFuncDoTrace" |
- CheckObjectIsJSFunction("JSFuncDoTrace", sample.stack[0]); |
- CheckObjectIsJSFunction("JSTrace", sample.stack[1]); |
+ CheckJSFunctionAtAddress("JSFuncDoTrace", sample.stack[0]); |
+ CheckJSFunctionAtAddress("JSTrace", sample.stack[1]); |
} |
@@ -370,19 +356,18 @@ TEST(PureJSStackTrace) { |
// script [JS] |
// OuterJSTrace() [JS] |
// JSTrace() [JS] |
- // JSFuncDoTrace() [JS] [captures EBP value and encodes it as Smi] |
- // js_trace(EBP encoded as Smi) [native (extension)] |
+ // JSFuncDoTrace() [JS] |
+ // js_trace(EBP) [native (extension)] |
// DoTraceHideCEntryFPAddress(EBP) [native] |
// StackTracer::Trace |
// |
// The last JS function called. It is only visible through |
// sample.function, as its return address is above captured EBP value. |
- CHECK_EQ(GetGlobalJSFunction("JSFuncDoTrace")->address(), |
- sample.function); |
+ CheckJSFunctionAtAddress("JSFuncDoTrace", sample.function); |
CHECK_GT(sample.frames_count, 1); |
// Stack sampling will start from the caller of JSFuncDoTrace, i.e. "JSTrace" |
- CheckObjectIsJSFunction("JSTrace", sample.stack[0]); |
- CheckObjectIsJSFunction("OuterJSTrace", sample.stack[1]); |
+ CheckJSFunctionAtAddress("JSTrace", sample.stack[0]); |
+ CheckJSFunctionAtAddress("OuterJSTrace", sample.stack[1]); |
} |