Reviewers: Søren Gjesse,
Description:
Clean up the log-stack-tracer test.
Create the functions using the normal API and remove some
unnecessary helpers.
Please review this at http://codereview.chromium.org/4024003/show
SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
Affected files:
M test/cctest/test-log-stack-tracer.cc
Index: test/cctest/test-log-stack-tracer.cc
===================================================================
--- test/cctest/test-log-stack-tracer.cc (revision 5687)
+++ test/cctest/test-log-stack-tracer.cc (working copy)
@@ -199,13 +199,6 @@
}
-static Handle<JSFunction> CompileFunction(const char* source) {
- Handle<JSFunction> result(JSFunction::cast(
- *v8::Utils::OpenHandle(*Script::Compile(String::New(source)))));
- return result;
-}
-
-
static void CheckJSFunctionAtAddress(const char* func_name, Address addr) {
i::Object* obj = i::HeapObject::FromAddress(addr);
CHECK(obj->IsJSFunction());
@@ -218,16 +211,6 @@
}
-static void SetGlobalProperty(const char* name, Local<Value> value) {
- env->Global()->Set(String::New(name), value);
-}
-
-
-static Handle<v8::internal::String> NewString(const char* s) {
- return i::Factory::NewStringFromAscii(i::CStrVector(s));
-}
-
-
// This C++ function is called as a constructor, to grab the frame pointer
// from the calling function. When this function runs, the stack contains
// a C_Entry frame and a Construct frame above the calling function's
frame.
@@ -273,25 +256,18 @@
const char* trace_func_name) {
i::EmbeddedVector<char, 256> trace_call_buf;
i::OS::SNPrintF(trace_call_buf,
- "fp = new FPGrabber(); %s(fp.low_bits, fp.high_bits);",
- trace_func_name);
+ "function %s() {"
+ " fp = new FPGrabber();"
+ " %s(fp.low_bits, fp.high_bits);"
+ "}",
+ func_name, trace_func_name);
// Create the FPGrabber function, which grabs the caller's frame pointer
// when called as a constructor.
CreateFramePointerGrabberConstructor("FPGrabber");
// Compile the script.
- Handle<JSFunction> func = CompileFunction(trace_call_buf.start());
- CHECK(!func.is_null());
- func->shared()->set_name(*NewString(func_name));
-
-#ifdef DEBUG
- v8::internal::Code* func_code = func->code();
- CHECK(func_code->IsCode());
- func_code->Print();
-#endif
-
- SetGlobalProperty(func_name, v8::ToApi<Value>(func));
+ CompileRun(trace_call_buf.start());
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev