v8::Local<v8::Object> V8ScriptRunner::instantiateObjectInDocument(v8::Isolate* isolate, v8::Handle<v8::Function> function, ExecutionContext* context, int argc, v8::Handle<v8::Value> argv[]) { TRACE_EVENT0("v8", "v8.newInstance"); TRACE_EVENT_SCOPED_SAMPLING_STATE("V8", "V8Execution"); V8RecursionScope scope(isolate, context); v8::Local<v8::Object> result = function->NewInstance(argc, argv); crashIfV8IsDead(); return result; }
v8::Local<v8::Object> V8ObjectConstructor::newInstance(v8::Handle<v8::Function> function, int argc, v8::Handle<v8::Value> argv[]) { if (function.IsEmpty()) return v8::Local<v8::Object>(); ConstructorMode constructorMode; V8RecursionScope::MicrotaskSuppression scope; v8::Local<v8::Object> result = function->NewInstance(argc, argv); crashIfV8IsDead(); return result; }
v8::Local<v8::Object> V8ObjectConstructor::newInstance(v8::Handle<v8::ObjectTemplate> objectTemplate) { if (objectTemplate.IsEmpty()) return v8::Local<v8::Object>(); ConstructorMode constructorMode; V8RecursionScope::MicrotaskSuppression scope; v8::Local<v8::Object> result = objectTemplate->NewInstance(); crashIfV8IsDead(); return result; }
v8::Local<v8::Object> V8ScriptRunner::instantiateObject(v8::Isolate* isolate, v8::Handle<v8::ObjectTemplate> objectTemplate) { TRACE_EVENT0("v8", "v8.newInstance"); TRACE_EVENT_SCOPED_SAMPLING_STATE("V8", "V8Execution"); V8RecursionScope::MicrotaskSuppression scope(isolate); v8::Local<v8::Object> result = objectTemplate->NewInstance(); crashIfV8IsDead(); return result; }
v8::Local<v8::Object> V8ObjectConstructor::newInstanceInDocument(v8::Handle<v8::Function> function, int argc, v8::Handle<v8::Value> argv[], Document* document) { #if PLATFORM(CHROMIUM) TRACE_EVENT0("v8", "v8.newInstance"); #endif // No artificial limitations on the depth of recursion. V8RecursionScope recursionScope(document); v8::Local<v8::Object> result = function->NewInstance(argc, argv); crashIfV8IsDead(); return result; }
v8::Local<v8::Value> V8Proxy::newInstance(v8::Handle<v8::Function> constructor, int argc, v8::Handle<v8::Value> args[]) { // No artificial limitations on the depth of recursion, see comment in // V8Proxy::callFunction. v8::Local<v8::Value> result; { // See comment in V8Proxy::callFunction. m_frame->keepAlive(); result = constructor->NewInstance(argc, args); } if (v8::V8::IsDead()) handleFatalErrorInV8(); return result; }
v8::Local<v8::Value> V8Proxy::newInstance(v8::Handle<v8::Function> constructor, int argc, v8::Handle<v8::Value> args[]) { #if PLATFORM(CHROMIUM) TRACE_EVENT0("v8", "v8.newInstance"); #endif // No artificial limitations on the depth of recursion, see comment in // V8Proxy::callFunction. v8::Local<v8::Value> result; { result = constructor->NewInstance(argc, args); } if (v8::V8::IsDead()) handleFatalErrorInV8(); return result; }