Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index aedd91b3adbd8eb74950c26b0578824bc8e0f5ea..9120ee287f9c659656ed0cd3e2086d6cc559d95b 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -690,6 +690,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateSymbol) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateJSProxy) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_CHECKED(JSReceiver, handler, 0); |
Object* prototype = args[1]; |
@@ -700,6 +701,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateJSProxy) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateJSFunctionProxy) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 4); |
CONVERT_ARG_CHECKED(JSReceiver, handler, 0); |
Object* call_trap = args[1]; |
@@ -714,6 +716,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateJSFunctionProxy) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_IsJSProxy) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
Object* obj = args[0]; |
return isolate->heap()->ToBoolean(obj->IsJSProxy()); |
@@ -721,6 +724,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_IsJSProxy) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_IsJSFunctionProxy) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
Object* obj = args[0]; |
return isolate->heap()->ToBoolean(obj->IsJSFunctionProxy()); |
@@ -728,6 +732,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_IsJSFunctionProxy) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetHandler) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSProxy, proxy, 0); |
return proxy->handler(); |
@@ -735,6 +740,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetHandler) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetCallTrap) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSFunctionProxy, proxy, 0); |
return proxy->call_trap(); |
@@ -742,6 +748,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetCallTrap) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetConstructTrap) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSFunctionProxy, proxy, 0); |
return proxy->construct_trap(); |
@@ -749,6 +756,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetConstructTrap) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_Fix) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSProxy, proxy, 0); |
proxy->Fix(); |
@@ -1169,8 +1177,8 @@ static MaybeObject* GetOwnProperty(Isolate* isolate, |
// if args[1] is an accessor on args[0] |
// [true, GetFunction, SetFunction, Enumerable, Configurable] |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetOwnProperty) { |
- ASSERT(args.length() == 2); |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 2); |
CONVERT_ARG_HANDLE_CHECKED(JSObject, obj, 0); |
CONVERT_ARG_HANDLE_CHECKED(Name, name, 1); |
return GetOwnProperty(isolate, obj, name); |
@@ -1178,6 +1186,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetOwnProperty) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_PreventExtensions) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSObject, obj, 0); |
return obj->PreventExtensions(); |
@@ -1185,6 +1194,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_PreventExtensions) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_IsExtensible) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSObject, obj, 0); |
if (obj->IsJSGlobalProxy()) { |
@@ -1219,6 +1229,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateApiFunction) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_IsTemplate) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
Object* arg = args[0]; |
bool result = arg->IsObjectTemplateInfo() || arg->IsFunctionTemplateInfo(); |
@@ -1227,6 +1238,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_IsTemplate) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetTemplateField) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_CHECKED(HeapObject, templ, 0); |
CONVERT_SMI_ARG_CHECKED(index, 1) |
@@ -1245,6 +1257,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetTemplateField) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DisableAccessChecks) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(HeapObject, object, 0); |
Map* old_map = object->map(); |
@@ -1263,6 +1276,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DisableAccessChecks) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_EnableAccessChecks) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(HeapObject, object, 0); |
Map* old_map = object->map(); |
@@ -1293,8 +1307,8 @@ static Failure* ThrowRedeclarationError(Isolate* isolate, |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareGlobals) { |
- ASSERT(args.length() == 3); |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 3); |
Handle<GlobalObject> global = Handle<GlobalObject>( |
isolate->context()->global_object()); |
@@ -1551,6 +1565,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeVarGlobal) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeConstGlobal) { |
+ NoHandleAllocation ha(isolate); |
// All constants are declared with an initial value. The name |
// of the constant is the first argument and the initial value |
// is the second. |
@@ -1756,6 +1771,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpExec) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpConstructResult) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 3); |
CONVERT_SMI_ARG_CHECKED(elements_count, 0); |
if (elements_count < 0 || |
@@ -1791,6 +1807,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpConstructResult) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpInitializeObject) { |
+ NoHandleAllocation ha(isolate); |
AssertNoAllocation no_alloc; |
ASSERT(args.length() == 5); |
CONVERT_ARG_CHECKED(JSRegExp, regexp, 0); |
@@ -1910,6 +1927,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SpecialArrayFunctions) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetDefaultReceiver) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSReceiver, callable, 0); |
@@ -2048,6 +2066,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_FunctionGetScriptSourcePosition) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_FunctionGetPositionForOffset) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_CHECKED(Code, code, 0); |
@@ -3191,9 +3210,8 @@ MUST_USE_RESULT static MaybeObject* StringReplaceGlobalRegExpWithEmptyString( |
RUNTIME_FUNCTION(MaybeObject*, Runtime_StringReplaceGlobalRegExpWithString) { |
- ASSERT(args.length() == 4); |
- |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 4); |
CONVERT_ARG_HANDLE_CHECKED(String, subject, 0); |
CONVERT_ARG_HANDLE_CHECKED(String, replacement, 2); |
@@ -3267,8 +3285,8 @@ Handle<String> StringReplaceOneCharWithString(Isolate* isolate, |
RUNTIME_FUNCTION(MaybeObject*, Runtime_StringReplaceOneCharWithString) { |
- ASSERT(args.length() == 3); |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 3); |
CONVERT_ARG_HANDLE_CHECKED(String, subject, 0); |
CONVERT_ARG_HANDLE_CHECKED(String, search, 1); |
CONVERT_ARG_HANDLE_CHECKED(String, replace, 2); |
@@ -3346,7 +3364,7 @@ int Runtime::StringMatch(Isolate* isolate, |
RUNTIME_FUNCTION(MaybeObject*, Runtime_StringIndexOf) { |
- HandleScope scope(isolate); // create a new handle scope |
+ HandleScope scope(isolate); |
ASSERT(args.length() == 3); |
CONVERT_ARG_HANDLE_CHECKED(String, sub, 0); |
@@ -3398,7 +3416,7 @@ static int StringMatchBackwards(Vector<const schar> subject, |
} |
RUNTIME_FUNCTION(MaybeObject*, Runtime_StringLastIndexOf) { |
- HandleScope scope(isolate); // create a new handle scope |
+ HandleScope scope(isolate); |
ASSERT(args.length() == 3); |
CONVERT_ARG_HANDLE_CHECKED(String, sub, 0); |
@@ -3536,12 +3554,12 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SubString) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_StringMatch) { |
+ HandleScope handles(isolate); |
ASSERT_EQ(3, args.length()); |
CONVERT_ARG_HANDLE_CHECKED(String, subject, 0); |
CONVERT_ARG_HANDLE_CHECKED(JSRegExp, regexp, 1); |
CONVERT_ARG_HANDLE_CHECKED(JSArray, regexp_info, 2); |
- HandleScope handles(isolate); |
RegExpImpl::GlobalCache global_cache(regexp, subject, true, isolate); |
if (global_cache.HasException()) return Failure::Exception(); |
@@ -3745,8 +3763,8 @@ static MaybeObject* SearchRegExpMultiple( |
// lastMatchInfoOverride to maintain the last match info, so we don't need to |
// set any other last match array info. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpExecMultiple) { |
- ASSERT(args.length() == 4); |
HandleScope handles(isolate); |
+ ASSERT(args.length() == 4); |
CONVERT_ARG_HANDLE_CHECKED(String, subject, 1); |
if (!subject->IsFlat()) FlattenString(subject); |
@@ -4052,8 +4070,8 @@ static bool IsValidAccessor(Handle<Object> obj) { |
// Step 12 - update an existing accessor property with an accessor or generic |
// descriptor. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DefineOrRedefineAccessorProperty) { |
- ASSERT(args.length() == 5); |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 5); |
CONVERT_ARG_HANDLE_CHECKED(JSObject, obj, 0); |
RUNTIME_ASSERT(!obj->IsNull()); |
CONVERT_ARG_HANDLE_CHECKED(Name, name, 1); |
@@ -4078,8 +4096,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DefineOrRedefineAccessorProperty) { |
// Step 12 - update an existing data property with a data or generic |
// descriptor. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DefineOrRedefineDataProperty) { |
- ASSERT(args.length() == 4); |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 4); |
CONVERT_ARG_HANDLE_CHECKED(JSObject, js_object, 0); |
CONVERT_ARG_HANDLE_CHECKED(Name, name, 1); |
CONVERT_ARG_HANDLE_CHECKED(Object, obj_value, 2); |
@@ -4152,6 +4170,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DefineOrRedefineDataProperty) { |
// Return property without being observable by accessors or interceptors. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetDataProperty) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_HANDLE_CHECKED(JSObject, object, 0); |
CONVERT_ARG_HANDLE_CHECKED(Name, key, 1); |
@@ -4440,13 +4459,13 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetNativeFlag) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_StoreArrayLiteralElement) { |
+ HandleScope scope(isolate); |
RUNTIME_ASSERT(args.length() == 5); |
CONVERT_ARG_HANDLE_CHECKED(JSObject, object, 0); |
CONVERT_SMI_ARG_CHECKED(store_index, 1); |
Handle<Object> value = args.at<Object>(2); |
CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 3); |
CONVERT_SMI_ARG_CHECKED(literal_index, 4); |
- HandleScope scope(isolate); |
Object* raw_boilerplate_object = literals->get(literal_index); |
Handle<JSArray> boilerplate_object(JSArray::cast(raw_boilerplate_object)); |
@@ -4492,6 +4511,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StoreArrayLiteralElement) { |
// Check whether debugger and is about to step into the callback that is passed |
// to a built-in function such as Array.forEach. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugCallbackSupportsStepping) { |
+ NoHandleAllocation ha(isolate); |
#ifdef ENABLE_DEBUGGER_SUPPORT |
if (!isolate->IsDebuggerActive() || !isolate->debug()->StepInActive()) { |
return isolate->heap()->false_value(); |
@@ -4511,6 +4531,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugCallbackSupportsStepping) { |
// Set one shot breakpoints for the callback function that is passed to a |
// built-in function such as Array.forEach to enable stepping into the callback. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugPrepareStepInIfStepping) { |
+ NoHandleAllocation ha(isolate); |
#ifdef ENABLE_DEBUGGER_SUPPORT |
Debug* debug = isolate->debug(); |
if (!debug->IsStepping()) return isolate->heap()->undefined_value(); |
@@ -4670,6 +4691,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetPropertyNames) { |
// have none, the map of the object. This is used to speed up |
// the check for deletions during a for-in. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetPropertyNamesFast) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSReceiver, raw_object, 0); |
@@ -4858,9 +4880,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetIndexedInterceptorElementNames) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LocalKeys) { |
+ HandleScope scope(isolate); |
ASSERT_EQ(args.length(), 1); |
CONVERT_ARG_CHECKED(JSObject, raw_object, 0); |
- HandleScope scope(isolate); |
Handle<JSObject> object(raw_object); |
if (object->IsJSGlobalProxy()) { |
@@ -4965,6 +4987,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetArgumentsProperty) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_ToFastProperties) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
Object* object = args[0]; |
return (object->IsJSObject() && !object->IsGlobalObject()) |
@@ -5101,6 +5124,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringToNumber) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_NewString) { |
+ NoHandleAllocation ha(isolate); |
CONVERT_SMI_ARG_CHECKED(length, 0); |
CONVERT_BOOLEAN_ARG_CHECKED(is_one_byte, 1); |
if (length == 0) return isolate->heap()->empty_string(); |
@@ -5113,6 +5137,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NewString) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_TruncateString) { |
+ NoHandleAllocation ha(isolate); |
CONVERT_ARG_CHECKED(SeqString, string, 0); |
CONVERT_SMI_ARG_CHECKED(new_length, 1); |
return string->Truncate(new_length); |
@@ -5120,8 +5145,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_TruncateString) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_URIEscape) { |
- ASSERT(args.length() == 1); |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 1); |
CONVERT_ARG_HANDLE_CHECKED(String, source, 0); |
Handle<String> string = FlattenGetString(source); |
String::FlatContent content = string->GetFlatContent(); |
@@ -5135,8 +5160,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_URIEscape) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_URIUnescape) { |
- ASSERT(args.length() == 1); |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 1); |
CONVERT_ARG_HANDLE_CHECKED(String, source, 0); |
Handle<String> string = FlattenGetString(source); |
String::FlatContent content = string->GetFlatContent(); |
@@ -5509,8 +5534,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_QuoteJSONStringArray) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_BasicJSONStringify) { |
- ASSERT(args.length() == 1); |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 1); |
BasicJsonStringifier stringifier(isolate); |
return stringifier.Stringify(Handle<Object>(args[0], isolate)); |
} |
@@ -5914,8 +5939,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringTrim) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_StringSplit) { |
- ASSERT(args.length() == 3); |
HandleScope handle_scope(isolate); |
+ ASSERT(args.length() == 3); |
CONVERT_ARG_HANDLE_CHECKED(String, subject, 0); |
CONVERT_ARG_HANDLE_CHECKED(String, pattern, 1); |
CONVERT_NUMBER_CHECKED(uint32_t, limit, Uint32, args[2]); |
@@ -7735,8 +7760,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ParallelRecompile) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_ForceParallelRecompile) { |
- if (!V8::UseCrankshaft()) return isolate->heap()->undefined_value(); |
HandleScope handle_scope(isolate); |
+ if (!V8::UseCrankshaft()) return isolate->heap()->undefined_value(); |
ASSERT(FLAG_parallel_recompilation && FLAG_manual_parallel_recompilation); |
if (!isolate->optimizing_compiler_thread()->IsQueueAvailable()) { |
return isolate->Throw(*isolate->factory()->InternalizeOneByteString( |
@@ -7750,8 +7775,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ForceParallelRecompile) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_InstallRecompiledCode) { |
- if (!V8::UseCrankshaft()) return isolate->heap()->undefined_value(); |
HandleScope handle_scope(isolate); |
+ if (!V8::UseCrankshaft()) return isolate->heap()->undefined_value(); |
ASSERT(FLAG_parallel_recompilation && FLAG_manual_parallel_recompilation); |
CONVERT_ARG_HANDLE_CHECKED(JSFunction, fun, 0); |
OptimizingCompilerThread* opt_thread = isolate->optimizing_compiler_thread(); |
@@ -7861,6 +7886,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NotifyDeoptimized) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_NotifyOSR) { |
+ NoHandleAllocation ha(isolate); |
Deoptimizer* deoptimizer = Deoptimizer::Grab(isolate); |
delete deoptimizer; |
return isolate->heap()->undefined_value(); |
@@ -7893,6 +7919,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ClearFunctionTypeFeedback) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_RunningInSimulator) { |
+ NoHandleAllocation ha(isolate); |
#if defined(USE_SIMULATOR) |
return isolate->heap()->true_value(); |
#else |
@@ -8071,12 +8098,14 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CompileForOnStackReplacement) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_CheckIsBootstrapping) { |
+ NoHandleAllocation ha(isolate); |
RUNTIME_ASSERT(isolate->bootstrapper()->IsActive()); |
return isolate->heap()->undefined_value(); |
} |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetRootNaN) { |
+ NoHandleAllocation ha(isolate); |
RUNTIME_ASSERT(isolate->bootstrapper()->IsActive()); |
return isolate->heap()->nan_value(); |
} |
@@ -8301,6 +8330,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_PushBlockContext) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_IsJSModule) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
Object* obj = args[0]; |
return isolate->heap()->ToBoolean(obj->IsJSModule()); |
@@ -8308,6 +8338,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_IsJSModule) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_PushModuleContext) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
CONVERT_SMI_ARG_CHECKED(index, 0); |
@@ -8691,6 +8722,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ReThrow) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_PromoteScheduledException) { |
+ NoHandleAllocation ha(isolate); |
ASSERT_EQ(0, args.length()); |
return isolate->PromoteScheduledException(); |
} |
@@ -8718,6 +8750,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ThrowNotDateError) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_StackGuard) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 0); |
// First check if this is a real stack overflow. |
@@ -8731,6 +8764,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StackGuard) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_Interrupt) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 0); |
return Execution::HandleStackGuardInterrupt(isolate); |
} |
@@ -8766,8 +8800,8 @@ static void PrintTransition(Isolate* isolate, Object* result) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_TraceEnter) { |
- ASSERT(args.length() == 0); |
NoHandleAllocation ha(isolate); |
+ ASSERT(args.length() == 0); |
PrintTransition(isolate, NULL); |
return isolate->heap()->undefined_value(); |
} |
@@ -8812,8 +8846,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugPrint) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugTrace) { |
- ASSERT(args.length() == 0); |
NoHandleAllocation ha(isolate); |
+ ASSERT(args.length() == 0); |
isolate->PrintStack(); |
return isolate->heap()->undefined_value(); |
} |
@@ -8894,6 +8928,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DateToUTC) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GlobalReceiver) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
Object* global = args[0]; |
if (!global->IsJSGlobalObject()) return isolate->heap()->null_value(); |
@@ -9007,9 +9042,9 @@ static ObjectPair CompileGlobalEval(Isolate* isolate, |
RUNTIME_FUNCTION(ObjectPair, Runtime_ResolvePossiblyDirectEval) { |
+ HandleScope scope(isolate); |
ASSERT(args.length() == 5); |
- HandleScope scope(isolate); |
Handle<Object> callee = args.at<Object>(0); |
// If "eval" didn't refer to the original GlobalEval, it's not a |
@@ -9056,6 +9091,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_AllocateInNewSpace) { |
// Allocate a block of memory in NewSpace (filled with a filler). |
// Use as fallback for allocation in generated code when NewSpace |
// is full. |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_HANDLE_CHECKED(Smi, size_smi, 0); |
int size = size_smi->value(); |
@@ -9078,6 +9114,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_AllocateInNewSpace) { |
// array. Returns true if the element was pushed on the stack and |
// false otherwise. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_PushIfAbsent) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_CHECKED(JSArray, array, 0); |
CONVERT_ARG_CHECKED(JSReceiver, element, 1); |
@@ -9610,8 +9647,8 @@ static bool IterateElements(Isolate* isolate, |
* following the ECMAScript 5 specification. |
*/ |
RUNTIME_FUNCTION(MaybeObject*, Runtime_ArrayConcat) { |
- ASSERT(args.length() == 1); |
HandleScope handle_scope(isolate); |
+ ASSERT(args.length() == 1); |
CONVERT_ARG_HANDLE_CHECKED(JSArray, arguments, 0); |
int argument_count = static_cast<int>(arguments->length()->Number()); |
@@ -9799,6 +9836,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GlobalPrint) { |
// property. |
// Returns the number of non-undefined elements collected. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_RemoveArrayHoles) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_CHECKED(JSObject, object, 0); |
CONVERT_NUMBER_CHECKED(uint32_t, limit, Uint32, args[1]); |
@@ -9808,6 +9846,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_RemoveArrayHoles) { |
// Move contents of argument 0 (an array) to argument 1 (an array) |
RUNTIME_FUNCTION(MaybeObject*, Runtime_MoveArrayContents) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_CHECKED(JSArray, from, 0); |
CONVERT_ARG_CHECKED(JSArray, to, 1); |
@@ -9833,6 +9872,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_MoveArrayContents) { |
// How many elements does this object/array have? |
RUNTIME_FUNCTION(MaybeObject*, Runtime_EstimateNumberOfElements) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSObject, object, 0); |
HeapObject* elements = object->elements(); |
@@ -9853,8 +9893,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_EstimateNumberOfElements) { |
// positive (length)) or undefined values. |
// Intervals can span over some keys that are not in the object. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetArrayKeys) { |
- ASSERT(args.length() == 2); |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 2); |
CONVERT_ARG_HANDLE_CHECKED(JSObject, array, 0); |
CONVERT_NUMBER_CHECKED(uint32_t, length, Uint32, args[1]); |
if (array->elements()->IsDictionary()) { |
@@ -9894,6 +9934,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetArrayKeys) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LookupAccessor) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 3); |
CONVERT_ARG_CHECKED(JSReceiver, receiver, 0); |
CONVERT_ARG_CHECKED(Name, name, 1); |
@@ -9906,6 +9947,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LookupAccessor) { |
#ifdef ENABLE_DEBUGGER_SUPPORT |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugBreak) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 0); |
return Execution::DebugBreakHelper(); |
} |
@@ -9928,6 +9970,7 @@ static StackFrame::Id UnwrapFrameId(int wrapped) { |
// clearing the event listener function |
// args[1]: object supplied during callback |
RUNTIME_FUNCTION(MaybeObject*, Runtime_SetDebugEventListener) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
RUNTIME_ASSERT(args[0]->IsJSFunction() || |
args[0]->IsUndefined() || |
@@ -9941,6 +9984,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetDebugEventListener) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_Break) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 0); |
isolate->stack_guard()->DebugBreak(); |
return isolate->heap()->undefined_value(); |
@@ -10133,6 +10177,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugGetProperty) { |
// Return the property type calculated from the property details. |
// args[0]: smi with property details. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugPropertyTypeFromDetails) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_PROPERTY_DETAILS_CHECKED(details, 0); |
return Smi::FromInt(static_cast<int>(details.type())); |
@@ -10142,6 +10187,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugPropertyTypeFromDetails) { |
// Return the property attribute calculated from the property details. |
// args[0]: smi with property details. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugPropertyAttributesFromDetails) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_PROPERTY_DETAILS_CHECKED(details, 0); |
return Smi::FromInt(static_cast<int>(details.attributes())); |
@@ -10151,6 +10197,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugPropertyAttributesFromDetails) { |
// Return the property insertion index calculated from the property details. |
// args[0]: smi with property details. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugPropertyIndexFromDetails) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_PROPERTY_DETAILS_CHECKED(details, 0); |
// TODO(verwaest): Depends on the type of details. |
@@ -10188,6 +10235,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugIndexedInterceptorElementValue) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_CheckExecutionState) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() >= 1); |
CONVERT_NUMBER_CHECKED(int, break_id, Int32, args[0]); |
// Check that the break id is valid. |
@@ -12218,6 +12266,7 @@ static int DebugReferencedBy(HeapIterator* iterator, |
// args[1]: constructor function for instances to exclude (Mirror) |
// args[2]: the the maximum number of objects to return |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugReferencedBy) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 3); |
// First perform a full GC in order to avoid references from dead objects. |
@@ -12311,6 +12360,7 @@ static int DebugConstructedBy(HeapIterator* iterator, |
// args[0]: the constructor to find instances of |
// args[1]: the the maximum number of objects to return |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugConstructedBy) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
// First perform a full GC in order to avoid dead objects. |
@@ -12360,6 +12410,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugConstructedBy) { |
// Find the effective prototype object as returned by __proto__. |
// args[0]: the object to find the prototype for. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugGetPrototype) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSObject, obj, 0); |
@@ -12389,6 +12440,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugSetScriptSource) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_SystemBreak) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 0); |
CPU::DebugBreak(); |
return isolate->heap()->undefined_value(); |
@@ -12396,8 +12448,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SystemBreak) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugDisassembleFunction) { |
-#ifdef DEBUG |
HandleScope scope(isolate); |
+#ifdef DEBUG |
ASSERT(args.length() == 1); |
// Get the function and make sure it is compiled. |
CONVERT_ARG_HANDLE_CHECKED(JSFunction, func, 0); |
@@ -12411,8 +12463,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugDisassembleFunction) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugDisassembleConstructor) { |
-#ifdef DEBUG |
HandleScope scope(isolate); |
+#ifdef DEBUG |
ASSERT(args.length() == 1); |
// Get the function and make sure it is compiled. |
CONVERT_ARG_HANDLE_CHECKED(JSFunction, func, 0); |
@@ -12464,9 +12516,9 @@ static int FindSharedFunctionInfosForScript(HeapIterator* iterator, |
// in OpaqueReferences. |
RUNTIME_FUNCTION(MaybeObject*, |
Runtime_LiveEditFindSharedFunctionInfosForScript) { |
+ HandleScope scope(isolate); |
CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 1); |
- HandleScope scope(isolate); |
CONVERT_ARG_CHECKED(JSValue, script_value, 0); |
RUNTIME_ASSERT(script_value->value()->IsScript()); |
@@ -12512,9 +12564,9 @@ RUNTIME_FUNCTION(MaybeObject*, |
// each function with all its descendant is always stored in a continues range |
// with the function itself going first. The root function is a script function. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditGatherCompileInfo) { |
+ HandleScope scope(isolate); |
CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 2); |
- HandleScope scope(isolate); |
CONVERT_ARG_CHECKED(JSValue, script, 0); |
CONVERT_ARG_HANDLE_CHECKED(String, source, 1); |
@@ -12534,9 +12586,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditGatherCompileInfo) { |
// If old_script_name is provided (i.e. is a String), also creates a copy of |
// the script with its original source and sends notification to debugger. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditReplaceScript) { |
+ HandleScope scope(isolate); |
CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 3); |
- HandleScope scope(isolate); |
CONVERT_ARG_CHECKED(JSValue, original_script_value, 0); |
CONVERT_ARG_HANDLE_CHECKED(String, new_source, 1); |
Handle<Object> old_script_name(args[2], isolate); |
@@ -12558,9 +12610,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditReplaceScript) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditFunctionSourceUpdated) { |
+ HandleScope scope(isolate); |
CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 1); |
- HandleScope scope(isolate); |
CONVERT_ARG_HANDLE_CHECKED(JSArray, shared_info, 0); |
return LiveEdit::FunctionSourceUpdated(shared_info); |
} |
@@ -12568,9 +12620,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditFunctionSourceUpdated) { |
// Replaces code of SharedFunctionInfo with a new one. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditReplaceFunctionCode) { |
+ HandleScope scope(isolate); |
CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 2); |
- HandleScope scope(isolate); |
CONVERT_ARG_HANDLE_CHECKED(JSArray, new_compile_info, 0); |
CONVERT_ARG_HANDLE_CHECKED(JSArray, shared_info, 1); |
@@ -12579,9 +12631,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditReplaceFunctionCode) { |
// Connects SharedFunctionInfo to another script. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditFunctionSetScript) { |
+ HandleScope scope(isolate); |
CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 2); |
- HandleScope scope(isolate); |
Handle<Object> function_object(args[0], isolate); |
Handle<Object> script_object(args[1], isolate); |
@@ -12606,9 +12658,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditFunctionSetScript) { |
// In a code of a parent function replaces original function as embedded object |
// with a substitution one. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditReplaceRefToNestedFunction) { |
+ HandleScope scope(isolate); |
CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 3); |
- HandleScope scope(isolate); |
CONVERT_ARG_HANDLE_CHECKED(JSValue, parent_wrapper, 0); |
CONVERT_ARG_HANDLE_CHECKED(JSValue, orig_wrapper, 1); |
@@ -12627,9 +12679,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditReplaceRefToNestedFunction) { |
// (change_begin, change_end, change_end_new_position). |
// Each group describes a change in text; groups are sorted by change_begin. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditPatchFunctionPositions) { |
+ HandleScope scope(isolate); |
CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 2); |
- HandleScope scope(isolate); |
CONVERT_ARG_HANDLE_CHECKED(JSArray, shared_array, 0); |
CONVERT_ARG_HANDLE_CHECKED(JSArray, position_change_array, 1); |
@@ -12642,9 +12694,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditPatchFunctionPositions) { |
// Returns array of the same length with corresponding results of |
// LiveEdit::FunctionPatchabilityStatus type. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditCheckAndDropActivations) { |
+ HandleScope scope(isolate); |
CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 2); |
- HandleScope scope(isolate); |
CONVERT_ARG_HANDLE_CHECKED(JSArray, shared_array, 0); |
CONVERT_BOOLEAN_ARG_CHECKED(do_drop, 1); |
@@ -12656,9 +12708,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditCheckAndDropActivations) { |
// of JSArray of triplets (pos1, pos1_end, pos2_end) describing list |
// of diff chunks. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditCompareStrings) { |
+ HandleScope scope(isolate); |
CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 2); |
- HandleScope scope(isolate); |
CONVERT_ARG_HANDLE_CHECKED(String, s1, 0); |
CONVERT_ARG_HANDLE_CHECKED(String, s2, 1); |
@@ -12669,8 +12721,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditCompareStrings) { |
// Restarts a call frame and completely drops all frames above. |
// Returns true if successful. Otherwise returns undefined or an error message. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditRestartFrame) { |
- CHECK(isolate->debugger()->live_edit_enabled()); |
HandleScope scope(isolate); |
+ CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 2); |
// Check arguments. |
@@ -12709,9 +12761,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LiveEditRestartFrame) { |
// A testing entry. Returns statement position which is the closest to |
// source_position. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetFunctionCodePositionFromSource) { |
+ HandleScope scope(isolate); |
CHECK(isolate->debugger()->live_edit_enabled()); |
ASSERT(args.length() == 2); |
- HandleScope scope(isolate); |
CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0); |
CONVERT_NUMBER_CHECKED(int32_t, source_position, Int32, args[1]); |
@@ -12747,8 +12799,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetFunctionCodePositionFromSource) { |
// This is used in unit tests to run code as if debugger is entered or simply |
// to have a stack with C++ frame in the middle. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_ExecuteInDebugContext) { |
- ASSERT(args.length() == 2); |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 2); |
CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0); |
CONVERT_BOOLEAN_ARG_CHECKED(without_debugger, 1); |
@@ -12774,6 +12826,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ExecuteInDebugContext) { |
// Sets a v8 flag. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_SetFlags) { |
+ NoHandleAllocation ha(isolate); |
CONVERT_ARG_CHECKED(String, arg, 0); |
SmartArrayPointer<char> flags = |
arg->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); |
@@ -12785,6 +12838,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetFlags) { |
// Performs a GC. |
// Presently, it only does a full GC. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_CollectGarbage) { |
+ NoHandleAllocation ha(isolate); |
isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags, "%CollectGarbage"); |
return isolate->heap()->undefined_value(); |
} |
@@ -12792,6 +12846,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CollectGarbage) { |
// Gets the current heap usage. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetHeapUsage) { |
+ NoHandleAllocation ha(isolate); |
int usage = static_cast<int>(isolate->heap()->SizeOfObjects()); |
if (!Smi::IsValid(usage)) { |
return *isolate->factory()->NewNumberFromInt(usage); |
@@ -12872,12 +12927,12 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetScript) { |
// element segments each containing a receiver, function, code and |
// native code offset. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_CollectStackTrace) { |
+ HandleScope scope(isolate); |
ASSERT_EQ(args.length(), 3); |
CONVERT_ARG_HANDLE_CHECKED(JSObject, error_object, 0); |
Handle<Object> caller = args.at<Object>(1); |
CONVERT_NUMBER_CHECKED(int32_t, limit, Int32, args[2]); |
- HandleScope scope(isolate); |
// Optionally capture a more detailed stack trace for the message. |
isolate->CaptureAndSetDetailedStackTrace(error_object); |
// Capture a simple stack trace for the stack property. |
@@ -12887,9 +12942,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CollectStackTrace) { |
// Mark a function to recognize when called after GC to format the stack trace. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_MarkOneShotGetter) { |
+ HandleScope scope(isolate); |
ASSERT_EQ(args.length(), 1); |
CONVERT_ARG_HANDLE_CHECKED(JSFunction, fun, 0); |
- HandleScope scope(isolate); |
Handle<String> key = isolate->factory()->hidden_stack_trace_string(); |
JSObject::SetHiddenProperty(fun, key, key); |
return *fun; |
@@ -12930,9 +12985,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetOverflowedStackTrace) { |
// Returns V8 version as a string. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetV8Version) { |
- ASSERT_EQ(args.length(), 0); |
- |
NoHandleAllocation ha(isolate); |
+ ASSERT_EQ(args.length(), 0); |
const char* version_string = v8::V8::GetVersion(); |
@@ -12942,6 +12996,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetV8Version) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_Abort) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
OS::PrintError("abort: %s\n", |
reinterpret_cast<char*>(args[0]) + args.smi_at(1)); |
@@ -12962,6 +13017,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_FlattenString) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetFromCache) { |
+ NoHandleAllocation ha(isolate); |
// This is only called from codegen, so checks might be more lax. |
CONVERT_ARG_CHECKED(JSFunctionResultCache, cache, 0); |
Object* key = args[1]; |
@@ -13059,12 +13115,14 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetFromCache) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_MessageGetStartPosition) { |
+ NoHandleAllocation ha(isolate); |
CONVERT_ARG_CHECKED(JSMessageObject, message, 0); |
return Smi::FromInt(message->start_position()); |
} |
RUNTIME_FUNCTION(MaybeObject*, Runtime_MessageGetScript) { |
+ NoHandleAllocation ha(isolate); |
CONVERT_ARG_CHECKED(JSMessageObject, message, 0); |
return message->script(); |
} |
@@ -13074,8 +13132,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_MessageGetScript) { |
// ListNatives is ONLY used by the fuzz-natives.js in debug mode |
// Exclude the code in release mode. |
RUNTIME_FUNCTION(MaybeObject*, Runtime_ListNatives) { |
- ASSERT(args.length() == 0); |
HandleScope scope(isolate); |
+ ASSERT(args.length() == 0); |
#define COUNT_ENTRY(Name, argc, ressize) + 1 |
int entry_count = 0 |
RUNTIME_FUNCTION_LIST(COUNT_ENTRY) |
@@ -13118,6 +13176,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ListNatives) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_Log) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_CHECKED(String, format, 0); |
CONVERT_ARG_CHECKED(JSArray, elms, 1); |
@@ -13164,6 +13223,7 @@ ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastProperties) |
RUNTIME_FUNCTION(MaybeObject*, Runtime_HaveSameMap) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_CHECKED(JSObject, obj1, 0); |
CONVERT_ARG_CHECKED(JSObject, obj2, 1); |
@@ -13172,6 +13232,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_HaveSameMap) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_IsObserved) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSReceiver, obj, 0); |
if (obj->IsJSGlobalProxy()) { |
@@ -13185,6 +13246,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_IsObserved) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_SetIsObserved) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_CHECKED(JSReceiver, obj, 0); |
CONVERT_BOOLEAN_ARG_CHECKED(is_observed, 1); |
@@ -13215,6 +13277,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetIsObserved) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_SetObserverDeliveryPending) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 0); |
isolate->set_observer_delivery_pending(true); |
return isolate->heap()->undefined_value(); |
@@ -13222,6 +13285,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetObserverDeliveryPending) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetObservationState) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 0); |
return isolate->heap()->observation_state(); |
} |
@@ -13242,6 +13306,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ObservationWeakMapCreate) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_UnwrapGlobalProxy) { |
+ NoHandleAllocation ha(isolate); |
ASSERT(args.length() == 1); |
Object* object = args[0]; |
if (object->IsJSGlobalProxy()) { |