Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(618)

Unified Diff: test/cctest/test-api.cc

Issue 10695206: Revert 12083: Implements a new API to set a function entry hook for profiling. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/x64/lithium-codegen-x64.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/cctest/test-api.cc
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
index 57cffae8fe3142010f4430697dc2bd0d91d84d81..229607266004673f87054898df272440f22105f0 100644
--- a/test/cctest/test-api.cc
+++ b/test/cctest/test-api.cc
@@ -33,7 +33,6 @@
#include "isolate.h"
#include "compilation-cache.h"
#include "execution.h"
-#include "objects.h"
#include "snapshot.h"
#include "platform.h"
#include "utils.h"
@@ -10874,110 +10873,6 @@ THREADED_TEST(NestedHandleScopeAndContexts) {
}
-static i::Handle<i::JSFunction>* foo_ptr = NULL;
-static int foo_count = 0;
-static i::Handle<i::JSFunction>* bar_ptr = NULL;
-static int bar_count = 0;
-
-
-static void entry_hook(uintptr_t function,
- uintptr_t return_addr_location) {
- i::Code* code = i::Code::GetCodeFromTargetAddress(
- reinterpret_cast<i::Address>(function));
- CHECK(code != NULL);
-
- if (bar_ptr != NULL && code == (*bar_ptr)->code())
- ++bar_count;
-
- if (foo_ptr != NULL && code == (*foo_ptr)->code())
- ++foo_count;
-
- // TODO(siggi): Verify return_addr_location.
-}
-
-
-static void RunLoopInNewEnv() {
- bar_ptr = NULL;
- foo_ptr = NULL;
-
- v8::HandleScope outer;
- v8::Persistent<Context> env = Context::New();
- env->Enter();
-
- const char* script =
- "function bar() {"
- " var sum = 0;"
- " for (i = 0; i < 100; ++i)"
- " sum = foo(i);"
- " return sum;"
- "}"
- "function foo(i) { return i * i; }";
- CompileRun(script);
- i::Handle<i::JSFunction> bar =
- i::Handle<i::JSFunction>::cast(
- v8::Utils::OpenHandle(*env->Global()->Get(v8_str("bar"))));
- ASSERT(*bar);
-
- i::Handle<i::JSFunction> foo =
- i::Handle<i::JSFunction>::cast(
- v8::Utils::OpenHandle(*env->Global()->Get(v8_str("foo"))));
- ASSERT(*foo);
-
- bar_ptr = &bar;
- foo_ptr = &foo;
-
- v8::Handle<v8::Value> value = CompileRun("bar();");
- CHECK(value->IsNumber());
- CHECK_EQ(9801.0, v8::Number::Cast(*value)->Value());
-
- // Test the optimized codegen path.
- value = CompileRun("%OptimizeFunctionOnNextCall(foo);"
- "bar();");
- CHECK(value->IsNumber());
- CHECK_EQ(9801.0, v8::Number::Cast(*value)->Value());
-
- env->Exit();
-}
-
-
-THREADED_TEST(SetFunctionEntryHook) {
- i::FLAG_allow_natives_syntax = true;
-
- // Test setting and resetting the entry hook.
- // Nulling it should always succeed.
- CHECK(v8::V8::SetFunctionEntryHook(NULL));
-
- CHECK(v8::V8::SetFunctionEntryHook(entry_hook));
- // Setting a hook while one's active should fail.
- CHECK_EQ(false, v8::V8::SetFunctionEntryHook(entry_hook));
-
- CHECK(v8::V8::SetFunctionEntryHook(NULL));
-
- // Reset the entry count to zero and set the entry hook.
- bar_count = 0;
- foo_count = 0;
- CHECK(v8::V8::SetFunctionEntryHook(entry_hook));
- RunLoopInNewEnv();
-
- CHECK_EQ(2, bar_count);
- CHECK_EQ(200, foo_count);
-
- // Clear the entry hook and count.
- bar_count = 0;
- foo_count = 0;
- v8::V8::SetFunctionEntryHook(NULL);
-
- // Clear the compilation cache to make sure we don't reuse the
- // functions from the previous invocation.
- v8::internal::Isolate::Current()->compilation_cache()->Clear();
-
- // Verify that entry hooking is now disabled.
- RunLoopInNewEnv();
- CHECK(0u == bar_count);
- CHECK(0u == foo_count);
-}
-
-
static int64_t cast(intptr_t x) { return static_cast<int64_t>(x); }
« no previous file with comments | « src/x64/lithium-codegen-x64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698