Lines Matching refs:v8
1 // Copyright 2011 the V8 project authors. All rights reserved.
34 #include "v8.h"
44 using v8::Function;
45 using v8::Local;
46 using v8::Object;
47 using v8::Script;
48 using v8::String;
49 using v8::Value;
51 using v8::internal::byte;
52 using v8::internal::Address;
53 using v8::internal::Handle;
54 using v8::internal::Isolate;
55 using v8::internal::JSFunction;
56 using v8::internal::StackTracer;
57 using v8::internal::TickSample;
59 namespace i = v8::internal;
62 static v8::Persistent<v8::Context> env;
87 v8::internal::Address saved_c_frame_fp =
98 class TraceExtension : public v8::Extension {
100 TraceExtension() : v8::Extension("v8/trace", kSource) { }
101 virtual v8::Handle<v8::FunctionTemplate> GetNativeFunction(
102 v8::Handle<String> name);
103 static v8::Handle<v8::Value> Trace(const v8::Arguments& args);
104 static v8::Handle<v8::Value> JSTrace(const v8::Arguments& args);
105 static v8::Handle<v8::Value> JSEntrySP(const v8::Arguments& args);
106 static v8::Handle<v8::Value> JSEntrySPLevel2(const v8::Arguments& args);
108 static Address GetFP(const v8::Arguments& args);
119 v8::Handle<v8::FunctionTemplate> TraceExtension::GetNativeFunction(
120 v8::Handle<String> name) {
122 return v8::FunctionTemplate::New(TraceExtension::Trace);
124 return v8::FunctionTemplate::New(TraceExtension::JSTrace);
126 return v8::FunctionTemplate::New(TraceExtension::JSEntrySP);
128 return v8::FunctionTemplate::New(TraceExtension::JSEntrySPLevel2);
131 return v8::Handle<v8::FunctionTemplate>();
136 Address TraceExtension::GetFP(const v8::Arguments& args) {
153 v8::Handle<v8::Value> TraceExtension::Trace(const v8::Arguments& args) {
155 return v8::Undefined();
159 v8::Handle<v8::Value> TraceExtension::JSTrace(const v8::Arguments& args) {
161 return v8::Undefined();
171 v8::Handle<v8::Value> TraceExtension::JSEntrySP(const v8::Arguments& args) {
173 return v8::Undefined();
177 v8::Handle<v8::Value> TraceExtension::JSEntrySPLevel2(
178 const v8::Arguments& args) {
179 v8::HandleScope scope;
184 return v8::Undefined();
189 v8::DeclareExtension kTraceExtensionDeclaration(&kTraceExtension);
194 v8::HandleScope scope;
195 const char* extensions[] = { "v8/trace" };
196 v8::ExtensionConfiguration config(1, extensions);
197 env = v8::Context::New(&config);
199 v8::HandleScope scope;
210 v8::Local<v8::Value> func = env->Global()->Get(v8_str(func_name));
212 JSFunction* js_func = JSFunction::cast(*v8::Utils::OpenHandle(*func));
220 static v8::Handle<Value> construct_call(const v8::Arguments& args) {
247 Local<v8::FunctionTemplate> constructor_template =
248 v8::FunctionTemplate::New(construct_call);
289 v8::HandleScope scope;
333 v8::HandleScope scope;
407 v8::HandleScope scope;