Revision: 4768
Author: [email protected]
Date: Tue Jun  1 06:42:48 2010
Log: Unreviewed. Revert r4766, r4767.
http://code.google.com/p/v8/source/detail?r=4768

Modified:
 /branches/bleeding_edge/src/cpu-profiler.cc
 /branches/bleeding_edge/src/profile-generator.cc
 /branches/bleeding_edge/src/profile-generator.h
 /branches/bleeding_edge/test/cctest/test-profile-generator.cc

=======================================
--- /branches/bleeding_edge/src/cpu-profiler.cc Tue Jun  1 06:35:09 2010
+++ /branches/bleeding_edge/src/cpu-profiler.cc Tue Jun  1 06:42:48 2010
@@ -415,13 +415,14 @@
 void CpuProfiler::StartCollectingProfile(const char* title) {
   if (profiles_->StartProfiling(title, next_profile_uid_++)) {
     StartProcessorIfNotStarted();
-    generator_->AddCurrentStack();
   }
 }


 void CpuProfiler::StartCollectingProfile(String* title) {
-  StartCollectingProfile(profiles_->GetName(title));
+  if (profiles_->StartProfiling(title, next_profile_uid_++)) {
+    StartProcessorIfNotStarted();
+  }
 }


=======================================
--- /branches/bleeding_edge/src/profile-generator.cc Tue Jun 1 06:35:09 2010 +++ /branches/bleeding_edge/src/profile-generator.cc Tue Jun 1 06:42:48 2010
@@ -28,7 +28,6 @@
 #ifdef ENABLE_LOGGING_AND_PROFILING

 #include "v8.h"
-#include "frames-inl.h"
 #include "global-handles.h"

 #include "profile-generator-inl.h"
@@ -807,22 +806,6 @@

   profiles_->AddPathToCurrentProfiles(entries);
 }
-
-
-void ProfileGenerator::AddCurrentStack() {
-  TickSample sample;
-  sample.state = VMState::current_state();
-  sample.pc = reinterpret_cast<Address>(&sample);  // Not NULL.
-  sample.frames_count = 0;
-  for (StackTraceFrameIterator it;
-       !it.done() && sample.frames_count < TickSample::kMaxFramesCount;
-       it.Advance()) {
-    JavaScriptFrame* frame = it.frame();
-    sample.stack[sample.frames_count++] =
-        reinterpret_cast<Address>(frame->function());
-  }
-  RecordTickSample(sample);
-}

 } }  // namespace v8::internal

=======================================
--- /branches/bleeding_edge/src/profile-generator.h     Tue Jun  1 06:35:09 2010
+++ /branches/bleeding_edge/src/profile-generator.h     Tue Jun  1 06:42:48 2010
@@ -260,7 +260,6 @@
   CpuProfile* GetProfile(int security_token_id, unsigned uid);
   inline bool is_last_profile();

-  const char* GetName(String* name);
   CodeEntry* NewCodeEntry(Logger::LogEventsAndTags tag,
String* name, String* resource_name, int line_number);
   CodeEntry* NewCodeEntry(Logger::LogEventsAndTags tag, const char* name);
@@ -275,6 +274,7 @@
  private:
   INLINE(const char* GetFunctionName(String* name));
   INLINE(const char* GetFunctionName(const char* name));
+  const char* GetName(String* name);
   const char* GetName(int args_count);
   List<CpuProfile*>* GetProfilesList(int security_token_id);
   int TokenToIndex(int security_token_id);
@@ -380,9 +380,6 @@
   INLINE(double actual_sampling_rate()) {
     return sample_rate_calc_.ticks_per_ms();
   }
-
-  // Samples stack and adds it to current profiles.
-  void AddCurrentStack();

   static const char* kAnonymousFunctionName;
   static const char* kProgramEntryName;
=======================================
--- /branches/bleeding_edge/test/cctest/test-profile-generator.cc Tue Jun 1 06:35:44 2010 +++ /branches/bleeding_edge/test/cctest/test-profile-generator.cc Tue Jun 1 06:42:48 2010
@@ -7,14 +7,12 @@
 #include "v8.h"
 #include "profile-generator-inl.h"
 #include "cctest.h"
-#include "../include/v8-profiler.h"

 namespace i = v8::internal;

 using i::CodeEntry;
 using i::CodeMap;
 using i::CpuProfile;
-using i::CpuProfiler;
 using i::CpuProfilesCollection;
 using i::ProfileNode;
 using i::ProfileTree;
@@ -669,80 +667,5 @@
   // (1.0 + 0.5 + 0.5) / 3
   CHECK_EQ(kSamplingIntervalMs * 0.66666, calc3.ticks_per_ms());
 }
-
-
-// --- P r o f i l e r   E x t e n s i o n ---
-
-class ProfilerExtension : public v8::Extension {
- public:
-  ProfilerExtension() : v8::Extension("v8/profiler", kSource) { }
-  virtual v8::Handle<v8::FunctionTemplate> GetNativeFunction(
-      v8::Handle<v8::String> name);
-  static v8::Handle<v8::Value> StartProfiling(const v8::Arguments& args);
-  static v8::Handle<v8::Value> StopProfiling(const v8::Arguments& args);
- private:
-  static const char* kSource;
-};
-
-
-const char* ProfilerExtension::kSource =
-    "native function startProfiling();"
-    "native function stopProfiling();";
-
-v8::Handle<v8::FunctionTemplate> ProfilerExtension::GetNativeFunction(
-    v8::Handle<v8::String> name) {
-  if (name->Equals(v8::String::New("startProfiling"))) {
-    return v8::FunctionTemplate::New(ProfilerExtension::StartProfiling);
-  } else if (name->Equals(v8::String::New("stopProfiling"))) {
-    return v8::FunctionTemplate::New(ProfilerExtension::StopProfiling);
-  } else {
-    CHECK(false);
-    return v8::Handle<v8::FunctionTemplate>();
-  }
-}
-
-
-v8::Handle<v8::Value> ProfilerExtension::StartProfiling(const v8::Arguments& args) {
-  if (args.Length() > 0)
-    v8::CpuProfiler::StartProfiling(args[0].As<v8::String>());
-  else
-    v8::CpuProfiler::StartProfiling(v8::String::New(""));
-  return v8::Undefined();
-}
-
-
-v8::Handle<v8::Value> ProfilerExtension::StopProfiling(const v8::Arguments& args) {
-  if (args.Length() > 0)
-    v8::CpuProfiler::StopProfiling(args[0].As<v8::String>());
-  else
-    v8::CpuProfiler::StopProfiling(v8::String::New(""));
-  return v8::Undefined();
-}
-
-
-static ProfilerExtension kProfilerExtension;
-v8::DeclareExtension kProfilerExtensionDeclaration(&kProfilerExtension);
-static v8::Persistent<v8::Context> env;
-
-TEST(RecordStackTraceAtStartProfiling) {
-  if (env.IsEmpty()) {
-    v8::HandleScope scope;
-    const char* extensions[] = { "v8/profiler" };
-    v8::ExtensionConfiguration config(1, extensions);
-    env = v8::Context::New(&config);
-  }
-  v8::HandleScope scope;
-  env->Enter();
-
-  CHECK_EQ(0, CpuProfiler::GetProfilesCount());
-  CompileRun(
-      "function c() { startProfiling(); }\n"
-      "function b() { c(); }\n"
-      "function a() { b(); }\n"
-      "a();\n"
-      "stopProfiling();"
-  );
-  CHECK_EQ(1, CpuProfiler::GetProfilesCount());
-}

 #endif  // ENABLE_LOGGING_AND_PROFILING

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to