Hide some runtime functions.

R=dslomov@chromium.org

Review URL: https://codereview.chromium.org/212163004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
yangguo@chromium.org 2014-03-26 15:51:48 +00:00
parent 0a0f12b841
commit 9be61ddb8a
37 changed files with 478 additions and 578 deletions

View File

@ -326,7 +326,7 @@ void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) {
__ cmp(sp, Operand(ip)); __ cmp(sp, Operand(ip));
__ b(hs, &ok); __ b(hs, &ok);
CallRuntimePassFunction(masm, Runtime::kTryInstallOptimizedCode); CallRuntimePassFunction(masm, Runtime::kHiddenTryInstallOptimizedCode);
GenerateTailCallToReturnedCode(masm); GenerateTailCallToReturnedCode(masm);
__ bind(&ok); __ bind(&ok);
@ -415,7 +415,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
__ Push(r2, r1); // r1 = constructor __ Push(r2, r1); // r1 = constructor
// The call will replace the stub, so the countdown is only done once. // The call will replace the stub, so the countdown is only done once.
__ CallRuntime(Runtime::kFinalizeInstanceSize, 1); __ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
__ pop(r2); __ pop(r2);
__ pop(r1); __ pop(r1);
@ -598,9 +598,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
__ push(r1); // argument for Runtime_NewObject __ push(r1); // argument for Runtime_NewObject
if (create_memento) { if (create_memento) {
__ CallRuntime(Runtime::kNewObjectWithAllocationSite, 2); __ CallRuntime(Runtime::kHiddenNewObjectWithAllocationSite, 2);
} else { } else {
__ CallRuntime(Runtime::kNewObject, 1); __ CallRuntime(Runtime::kHiddenNewObject, 1);
} }
__ mov(r4, r0); __ mov(r4, r0);
@ -834,7 +834,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) { void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) {
CallRuntimePassFunction(masm, Runtime::kCompileUnoptimized); CallRuntimePassFunction(masm, Runtime::kHiddenCompileUnoptimized);
GenerateTailCallToReturnedCode(masm); GenerateTailCallToReturnedCode(masm);
} }
@ -848,7 +848,7 @@ static void CallCompileOptimized(MacroAssembler* masm, bool concurrent) {
// Whether to compile in a background thread. // Whether to compile in a background thread.
__ Push(masm->isolate()->factory()->ToBoolean(concurrent)); __ Push(masm->isolate()->factory()->ToBoolean(concurrent));
__ CallRuntime(Runtime::kCompileOptimized, 2); __ CallRuntime(Runtime::kHiddenCompileOptimized, 2);
// Restore receiver. // Restore receiver.
__ pop(r1); __ pop(r1);
} }
@ -943,7 +943,7 @@ static void Generate_NotifyStubFailureHelper(MacroAssembler* masm,
// registers. // registers.
__ stm(db_w, sp, kJSCallerSaved | kCalleeSaved); __ stm(db_w, sp, kJSCallerSaved | kCalleeSaved);
// Pass the function and deoptimization type to the runtime system. // Pass the function and deoptimization type to the runtime system.
__ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles); __ CallRuntime(Runtime::kHiddenNotifyStubFailure, 0, save_doubles);
__ ldm(ia_w, sp, kJSCallerSaved | kCalleeSaved); __ ldm(ia_w, sp, kJSCallerSaved | kCalleeSaved);
} }
@ -969,7 +969,7 @@ static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
// Pass the function and deoptimization type to the runtime system. // Pass the function and deoptimization type to the runtime system.
__ mov(r0, Operand(Smi::FromInt(static_cast<int>(type)))); __ mov(r0, Operand(Smi::FromInt(static_cast<int>(type))));
__ push(r0); __ push(r0);
__ CallRuntime(Runtime::kNotifyDeoptimized, 1); __ CallRuntime(Runtime::kHiddenNotifyDeoptimized, 1);
} }
// Get the full codegen state from the stack and untag it -> r6. // Get the full codegen state from the stack and untag it -> r6.
@ -1060,7 +1060,7 @@ void Builtins::Generate_OsrAfterStackCheck(MacroAssembler* masm) {
__ b(hs, &ok); __ b(hs, &ok);
{ {
FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL); FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
__ CallRuntime(Runtime::kStackGuard, 0); __ CallRuntime(Runtime::kHiddenStackGuard, 0);
} }
__ Jump(masm->isolate()->builtins()->OnStackReplacement(), __ Jump(masm->isolate()->builtins()->OnStackReplacement(),
RelocInfo::CODE_TARGET); RelocInfo::CODE_TARGET);

View File

@ -45,7 +45,7 @@ void FastNewClosureStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 1; descriptor->register_param_count_ = 1;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry; Runtime::FunctionForId(Runtime::kHiddenNewClosureFromStubFailure)->entry;
} }
@ -87,7 +87,8 @@ void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 3; descriptor->register_param_count_ = 3;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kCreateArrayLiteralStubBailout)->entry; Runtime::FunctionForId(
Runtime::kHiddenCreateArrayLiteralStubBailout)->entry;
} }
@ -98,7 +99,7 @@ void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 4; descriptor->register_param_count_ = 4;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry; Runtime::FunctionForId(Runtime::kHiddenCreateObjectLiteral)->entry;
} }
@ -246,7 +247,7 @@ static void InitializeArrayConstructorDescriptor(
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kArrayConstructor)->entry; Runtime::FunctionForId(Runtime::kHiddenArrayConstructor)->entry;
} }
@ -274,7 +275,7 @@ static void InitializeInternalArrayConstructorDescriptor(
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kInternalArrayConstructor)->entry; Runtime::FunctionForId(Runtime::kHiddenInternalArrayConstructor)->entry;
} }
@ -2148,7 +2149,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
__ str(r3, MemOperand(sp, 1 * kPointerSize)); __ str(r3, MemOperand(sp, 1 * kPointerSize));
__ bind(&runtime); __ bind(&runtime);
__ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1);
} }
@ -2352,7 +2353,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
// r2 = argument count (tagged) // r2 = argument count (tagged)
__ bind(&runtime); __ bind(&runtime);
__ str(r2, MemOperand(sp, 0 * kPointerSize)); // Patch argument count. __ str(r2, MemOperand(sp, 0 * kPointerSize)); // Patch argument count.
__ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1);
} }
@ -2446,7 +2447,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
// Do the runtime call to allocate the arguments object. // Do the runtime call to allocate the arguments object.
__ bind(&runtime); __ bind(&runtime);
__ TailCallRuntime(Runtime::kNewStrictArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewStrictArgumentsFast, 3, 1);
} }
@ -3203,7 +3204,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
} else { } else {
ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX); ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
// NumberToSmi discards numbers that are not exact integers. // NumberToSmi discards numbers that are not exact integers.
__ CallRuntime(Runtime::kNumberToSmi, 1); __ CallRuntime(Runtime::kHiddenNumberToSmi, 1);
} }
// Save the conversion result before the pop instructions below // Save the conversion result before the pop instructions below
// have a chance to overwrite it. // have a chance to overwrite it.

View File

@ -234,13 +234,13 @@ void FullCodeGenerator::Generate() {
if (FLAG_harmony_scoping && info->scope()->is_global_scope()) { if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
__ push(r1); __ push(r1);
__ Push(info->scope()->GetScopeInfo()); __ Push(info->scope()->GetScopeInfo());
__ CallRuntime(Runtime::kNewGlobalContext, 2); __ CallRuntime(Runtime::kHiddenNewGlobalContext, 2);
} else if (heap_slots <= FastNewContextStub::kMaximumSlots) { } else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
FastNewContextStub stub(heap_slots); FastNewContextStub stub(heap_slots);
__ CallStub(&stub); __ CallStub(&stub);
} else { } else {
__ push(r1); __ push(r1);
__ CallRuntime(Runtime::kNewFunctionContext, 1); __ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
} }
function_in_register = false; function_in_register = false;
// Context is returned in r0. It replaces the context passed to us. // Context is returned in r0. It replaces the context passed to us.
@ -861,7 +861,7 @@ void FullCodeGenerator::VisitVariableDeclaration(
__ mov(r0, Operand(Smi::FromInt(0))); // Indicates no initial value. __ mov(r0, Operand(Smi::FromInt(0))); // Indicates no initial value.
__ Push(cp, r2, r1, r0); __ Push(cp, r2, r1, r0);
} }
__ CallRuntime(Runtime::kDeclareContextSlot, 4); __ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
break; break;
} }
} }
@ -917,7 +917,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
__ Push(cp, r2, r1); __ Push(cp, r2, r1);
// Push initial value for function declaration. // Push initial value for function declaration.
VisitForStackValue(declaration->fun()); VisitForStackValue(declaration->fun());
__ CallRuntime(Runtime::kDeclareContextSlot, 4); __ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
break; break;
} }
} }
@ -989,7 +989,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
__ mov(r1, Operand(pairs)); __ mov(r1, Operand(pairs));
__ mov(r0, Operand(Smi::FromInt(DeclareGlobalsFlags()))); __ mov(r0, Operand(Smi::FromInt(DeclareGlobalsFlags())));
__ Push(cp, r1, r0); __ Push(cp, r1, r0);
__ CallRuntime(Runtime::kDeclareGlobals, 3); __ CallRuntime(Runtime::kHiddenDeclareGlobals, 3);
// Return value is ignored. // Return value is ignored.
} }
@ -997,7 +997,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) { void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) {
// Call the runtime to declare the modules. // Call the runtime to declare the modules.
__ Push(descriptions); __ Push(descriptions);
__ CallRuntime(Runtime::kDeclareModules, 1); __ CallRuntime(Runtime::kHiddenDeclareModules, 1);
// Return value is ignored. // Return value is ignored.
} }
@ -1359,7 +1359,7 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
__ LoadRoot(r1, pretenure ? Heap::kTrueValueRootIndex __ LoadRoot(r1, pretenure ? Heap::kTrueValueRootIndex
: Heap::kFalseValueRootIndex); : Heap::kFalseValueRootIndex);
__ Push(cp, r0, r1); __ Push(cp, r0, r1);
__ CallRuntime(Runtime::kNewClosure, 3); __ CallRuntime(Runtime::kHiddenNewClosure, 3);
} }
context()->Plug(r0); context()->Plug(r0);
} }
@ -1484,7 +1484,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(Variable* var,
__ b(ne, done); __ b(ne, done);
__ mov(r0, Operand(var->name())); __ mov(r0, Operand(var->name()));
__ push(r0); __ push(r0);
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
} }
} }
__ jmp(done); __ jmp(done);
@ -1562,7 +1562,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
__ b(ne, &done); __ b(ne, &done);
__ mov(r0, Operand(var->name())); __ mov(r0, Operand(var->name()));
__ push(r0); __ push(r0);
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
__ bind(&done); __ bind(&done);
} else { } else {
// Uninitalized const bindings outside of harmony mode are unholed. // Uninitalized const bindings outside of harmony mode are unholed.
@ -1586,7 +1586,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
__ bind(&slow); __ bind(&slow);
__ mov(r1, Operand(var->name())); __ mov(r1, Operand(var->name()));
__ Push(cp, r1); // Context and name. __ Push(cp, r1); // Context and name.
__ CallRuntime(Runtime::kLoadContextSlot, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
__ bind(&done); __ bind(&done);
context()->Plug(r0); context()->Plug(r0);
} }
@ -1619,7 +1619,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
__ mov(r2, Operand(expr->pattern())); __ mov(r2, Operand(expr->pattern()));
__ mov(r1, Operand(expr->flags())); __ mov(r1, Operand(expr->flags()));
__ Push(r4, r3, r2, r1); __ Push(r4, r3, r2, r1);
__ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4); __ CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4);
__ mov(r5, r0); __ mov(r5, r0);
__ bind(&materialized); __ bind(&materialized);
@ -1631,7 +1631,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
__ bind(&runtime_allocate); __ bind(&runtime_allocate);
__ mov(r0, Operand(Smi::FromInt(size))); __ mov(r0, Operand(Smi::FromInt(size)));
__ Push(r5, r0); __ Push(r5, r0);
__ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
__ pop(r5); __ pop(r5);
__ bind(&allocated); __ bind(&allocated);
@ -1675,7 +1675,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
flags != ObjectLiteral::kFastElements || flags != ObjectLiteral::kFastElements ||
properties_count > FastCloneShallowObjectStub::kMaximumClonedProperties) { properties_count > FastCloneShallowObjectStub::kMaximumClonedProperties) {
__ Push(r3, r2, r1, r0); __ Push(r3, r2, r1, r0);
__ CallRuntime(Runtime::kCreateObjectLiteral, 4); __ CallRuntime(Runtime::kHiddenCreateObjectLiteral, 4);
} else { } else {
FastCloneShallowObjectStub stub(properties_count); FastCloneShallowObjectStub stub(properties_count);
__ CallStub(&stub); __ CallStub(&stub);
@ -1826,7 +1826,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
length > FastCloneShallowArrayStub::kMaximumClonedLength) { length > FastCloneShallowArrayStub::kMaximumClonedLength) {
__ mov(r0, Operand(Smi::FromInt(flags))); __ mov(r0, Operand(Smi::FromInt(flags)));
__ Push(r3, r2, r1, r0); __ Push(r3, r2, r1, r0);
__ CallRuntime(Runtime::kCreateArrayLiteral, 4); __ CallRuntime(Runtime::kHiddenCreateArrayLiteral, 4);
} else { } else {
ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) || ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) ||
FLAG_smi_only_arrays); FLAG_smi_only_arrays);
@ -2027,7 +2027,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
__ cmp(sp, r1); __ cmp(sp, r1);
__ b(eq, &post_runtime); __ b(eq, &post_runtime);
__ push(r0); // generator object __ push(r0); // generator object
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1); __ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
__ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ bind(&post_runtime); __ bind(&post_runtime);
__ pop(result_register()); __ pop(result_register());
@ -2093,7 +2093,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
__ mov(r1, cp); __ mov(r1, cp);
__ RecordWriteField(r0, JSGeneratorObject::kContextOffset, r1, r2, __ RecordWriteField(r0, JSGeneratorObject::kContextOffset, r1, r2,
kLRHasBeenSaved, kDontSaveFPRegs); kLRHasBeenSaved, kDontSaveFPRegs);
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1); __ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
__ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ pop(r0); // result __ pop(r0); // result
EmitReturnSequence(); EmitReturnSequence();
@ -2145,7 +2145,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
Expression *value, Expression *value,
JSGeneratorObject::ResumeMode resume_mode) { JSGeneratorObject::ResumeMode resume_mode) {
// The value stays in r0, and is ultimately read by the resumed generator, as // The value stays in r0, and is ultimately read by the resumed generator, as
// if the CallRuntime(Runtime::kSuspendJSGeneratorObject) returned it. Or it // if CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject) returned it. Or it
// is read to throw the value when the resumed generator is already closed. // is read to throw the value when the resumed generator is already closed.
// r1 will hold the generator object until the activation has been resumed. // r1 will hold the generator object until the activation has been resumed.
VisitForStackValue(generator); VisitForStackValue(generator);
@ -2239,7 +2239,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
ASSERT(!result_register().is(r1)); ASSERT(!result_register().is(r1));
__ Push(r1, result_register()); __ Push(r1, result_register());
__ Push(Smi::FromInt(resume_mode)); __ Push(Smi::FromInt(resume_mode));
__ CallRuntime(Runtime::kResumeJSGeneratorObject, 3); __ CallRuntime(Runtime::kHiddenResumeJSGeneratorObject, 3);
// Not reached: the runtime call returns elsewhere. // Not reached: the runtime call returns elsewhere.
__ stop("not-reached"); __ stop("not-reached");
@ -2254,14 +2254,14 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
} else { } else {
// Throw the provided value. // Throw the provided value.
__ push(r0); __ push(r0);
__ CallRuntime(Runtime::kThrow, 1); __ CallRuntime(Runtime::kHiddenThrow, 1);
} }
__ jmp(&done); __ jmp(&done);
// Throw error if we attempt to operate on a running generator. // Throw error if we attempt to operate on a running generator.
__ bind(&wrong_state); __ bind(&wrong_state);
__ push(r1); __ push(r1);
__ CallRuntime(Runtime::kThrowGeneratorStateError, 1); __ CallRuntime(Runtime::kHiddenThrowGeneratorStateError, 1);
__ bind(&done); __ bind(&done);
context()->Plug(result_register()); context()->Plug(result_register());
@ -2279,7 +2279,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
__ bind(&gc_required); __ bind(&gc_required);
__ Push(Smi::FromInt(map->instance_size())); __ Push(Smi::FromInt(map->instance_size()));
__ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
__ ldr(context_register(), __ ldr(context_register(),
MemOperand(fp, StandardFrameConstants::kContextOffset)); MemOperand(fp, StandardFrameConstants::kContextOffset));
@ -2493,7 +2493,7 @@ void FullCodeGenerator::EmitCallStoreContextSlot(
__ mov(r1, Operand(name)); __ mov(r1, Operand(name));
__ mov(r0, Operand(Smi::FromInt(strict_mode))); __ mov(r0, Operand(Smi::FromInt(strict_mode)));
__ Push(cp, r1, r0); // Context, name, strict mode. __ Push(cp, r1, r0); // Context, name, strict mode.
__ CallRuntime(Runtime::kStoreContextSlot, 4); __ CallRuntime(Runtime::kHiddenStoreContextSlot, 4);
} }
@ -2511,7 +2511,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op) {
__ push(r0); __ push(r0);
__ mov(r0, Operand(var->name())); __ mov(r0, Operand(var->name()));
__ Push(cp, r0); // Context and name. __ Push(cp, r0); // Context and name.
__ CallRuntime(Runtime::kInitializeConstContextSlot, 3); __ CallRuntime(Runtime::kHiddenInitializeConstContextSlot, 3);
} else { } else {
ASSERT(var->IsStackAllocated() || var->IsContextSlot()); ASSERT(var->IsStackAllocated() || var->IsContextSlot());
Label skip; Label skip;
@ -2536,7 +2536,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op) {
__ b(ne, &assign); __ b(ne, &assign);
__ mov(r3, Operand(var->name())); __ mov(r3, Operand(var->name()));
__ push(r3); __ push(r3);
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
// Perform the assignment. // Perform the assignment.
__ bind(&assign); __ bind(&assign);
EmitStoreToStackLocalOrContextSlot(var, location); EmitStoreToStackLocalOrContextSlot(var, location);
@ -2769,7 +2769,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
// Do the runtime call. // Do the runtime call.
__ Push(r4, r3, r2, r1); __ Push(r4, r3, r2, r1);
__ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); __ CallRuntime(Runtime::kHiddenResolvePossiblyDirectEval, 5);
} }
@ -2785,8 +2785,8 @@ void FullCodeGenerator::VisitCall(Call* expr) {
Call::CallType call_type = expr->GetCallType(isolate()); Call::CallType call_type = expr->GetCallType(isolate());
if (call_type == Call::POSSIBLY_EVAL_CALL) { if (call_type == Call::POSSIBLY_EVAL_CALL) {
// In a call to eval, we first call %ResolvePossiblyDirectEval to // In a call to eval, we first call RuntimeHidden_ResolvePossiblyDirectEval
// resolve the function we need to call and the receiver of the // to resolve the function we need to call and the receiver of the
// call. Then we call the resolved function using the given // call. Then we call the resolved function using the given
// arguments. // arguments.
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
@ -2843,7 +2843,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
ASSERT(!context_register().is(r2)); ASSERT(!context_register().is(r2));
__ mov(r2, Operand(proxy->name())); __ mov(r2, Operand(proxy->name()));
__ Push(context_register(), r2); __ Push(context_register(), r2);
__ CallRuntime(Runtime::kLoadContextSlot, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
__ Push(r0, r1); // Function, receiver. __ Push(r0, r1); // Function, receiver.
// If fast case code has been generated, emit code to push the // If fast case code has been generated, emit code to push the
@ -3498,7 +3498,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
} }
__ bind(&not_date_object); __ bind(&not_date_object);
__ CallRuntime(Runtime::kThrowNotDateError, 0); __ CallRuntime(Runtime::kHiddenThrowNotDateError, 0);
__ bind(&done); __ bind(&done);
context()->Plug(r0); context()->Plug(r0);
} }
@ -4235,7 +4235,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
ASSERT(!context_register().is(r2)); ASSERT(!context_register().is(r2));
__ mov(r2, Operand(var->name())); __ mov(r2, Operand(var->name()));
__ Push(context_register(), r2); __ Push(context_register(), r2);
__ CallRuntime(Runtime::kDeleteContextSlot, 2); __ CallRuntime(Runtime::kHiddenDeleteContextSlot, 2);
context()->Plug(r0); context()->Plug(r0);
} }
} else { } else {
@ -4512,7 +4512,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
__ bind(&slow); __ bind(&slow);
__ mov(r0, Operand(proxy->name())); __ mov(r0, Operand(proxy->name()));
__ Push(cp, r0); __ Push(cp, r0);
__ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlotNoReferenceError, 2);
PrepareForBailout(expr, TOS_REG); PrepareForBailout(expr, TOS_REG);
__ bind(&done); __ bind(&done);

View File

@ -211,7 +211,7 @@ bool LCodeGen::GeneratePrologue() {
__ CallStub(&stub); __ CallStub(&stub);
} else { } else {
__ push(r1); __ push(r1);
__ CallRuntime(Runtime::kNewFunctionContext, 1); __ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
} }
RecordSafepoint(Safepoint::kNoLazyDeopt); RecordSafepoint(Safepoint::kNoLazyDeopt);
// Context is returned in both r0 and cp. It replaces the context // Context is returned in both r0 and cp. It replaces the context
@ -3539,7 +3539,7 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
__ push(scratch0()); __ push(scratch0());
__ mov(scratch0(), Operand(Smi::FromInt(instr->hydrogen()->flags()))); __ mov(scratch0(), Operand(Smi::FromInt(instr->hydrogen()->flags())));
__ push(scratch0()); __ push(scratch0());
CallRuntime(Runtime::kDeclareGlobals, 3, instr); CallRuntime(Runtime::kHiddenDeclareGlobals, 3, instr);
} }
@ -3630,7 +3630,7 @@ void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr) {
// Slow case: Call the runtime system to do the number allocation. // Slow case: Call the runtime system to do the number allocation.
__ bind(&slow); __ bind(&slow);
CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0, instr, CallRuntimeFromDeferred(Runtime::kHiddenAllocateHeapNumber, 0, instr,
instr->context()); instr->context());
// Set the pointer to the new heap number in tmp. // Set the pointer to the new heap number in tmp.
if (!tmp1.is(r0)) __ mov(tmp1, Operand(r0)); if (!tmp1.is(r0)) __ mov(tmp1, Operand(r0));
@ -4650,11 +4650,11 @@ void LCodeGen::DoDeferredNumberTagIU(LInstruction* instr,
// NumberTagI and NumberTagD use the context from the frame, rather than // NumberTagI and NumberTagD use the context from the frame, rather than
// the environment's HContext or HInlinedContext value. // the environment's HContext or HInlinedContext value.
// They only call Runtime::kAllocateHeapNumber. // They only call Runtime::kHiddenAllocateHeapNumber.
// The corresponding HChange instructions are added in a phase that does // The corresponding HChange instructions are added in a phase that does
// not have easy access to the local context. // not have easy access to the local context.
__ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
RecordSafepointWithRegisters( RecordSafepointWithRegisters(
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt); instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
__ sub(r0, r0, Operand(kHeapObjectTag)); __ sub(r0, r0, Operand(kHeapObjectTag));
@ -4714,11 +4714,11 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters); PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
// NumberTagI and NumberTagD use the context from the frame, rather than // NumberTagI and NumberTagD use the context from the frame, rather than
// the environment's HContext or HInlinedContext value. // the environment's HContext or HInlinedContext value.
// They only call Runtime::kAllocateHeapNumber. // They only call Runtime::kHiddenAllocateHeapNumber.
// The corresponding HChange instructions are added in a phase that does // The corresponding HChange instructions are added in a phase that does
// not have easy access to the local context. // not have easy access to the local context.
__ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
RecordSafepointWithRegisters( RecordSafepointWithRegisters(
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt); instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
__ sub(r0, r0, Operand(kHeapObjectTag)); __ sub(r0, r0, Operand(kHeapObjectTag));
@ -5319,7 +5319,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
__ Push(Smi::FromInt(flags)); __ Push(Smi::FromInt(flags));
CallRuntimeFromDeferred( CallRuntimeFromDeferred(
Runtime::kAllocateInTargetSpace, 2, instr, instr->context()); Runtime::kHiddenAllocateInTargetSpace, 2, instr, instr->context());
__ StoreToSafepointRegisterSlot(r0, result); __ StoreToSafepointRegisterSlot(r0, result);
} }
@ -5353,7 +5353,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
__ mov(r4, Operand(instr->hydrogen()->pattern())); __ mov(r4, Operand(instr->hydrogen()->pattern()));
__ mov(r3, Operand(instr->hydrogen()->flags())); __ mov(r3, Operand(instr->hydrogen()->flags()));
__ Push(r6, r5, r4, r3); __ Push(r6, r5, r4, r3);
CallRuntime(Runtime::kMaterializeRegExpLiteral, 4, instr); CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4, instr);
__ mov(r1, r0); __ mov(r1, r0);
__ bind(&materialized); __ bind(&materialized);
@ -5366,7 +5366,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
__ bind(&runtime_allocate); __ bind(&runtime_allocate);
__ mov(r0, Operand(Smi::FromInt(size))); __ mov(r0, Operand(Smi::FromInt(size)));
__ Push(r1, r0); __ Push(r1, r0);
CallRuntime(Runtime::kAllocateInNewSpace, 1, instr); CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1, instr);
__ pop(r1); __ pop(r1);
__ bind(&allocated); __ bind(&allocated);
@ -5390,7 +5390,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
__ mov(r1, Operand(pretenure ? factory()->true_value() __ mov(r1, Operand(pretenure ? factory()->true_value()
: factory()->false_value())); : factory()->false_value()));
__ Push(cp, r2, r1); __ Push(cp, r2, r1);
CallRuntime(Runtime::kNewClosure, 3, instr); CallRuntime(Runtime::kHiddenNewClosure, 3, instr);
} }
} }
@ -5575,7 +5575,7 @@ void LCodeGen::DoDummyUse(LDummyUse* instr) {
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) { void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters); PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
LoadContextFromDeferred(instr->context()); LoadContextFromDeferred(instr->context());
__ CallRuntimeSaveDoubles(Runtime::kStackGuard); __ CallRuntimeSaveDoubles(Runtime::kHiddenStackGuard);
RecordSafepointWithLazyDeopt( RecordSafepointWithLazyDeopt(
instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS); instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS);
ASSERT(instr->HasEnvironment()); ASSERT(instr->HasEnvironment());

View File

@ -2432,7 +2432,7 @@ void MacroAssembler::CallApiFunctionAndReturn(
{ {
FrameScope frame(this, StackFrame::INTERNAL); FrameScope frame(this, StackFrame::INTERNAL);
CallExternalReference( CallExternalReference(
ExternalReference(Runtime::kPromoteScheduledException, isolate()), ExternalReference(Runtime::kHiddenPromoteScheduledException, isolate()),
0); 0);
} }
jmp(&exception_handled); jmp(&exception_handled);
@ -3846,9 +3846,9 @@ void MacroAssembler::Throw(BailoutReason reason) {
// We don't actually want to generate a pile of code for this, so just // We don't actually want to generate a pile of code for this, so just
// claim there is a stack frame, without generating one. // claim there is a stack frame, without generating one.
FrameScope scope(this, StackFrame::NONE); FrameScope scope(this, StackFrame::NONE);
CallRuntime(Runtime::kThrowMessage, 1); CallRuntime(Runtime::kHiddenThrowMessage, 1);
} else { } else {
CallRuntime(Runtime::kThrowMessage, 1); CallRuntime(Runtime::kHiddenThrowMessage, 1);
} }
// will not return here // will not return here
if (is_const_pool_blocked()) { if (is_const_pool_blocked()) {

View File

@ -317,7 +317,7 @@ void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) {
__ CompareRoot(masm->StackPointer(), Heap::kStackLimitRootIndex); __ CompareRoot(masm->StackPointer(), Heap::kStackLimitRootIndex);
__ B(hs, &ok); __ B(hs, &ok);
CallRuntimePassFunction(masm, Runtime::kTryInstallOptimizedCode); CallRuntimePassFunction(masm, Runtime::kHiddenTryInstallOptimizedCode);
GenerateTailCallToReturnedCode(masm); GenerateTailCallToReturnedCode(masm);
__ Bind(&ok); __ Bind(&ok);
@ -407,7 +407,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
// as argument to the runtime call. // as argument to the runtime call.
__ Push(constructor, init_map, constructor); __ Push(constructor, init_map, constructor);
// The call will replace the stub, so the countdown is only done once. // The call will replace the stub, so the countdown is only done once.
__ CallRuntime(Runtime::kFinalizeInstanceSize, 1); __ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
__ Pop(init_map, constructor); __ Pop(init_map, constructor);
__ Bind(&allocate); __ Bind(&allocate);
} }
@ -566,7 +566,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
__ Peek(x4, 2 * kXRegSize); __ Peek(x4, 2 * kXRegSize);
__ Push(x4); __ Push(x4);
__ Push(constructor); // Argument for Runtime_NewObject. __ Push(constructor); // Argument for Runtime_NewObject.
__ CallRuntime(Runtime::kNewObjectWithAllocationSite, 2); __ CallRuntime(Runtime::kHiddenNewObjectWithAllocationSite, 2);
__ Mov(x4, x0); __ Mov(x4, x0);
// If we ended up using the runtime, and we want a memento, then the // If we ended up using the runtime, and we want a memento, then the
// runtime call made it for us, and we shouldn't do create count // runtime call made it for us, and we shouldn't do create count
@ -574,7 +574,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
__ jmp(&count_incremented); __ jmp(&count_incremented);
} else { } else {
__ Push(constructor); // Argument for Runtime_NewObject. __ Push(constructor); // Argument for Runtime_NewObject.
__ CallRuntime(Runtime::kNewObject, 1); __ CallRuntime(Runtime::kHiddenNewObject, 1);
__ Mov(x4, x0); __ Mov(x4, x0);
} }
@ -811,7 +811,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) { void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) {
CallRuntimePassFunction(masm, Runtime::kCompileUnoptimized); CallRuntimePassFunction(masm, Runtime::kHiddenCompileUnoptimized);
GenerateTailCallToReturnedCode(masm); GenerateTailCallToReturnedCode(masm);
} }
@ -821,11 +821,11 @@ static void CallCompileOptimized(MacroAssembler* masm, bool concurrent) {
Register function = x1; Register function = x1;
// Preserve function. At the same time, push arguments for // Preserve function. At the same time, push arguments for
// kCompileOptimized. // kHiddenCompileOptimized.
__ LoadObject(x10, masm->isolate()->factory()->ToBoolean(concurrent)); __ LoadObject(x10, masm->isolate()->factory()->ToBoolean(concurrent));
__ Push(function, function, x10); __ Push(function, function, x10);
__ CallRuntime(Runtime::kCompileOptimized, 2); __ CallRuntime(Runtime::kHiddenCompileOptimized, 2);
// Restore receiver. // Restore receiver.
__ Pop(function); __ Pop(function);
@ -935,7 +935,7 @@ static void Generate_NotifyStubFailureHelper(MacroAssembler* masm,
// preserve the registers with parameters. // preserve the registers with parameters.
__ PushXRegList(kSafepointSavedRegisters); __ PushXRegList(kSafepointSavedRegisters);
// Pass the function and deoptimization type to the runtime system. // Pass the function and deoptimization type to the runtime system.
__ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles); __ CallRuntime(Runtime::kHiddenNotifyStubFailure, 0, save_doubles);
__ PopXRegList(kSafepointSavedRegisters); __ PopXRegList(kSafepointSavedRegisters);
} }
@ -965,7 +965,7 @@ static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
// Pass the deoptimization type to the runtime system. // Pass the deoptimization type to the runtime system.
__ Mov(x0, Smi::FromInt(static_cast<int>(type))); __ Mov(x0, Smi::FromInt(static_cast<int>(type)));
__ Push(x0); __ Push(x0);
__ CallRuntime(Runtime::kNotifyDeoptimized, 1); __ CallRuntime(Runtime::kHiddenNotifyDeoptimized, 1);
} }
// Get the full codegen state from the stack and untag it. // Get the full codegen state from the stack and untag it.
@ -1050,7 +1050,7 @@ void Builtins::Generate_OsrAfterStackCheck(MacroAssembler* masm) {
__ B(hs, &ok); __ B(hs, &ok);
{ {
FrameScope scope(masm, StackFrame::INTERNAL); FrameScope scope(masm, StackFrame::INTERNAL);
__ CallRuntime(Runtime::kStackGuard, 0); __ CallRuntime(Runtime::kHiddenStackGuard, 0);
} }
__ Jump(masm->isolate()->builtins()->OnStackReplacement(), __ Jump(masm->isolate()->builtins()->OnStackReplacement(),
RelocInfo::CODE_TARGET); RelocInfo::CODE_TARGET);

View File

@ -46,7 +46,7 @@ void FastNewClosureStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]);
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry; Runtime::FunctionForId(Runtime::kHiddenNewClosureFromStubFailure)->entry;
} }
@ -94,7 +94,8 @@ void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]);
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kCreateArrayLiteralStubBailout)->entry; Runtime::FunctionForId(
Runtime::kHiddenCreateArrayLiteralStubBailout)->entry;
} }
@ -109,7 +110,7 @@ void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]);
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry; Runtime::FunctionForId(Runtime::kHiddenCreateObjectLiteral)->entry;
} }
@ -275,7 +276,7 @@ static void InitializeArrayConstructorDescriptor(
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kArrayConstructor)->entry; Runtime::FunctionForId(Runtime::kHiddenArrayConstructor)->entry;
} }
@ -325,7 +326,7 @@ static void InitializeInternalArrayConstructorDescriptor(
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kInternalArrayConstructor)->entry; Runtime::FunctionForId(Runtime::kHiddenInternalArrayConstructor)->entry;
} }
@ -2248,7 +2249,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
__ Poke(x10, 1 * kXRegSize); __ Poke(x10, 1 * kXRegSize);
__ Bind(&runtime); __ Bind(&runtime);
__ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1);
} }
@ -2520,7 +2521,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
// Do the runtime call to allocate the arguments object. // Do the runtime call to allocate the arguments object.
__ Bind(&runtime); __ Bind(&runtime);
__ Push(function, recv_arg, arg_count_smi); __ Push(function, recv_arg, arg_count_smi);
__ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1);
} }
@ -2653,7 +2654,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
// Do the runtime call to allocate the arguments object. // Do the runtime call to allocate the arguments object.
__ Bind(&runtime); __ Bind(&runtime);
__ Push(function, params, param_count_smi); __ Push(function, params, param_count_smi);
__ TailCallRuntime(Runtime::kNewStrictArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewStrictArgumentsFast, 3, 1);
} }
@ -3527,7 +3528,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
} else { } else {
ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX); ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
// NumberToSmi discards numbers that are not exact integers. // NumberToSmi discards numbers that are not exact integers.
__ CallRuntime(Runtime::kNumberToSmi, 1); __ CallRuntime(Runtime::kHiddenNumberToSmi, 1);
} }
// Save the conversion result before the pop instructions below // Save the conversion result before the pop instructions below
// have a chance to overwrite it. // have a chance to overwrite it.

View File

@ -235,13 +235,13 @@ void FullCodeGenerator::Generate() {
if (FLAG_harmony_scoping && info->scope()->is_global_scope()) { if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
__ Mov(x10, Operand(info->scope()->GetScopeInfo())); __ Mov(x10, Operand(info->scope()->GetScopeInfo()));
__ Push(x1, x10); __ Push(x1, x10);
__ CallRuntime(Runtime::kNewGlobalContext, 2); __ CallRuntime(Runtime::kHiddenNewGlobalContext, 2);
} else if (heap_slots <= FastNewContextStub::kMaximumSlots) { } else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
FastNewContextStub stub(heap_slots); FastNewContextStub stub(heap_slots);
__ CallStub(&stub); __ CallStub(&stub);
} else { } else {
__ Push(x1); __ Push(x1);
__ CallRuntime(Runtime::kNewFunctionContext, 1); __ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
} }
function_in_register_x1 = false; function_in_register_x1 = false;
// Context is returned in x0. It replaces the context passed to us. // Context is returned in x0. It replaces the context passed to us.
@ -875,7 +875,7 @@ void FullCodeGenerator::VisitVariableDeclaration(
// Pushing 0 (xzr) indicates no initial value. // Pushing 0 (xzr) indicates no initial value.
__ Push(cp, x2, x1, xzr); __ Push(cp, x2, x1, xzr);
} }
__ CallRuntime(Runtime::kDeclareContextSlot, 4); __ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
break; break;
} }
} }
@ -931,7 +931,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
__ Push(cp, x2, x1); __ Push(cp, x2, x1);
// Push initial value for function declaration. // Push initial value for function declaration.
VisitForStackValue(declaration->fun()); VisitForStackValue(declaration->fun());
__ CallRuntime(Runtime::kDeclareContextSlot, 4); __ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
break; break;
} }
} }
@ -1006,7 +1006,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
__ Mov(flags, Smi::FromInt(DeclareGlobalsFlags())); __ Mov(flags, Smi::FromInt(DeclareGlobalsFlags()));
} }
__ Push(cp, x11, flags); __ Push(cp, x11, flags);
__ CallRuntime(Runtime::kDeclareGlobals, 3); __ CallRuntime(Runtime::kHiddenDeclareGlobals, 3);
// Return value is ignored. // Return value is ignored.
} }
@ -1014,7 +1014,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) { void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) {
// Call the runtime to declare the modules. // Call the runtime to declare the modules.
__ Push(descriptions); __ Push(descriptions);
__ CallRuntime(Runtime::kDeclareModules, 1); __ CallRuntime(Runtime::kHiddenDeclareModules, 1);
// Return value is ignored. // Return value is ignored.
} }
@ -1367,7 +1367,7 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
__ LoadRoot(x10, pretenure ? Heap::kTrueValueRootIndex __ LoadRoot(x10, pretenure ? Heap::kTrueValueRootIndex
: Heap::kFalseValueRootIndex); : Heap::kFalseValueRootIndex);
__ Push(cp, x11, x10); __ Push(cp, x11, x10);
__ CallRuntime(Runtime::kNewClosure, 3); __ CallRuntime(Runtime::kHiddenNewClosure, 3);
} }
context()->Plug(x0); context()->Plug(x0);
} }
@ -1483,7 +1483,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(Variable* var,
} else { // LET || CONST } else { // LET || CONST
__ Mov(x0, Operand(var->name())); __ Mov(x0, Operand(var->name()));
__ Push(x0); __ Push(x0);
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
} }
} }
__ B(done); __ B(done);
@ -1561,7 +1561,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
// binding in harmony mode. // binding in harmony mode.
__ Mov(x0, Operand(var->name())); __ Mov(x0, Operand(var->name()));
__ Push(x0); __ Push(x0);
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
__ Bind(&done); __ Bind(&done);
} else { } else {
// Uninitalized const bindings outside of harmony mode are unholed. // Uninitalized const bindings outside of harmony mode are unholed.
@ -1586,7 +1586,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
Comment cmnt(masm_, "Lookup variable"); Comment cmnt(masm_, "Lookup variable");
__ Mov(x1, Operand(var->name())); __ Mov(x1, Operand(var->name()));
__ Push(cp, x1); // Context and name. __ Push(cp, x1); // Context and name.
__ CallRuntime(Runtime::kLoadContextSlot, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
__ Bind(&done); __ Bind(&done);
context()->Plug(x0); context()->Plug(x0);
break; break;
@ -1618,7 +1618,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
__ Mov(x2, Operand(expr->pattern())); __ Mov(x2, Operand(expr->pattern()));
__ Mov(x1, Operand(expr->flags())); __ Mov(x1, Operand(expr->flags()));
__ Push(x4, x3, x2, x1); __ Push(x4, x3, x2, x1);
__ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4); __ CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4);
__ Mov(x5, x0); __ Mov(x5, x0);
__ Bind(&materialized); __ Bind(&materialized);
@ -1630,7 +1630,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
__ Bind(&runtime_allocate); __ Bind(&runtime_allocate);
__ Mov(x10, Smi::FromInt(size)); __ Mov(x10, Smi::FromInt(size));
__ Push(x5, x10); __ Push(x5, x10);
__ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
__ Pop(x5); __ Pop(x5);
__ Bind(&allocated); __ Bind(&allocated);
@ -1676,7 +1676,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
flags != ObjectLiteral::kFastElements || flags != ObjectLiteral::kFastElements ||
properties_count > max_cloned_properties) { properties_count > max_cloned_properties) {
__ Push(x3, x2, x1, x0); __ Push(x3, x2, x1, x0);
__ CallRuntime(Runtime::kCreateObjectLiteral, 4); __ CallRuntime(Runtime::kHiddenCreateObjectLiteral, 4);
} else { } else {
FastCloneShallowObjectStub stub(properties_count); FastCloneShallowObjectStub stub(properties_count);
__ CallStub(&stub); __ CallStub(&stub);
@ -1826,7 +1826,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
length > FastCloneShallowArrayStub::kMaximumClonedLength) { length > FastCloneShallowArrayStub::kMaximumClonedLength) {
__ Mov(x0, Smi::FromInt(flags)); __ Mov(x0, Smi::FromInt(flags));
__ Push(x3, x2, x1, x0); __ Push(x3, x2, x1, x0);
__ CallRuntime(Runtime::kCreateArrayLiteral, 4); __ CallRuntime(Runtime::kHiddenCreateArrayLiteral, 4);
} else { } else {
ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) || ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) ||
FLAG_smi_only_arrays); FLAG_smi_only_arrays);
@ -2197,7 +2197,7 @@ void FullCodeGenerator::EmitCallStoreContextSlot(
// jssp[16] : context. // jssp[16] : context.
// jssp[24] : value. // jssp[24] : value.
__ Push(x0, cp, x11, x10); __ Push(x0, cp, x11, x10);
__ CallRuntime(Runtime::kStoreContextSlot, 4); __ CallRuntime(Runtime::kHiddenStoreContextSlot, 4);
} }
@ -2217,7 +2217,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
__ Push(x0); __ Push(x0);
__ Mov(x0, Operand(var->name())); __ Mov(x0, Operand(var->name()));
__ Push(cp, x0); // Context and name. __ Push(cp, x0); // Context and name.
__ CallRuntime(Runtime::kInitializeConstContextSlot, 3); __ CallRuntime(Runtime::kHiddenInitializeConstContextSlot, 3);
} else { } else {
ASSERT(var->IsStackLocal() || var->IsContextSlot()); ASSERT(var->IsStackLocal() || var->IsContextSlot());
Label skip; Label skip;
@ -2240,7 +2240,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
__ JumpIfNotRoot(x10, Heap::kTheHoleValueRootIndex, &assign); __ JumpIfNotRoot(x10, Heap::kTheHoleValueRootIndex, &assign);
__ Mov(x10, Operand(var->name())); __ Mov(x10, Operand(var->name()));
__ Push(x10); __ Push(x10);
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
// Perform the assignment. // Perform the assignment.
__ Bind(&assign); __ Bind(&assign);
EmitStoreToStackLocalOrContextSlot(var, location); EmitStoreToStackLocalOrContextSlot(var, location);
@ -2480,7 +2480,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
__ Push(x10, x11); __ Push(x10, x11);
// Do the runtime call. // Do the runtime call.
__ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); __ CallRuntime(Runtime::kHiddenResolvePossiblyDirectEval, 5);
} }
@ -2496,8 +2496,8 @@ void FullCodeGenerator::VisitCall(Call* expr) {
Call::CallType call_type = expr->GetCallType(isolate()); Call::CallType call_type = expr->GetCallType(isolate());
if (call_type == Call::POSSIBLY_EVAL_CALL) { if (call_type == Call::POSSIBLY_EVAL_CALL) {
// In a call to eval, we first call %ResolvePossiblyDirectEval to // In a call to eval, we first call RuntimeHidden_ResolvePossiblyDirectEval
// resolve the function we need to call and the receiver of the // to resolve the function we need to call and the receiver of the
// call. Then we call the resolved function using the given // call. Then we call the resolved function using the given
// arguments. // arguments.
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
@ -2557,7 +2557,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
__ Push(context_register()); __ Push(context_register());
__ Mov(x10, Operand(proxy->name())); __ Mov(x10, Operand(proxy->name()));
__ Push(x10); __ Push(x10);
__ CallRuntime(Runtime::kLoadContextSlot, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
__ Push(x0, x1); // Receiver, function. __ Push(x0, x1); // Receiver, function.
// If fast case code has been generated, emit code to push the // If fast case code has been generated, emit code to push the
@ -3231,7 +3231,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
} }
__ Bind(&not_date_object); __ Bind(&not_date_object);
__ CallRuntime(Runtime::kThrowNotDateError, 0); __ CallRuntime(Runtime::kHiddenThrowNotDateError, 0);
__ Bind(&done); __ Bind(&done);
context()->Plug(x0); context()->Plug(x0);
} }
@ -3945,7 +3945,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
// context where the variable was introduced. // context where the variable was introduced.
__ Mov(x2, Operand(var->name())); __ Mov(x2, Operand(var->name()));
__ Push(context_register(), x2); __ Push(context_register(), x2);
__ CallRuntime(Runtime::kDeleteContextSlot, 2); __ CallRuntime(Runtime::kHiddenDeleteContextSlot, 2);
context()->Plug(x0); context()->Plug(x0);
} }
} else { } else {
@ -4225,7 +4225,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
__ Bind(&slow); __ Bind(&slow);
__ Mov(x0, Operand(proxy->name())); __ Mov(x0, Operand(proxy->name()));
__ Push(cp, x0); __ Push(cp, x0);
__ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlotNoReferenceError, 2);
PrepareForBailout(expr, TOS_REG); PrepareForBailout(expr, TOS_REG);
__ Bind(&done); __ Bind(&done);
@ -4476,7 +4476,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
__ Cmp(__ StackPointer(), x1); __ Cmp(__ StackPointer(), x1);
__ B(eq, &post_runtime); __ B(eq, &post_runtime);
__ Push(x0); // generator object __ Push(x0); // generator object
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1); __ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
__ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ Bind(&post_runtime); __ Bind(&post_runtime);
__ Pop(result_register()); __ Pop(result_register());
@ -4547,7 +4547,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
__ Mov(x1, cp); __ Mov(x1, cp);
__ RecordWriteField(x0, JSGeneratorObject::kContextOffset, x1, x2, __ RecordWriteField(x0, JSGeneratorObject::kContextOffset, x1, x2,
kLRHasBeenSaved, kDontSaveFPRegs); kLRHasBeenSaved, kDontSaveFPRegs);
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1); __ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
__ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ Pop(x0); // result __ Pop(x0); // result
EmitReturnSequence(); EmitReturnSequence();
@ -4606,7 +4606,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
Register function = x4; Register function = x4;
// The value stays in x0, and is ultimately read by the resumed generator, as // The value stays in x0, and is ultimately read by the resumed generator, as
// if the CallRuntime(Runtime::kSuspendJSGeneratorObject) returned it. Or it // if CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject) returned it. Or it
// is read to throw the value when the resumed generator is already closed. r1 // is read to throw the value when the resumed generator is already closed. r1
// will hold the generator object until the activation has been resumed. // will hold the generator object until the activation has been resumed.
VisitForStackValue(generator); VisitForStackValue(generator);
@ -4688,7 +4688,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
__ Mov(x10, Smi::FromInt(resume_mode)); __ Mov(x10, Smi::FromInt(resume_mode));
__ Push(generator_object, result_register(), x10); __ Push(generator_object, result_register(), x10);
__ CallRuntime(Runtime::kResumeJSGeneratorObject, 3); __ CallRuntime(Runtime::kHiddenResumeJSGeneratorObject, 3);
// Not reached: the runtime call returns elsewhere. // Not reached: the runtime call returns elsewhere.
__ Unreachable(); __ Unreachable();
@ -4703,14 +4703,14 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
} else { } else {
// Throw the provided value. // Throw the provided value.
__ Push(value_reg); __ Push(value_reg);
__ CallRuntime(Runtime::kThrow, 1); __ CallRuntime(Runtime::kHiddenThrow, 1);
} }
__ B(&done); __ B(&done);
// Throw error if we attempt to operate on a running generator. // Throw error if we attempt to operate on a running generator.
__ Bind(&wrong_state); __ Bind(&wrong_state);
__ Push(generator_object); __ Push(generator_object);
__ CallRuntime(Runtime::kThrowGeneratorStateError, 1); __ CallRuntime(Runtime::kHiddenThrowGeneratorStateError, 1);
__ Bind(&done); __ Bind(&done);
context()->Plug(result_register()); context()->Plug(result_register());
@ -4731,7 +4731,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
__ Bind(&gc_required); __ Bind(&gc_required);
__ Push(Smi::FromInt(map->instance_size())); __ Push(Smi::FromInt(map->instance_size()));
__ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
__ Ldr(context_register(), __ Ldr(context_register(),
MemOperand(fp, StandardFrameConstants::kContextOffset)); MemOperand(fp, StandardFrameConstants::kContextOffset));

View File

@ -713,7 +713,7 @@ bool LCodeGen::GeneratePrologue() {
__ CallStub(&stub); __ CallStub(&stub);
} else { } else {
__ Push(x1); __ Push(x1);
__ CallRuntime(Runtime::kNewFunctionContext, 1); __ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
} }
RecordSafepoint(Safepoint::kNoLazyDeopt); RecordSafepoint(Safepoint::kNoLazyDeopt);
// Context is returned in x0. It replaces the context passed to us. It's // Context is returned in x0. It replaces the context passed to us. It's
@ -1593,7 +1593,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
__ Push(size, x10); __ Push(size, x10);
CallRuntimeFromDeferred( CallRuntimeFromDeferred(
Runtime::kAllocateInTargetSpace, 2, instr, instr->context()); Runtime::kHiddenAllocateInTargetSpace, 2, instr, instr->context());
__ StoreToSafepointRegisterSlot(x0, ToRegister(instr->result())); __ StoreToSafepointRegisterSlot(x0, ToRegister(instr->result()));
} }
@ -2815,7 +2815,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
__ Mov(x1, Operand(pretenure ? factory()->true_value() __ Mov(x1, Operand(pretenure ? factory()->true_value()
: factory()->false_value())); : factory()->false_value()));
__ Push(cp, x2, x1); __ Push(cp, x2, x1);
CallRuntime(Runtime::kNewClosure, 3, instr); CallRuntime(Runtime::kHiddenNewClosure, 3, instr);
} }
} }
@ -3756,7 +3756,7 @@ void LCodeGen::DoDeferredMathAbsTagged(LMathAbsTagged* instr,
} }
{ PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters); { PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0, instr, CallRuntimeFromDeferred(Runtime::kHiddenAllocateHeapNumber, 0, instr,
instr->context()); instr->context());
__ StoreToSafepointRegisterSlot(x0, result); __ StoreToSafepointRegisterSlot(x0, result);
} }
@ -4451,11 +4451,11 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters); PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
// NumberTagU and NumberTagD use the context from the frame, rather than // NumberTagU and NumberTagD use the context from the frame, rather than
// the environment's HContext or HInlinedContext value. // the environment's HContext or HInlinedContext value.
// They only call Runtime::kAllocateHeapNumber. // They only call Runtime::kHiddenAllocateHeapNumber.
// The corresponding HChange instructions are added in a phase that does // The corresponding HChange instructions are added in a phase that does
// not have easy access to the local context. // not have easy access to the local context.
__ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
RecordSafepointWithRegisters( RecordSafepointWithRegisters(
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt); instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
__ StoreToSafepointRegisterSlot(x0, result); __ StoreToSafepointRegisterSlot(x0, result);
@ -4517,11 +4517,11 @@ void LCodeGen::DoDeferredNumberTagU(LInstruction* instr,
// NumberTagU and NumberTagD use the context from the frame, rather than // NumberTagU and NumberTagD use the context from the frame, rather than
// the environment's HContext or HInlinedContext value. // the environment's HContext or HInlinedContext value.
// They only call Runtime::kAllocateHeapNumber. // They only call Runtime::kHiddenAllocateHeapNumber.
// The corresponding HChange instructions are added in a phase that does // The corresponding HChange instructions are added in a phase that does
// not have easy access to the local context. // not have easy access to the local context.
__ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
RecordSafepointWithRegisters( RecordSafepointWithRegisters(
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt); instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
__ StoreToSafepointRegisterSlot(x0, dst); __ StoreToSafepointRegisterSlot(x0, dst);
@ -4937,14 +4937,14 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
__ LoadHeapObject(scratch1, instr->hydrogen()->pairs()); __ LoadHeapObject(scratch1, instr->hydrogen()->pairs());
__ Mov(scratch2, Smi::FromInt(instr->hydrogen()->flags())); __ Mov(scratch2, Smi::FromInt(instr->hydrogen()->flags()));
__ Push(cp, scratch1, scratch2); // The context is the first argument. __ Push(cp, scratch1, scratch2); // The context is the first argument.
CallRuntime(Runtime::kDeclareGlobals, 3, instr); CallRuntime(Runtime::kHiddenDeclareGlobals, 3, instr);
} }
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) { void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters); PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
LoadContextFromDeferred(instr->context()); LoadContextFromDeferred(instr->context());
__ CallRuntimeSaveDoubles(Runtime::kStackGuard); __ CallRuntimeSaveDoubles(Runtime::kHiddenStackGuard);
RecordSafepointWithLazyDeopt( RecordSafepointWithLazyDeopt(
instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS); instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS);
ASSERT(instr->HasEnvironment()); ASSERT(instr->HasEnvironment());
@ -5635,7 +5635,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
__ Mov(x11, Operand(instr->hydrogen()->pattern())); __ Mov(x11, Operand(instr->hydrogen()->pattern()));
__ Mov(x10, Operand(instr->hydrogen()->flags())); __ Mov(x10, Operand(instr->hydrogen()->flags()));
__ Push(x7, x12, x11, x10); __ Push(x7, x12, x11, x10);
CallRuntime(Runtime::kMaterializeRegExpLiteral, 4, instr); CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4, instr);
__ Mov(x1, x0); __ Mov(x1, x0);
__ Bind(&materialized); __ Bind(&materialized);
@ -5648,7 +5648,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
__ Bind(&runtime_allocate); __ Bind(&runtime_allocate);
__ Mov(x0, Smi::FromInt(size)); __ Mov(x0, Smi::FromInt(size));
__ Push(x1, x0); __ Push(x1, x0);
CallRuntime(Runtime::kAllocateInNewSpace, 1, instr); CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1, instr);
__ Pop(x1); __ Pop(x1);
__ Bind(&allocated); __ Bind(&allocated);

View File

@ -1479,9 +1479,9 @@ void MacroAssembler::Throw(BailoutReason reason) {
// We don't actually want to generate a pile of code for this, so just // We don't actually want to generate a pile of code for this, so just
// claim there is a stack frame, without generating one. // claim there is a stack frame, without generating one.
FrameScope scope(this, StackFrame::NONE); FrameScope scope(this, StackFrame::NONE);
CallRuntime(Runtime::kThrowMessage, 1); CallRuntime(Runtime::kHiddenThrowMessage, 1);
} else { } else {
CallRuntime(Runtime::kThrowMessage, 1); CallRuntime(Runtime::kHiddenThrowMessage, 1);
} }
// ThrowMessage should not return here. // ThrowMessage should not return here.
Unreachable(); Unreachable();
@ -1740,7 +1740,8 @@ void MacroAssembler::CallApiFunctionAndReturn(
{ {
FrameScope frame(this, StackFrame::INTERNAL); FrameScope frame(this, StackFrame::INTERNAL);
CallExternalReference( CallExternalReference(
ExternalReference(Runtime::kPromoteScheduledException, isolate()), 0); ExternalReference(
Runtime::kHiddenPromoteScheduledException, isolate()), 0);
} }
B(&exception_handled); B(&exception_handled);

View File

@ -1706,12 +1706,12 @@ const char* Builtins::Lookup(byte* pc) {
void Builtins::Generate_InterruptCheck(MacroAssembler* masm) { void Builtins::Generate_InterruptCheck(MacroAssembler* masm) {
masm->TailCallRuntime(Runtime::kInterrupt, 0, 1); masm->TailCallRuntime(Runtime::kHiddenInterrupt, 0, 1);
} }
void Builtins::Generate_StackCheck(MacroAssembler* masm) { void Builtins::Generate_StackCheck(MacroAssembler* masm) {
masm->TailCallRuntime(Runtime::kStackGuard, 0, 1); masm->TailCallRuntime(Runtime::kHiddenStackGuard, 0, 1);
} }

View File

@ -624,7 +624,7 @@ void FullCodeGenerator::AllocateModules(ZoneList<Declaration*>* declarations) {
ASSERT(scope->interface()->Index() >= 0); ASSERT(scope->interface()->Index() >= 0);
__ Push(Smi::FromInt(scope->interface()->Index())); __ Push(Smi::FromInt(scope->interface()->Index()));
__ Push(scope->GetScopeInfo()); __ Push(scope->GetScopeInfo());
__ CallRuntime(Runtime::kPushModuleContext, 2); __ CallRuntime(Runtime::kHiddenPushModuleContext, 2);
StoreToFrameField(StandardFrameConstants::kContextOffset, StoreToFrameField(StandardFrameConstants::kContextOffset,
context_register()); context_register());
@ -764,7 +764,7 @@ void FullCodeGenerator::VisitModuleLiteral(ModuleLiteral* module) {
ASSERT(interface->Index() >= 0); ASSERT(interface->Index() >= 0);
__ Push(Smi::FromInt(interface->Index())); __ Push(Smi::FromInt(interface->Index()));
__ Push(Smi::FromInt(0)); __ Push(Smi::FromInt(0));
__ CallRuntime(Runtime::kPushModuleContext, 2); __ CallRuntime(Runtime::kHiddenPushModuleContext, 2);
StoreToFrameField(StandardFrameConstants::kContextOffset, context_register()); StoreToFrameField(StandardFrameConstants::kContextOffset, context_register());
{ {
@ -1091,7 +1091,7 @@ void FullCodeGenerator::VisitBlock(Block* stmt) {
{ Comment cmnt(masm_, "[ Extend block context"); { Comment cmnt(masm_, "[ Extend block context");
__ Push(scope_->GetScopeInfo()); __ Push(scope_->GetScopeInfo());
PushFunctionArgumentForContextAllocation(); PushFunctionArgumentForContextAllocation();
__ CallRuntime(Runtime::kPushBlockContext, 2); __ CallRuntime(Runtime::kHiddenPushBlockContext, 2);
// Replace the context stored in the frame. // Replace the context stored in the frame.
StoreToFrameField(StandardFrameConstants::kContextOffset, StoreToFrameField(StandardFrameConstants::kContextOffset,
@ -1123,7 +1123,7 @@ void FullCodeGenerator::VisitModuleStatement(ModuleStatement* stmt) {
__ Push(Smi::FromInt(stmt->proxy()->interface()->Index())); __ Push(Smi::FromInt(stmt->proxy()->interface()->Index()));
__ Push(Smi::FromInt(0)); __ Push(Smi::FromInt(0));
__ CallRuntime(Runtime::kPushModuleContext, 2); __ CallRuntime(Runtime::kHiddenPushModuleContext, 2);
StoreToFrameField( StoreToFrameField(
StandardFrameConstants::kContextOffset, context_register()); StandardFrameConstants::kContextOffset, context_register());
@ -1262,7 +1262,7 @@ void FullCodeGenerator::VisitWithStatement(WithStatement* stmt) {
VisitForStackValue(stmt->expression()); VisitForStackValue(stmt->expression());
PushFunctionArgumentForContextAllocation(); PushFunctionArgumentForContextAllocation();
__ CallRuntime(Runtime::kPushWithContext, 2); __ CallRuntime(Runtime::kHiddenPushWithContext, 2);
StoreToFrameField(StandardFrameConstants::kContextOffset, context_register()); StoreToFrameField(StandardFrameConstants::kContextOffset, context_register());
Scope* saved_scope = scope(); Scope* saved_scope = scope();
@ -1415,7 +1415,7 @@ void FullCodeGenerator::VisitTryCatchStatement(TryCatchStatement* stmt) {
__ Push(stmt->variable()->name()); __ Push(stmt->variable()->name());
__ Push(result_register()); __ Push(result_register());
PushFunctionArgumentForContextAllocation(); PushFunctionArgumentForContextAllocation();
__ CallRuntime(Runtime::kPushCatchContext, 3); __ CallRuntime(Runtime::kHiddenPushCatchContext, 3);
StoreToFrameField(StandardFrameConstants::kContextOffset, StoreToFrameField(StandardFrameConstants::kContextOffset,
context_register()); context_register());
} }
@ -1479,7 +1479,7 @@ void FullCodeGenerator::VisitTryFinallyStatement(TryFinallyStatement* stmt) {
// rethrow the exception if it returns. // rethrow the exception if it returns.
__ Call(&finally_entry); __ Call(&finally_entry);
__ Push(result_register()); __ Push(result_register());
__ CallRuntime(Runtime::kReThrow, 1); __ CallRuntime(Runtime::kHiddenReThrow, 1);
// Finally block implementation. // Finally block implementation.
__ bind(&finally_entry); __ bind(&finally_entry);
@ -1605,7 +1605,7 @@ void FullCodeGenerator::VisitNativeFunctionLiteral(
void FullCodeGenerator::VisitThrow(Throw* expr) { void FullCodeGenerator::VisitThrow(Throw* expr) {
Comment cmnt(masm_, "[ Throw"); Comment cmnt(masm_, "[ Throw");
VisitForStackValue(expr->exception()); VisitForStackValue(expr->exception());
__ CallRuntime(Runtime::kThrow, 1); __ CallRuntime(Runtime::kHiddenThrow, 1);
// Never returns here. // Never returns here.
} }

View File

@ -7265,7 +7265,7 @@ class HToFastProperties V8_FINAL : public HUnaryOperation {
ASSERT(value->IsCallRuntime()); ASSERT(value->IsCallRuntime());
#ifdef DEBUG #ifdef DEBUG
const Runtime::Function* function = HCallRuntime::cast(value)->function(); const Runtime::Function* function = HCallRuntime::cast(value)->function();
ASSERT(function->function_id == Runtime::kCreateObjectLiteral); ASSERT(function->function_id == Runtime::kHiddenCreateObjectLiteral);
#endif #endif
} }

View File

@ -1754,7 +1754,7 @@ HValue* HGraphBuilder::BuildNumberToString(HValue* object, Type* type) {
Add<HPushArgument>(object); Add<HPushArgument>(object);
Push(Add<HCallRuntime>( Push(Add<HCallRuntime>(
isolate()->factory()->empty_string(), isolate()->factory()->empty_string(),
Runtime::FunctionForId(Runtime::kNumberToStringSkipCache), Runtime::FunctionForId(Runtime::kHiddenNumberToStringSkipCache),
1)); 1));
} }
if_found.End(); if_found.End();
@ -5115,7 +5115,7 @@ void HOptimizedGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) {
// TODO(mvstanton): Add a flag to turn off creation of any // TODO(mvstanton): Add a flag to turn off creation of any
// AllocationMementos for this call: we are in crankshaft and should have // AllocationMementos for this call: we are in crankshaft and should have
// learned enough about transition behavior to stop emitting mementos. // learned enough about transition behavior to stop emitting mementos.
Runtime::FunctionId function_id = Runtime::kCreateObjectLiteral; Runtime::FunctionId function_id = Runtime::kHiddenCreateObjectLiteral;
literal = Add<HCallRuntime>(isolate()->factory()->empty_string(), literal = Add<HCallRuntime>(isolate()->factory()->empty_string(),
Runtime::FunctionForId(function_id), Runtime::FunctionForId(function_id),
4); 4);
@ -5272,7 +5272,7 @@ void HOptimizedGraphBuilder::VisitArrayLiteral(ArrayLiteral* expr) {
// TODO(mvstanton): Consider a flag to turn off creation of any // TODO(mvstanton): Consider a flag to turn off creation of any
// AllocationMementos for this call: we are in crankshaft and should have // AllocationMementos for this call: we are in crankshaft and should have
// learned enough about transition behavior to stop emitting mementos. // learned enough about transition behavior to stop emitting mementos.
Runtime::FunctionId function_id = Runtime::kCreateArrayLiteral; Runtime::FunctionId function_id = Runtime::kHiddenCreateArrayLiteral;
literal = Add<HCallRuntime>(isolate()->factory()->empty_string(), literal = Add<HCallRuntime>(isolate()->factory()->empty_string(),
Runtime::FunctionForId(function_id), Runtime::FunctionForId(function_id),
4); 4);
@ -6190,7 +6190,7 @@ void HOptimizedGraphBuilder::VisitThrow(Throw* expr) {
if (!FLAG_hydrogen_track_positions) SetSourcePosition(expr->position()); if (!FLAG_hydrogen_track_positions) SetSourcePosition(expr->position());
Add<HPushArgument>(value); Add<HPushArgument>(value);
Add<HCallRuntime>(isolate()->factory()->empty_string(), Add<HCallRuntime>(isolate()->factory()->empty_string(),
Runtime::FunctionForId(Runtime::kThrow), 1); Runtime::FunctionForId(Runtime::kHiddenThrow), 1);
Add<HSimulate>(expr->id()); Add<HSimulate>(expr->id());
// If the throw definitely exits the function, we can finish with a dummy // If the throw definitely exits the function, we can finish with a dummy

View File

@ -115,7 +115,7 @@ void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) {
__ cmp(esp, Operand::StaticVariable(stack_limit)); __ cmp(esp, Operand::StaticVariable(stack_limit));
__ j(above_equal, &ok, Label::kNear); __ j(above_equal, &ok, Label::kNear);
CallRuntimePassFunction(masm, Runtime::kTryInstallOptimizedCode); CallRuntimePassFunction(masm, Runtime::kHiddenTryInstallOptimizedCode);
GenerateTailCallToReturnedCode(masm); GenerateTailCallToReturnedCode(masm);
__ bind(&ok); __ bind(&ok);
@ -202,7 +202,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
__ push(edi); // constructor __ push(edi); // constructor
// The call will replace the stub, so the countdown is only done once. // The call will replace the stub, so the countdown is only done once.
__ CallRuntime(Runtime::kFinalizeInstanceSize, 1); __ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
__ pop(edi); __ pop(edi);
__ pop(eax); __ pop(eax);
@ -370,9 +370,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
// edi: function (constructor) // edi: function (constructor)
__ push(edi); __ push(edi);
if (create_memento) { if (create_memento) {
__ CallRuntime(Runtime::kNewObjectWithAllocationSite, 2); __ CallRuntime(Runtime::kHiddenNewObjectWithAllocationSite, 2);
} else { } else {
__ CallRuntime(Runtime::kNewObject, 1); __ CallRuntime(Runtime::kHiddenNewObject, 1);
} }
__ mov(ebx, eax); // store result in ebx __ mov(ebx, eax); // store result in ebx
@ -567,7 +567,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) { void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) {
CallRuntimePassFunction(masm, Runtime::kCompileUnoptimized); CallRuntimePassFunction(masm, Runtime::kHiddenCompileUnoptimized);
GenerateTailCallToReturnedCode(masm); GenerateTailCallToReturnedCode(masm);
} }
@ -582,7 +582,7 @@ static void CallCompileOptimized(MacroAssembler* masm, bool concurrent) {
// Whether to compile in a background thread. // Whether to compile in a background thread.
__ Push(masm->isolate()->factory()->ToBoolean(concurrent)); __ Push(masm->isolate()->factory()->ToBoolean(concurrent));
__ CallRuntime(Runtime::kCompileOptimized, 2); __ CallRuntime(Runtime::kHiddenCompileOptimized, 2);
// Restore receiver. // Restore receiver.
__ pop(edi); __ pop(edi);
} }
@ -686,7 +686,7 @@ static void Generate_NotifyStubFailureHelper(MacroAssembler* masm,
// stubs that tail call the runtime on deopts passing their parameters in // stubs that tail call the runtime on deopts passing their parameters in
// registers. // registers.
__ pushad(); __ pushad();
__ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles); __ CallRuntime(Runtime::kHiddenNotifyStubFailure, 0, save_doubles);
__ popad(); __ popad();
// Tear down internal frame. // Tear down internal frame.
} }
@ -718,7 +718,7 @@ static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
// Pass deoptimization type to the runtime system. // Pass deoptimization type to the runtime system.
__ push(Immediate(Smi::FromInt(static_cast<int>(type)))); __ push(Immediate(Smi::FromInt(static_cast<int>(type))));
__ CallRuntime(Runtime::kNotifyDeoptimized, 1); __ CallRuntime(Runtime::kHiddenNotifyDeoptimized, 1);
// Tear down internal frame. // Tear down internal frame.
} }
@ -1419,7 +1419,7 @@ void Builtins::Generate_OsrAfterStackCheck(MacroAssembler* masm) {
__ j(above_equal, &ok, Label::kNear); __ j(above_equal, &ok, Label::kNear);
{ {
FrameScope scope(masm, StackFrame::INTERNAL); FrameScope scope(masm, StackFrame::INTERNAL);
__ CallRuntime(Runtime::kStackGuard, 0); __ CallRuntime(Runtime::kHiddenStackGuard, 0);
} }
__ jmp(masm->isolate()->builtins()->OnStackReplacement(), __ jmp(masm->isolate()->builtins()->OnStackReplacement(),
RelocInfo::CODE_TARGET); RelocInfo::CODE_TARGET);

View File

@ -50,7 +50,7 @@ void FastNewClosureStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 1; descriptor->register_param_count_ = 1;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry; Runtime::FunctionForId(Runtime::kHiddenNewClosureFromStubFailure)->entry;
} }
@ -92,7 +92,8 @@ void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 3; descriptor->register_param_count_ = 3;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kCreateArrayLiteralStubBailout)->entry; Runtime::FunctionForId(
Runtime::kHiddenCreateArrayLiteralStubBailout)->entry;
} }
@ -103,7 +104,7 @@ void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 4; descriptor->register_param_count_ = 4;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry; Runtime::FunctionForId(Runtime::kHiddenCreateObjectLiteral)->entry;
} }
@ -237,7 +238,7 @@ static void InitializeArrayConstructorDescriptor(
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kArrayConstructor)->entry; Runtime::FunctionForId(Runtime::kHiddenArrayConstructor)->entry;
} }
@ -265,7 +266,7 @@ static void InitializeInternalArrayConstructorDescriptor(
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kInternalArrayConstructor)->entry; Runtime::FunctionForId(Runtime::kHiddenInternalArrayConstructor)->entry;
} }
@ -1146,7 +1147,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
__ mov(Operand(esp, 2 * kPointerSize), edx); __ mov(Operand(esp, 2 * kPointerSize), edx);
__ bind(&runtime); __ bind(&runtime);
__ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1);
} }
@ -1371,7 +1372,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
__ bind(&runtime); __ bind(&runtime);
__ pop(eax); // Remove saved parameter count. __ pop(eax); // Remove saved parameter count.
__ mov(Operand(esp, 1 * kPointerSize), ecx); // Patch argument count. __ mov(Operand(esp, 1 * kPointerSize), ecx); // Patch argument count.
__ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1);
} }
@ -1470,7 +1471,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
// Do the runtime call to allocate the arguments object. // Do the runtime call to allocate the arguments object.
__ bind(&runtime); __ bind(&runtime);
__ TailCallRuntime(Runtime::kNewStrictArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewStrictArgumentsFast, 3, 1);
} }
@ -3129,7 +3130,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
} else { } else {
ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX); ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
// NumberToSmi discards numbers that are not exact integers. // NumberToSmi discards numbers that are not exact integers.
__ CallRuntime(Runtime::kNumberToSmi, 1); __ CallRuntime(Runtime::kHiddenNumberToSmi, 1);
} }
if (!index_.is(eax)) { if (!index_.is(eax)) {
// Save the conversion result before the pop instructions below // Save the conversion result before the pop instructions below

View File

@ -225,13 +225,13 @@ void FullCodeGenerator::Generate() {
if (FLAG_harmony_scoping && info->scope()->is_global_scope()) { if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
__ push(edi); __ push(edi);
__ Push(info->scope()->GetScopeInfo()); __ Push(info->scope()->GetScopeInfo());
__ CallRuntime(Runtime::kNewGlobalContext, 2); __ CallRuntime(Runtime::kHiddenNewGlobalContext, 2);
} else if (heap_slots <= FastNewContextStub::kMaximumSlots) { } else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
FastNewContextStub stub(heap_slots); FastNewContextStub stub(heap_slots);
__ CallStub(&stub); __ CallStub(&stub);
} else { } else {
__ push(edi); __ push(edi);
__ CallRuntime(Runtime::kNewFunctionContext, 1); __ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
} }
function_in_register = false; function_in_register = false;
// Context is returned in eax. It replaces the context passed to us. // Context is returned in eax. It replaces the context passed to us.
@ -824,7 +824,7 @@ void FullCodeGenerator::VisitVariableDeclaration(
} else { } else {
__ push(Immediate(Smi::FromInt(0))); // Indicates no initial value. __ push(Immediate(Smi::FromInt(0))); // Indicates no initial value.
} }
__ CallRuntime(Runtime::kDeclareContextSlot, 4); __ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
break; break;
} }
} }
@ -877,7 +877,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
__ push(Immediate(variable->name())); __ push(Immediate(variable->name()));
__ push(Immediate(Smi::FromInt(NONE))); __ push(Immediate(Smi::FromInt(NONE)));
VisitForStackValue(declaration->fun()); VisitForStackValue(declaration->fun());
__ CallRuntime(Runtime::kDeclareContextSlot, 4); __ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
break; break;
} }
} }
@ -947,7 +947,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
__ push(esi); // The context is the first argument. __ push(esi); // The context is the first argument.
__ Push(pairs); __ Push(pairs);
__ Push(Smi::FromInt(DeclareGlobalsFlags())); __ Push(Smi::FromInt(DeclareGlobalsFlags()));
__ CallRuntime(Runtime::kDeclareGlobals, 3); __ CallRuntime(Runtime::kHiddenDeclareGlobals, 3);
// Return value is ignored. // Return value is ignored.
} }
@ -955,7 +955,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) { void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) {
// Call the runtime to declare the modules. // Call the runtime to declare the modules.
__ Push(descriptions); __ Push(descriptions);
__ CallRuntime(Runtime::kDeclareModules, 1); __ CallRuntime(Runtime::kHiddenDeclareModules, 1);
// Return value is ignored. // Return value is ignored.
} }
@ -1307,7 +1307,7 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
__ push(Immediate(pretenure __ push(Immediate(pretenure
? isolate()->factory()->true_value() ? isolate()->factory()->true_value()
: isolate()->factory()->false_value())); : isolate()->factory()->false_value()));
__ CallRuntime(Runtime::kNewClosure, 3); __ CallRuntime(Runtime::kHiddenNewClosure, 3);
} }
context()->Plug(eax); context()->Plug(eax);
} }
@ -1432,7 +1432,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(Variable* var,
__ mov(eax, isolate()->factory()->undefined_value()); __ mov(eax, isolate()->factory()->undefined_value());
} else { // LET || CONST } else { // LET || CONST
__ push(Immediate(var->name())); __ push(Immediate(var->name()));
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
} }
} }
__ jmp(done); __ jmp(done);
@ -1509,7 +1509,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
// Throw a reference error when using an uninitialized let/const // Throw a reference error when using an uninitialized let/const
// binding in harmony mode. // binding in harmony mode.
__ push(Immediate(var->name())); __ push(Immediate(var->name()));
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
} else { } else {
// Uninitalized const bindings outside of harmony mode are unholed. // Uninitalized const bindings outside of harmony mode are unholed.
ASSERT(var->mode() == CONST_LEGACY); ASSERT(var->mode() == CONST_LEGACY);
@ -1533,7 +1533,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
__ bind(&slow); __ bind(&slow);
__ push(esi); // Context. __ push(esi); // Context.
__ push(Immediate(var->name())); __ push(Immediate(var->name()));
__ CallRuntime(Runtime::kLoadContextSlot, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
__ bind(&done); __ bind(&done);
context()->Plug(eax); context()->Plug(eax);
break; break;
@ -1564,7 +1564,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
__ push(Immediate(Smi::FromInt(expr->literal_index()))); __ push(Immediate(Smi::FromInt(expr->literal_index())));
__ push(Immediate(expr->pattern())); __ push(Immediate(expr->pattern()));
__ push(Immediate(expr->flags())); __ push(Immediate(expr->flags()));
__ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4); __ CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4);
__ mov(ebx, eax); __ mov(ebx, eax);
__ bind(&materialized); __ bind(&materialized);
@ -1576,7 +1576,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
__ bind(&runtime_allocate); __ bind(&runtime_allocate);
__ push(ebx); __ push(ebx);
__ push(Immediate(Smi::FromInt(size))); __ push(Immediate(Smi::FromInt(size)));
__ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
__ pop(ebx); __ pop(ebx);
__ bind(&allocated); __ bind(&allocated);
@ -1625,7 +1625,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
__ push(Immediate(Smi::FromInt(expr->literal_index()))); __ push(Immediate(Smi::FromInt(expr->literal_index())));
__ push(Immediate(constant_properties)); __ push(Immediate(constant_properties));
__ push(Immediate(Smi::FromInt(flags))); __ push(Immediate(Smi::FromInt(flags)));
__ CallRuntime(Runtime::kCreateObjectLiteral, 4); __ CallRuntime(Runtime::kHiddenCreateObjectLiteral, 4);
} else { } else {
__ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
__ mov(eax, FieldOperand(edi, JSFunction::kLiteralsOffset)); __ mov(eax, FieldOperand(edi, JSFunction::kLiteralsOffset));
@ -1778,7 +1778,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
__ push(Immediate(Smi::FromInt(expr->literal_index()))); __ push(Immediate(Smi::FromInt(expr->literal_index())));
__ push(Immediate(constant_elements)); __ push(Immediate(constant_elements));
__ push(Immediate(Smi::FromInt(flags))); __ push(Immediate(Smi::FromInt(flags)));
__ CallRuntime(Runtime::kCreateArrayLiteral, 4); __ CallRuntime(Runtime::kHiddenCreateArrayLiteral, 4);
} else { } else {
ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) || ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) ||
FLAG_smi_only_arrays); FLAG_smi_only_arrays);
@ -1991,7 +1991,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
__ cmp(esp, ebx); __ cmp(esp, ebx);
__ j(equal, &post_runtime); __ j(equal, &post_runtime);
__ push(eax); // generator object __ push(eax); // generator object
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1); __ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
__ mov(context_register(), __ mov(context_register(),
Operand(ebp, StandardFrameConstants::kContextOffset)); Operand(ebp, StandardFrameConstants::kContextOffset));
__ bind(&post_runtime); __ bind(&post_runtime);
@ -2059,7 +2059,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
__ mov(ecx, esi); __ mov(ecx, esi);
__ RecordWriteField(eax, JSGeneratorObject::kContextOffset, ecx, edx, __ RecordWriteField(eax, JSGeneratorObject::kContextOffset, ecx, edx,
kDontSaveFPRegs); kDontSaveFPRegs);
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1); __ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
__ mov(context_register(), __ mov(context_register(),
Operand(ebp, StandardFrameConstants::kContextOffset)); Operand(ebp, StandardFrameConstants::kContextOffset));
__ pop(eax); // result __ pop(eax); // result
@ -2113,7 +2113,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
Expression *value, Expression *value,
JSGeneratorObject::ResumeMode resume_mode) { JSGeneratorObject::ResumeMode resume_mode) {
// The value stays in eax, and is ultimately read by the resumed generator, as // The value stays in eax, and is ultimately read by the resumed generator, as
// if the CallRuntime(Runtime::kSuspendJSGeneratorObject) returned it. Or it // if CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject) returned it. Or it
// is read to throw the value when the resumed generator is already closed. // is read to throw the value when the resumed generator is already closed.
// ebx will hold the generator object until the activation has been resumed. // ebx will hold the generator object until the activation has been resumed.
VisitForStackValue(generator); VisitForStackValue(generator);
@ -2193,7 +2193,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
__ push(ebx); __ push(ebx);
__ push(result_register()); __ push(result_register());
__ Push(Smi::FromInt(resume_mode)); __ Push(Smi::FromInt(resume_mode));
__ CallRuntime(Runtime::kResumeJSGeneratorObject, 3); __ CallRuntime(Runtime::kHiddenResumeJSGeneratorObject, 3);
// Not reached: the runtime call returns elsewhere. // Not reached: the runtime call returns elsewhere.
__ Abort(kGeneratorFailedToResume); __ Abort(kGeneratorFailedToResume);
@ -2207,14 +2207,14 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
} else { } else {
// Throw the provided value. // Throw the provided value.
__ push(eax); __ push(eax);
__ CallRuntime(Runtime::kThrow, 1); __ CallRuntime(Runtime::kHiddenThrow, 1);
} }
__ jmp(&done); __ jmp(&done);
// Throw error if we attempt to operate on a running generator. // Throw error if we attempt to operate on a running generator.
__ bind(&wrong_state); __ bind(&wrong_state);
__ push(ebx); __ push(ebx);
__ CallRuntime(Runtime::kThrowGeneratorStateError, 1); __ CallRuntime(Runtime::kHiddenThrowGeneratorStateError, 1);
__ bind(&done); __ bind(&done);
context()->Plug(result_register()); context()->Plug(result_register());
@ -2232,7 +2232,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
__ bind(&gc_required); __ bind(&gc_required);
__ Push(Smi::FromInt(map->instance_size())); __ Push(Smi::FromInt(map->instance_size()));
__ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
__ mov(context_register(), __ mov(context_register(),
Operand(ebp, StandardFrameConstants::kContextOffset)); Operand(ebp, StandardFrameConstants::kContextOffset));
@ -2444,7 +2444,7 @@ void FullCodeGenerator::EmitCallStoreContextSlot(
__ push(esi); // Context. __ push(esi); // Context.
__ push(Immediate(name)); __ push(Immediate(name));
__ push(Immediate(Smi::FromInt(strict_mode))); __ push(Immediate(Smi::FromInt(strict_mode)));
__ CallRuntime(Runtime::kStoreContextSlot, 4); __ CallRuntime(Runtime::kHiddenStoreContextSlot, 4);
} }
@ -2463,7 +2463,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
__ push(eax); __ push(eax);
__ push(esi); __ push(esi);
__ push(Immediate(var->name())); __ push(Immediate(var->name()));
__ CallRuntime(Runtime::kInitializeConstContextSlot, 3); __ CallRuntime(Runtime::kHiddenInitializeConstContextSlot, 3);
} else { } else {
ASSERT(var->IsStackLocal() || var->IsContextSlot()); ASSERT(var->IsStackLocal() || var->IsContextSlot());
Label skip; Label skip;
@ -2487,7 +2487,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
__ cmp(edx, isolate()->factory()->the_hole_value()); __ cmp(edx, isolate()->factory()->the_hole_value());
__ j(not_equal, &assign, Label::kNear); __ j(not_equal, &assign, Label::kNear);
__ push(Immediate(var->name())); __ push(Immediate(var->name()));
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
__ bind(&assign); __ bind(&assign);
EmitStoreToStackLocalOrContextSlot(var, location); EmitStoreToStackLocalOrContextSlot(var, location);
} }
@ -2722,7 +2722,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
__ push(Immediate(Smi::FromInt(scope()->start_position()))); __ push(Immediate(Smi::FromInt(scope()->start_position())));
// Do the runtime call. // Do the runtime call.
__ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); __ CallRuntime(Runtime::kHiddenResolvePossiblyDirectEval, 5);
} }
@ -2738,8 +2738,8 @@ void FullCodeGenerator::VisitCall(Call* expr) {
Call::CallType call_type = expr->GetCallType(isolate()); Call::CallType call_type = expr->GetCallType(isolate());
if (call_type == Call::POSSIBLY_EVAL_CALL) { if (call_type == Call::POSSIBLY_EVAL_CALL) {
// In a call to eval, we first call %ResolvePossiblyDirectEval to // In a call to eval, we first call RuntimeHidden_ResolvePossiblyDirectEval
// resolve the function we need to call and the receiver of the call. // to resolve the function we need to call and the receiver of the call.
// Then we call the resolved function using the given arguments. // Then we call the resolved function using the given arguments.
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
int arg_count = args->length(); int arg_count = args->length();
@ -2789,7 +2789,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
// the object holding it (returned in edx). // the object holding it (returned in edx).
__ push(context_register()); __ push(context_register());
__ push(Immediate(proxy->name())); __ push(Immediate(proxy->name()));
__ CallRuntime(Runtime::kLoadContextSlot, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
__ push(eax); // Function. __ push(eax); // Function.
__ push(edx); // Receiver. __ push(edx); // Receiver.
@ -3453,7 +3453,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
} }
__ bind(&not_date_object); __ bind(&not_date_object);
__ CallRuntime(Runtime::kThrowNotDateError, 0); __ CallRuntime(Runtime::kHiddenThrowNotDateError, 0);
__ bind(&done); __ bind(&done);
context()->Plug(result); context()->Plug(result);
} }
@ -4234,7 +4234,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
// context where the variable was introduced. // context where the variable was introduced.
__ push(context_register()); __ push(context_register());
__ push(Immediate(var->name())); __ push(Immediate(var->name()));
__ CallRuntime(Runtime::kDeleteContextSlot, 2); __ CallRuntime(Runtime::kHiddenDeleteContextSlot, 2);
context()->Plug(eax); context()->Plug(eax);
} }
} else { } else {
@ -4527,7 +4527,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
__ bind(&slow); __ bind(&slow);
__ push(esi); __ push(esi);
__ push(Immediate(proxy->name())); __ push(Immediate(proxy->name()));
__ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlotNoReferenceError, 2);
PrepareForBailout(expr, TOS_REG); PrepareForBailout(expr, TOS_REG);
__ bind(&done); __ bind(&done);

View File

@ -297,7 +297,7 @@ bool LCodeGen::GeneratePrologue() {
__ CallStub(&stub); __ CallStub(&stub);
} else { } else {
__ push(edi); __ push(edi);
__ CallRuntime(Runtime::kNewFunctionContext, 1); __ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
} }
RecordSafepoint(Safepoint::kNoLazyDeopt); RecordSafepoint(Safepoint::kNoLazyDeopt);
// Context is returned in eax. It replaces the context passed to us. // Context is returned in eax. It replaces the context passed to us.
@ -3739,7 +3739,7 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
__ push(esi); // The context is the first argument. __ push(esi); // The context is the first argument.
__ push(Immediate(instr->hydrogen()->pairs())); __ push(Immediate(instr->hydrogen()->pairs()));
__ push(Immediate(Smi::FromInt(instr->hydrogen()->flags()))); __ push(Immediate(Smi::FromInt(instr->hydrogen()->flags())));
CallRuntime(Runtime::kDeclareGlobals, 3, instr); CallRuntime(Runtime::kHiddenDeclareGlobals, 3, instr);
} }
@ -3863,7 +3863,7 @@ void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr) {
// Slow case: Call the runtime system to do the number allocation. // Slow case: Call the runtime system to do the number allocation.
__ bind(&slow); __ bind(&slow);
CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0, CallRuntimeFromDeferred(Runtime::kHiddenAllocateHeapNumber, 0,
instr, instr->context()); instr, instr->context());
// Set the pointer to the new heap number in tmp. // Set the pointer to the new heap number in tmp.
if (!tmp.is(eax)) __ mov(tmp, eax); if (!tmp.is(eax)) __ mov(tmp, eax);
@ -5024,11 +5024,11 @@ void LCodeGen::DoDeferredNumberTagIU(LInstruction* instr,
// NumberTagI and NumberTagD use the context from the frame, rather than // NumberTagI and NumberTagD use the context from the frame, rather than
// the environment's HContext or HInlinedContext value. // the environment's HContext or HInlinedContext value.
// They only call Runtime::kAllocateHeapNumber. // They only call Runtime::kHiddenAllocateHeapNumber.
// The corresponding HChange instructions are added in a phase that does // The corresponding HChange instructions are added in a phase that does
// not have easy access to the local context. // not have easy access to the local context.
__ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
RecordSafepointWithRegisters( RecordSafepointWithRegisters(
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt); instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
__ StoreToSafepointRegisterSlot(reg, eax); __ StoreToSafepointRegisterSlot(reg, eax);
@ -5099,11 +5099,11 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
PushSafepointRegistersScope scope(this); PushSafepointRegistersScope scope(this);
// NumberTagI and NumberTagD use the context from the frame, rather than // NumberTagI and NumberTagD use the context from the frame, rather than
// the environment's HContext or HInlinedContext value. // the environment's HContext or HInlinedContext value.
// They only call Runtime::kAllocateHeapNumber. // They only call Runtime::kHiddenAllocateHeapNumber.
// The corresponding HChange instructions are added in a phase that does // The corresponding HChange instructions are added in a phase that does
// not have easy access to the local context. // not have easy access to the local context.
__ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
RecordSafepointWithRegisters( RecordSafepointWithRegisters(
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt); instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
__ StoreToSafepointRegisterSlot(reg, eax); __ StoreToSafepointRegisterSlot(reg, eax);
@ -5926,7 +5926,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
__ push(Immediate(Smi::FromInt(flags))); __ push(Immediate(Smi::FromInt(flags)));
CallRuntimeFromDeferred( CallRuntimeFromDeferred(
Runtime::kAllocateInTargetSpace, 2, instr, instr->context()); Runtime::kHiddenAllocateInTargetSpace, 2, instr, instr->context());
__ StoreToSafepointRegisterSlot(result, eax); __ StoreToSafepointRegisterSlot(result, eax);
} }
@ -5959,7 +5959,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
__ push(Immediate(Smi::FromInt(instr->hydrogen()->literal_index()))); __ push(Immediate(Smi::FromInt(instr->hydrogen()->literal_index())));
__ push(Immediate(instr->hydrogen()->pattern())); __ push(Immediate(instr->hydrogen()->pattern()));
__ push(Immediate(instr->hydrogen()->flags())); __ push(Immediate(instr->hydrogen()->flags()));
CallRuntime(Runtime::kMaterializeRegExpLiteral, 4, instr); CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4, instr);
__ mov(ebx, eax); __ mov(ebx, eax);
__ bind(&materialized); __ bind(&materialized);
@ -5971,7 +5971,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
__ bind(&runtime_allocate); __ bind(&runtime_allocate);
__ push(ebx); __ push(ebx);
__ push(Immediate(Smi::FromInt(size))); __ push(Immediate(Smi::FromInt(size)));
CallRuntime(Runtime::kAllocateInNewSpace, 1, instr); CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1, instr);
__ pop(ebx); __ pop(ebx);
__ bind(&allocated); __ bind(&allocated);
@ -6005,7 +6005,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
__ push(Immediate(instr->hydrogen()->shared_info())); __ push(Immediate(instr->hydrogen()->shared_info()));
__ push(Immediate(pretenure ? factory()->true_value() __ push(Immediate(pretenure ? factory()->true_value()
: factory()->false_value())); : factory()->false_value()));
CallRuntime(Runtime::kNewClosure, 3, instr); CallRuntime(Runtime::kHiddenNewClosure, 3, instr);
} }
} }
@ -6185,7 +6185,7 @@ void LCodeGen::DoDummyUse(LDummyUse* instr) {
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) { void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
PushSafepointRegistersScope scope(this); PushSafepointRegistersScope scope(this);
__ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kStackGuard); __ CallRuntimeSaveDoubles(Runtime::kHiddenStackGuard);
RecordSafepointWithLazyDeopt( RecordSafepointWithLazyDeopt(
instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS); instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS);
ASSERT(instr->HasEnvironment()); ASSERT(instr->HasEnvironment());

View File

@ -2429,7 +2429,7 @@ void MacroAssembler::CallApiFunctionAndReturn(
bind(&promote_scheduled_exception); bind(&promote_scheduled_exception);
{ {
FrameScope frame(this, StackFrame::INTERNAL); FrameScope frame(this, StackFrame::INTERNAL);
CallRuntime(Runtime::kPromoteScheduledException, 0); CallRuntime(Runtime::kHiddenPromoteScheduledException, 0);
} }
jmp(&exception_handled); jmp(&exception_handled);
@ -3021,9 +3021,9 @@ void MacroAssembler::Throw(BailoutReason reason) {
// We don't actually want to generate a pile of code for this, so just // We don't actually want to generate a pile of code for this, so just
// claim there is a stack frame, without generating one. // claim there is a stack frame, without generating one.
FrameScope scope(this, StackFrame::NONE); FrameScope scope(this, StackFrame::NONE);
CallRuntime(Runtime::kThrowMessage, 1); CallRuntime(Runtime::kHiddenThrowMessage, 1);
} else { } else {
CallRuntime(Runtime::kThrowMessage, 1); CallRuntime(Runtime::kHiddenThrowMessage, 1);
} }
// will not return here // will not return here
int3(); int3();

View File

@ -332,7 +332,7 @@ void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) {
__ LoadRoot(t0, Heap::kStackLimitRootIndex); __ LoadRoot(t0, Heap::kStackLimitRootIndex);
__ Branch(&ok, hs, sp, Operand(t0)); __ Branch(&ok, hs, sp, Operand(t0));
CallRuntimePassFunction(masm, Runtime::kTryInstallOptimizedCode); CallRuntimePassFunction(masm, Runtime::kHiddenTryInstallOptimizedCode);
GenerateTailCallToReturnedCode(masm); GenerateTailCallToReturnedCode(masm);
__ bind(&ok); __ bind(&ok);
@ -427,7 +427,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
__ Push(a1, a2, a1); // a1 = Constructor. __ Push(a1, a2, a1); // a1 = Constructor.
// The call will replace the stub, so the countdown is only done once. // The call will replace the stub, so the countdown is only done once.
__ CallRuntime(Runtime::kFinalizeInstanceSize, 1); __ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
__ Pop(a1, a2); __ Pop(a1, a2);
@ -624,9 +624,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
__ push(a1); // Argument for Runtime_NewObject. __ push(a1); // Argument for Runtime_NewObject.
if (create_memento) { if (create_memento) {
__ CallRuntime(Runtime::kNewObjectWithAllocationSite, 2); __ CallRuntime(Runtime::kHiddenNewObjectWithAllocationSite, 2);
} else { } else {
__ CallRuntime(Runtime::kNewObject, 1); __ CallRuntime(Runtime::kHiddenNewObject, 1);
} }
__ mov(t4, v0); __ mov(t4, v0);
@ -854,7 +854,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) { void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) {
CallRuntimePassFunction(masm, Runtime::kCompileUnoptimized); CallRuntimePassFunction(masm, Runtime::kHiddenCompileUnoptimized);
GenerateTailCallToReturnedCode(masm); GenerateTailCallToReturnedCode(masm);
} }
@ -867,7 +867,7 @@ static void CallCompileOptimized(MacroAssembler* masm, bool concurrent) {
// Whether to compile in a background thread. // Whether to compile in a background thread.
__ Push(masm->isolate()->factory()->ToBoolean(concurrent)); __ Push(masm->isolate()->factory()->ToBoolean(concurrent));
__ CallRuntime(Runtime::kCompileOptimized, 2); __ CallRuntime(Runtime::kHiddenCompileOptimized, 2);
// Restore receiver. // Restore receiver.
__ Pop(a1); __ Pop(a1);
} }
@ -976,7 +976,7 @@ static void Generate_NotifyStubFailureHelper(MacroAssembler* masm,
// registers. // registers.
__ MultiPush(kJSCallerSaved | kCalleeSaved); __ MultiPush(kJSCallerSaved | kCalleeSaved);
// Pass the function and deoptimization type to the runtime system. // Pass the function and deoptimization type to the runtime system.
__ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles); __ CallRuntime(Runtime::kHiddenNotifyStubFailure, 0, save_doubles);
__ MultiPop(kJSCallerSaved | kCalleeSaved); __ MultiPop(kJSCallerSaved | kCalleeSaved);
} }
@ -1002,7 +1002,7 @@ static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
// Pass the function and deoptimization type to the runtime system. // Pass the function and deoptimization type to the runtime system.
__ li(a0, Operand(Smi::FromInt(static_cast<int>(type)))); __ li(a0, Operand(Smi::FromInt(static_cast<int>(type))));
__ push(a0); __ push(a0);
__ CallRuntime(Runtime::kNotifyDeoptimized, 1); __ CallRuntime(Runtime::kHiddenNotifyDeoptimized, 1);
} }
// Get the full codegen state from the stack and untag it -> t2. // Get the full codegen state from the stack and untag it -> t2.
@ -1084,7 +1084,7 @@ void Builtins::Generate_OsrAfterStackCheck(MacroAssembler* masm) {
__ Branch(&ok, hs, sp, Operand(at)); __ Branch(&ok, hs, sp, Operand(at));
{ {
FrameScope scope(masm, StackFrame::INTERNAL); FrameScope scope(masm, StackFrame::INTERNAL);
__ CallRuntime(Runtime::kStackGuard, 0); __ CallRuntime(Runtime::kHiddenStackGuard, 0);
} }
__ Jump(masm->isolate()->builtins()->OnStackReplacement(), __ Jump(masm->isolate()->builtins()->OnStackReplacement(),
RelocInfo::CODE_TARGET); RelocInfo::CODE_TARGET);

View File

@ -46,7 +46,7 @@ void FastNewClosureStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 1; descriptor->register_param_count_ = 1;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry; Runtime::FunctionForId(Runtime::kHiddenNewClosureFromStubFailure)->entry;
} }
@ -88,7 +88,8 @@ void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 3; descriptor->register_param_count_ = 3;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kCreateArrayLiteralStubBailout)->entry; Runtime::FunctionForId(
Runtime::kHiddenCreateArrayLiteralStubBailout)->entry;
} }
@ -99,7 +100,7 @@ void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 4; descriptor->register_param_count_ = 4;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry; Runtime::FunctionForId(Runtime::kHiddenCreateObjectLiteral)->entry;
} }
@ -247,7 +248,7 @@ static void InitializeArrayConstructorDescriptor(
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kArrayConstructor)->entry; Runtime::FunctionForId(Runtime::kHiddenArrayConstructor)->entry;
} }
@ -275,7 +276,7 @@ static void InitializeInternalArrayConstructorDescriptor(
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kInternalArrayConstructor)->entry; Runtime::FunctionForId(Runtime::kHiddenInternalArrayConstructor)->entry;
} }
@ -2263,7 +2264,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
__ sw(a3, MemOperand(sp, 1 * kPointerSize)); __ sw(a3, MemOperand(sp, 1 * kPointerSize));
__ bind(&runtime); __ bind(&runtime);
__ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1);
} }
@ -2482,7 +2483,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
// a2 = argument count (tagged) // a2 = argument count (tagged)
__ bind(&runtime); __ bind(&runtime);
__ sw(a2, MemOperand(sp, 0 * kPointerSize)); // Patch argument count. __ sw(a2, MemOperand(sp, 0 * kPointerSize)); // Patch argument count.
__ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1);
} }
@ -2580,7 +2581,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
// Do the runtime call to allocate the arguments object. // Do the runtime call to allocate the arguments object.
__ bind(&runtime); __ bind(&runtime);
__ TailCallRuntime(Runtime::kNewStrictArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewStrictArgumentsFast, 3, 1);
} }
@ -3364,7 +3365,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
} else { } else {
ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX); ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
// NumberToSmi discards numbers that are not exact integers. // NumberToSmi discards numbers that are not exact integers.
__ CallRuntime(Runtime::kNumberToSmi, 1); __ CallRuntime(Runtime::kHiddenNumberToSmi, 1);
} }
// Save the conversion result before the pop instructions below // Save the conversion result before the pop instructions below

View File

@ -243,13 +243,13 @@ void FullCodeGenerator::Generate() {
if (FLAG_harmony_scoping && info->scope()->is_global_scope()) { if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
__ push(a1); __ push(a1);
__ Push(info->scope()->GetScopeInfo()); __ Push(info->scope()->GetScopeInfo());
__ CallRuntime(Runtime::kNewGlobalContext, 2); __ CallRuntime(Runtime::kHiddenNewGlobalContext, 2);
} else if (heap_slots <= FastNewContextStub::kMaximumSlots) { } else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
FastNewContextStub stub(heap_slots); FastNewContextStub stub(heap_slots);
__ CallStub(&stub); __ CallStub(&stub);
} else { } else {
__ push(a1); __ push(a1);
__ CallRuntime(Runtime::kNewFunctionContext, 1); __ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
} }
function_in_register = false; function_in_register = false;
// Context is returned in v0. It replaces the context passed to us. // Context is returned in v0. It replaces the context passed to us.
@ -877,7 +877,7 @@ void FullCodeGenerator::VisitVariableDeclaration(
__ mov(a0, zero_reg); // Smi::FromInt(0) indicates no initial value. __ mov(a0, zero_reg); // Smi::FromInt(0) indicates no initial value.
__ Push(cp, a2, a1, a0); __ Push(cp, a2, a1, a0);
} }
__ CallRuntime(Runtime::kDeclareContextSlot, 4); __ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
break; break;
} }
} }
@ -933,7 +933,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
__ Push(cp, a2, a1); __ Push(cp, a2, a1);
// Push initial value for function declaration. // Push initial value for function declaration.
VisitForStackValue(declaration->fun()); VisitForStackValue(declaration->fun());
__ CallRuntime(Runtime::kDeclareContextSlot, 4); __ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
break; break;
} }
} }
@ -1005,7 +1005,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
__ li(a1, Operand(pairs)); __ li(a1, Operand(pairs));
__ li(a0, Operand(Smi::FromInt(DeclareGlobalsFlags()))); __ li(a0, Operand(Smi::FromInt(DeclareGlobalsFlags())));
__ Push(cp, a1, a0); __ Push(cp, a1, a0);
__ CallRuntime(Runtime::kDeclareGlobals, 3); __ CallRuntime(Runtime::kHiddenDeclareGlobals, 3);
// Return value is ignored. // Return value is ignored.
} }
@ -1013,7 +1013,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) { void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) {
// Call the runtime to declare the modules. // Call the runtime to declare the modules.
__ Push(descriptions); __ Push(descriptions);
__ CallRuntime(Runtime::kDeclareModules, 1); __ CallRuntime(Runtime::kHiddenDeclareModules, 1);
// Return value is ignored. // Return value is ignored.
} }
@ -1372,7 +1372,7 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
__ LoadRoot(a1, pretenure ? Heap::kTrueValueRootIndex __ LoadRoot(a1, pretenure ? Heap::kTrueValueRootIndex
: Heap::kFalseValueRootIndex); : Heap::kFalseValueRootIndex);
__ Push(cp, a0, a1); __ Push(cp, a0, a1);
__ CallRuntime(Runtime::kNewClosure, 3); __ CallRuntime(Runtime::kHiddenNewClosure, 3);
} }
context()->Plug(v0); context()->Plug(v0);
} }
@ -1494,7 +1494,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(Variable* var,
__ Branch(done, ne, at, Operand(zero_reg)); __ Branch(done, ne, at, Operand(zero_reg));
__ li(a0, Operand(var->name())); __ li(a0, Operand(var->name()));
__ push(a0); __ push(a0);
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
} }
} }
__ Branch(done); __ Branch(done);
@ -1573,7 +1573,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
__ Branch(&done, ne, at, Operand(zero_reg)); __ Branch(&done, ne, at, Operand(zero_reg));
__ li(a0, Operand(var->name())); __ li(a0, Operand(var->name()));
__ push(a0); __ push(a0);
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
__ bind(&done); __ bind(&done);
} else { } else {
// Uninitalized const bindings outside of harmony mode are unholed. // Uninitalized const bindings outside of harmony mode are unholed.
@ -1598,7 +1598,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
__ bind(&slow); __ bind(&slow);
__ li(a1, Operand(var->name())); __ li(a1, Operand(var->name()));
__ Push(cp, a1); // Context and name. __ Push(cp, a1); // Context and name.
__ CallRuntime(Runtime::kLoadContextSlot, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
__ bind(&done); __ bind(&done);
context()->Plug(v0); context()->Plug(v0);
} }
@ -1630,7 +1630,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
__ li(a2, Operand(expr->pattern())); __ li(a2, Operand(expr->pattern()));
__ li(a1, Operand(expr->flags())); __ li(a1, Operand(expr->flags()));
__ Push(t0, a3, a2, a1); __ Push(t0, a3, a2, a1);
__ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4); __ CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4);
__ mov(t1, v0); __ mov(t1, v0);
__ bind(&materialized); __ bind(&materialized);
@ -1642,7 +1642,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
__ bind(&runtime_allocate); __ bind(&runtime_allocate);
__ li(a0, Operand(Smi::FromInt(size))); __ li(a0, Operand(Smi::FromInt(size)));
__ Push(t1, a0); __ Push(t1, a0);
__ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
__ pop(t1); __ pop(t1);
__ bind(&allocated); __ bind(&allocated);
@ -1687,7 +1687,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
flags != ObjectLiteral::kFastElements || flags != ObjectLiteral::kFastElements ||
properties_count > FastCloneShallowObjectStub::kMaximumClonedProperties) { properties_count > FastCloneShallowObjectStub::kMaximumClonedProperties) {
__ Push(a3, a2, a1, a0); __ Push(a3, a2, a1, a0);
__ CallRuntime(Runtime::kCreateObjectLiteral, 4); __ CallRuntime(Runtime::kHiddenCreateObjectLiteral, 4);
} else { } else {
FastCloneShallowObjectStub stub(properties_count); FastCloneShallowObjectStub stub(properties_count);
__ CallStub(&stub); __ CallStub(&stub);
@ -1841,7 +1841,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
length > FastCloneShallowArrayStub::kMaximumClonedLength) { length > FastCloneShallowArrayStub::kMaximumClonedLength) {
__ li(a0, Operand(Smi::FromInt(flags))); __ li(a0, Operand(Smi::FromInt(flags)));
__ Push(a3, a2, a1, a0); __ Push(a3, a2, a1, a0);
__ CallRuntime(Runtime::kCreateArrayLiteral, 4); __ CallRuntime(Runtime::kHiddenCreateArrayLiteral, 4);
} else { } else {
ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) || ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) ||
FLAG_smi_only_arrays); FLAG_smi_only_arrays);
@ -2043,7 +2043,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
__ Addu(a1, fp, Operand(StandardFrameConstants::kExpressionsOffset)); __ Addu(a1, fp, Operand(StandardFrameConstants::kExpressionsOffset));
__ Branch(&post_runtime, eq, sp, Operand(a1)); __ Branch(&post_runtime, eq, sp, Operand(a1));
__ push(v0); // generator object __ push(v0); // generator object
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1); __ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
__ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ bind(&post_runtime); __ bind(&post_runtime);
__ pop(result_register()); __ pop(result_register());
@ -2111,7 +2111,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
__ mov(a1, cp); __ mov(a1, cp);
__ RecordWriteField(a0, JSGeneratorObject::kContextOffset, a1, a2, __ RecordWriteField(a0, JSGeneratorObject::kContextOffset, a1, a2,
kRAHasBeenSaved, kDontSaveFPRegs); kRAHasBeenSaved, kDontSaveFPRegs);
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1); __ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
__ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ pop(v0); // result __ pop(v0); // result
EmitReturnSequence(); EmitReturnSequence();
@ -2166,7 +2166,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
Expression *value, Expression *value,
JSGeneratorObject::ResumeMode resume_mode) { JSGeneratorObject::ResumeMode resume_mode) {
// The value stays in a0, and is ultimately read by the resumed generator, as // The value stays in a0, and is ultimately read by the resumed generator, as
// if the CallRuntime(Runtime::kSuspendJSGeneratorObject) returned it. Or it // if CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject) returned it. Or it
// is read to throw the value when the resumed generator is already closed. // is read to throw the value when the resumed generator is already closed.
// a1 will hold the generator object until the activation has been resumed. // a1 will hold the generator object until the activation has been resumed.
VisitForStackValue(generator); VisitForStackValue(generator);
@ -2248,7 +2248,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
ASSERT(!result_register().is(a1)); ASSERT(!result_register().is(a1));
__ Push(a1, result_register()); __ Push(a1, result_register());
__ Push(Smi::FromInt(resume_mode)); __ Push(Smi::FromInt(resume_mode));
__ CallRuntime(Runtime::kResumeJSGeneratorObject, 3); __ CallRuntime(Runtime::kHiddenResumeJSGeneratorObject, 3);
// Not reached: the runtime call returns elsewhere. // Not reached: the runtime call returns elsewhere.
__ stop("not-reached"); __ stop("not-reached");
@ -2263,14 +2263,14 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
} else { } else {
// Throw the provided value. // Throw the provided value.
__ push(a0); __ push(a0);
__ CallRuntime(Runtime::kThrow, 1); __ CallRuntime(Runtime::kHiddenThrow, 1);
} }
__ jmp(&done); __ jmp(&done);
// Throw error if we attempt to operate on a running generator. // Throw error if we attempt to operate on a running generator.
__ bind(&wrong_state); __ bind(&wrong_state);
__ push(a1); __ push(a1);
__ CallRuntime(Runtime::kThrowGeneratorStateError, 1); __ CallRuntime(Runtime::kHiddenThrowGeneratorStateError, 1);
__ bind(&done); __ bind(&done);
context()->Plug(result_register()); context()->Plug(result_register());
@ -2288,7 +2288,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
__ bind(&gc_required); __ bind(&gc_required);
__ Push(Smi::FromInt(map->instance_size())); __ Push(Smi::FromInt(map->instance_size()));
__ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
__ lw(context_register(), __ lw(context_register(),
MemOperand(fp, StandardFrameConstants::kContextOffset)); MemOperand(fp, StandardFrameConstants::kContextOffset));
@ -2506,7 +2506,7 @@ void FullCodeGenerator::EmitCallStoreContextSlot(
__ li(a1, Operand(name)); __ li(a1, Operand(name));
__ li(a0, Operand(Smi::FromInt(strict_mode))); __ li(a0, Operand(Smi::FromInt(strict_mode)));
__ Push(v0, cp, a1, a0); // Value, context, name, strict mode. __ Push(v0, cp, a1, a0); // Value, context, name, strict mode.
__ CallRuntime(Runtime::kStoreContextSlot, 4); __ CallRuntime(Runtime::kHiddenStoreContextSlot, 4);
} }
@ -2524,7 +2524,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op) {
if (var->IsLookupSlot()) { if (var->IsLookupSlot()) {
__ li(a0, Operand(var->name())); __ li(a0, Operand(var->name()));
__ Push(v0, cp, a0); // Context and name. __ Push(v0, cp, a0); // Context and name.
__ CallRuntime(Runtime::kInitializeConstContextSlot, 3); __ CallRuntime(Runtime::kHiddenInitializeConstContextSlot, 3);
} else { } else {
ASSERT(var->IsStackAllocated() || var->IsContextSlot()); ASSERT(var->IsStackAllocated() || var->IsContextSlot());
Label skip; Label skip;
@ -2549,7 +2549,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op) {
__ Branch(&assign, ne, a3, Operand(t0)); __ Branch(&assign, ne, a3, Operand(t0));
__ li(a3, Operand(var->name())); __ li(a3, Operand(var->name()));
__ push(a3); __ push(a3);
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
// Perform the assignment. // Perform the assignment.
__ bind(&assign); __ bind(&assign);
EmitStoreToStackLocalOrContextSlot(var, location); EmitStoreToStackLocalOrContextSlot(var, location);
@ -2785,7 +2785,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
// Do the runtime call. // Do the runtime call.
__ Push(t2, t1, t0, a1); __ Push(t2, t1, t0, a1);
__ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); __ CallRuntime(Runtime::kHiddenResolvePossiblyDirectEval, 5);
} }
@ -2801,8 +2801,8 @@ void FullCodeGenerator::VisitCall(Call* expr) {
Call::CallType call_type = expr->GetCallType(isolate()); Call::CallType call_type = expr->GetCallType(isolate());
if (call_type == Call::POSSIBLY_EVAL_CALL) { if (call_type == Call::POSSIBLY_EVAL_CALL) {
// In a call to eval, we first call %ResolvePossiblyDirectEval to // In a call to eval, we first call RuntimeHidden_ResolvePossiblyDirectEval
// resolve the function we need to call and the receiver of the // to resolve the function we need to call and the receiver of the
// call. Then we call the resolved function using the given // call. Then we call the resolved function using the given
// arguments. // arguments.
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
@ -2857,7 +2857,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
ASSERT(!context_register().is(a2)); ASSERT(!context_register().is(a2));
__ li(a2, Operand(proxy->name())); __ li(a2, Operand(proxy->name()));
__ Push(context_register(), a2); __ Push(context_register(), a2);
__ CallRuntime(Runtime::kLoadContextSlot, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
__ Push(v0, v1); // Function, receiver. __ Push(v0, v1); // Function, receiver.
// If fast case code has been generated, emit code to push the // If fast case code has been generated, emit code to push the
@ -3521,7 +3521,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
} }
__ bind(&not_date_object); __ bind(&not_date_object);
__ CallRuntime(Runtime::kThrowNotDateError, 0); __ CallRuntime(Runtime::kHiddenThrowNotDateError, 0);
__ bind(&done); __ bind(&done);
context()->Plug(v0); context()->Plug(v0);
} }
@ -4283,7 +4283,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
ASSERT(!context_register().is(a2)); ASSERT(!context_register().is(a2));
__ li(a2, Operand(var->name())); __ li(a2, Operand(var->name()));
__ Push(context_register(), a2); __ Push(context_register(), a2);
__ CallRuntime(Runtime::kDeleteContextSlot, 2); __ CallRuntime(Runtime::kHiddenDeleteContextSlot, 2);
context()->Plug(v0); context()->Plug(v0);
} }
} else { } else {
@ -4565,7 +4565,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
__ bind(&slow); __ bind(&slow);
__ li(a0, Operand(proxy->name())); __ li(a0, Operand(proxy->name()));
__ Push(cp, a0); __ Push(cp, a0);
__ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlotNoReferenceError, 2);
PrepareForBailout(expr, TOS_REG); PrepareForBailout(expr, TOS_REG);
__ bind(&done); __ bind(&done);

View File

@ -207,7 +207,7 @@ bool LCodeGen::GeneratePrologue() {
__ CallStub(&stub); __ CallStub(&stub);
} else { } else {
__ push(a1); __ push(a1);
__ CallRuntime(Runtime::kNewFunctionContext, 1); __ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
} }
RecordSafepoint(Safepoint::kNoLazyDeopt); RecordSafepoint(Safepoint::kNoLazyDeopt);
// Context is returned in both v0. It replaces the context passed to us. // Context is returned in both v0. It replaces the context passed to us.
@ -3499,7 +3499,7 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
__ li(scratch1(), Operand(Smi::FromInt(instr->hydrogen()->flags()))); __ li(scratch1(), Operand(Smi::FromInt(instr->hydrogen()->flags())));
// The context is the first argument. // The context is the first argument.
__ Push(cp, scratch0(), scratch1()); __ Push(cp, scratch0(), scratch1());
CallRuntime(Runtime::kDeclareGlobals, 3, instr); CallRuntime(Runtime::kHiddenDeclareGlobals, 3, instr);
} }
@ -3588,7 +3588,7 @@ void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr) {
// Slow case: Call the runtime system to do the number allocation. // Slow case: Call the runtime system to do the number allocation.
__ bind(&slow); __ bind(&slow);
CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0, instr, CallRuntimeFromDeferred(Runtime::kHiddenAllocateHeapNumber, 0, instr,
instr->context()); instr->context());
// Set the pointer to the new heap number in tmp. // Set the pointer to the new heap number in tmp.
if (!tmp1.is(v0)) if (!tmp1.is(v0))
@ -4672,11 +4672,11 @@ void LCodeGen::DoDeferredNumberTagIU(LInstruction* instr,
// NumberTagI and NumberTagD use the context from the frame, rather than // NumberTagI and NumberTagD use the context from the frame, rather than
// the environment's HContext or HInlinedContext value. // the environment's HContext or HInlinedContext value.
// They only call Runtime::kAllocateHeapNumber. // They only call Runtime::kHiddenAllocateHeapNumber.
// The corresponding HChange instructions are added in a phase that does // The corresponding HChange instructions are added in a phase that does
// not have easy access to the local context. // not have easy access to the local context.
__ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
RecordSafepointWithRegisters( RecordSafepointWithRegisters(
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt); instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
__ Subu(v0, v0, kHeapObjectTag); __ Subu(v0, v0, kHeapObjectTag);
@ -4737,11 +4737,11 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters); PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
// NumberTagI and NumberTagD use the context from the frame, rather than // NumberTagI and NumberTagD use the context from the frame, rather than
// the environment's HContext or HInlinedContext value. // the environment's HContext or HInlinedContext value.
// They only call Runtime::kAllocateHeapNumber. // They only call Runtime::kHiddenAllocateHeapNumber.
// The corresponding HChange instructions are added in a phase that does // The corresponding HChange instructions are added in a phase that does
// not have easy access to the local context. // not have easy access to the local context.
__ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
RecordSafepointWithRegisters( RecordSafepointWithRegisters(
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt); instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
__ Subu(v0, v0, kHeapObjectTag); __ Subu(v0, v0, kHeapObjectTag);
@ -5351,7 +5351,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
__ Push(Smi::FromInt(flags)); __ Push(Smi::FromInt(flags));
CallRuntimeFromDeferred( CallRuntimeFromDeferred(
Runtime::kAllocateInTargetSpace, 2, instr, instr->context()); Runtime::kHiddenAllocateInTargetSpace, 2, instr, instr->context());
__ StoreToSafepointRegisterSlot(v0, result); __ StoreToSafepointRegisterSlot(v0, result);
} }
@ -5385,7 +5385,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
__ li(t1, Operand(instr->hydrogen()->pattern())); __ li(t1, Operand(instr->hydrogen()->pattern()));
__ li(t0, Operand(instr->hydrogen()->flags())); __ li(t0, Operand(instr->hydrogen()->flags()));
__ Push(t3, t2, t1, t0); __ Push(t3, t2, t1, t0);
CallRuntime(Runtime::kMaterializeRegExpLiteral, 4, instr); CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4, instr);
__ mov(a1, v0); __ mov(a1, v0);
__ bind(&materialized); __ bind(&materialized);
@ -5398,7 +5398,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
__ bind(&runtime_allocate); __ bind(&runtime_allocate);
__ li(a0, Operand(Smi::FromInt(size))); __ li(a0, Operand(Smi::FromInt(size)));
__ Push(a1, a0); __ Push(a1, a0);
CallRuntime(Runtime::kAllocateInNewSpace, 1, instr); CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1, instr);
__ pop(a1); __ pop(a1);
__ bind(&allocated); __ bind(&allocated);
@ -5432,7 +5432,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
__ li(a1, Operand(pretenure ? factory()->true_value() __ li(a1, Operand(pretenure ? factory()->true_value()
: factory()->false_value())); : factory()->false_value()));
__ Push(cp, a2, a1); __ Push(cp, a2, a1);
CallRuntime(Runtime::kNewClosure, 3, instr); CallRuntime(Runtime::kHiddenNewClosure, 3, instr);
} }
} }
@ -5656,7 +5656,7 @@ void LCodeGen::DoDummyUse(LDummyUse* instr) {
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) { void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters); PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
LoadContextFromDeferred(instr->context()); LoadContextFromDeferred(instr->context());
__ CallRuntimeSaveDoubles(Runtime::kStackGuard); __ CallRuntimeSaveDoubles(Runtime::kHiddenStackGuard);
RecordSafepointWithLazyDeopt( RecordSafepointWithLazyDeopt(
instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS); instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS);
ASSERT(instr->HasEnvironment()); ASSERT(instr->HasEnvironment());

View File

@ -3986,7 +3986,7 @@ void MacroAssembler::CallApiFunctionAndReturn(
{ {
FrameScope frame(this, StackFrame::INTERNAL); FrameScope frame(this, StackFrame::INTERNAL);
CallExternalReference( CallExternalReference(
ExternalReference(Runtime::kPromoteScheduledException, isolate()), ExternalReference(Runtime::kHiddenPromoteScheduledException, isolate()),
0); 0);
} }
jmp(&exception_handled); jmp(&exception_handled);
@ -5451,9 +5451,9 @@ void MacroAssembler::Throw(BailoutReason reason) {
// We don't actually want to generate a pile of code for this, so just // We don't actually want to generate a pile of code for this, so just
// claim there is a stack frame, without generating one. // claim there is a stack frame, without generating one.
FrameScope scope(this, StackFrame::NONE); FrameScope scope(this, StackFrame::NONE);
CallRuntime(Runtime::kThrowMessage, 1); CallRuntime(Runtime::kHiddenThrowMessage, 1);
} else { } else {
CallRuntime(Runtime::kThrowMessage, 1); CallRuntime(Runtime::kHiddenThrowMessage, 1);
} }
// will not return here // will not return here
if (is_trampoline_pool_blocked()) { if (is_trampoline_pool_blocked()) {

View File

@ -1738,7 +1738,7 @@ void Parser::Declare(Declaration* declaration, bool resolve, bool* ok) {
// same variable if it is declared several times. This is not a // same variable if it is declared several times. This is not a
// semantic issue as long as we keep the source order, but it may be // semantic issue as long as we keep the source order, but it may be
// a performance issue since it may lead to repeated // a performance issue since it may lead to repeated
// Runtime::DeclareContextSlot() calls. // RuntimeHidden_DeclareContextSlot calls.
declaration_scope->AddDeclaration(declaration); declaration_scope->AddDeclaration(declaration);
if (mode == CONST_LEGACY && declaration_scope->is_global_scope()) { if (mode == CONST_LEGACY && declaration_scope->is_global_scope()) {
@ -2216,7 +2216,7 @@ Block* Parser::ParseVariableDeclarations(
// the number of arguments (1 or 2). // the number of arguments (1 or 2).
initialize = factory()->NewCallRuntime( initialize = factory()->NewCallRuntime(
isolate()->factory()->InitializeConstGlobal_string(), isolate()->factory()->InitializeConstGlobal_string(),
Runtime::FunctionForId(Runtime::kInitializeConstGlobal), Runtime::FunctionForId(Runtime::kHiddenInitializeConstGlobal),
arguments, pos); arguments, pos);
} else { } else {
// Add strict mode. // Add strict mode.
@ -3432,7 +3432,7 @@ FunctionLiteral* Parser::ParseFunctionLiteral(
new(zone()) ZoneList<Expression*>(0, zone()); new(zone()) ZoneList<Expression*>(0, zone());
CallRuntime* allocation = factory()->NewCallRuntime( CallRuntime* allocation = factory()->NewCallRuntime(
isolate()->factory()->empty_string(), isolate()->factory()->empty_string(),
Runtime::FunctionForId(Runtime::kCreateJSGeneratorObject), Runtime::FunctionForId(Runtime::kHiddenCreateJSGeneratorObject),
arguments, pos); arguments, pos);
VariableProxy* init_proxy = factory()->NewVariableProxy( VariableProxy* init_proxy = factory()->NewVariableProxy(
function_state_->generator_object_variable()); function_state_->generator_object_variable());

View File

@ -468,7 +468,7 @@ static Handle<Object> CreateLiteralBoilerplate(
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateObjectLiteral) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_CreateObjectLiteral) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 4); ASSERT(args.length() == 4);
CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0); CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0);
@ -570,7 +570,7 @@ static MaybeObject* CreateArrayLiteralImpl(Isolate* isolate,
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateArrayLiteral) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_CreateArrayLiteral) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 4); ASSERT(args.length() == 4);
CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0); CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0);
@ -583,7 +583,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateArrayLiteral) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateArrayLiteralStubBailout) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_CreateArrayLiteralStubBailout) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 3); ASSERT(args.length() == 3);
CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0); CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0);
@ -2131,6 +2131,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetAccessorProperty) {
CONVERT_ARG_HANDLE_CHECKED(Object, setter, 3); CONVERT_ARG_HANDLE_CHECKED(Object, setter, 3);
CONVERT_SMI_ARG_CHECKED(attribute, 4); CONVERT_SMI_ARG_CHECKED(attribute, 4);
CONVERT_SMI_ARG_CHECKED(access_control, 5); CONVERT_SMI_ARG_CHECKED(access_control, 5);
RUNTIME_ASSERT(getter->IsUndefined() || getter->IsFunctionTemplateInfo());
RUNTIME_ASSERT(setter->IsUndefined() || setter->IsFunctionTemplateInfo());
JSObject::DefineAccessor(object, JSObject::DefineAccessor(object,
name, name,
InstantiateAccessorComponent(isolate, getter), InstantiateAccessorComponent(isolate, getter),
@ -2154,7 +2156,7 @@ static Failure* ThrowRedeclarationError(Isolate* isolate,
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareGlobals) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_DeclareGlobals) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 3); ASSERT(args.length() == 3);
Handle<GlobalObject> global = Handle<GlobalObject>( Handle<GlobalObject> global = Handle<GlobalObject>(
@ -2249,7 +2251,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareGlobals) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareContextSlot) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_DeclareContextSlot) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 4); ASSERT(args.length() == 4);
@ -2408,7 +2410,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeVarGlobal) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeConstGlobal) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_InitializeConstGlobal) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
// All constants are declared with an initial value. The name // All constants are declared with an initial value. The name
// of the constant is the first argument and the initial value // of the constant is the first argument and the initial value
@ -2485,7 +2487,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeConstGlobal) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeConstContextSlot) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_InitializeConstContextSlot) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 3); ASSERT(args.length() == 3);
@ -2803,7 +2805,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetDefaultReceiver) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_MaterializeRegExpLiteral) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_MaterializeRegExpLiteral) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 4); ASSERT(args.length() == 4);
CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0); CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0);
@ -3121,7 +3123,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetExpectedNumberOfProperties) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateJSGeneratorObject) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_CreateJSGeneratorObject) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 0); ASSERT(args.length() == 0);
@ -3147,7 +3149,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateJSGeneratorObject) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_SuspendJSGeneratorObject) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_SuspendJSGeneratorObject) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
CONVERT_ARG_CHECKED(JSGeneratorObject, generator_object, 0); CONVERT_ARG_CHECKED(JSGeneratorObject, generator_object, 0);
@ -3198,7 +3200,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SuspendJSGeneratorObject) {
// inlined into GeneratorNext and GeneratorThrow. EmitGeneratorResumeResume is // inlined into GeneratorNext and GeneratorThrow. EmitGeneratorResumeResume is
// called in any case, as it needs to reconstruct the stack frame and make space // called in any case, as it needs to reconstruct the stack frame and make space
// for arguments and operands. // for arguments and operands.
RUNTIME_FUNCTION(MaybeObject*, Runtime_ResumeJSGeneratorObject) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_ResumeJSGeneratorObject) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 3); ASSERT(args.length() == 3);
CONVERT_ARG_CHECKED(JSGeneratorObject, generator_object, 0); CONVERT_ARG_CHECKED(JSGeneratorObject, generator_object, 0);
@ -3246,7 +3248,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ResumeJSGeneratorObject) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_ThrowGeneratorStateError) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_ThrowGeneratorStateError) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
CONVERT_ARG_HANDLE_CHECKED(JSGeneratorObject, generator, 0); CONVERT_ARG_HANDLE_CHECKED(JSGeneratorObject, generator, 0);
@ -6924,7 +6926,7 @@ RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NumberToString) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_NumberToStringSkipCache) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NumberToStringSkipCache) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
@ -6949,24 +6951,6 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NumberToInteger) {
} }
// ES6 draft 9.1.11
RUNTIME_FUNCTION(MaybeObject*, Runtime_NumberToPositiveInteger) {
SealHandleScope shs(isolate);
ASSERT(args.length() == 1);
CONVERT_DOUBLE_ARG_CHECKED(number, 0);
// We do not include 0 so that we don't have to treat +0 / -0 cases.
if (number > 0 && number <= Smi::kMaxValue) {
return Smi::FromInt(static_cast<int>(number));
}
if (number <= 0) {
return Smi::FromInt(0);
}
return isolate->heap()->NumberFromDouble(DoubleToInteger(number));
}
RUNTIME_FUNCTION(MaybeObject*, Runtime_NumberToIntegerMapMinusZero) { RUNTIME_FUNCTION(MaybeObject*, Runtime_NumberToIntegerMapMinusZero) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
@ -7011,7 +6995,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NumberToJSInt32) {
// Converts a Number to a Smi, if possible. Returns NaN if the number is not // Converts a Number to a Smi, if possible. Returns NaN if the number is not
// a small integer. // a small integer.
RUNTIME_FUNCTION(MaybeObject*, Runtime_NumberToSmi) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NumberToSmi) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
@ -7030,7 +7014,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NumberToSmi) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_AllocateHeapNumber) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_AllocateHeapNumber) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 0); ASSERT(args.length() == 0);
return isolate->heap()->AllocateHeapNumber(0); return isolate->heap()->AllocateHeapNumber(0);
@ -8020,7 +8004,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DateSetValue) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_NewArgumentsFast) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NewArgumentsFast) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 3); ASSERT(args.length() == 3);
@ -8115,7 +8099,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NewArgumentsFast) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_NewStrictArgumentsFast) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NewStrictArgumentsFast) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 3); ASSERT(args.length() == 3);
@ -8148,7 +8132,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NewStrictArgumentsFast) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_NewClosureFromStubFailure) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NewClosureFromStubFailure) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
CONVERT_ARG_HANDLE_CHECKED(SharedFunctionInfo, shared, 0); CONVERT_ARG_HANDLE_CHECKED(SharedFunctionInfo, shared, 0);
@ -8162,7 +8146,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NewClosureFromStubFailure) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_NewClosure) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NewClosure) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 3); ASSERT(args.length() == 3);
CONVERT_ARG_HANDLE_CHECKED(Context, context, 0); CONVERT_ARG_HANDLE_CHECKED(Context, context, 0);
@ -8428,7 +8412,7 @@ static MaybeObject* Runtime_NewObjectHelper(Isolate* isolate,
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_NewObject) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NewObject) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
@ -8439,7 +8423,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NewObject) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_NewObjectWithAllocationSite) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NewObjectWithAllocationSite) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 2); ASSERT(args.length() == 2);
@ -8456,7 +8440,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NewObjectWithAllocationSite) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_FinalizeInstanceSize) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_FinalizeInstanceSize) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
@ -8467,7 +8451,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_FinalizeInstanceSize) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_CompileUnoptimized) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_CompileUnoptimized) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
@ -8496,7 +8480,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CompileUnoptimized) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_CompileOptimized) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_CompileOptimized) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 2); ASSERT(args.length() == 2);
Handle<JSFunction> function = args.at<JSFunction>(0); Handle<JSFunction> function = args.at<JSFunction>(0);
@ -8559,7 +8543,7 @@ class ActivationsFinder : public ThreadVisitor {
}; };
RUNTIME_FUNCTION(MaybeObject*, Runtime_NotifyStubFailure) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NotifyStubFailure) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 0); ASSERT(args.length() == 0);
Deoptimizer* deoptimizer = Deoptimizer::Grab(isolate); Deoptimizer* deoptimizer = Deoptimizer::Grab(isolate);
@ -8569,7 +8553,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NotifyStubFailure) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_NotifyDeoptimized) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NotifyDeoptimized) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
RUNTIME_ASSERT(args[0]->IsSmi()); RUNTIME_ASSERT(args[0]->IsSmi());
@ -9021,7 +9005,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetConstructorDelegate) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_NewGlobalContext) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NewGlobalContext) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 2); ASSERT(args.length() == 2);
@ -9040,7 +9024,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NewGlobalContext) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_NewFunctionContext) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NewFunctionContext) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
@ -9050,7 +9034,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NewFunctionContext) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_PushWithContext) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_PushWithContext) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 2); ASSERT(args.length() == 2);
JSReceiver* extension_object; JSReceiver* extension_object;
@ -9094,7 +9078,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_PushWithContext) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_PushCatchContext) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_PushCatchContext) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 3); ASSERT(args.length() == 3);
String* name = String::cast(args[0]); String* name = String::cast(args[0]);
@ -9120,7 +9104,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_PushCatchContext) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_PushBlockContext) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_PushBlockContext) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 2); ASSERT(args.length() == 2);
ScopeInfo* scope_info = ScopeInfo::cast(args[0]); ScopeInfo* scope_info = ScopeInfo::cast(args[0]);
@ -9152,7 +9136,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_IsJSModule) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_PushModuleContext) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_PushModuleContext) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 2); ASSERT(args.length() == 2);
CONVERT_SMI_ARG_CHECKED(index, 0); CONVERT_SMI_ARG_CHECKED(index, 0);
@ -9187,7 +9171,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_PushModuleContext) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareModules) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_DeclareModules) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
CONVERT_ARG_HANDLE_CHECKED(FixedArray, descriptions, 0); CONVERT_ARG_HANDLE_CHECKED(FixedArray, descriptions, 0);
@ -9240,7 +9224,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareModules) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_DeleteContextSlot) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_DeleteContextSlot) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 2); ASSERT(args.length() == 2);
@ -9426,17 +9410,17 @@ static ObjectPair LoadContextSlotHelper(Arguments args,
} }
RUNTIME_FUNCTION(ObjectPair, Runtime_LoadContextSlot) { RUNTIME_FUNCTION(ObjectPair, RuntimeHidden_LoadContextSlot) {
return LoadContextSlotHelper(args, isolate, true); return LoadContextSlotHelper(args, isolate, true);
} }
RUNTIME_FUNCTION(ObjectPair, Runtime_LoadContextSlotNoReferenceError) { RUNTIME_FUNCTION(ObjectPair, RuntimeHidden_LoadContextSlotNoReferenceError) {
return LoadContextSlotHelper(args, isolate, false); return LoadContextSlotHelper(args, isolate, false);
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_StoreContextSlot) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_StoreContextSlot) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 4); ASSERT(args.length() == 4);
@ -9521,7 +9505,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StoreContextSlot) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_Throw) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_Throw) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
@ -9529,7 +9513,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_Throw) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_ReThrow) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_ReThrow) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
@ -9537,14 +9521,14 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ReThrow) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_PromoteScheduledException) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_PromoteScheduledException) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT_EQ(0, args.length()); ASSERT_EQ(0, args.length());
return isolate->PromoteScheduledException(); return isolate->PromoteScheduledException();
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_ThrowReferenceError) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_ThrowReferenceError) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
@ -9556,7 +9540,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ThrowReferenceError) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_ThrowNotDateError) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_ThrowNotDateError) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 0); ASSERT(args.length() == 0);
return isolate->Throw(*isolate->factory()->NewTypeError( return isolate->Throw(*isolate->factory()->NewTypeError(
@ -9564,7 +9548,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ThrowNotDateError) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_ThrowMessage) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_ThrowMessage) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
CONVERT_SMI_ARG_CHECKED(message_id, 0); CONVERT_SMI_ARG_CHECKED(message_id, 0);
@ -9577,7 +9561,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ThrowMessage) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_StackGuard) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_StackGuard) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 0); ASSERT(args.length() == 0);
@ -9590,7 +9574,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StackGuard) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_TryInstallOptimizedCode) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_TryInstallOptimizedCode) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0); CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
@ -9607,7 +9591,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_TryInstallOptimizedCode) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_Interrupt) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_Interrupt) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 0); ASSERT(args.length() == 0);
return Execution::HandleStackGuardInterrupt(isolate); return Execution::HandleStackGuardInterrupt(isolate);
@ -9907,7 +9891,7 @@ static ObjectPair CompileGlobalEval(Isolate* isolate,
} }
RUNTIME_FUNCTION(ObjectPair, Runtime_ResolvePossiblyDirectEval) { RUNTIME_FUNCTION(ObjectPair, RuntimeHidden_ResolvePossiblyDirectEval) {
HandleScope scope(isolate); HandleScope scope(isolate);
ASSERT(args.length() == 5); ASSERT(args.length() == 5);
@ -9958,7 +9942,7 @@ static MaybeObject* Allocate(Isolate* isolate,
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_AllocateInNewSpace) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_AllocateInNewSpace) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
CONVERT_SMI_ARG_CHECKED(size, 0); CONVERT_SMI_ARG_CHECKED(size, 0);
@ -9966,7 +9950,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_AllocateInNewSpace) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_AllocateInTargetSpace) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_AllocateInTargetSpace) {
SealHandleScope shs(isolate); SealHandleScope shs(isolate);
ASSERT(args.length() == 2); ASSERT(args.length() == 2);
CONVERT_SMI_ARG_CHECKED(size, 0); CONVERT_SMI_ARG_CHECKED(size, 0);
@ -15024,7 +15008,7 @@ static MaybeObject* ArrayConstructorCommon(Isolate* isolate,
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_ArrayConstructor) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_ArrayConstructor) {
HandleScope scope(isolate); HandleScope scope(isolate);
// If we get 2 arguments then they are the stub parameters (constructor, type // If we get 2 arguments then they are the stub parameters (constructor, type
// info). If we get 4, then the first one is a pointer to the arguments // info). If we get 4, then the first one is a pointer to the arguments
@ -15061,7 +15045,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ArrayConstructor) {
} }
RUNTIME_FUNCTION(MaybeObject*, Runtime_InternalArrayConstructor) { RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_InternalArrayConstructor) {
HandleScope scope(isolate); HandleScope scope(isolate);
Arguments empty_args(0, NULL); Arguments empty_args(0, NULL);
bool no_caller_args = args.length() == 1; bool no_caller_args = args.length() == 1;

View File

@ -83,13 +83,6 @@ namespace internal {
F(Apply, 5, 1) \ F(Apply, 5, 1) \
F(GetFunctionDelegate, 1, 1) \ F(GetFunctionDelegate, 1, 1) \
F(GetConstructorDelegate, 1, 1) \ F(GetConstructorDelegate, 1, 1) \
F(NewArgumentsFast, 3, 1) \
F(NewStrictArgumentsFast, 3, 1) \
F(CompileUnoptimized, 1, 1) \
F(CompileOptimized, 2, 1) \
F(TryInstallOptimizedCode, 1, 1) \
F(NotifyDeoptimized, 1, 1) \
F(NotifyStubFailure, 0, 1) \
F(DeoptimizeFunction, 1, 1) \ F(DeoptimizeFunction, 1, 1) \
F(ClearFunctionTypeFeedback, 1, 1) \ F(ClearFunctionTypeFeedback, 1, 1) \
F(RunningInSimulator, 0, 1) \ F(RunningInSimulator, 0, 1) \
@ -101,8 +94,6 @@ namespace internal {
F(UnblockConcurrentRecompilation, 0, 1) \ F(UnblockConcurrentRecompilation, 0, 1) \
F(CompileForOnStackReplacement, 1, 1) \ F(CompileForOnStackReplacement, 1, 1) \
F(SetAllocationTimeout, -1 /* 2 || 3 */, 1) \ F(SetAllocationTimeout, -1 /* 2 || 3 */, 1) \
F(AllocateInNewSpace, 1, 1) \
F(AllocateInTargetSpace, 2, 1) \
F(SetNativeFlag, 1, 1) \ F(SetNativeFlag, 1, 1) \
F(SetInlineBuiltinFlag, 1, 1) \ F(SetInlineBuiltinFlag, 1, 1) \
F(StoreArrayLiteralElement, 5, 1) \ F(StoreArrayLiteralElement, 5, 1) \
@ -130,14 +121,10 @@ namespace internal {
F(URIEscape, 1, 1) \ F(URIEscape, 1, 1) \
F(URIUnescape, 1, 1) \ F(URIUnescape, 1, 1) \
\ \
F(NumberToStringSkipCache, 1, 1) \
F(NumberToInteger, 1, 1) \ F(NumberToInteger, 1, 1) \
F(NumberToPositiveInteger, 1, 1) \
F(NumberToIntegerMapMinusZero, 1, 1) \ F(NumberToIntegerMapMinusZero, 1, 1) \
F(NumberToJSUint32, 1, 1) \ F(NumberToJSUint32, 1, 1) \
F(NumberToJSInt32, 1, 1) \ F(NumberToJSInt32, 1, 1) \
F(NumberToSmi, 1, 1) \
F(AllocateHeapNumber, 0, 1) \
\ \
/* Arithmetic operations */ \ /* Arithmetic operations */ \
F(NumberAdd, 2, 1) \ F(NumberAdd, 2, 1) \
@ -258,16 +245,12 @@ namespace internal {
F(DateSetValue, 3, 1) \ F(DateSetValue, 3, 1) \
F(DateCacheVersion, 0, 1) \ F(DateCacheVersion, 0, 1) \
\ \
/* Numbers */ \
\
/* Globals */ \ /* Globals */ \
F(CompileString, 2, 1) \ F(CompileString, 2, 1) \
F(GlobalPrint, 1, 1) \
\ \
/* Eval */ \ /* Eval */ \
F(GlobalReceiver, 1, 1) \ F(GlobalReceiver, 1, 1) \
F(IsAttachedGlobal, 1, 1) \ F(IsAttachedGlobal, 1, 1) \
F(ResolvePossiblyDirectEval, 5, 2) \
\ \
F(SetProperty, -1 /* 4 or 5 */, 1) \ F(SetProperty, -1 /* 4 or 5 */, 1) \
F(DefineOrRedefineDataProperty, 4, 1) \ F(DefineOrRedefineDataProperty, 4, 1) \
@ -281,24 +264,10 @@ namespace internal {
F(GetArrayKeys, 2, 1) \ F(GetArrayKeys, 2, 1) \
F(MoveArrayContents, 2, 1) \ F(MoveArrayContents, 2, 1) \
F(EstimateNumberOfElements, 1, 1) \ F(EstimateNumberOfElements, 1, 1) \
F(ArrayConstructor, -1, 1) \
F(InternalArrayConstructor, -1, 1) \
\ \
/* Getters and Setters */ \ /* Getters and Setters */ \
F(LookupAccessor, 3, 1) \ F(LookupAccessor, 3, 1) \
\ \
/* Literals */ \
F(MaterializeRegExpLiteral, 4, 1)\
F(CreateObjectLiteral, 4, 1) \
F(CreateArrayLiteral, 4, 1) \
F(CreateArrayLiteralStubBailout, 3, 1) \
\
/* Harmony generators */ \
F(CreateJSGeneratorObject, 0, 1) \
F(SuspendJSGeneratorObject, 1, 1) \
F(ResumeJSGeneratorObject, 3, 1) \
F(ThrowGeneratorStateError, 1, 1) \
\
/* ES5 */ \ /* ES5 */ \
F(ObjectFreeze, 1, 1) \ F(ObjectFreeze, 1, 1) \
\ \
@ -397,44 +366,15 @@ namespace internal {
F(DataViewSetFloat64, 4, 1) \ F(DataViewSetFloat64, 4, 1) \
\ \
/* Statements */ \ /* Statements */ \
F(NewClosure, 3, 1) \
F(NewClosureFromStubFailure, 1, 1) \
F(NewObject, 1, 1) \
F(NewObjectWithAllocationSite, 2, 1) \
F(NewObjectFromBound, 1, 1) \ F(NewObjectFromBound, 1, 1) \
F(FinalizeInstanceSize, 1, 1) \
F(Throw, 1, 1) \
F(ReThrow, 1, 1) \
F(ThrowReferenceError, 1, 1) \
F(ThrowNotDateError, 0, 1) \
F(ThrowMessage, 1, 1) \
F(StackGuard, 0, 1) \
F(Interrupt, 0, 1) \
F(PromoteScheduledException, 0, 1) \
\
/* Contexts */ \
F(NewGlobalContext, 2, 1) \
F(NewFunctionContext, 1, 1) \
F(PushWithContext, 2, 1) \
F(PushCatchContext, 3, 1) \
F(PushBlockContext, 2, 1) \
F(PushModuleContext, 2, 1) \
F(DeleteContextSlot, 2, 1) \
F(LoadContextSlot, 2, 2) \
F(LoadContextSlotNoReferenceError, 2, 2) \
F(StoreContextSlot, 4, 1) \
\ \
/* Declarations and initialization */ \ /* Declarations and initialization */ \
F(DeclareGlobals, 3, 1) \
F(DeclareModules, 1, 1) \
F(DeclareContextSlot, 4, 1) \
F(InitializeVarGlobal, -1 /* 2 or 3 */, 1) \ F(InitializeVarGlobal, -1 /* 2 or 3 */, 1) \
F(InitializeConstGlobal, 2, 1) \
F(InitializeConstContextSlot, 3, 1) \
F(OptimizeObjectForAddingMultipleProperties, 2, 1) \ F(OptimizeObjectForAddingMultipleProperties, 2, 1) \
\ \
/* Debugging */ \ /* Debugging */ \
F(DebugPrint, 1, 1) \ F(DebugPrint, 1, 1) \
F(GlobalPrint, 1, 1) \
F(DebugTrace, 0, 1) \ F(DebugTrace, 0, 1) \
F(TraceEnter, 0, 1) \ F(TraceEnter, 0, 1) \
F(TraceExit, 1, 1) \ F(TraceExit, 1, 1) \
@ -624,7 +564,77 @@ namespace internal {
F(StringCompare, 2, 1) \ F(StringCompare, 2, 1) \
F(StringCharCodeAt, 2, 1) \ F(StringCharCodeAt, 2, 1) \
F(Log, 3, 1) \ F(Log, 3, 1) \
F(GetFromCache, 2, 1) F(GetFromCache, 2, 1) \
\
/* Compilation */ \
F(CompileUnoptimized, 1, 1) \
F(CompileOptimized, 2, 1) \
F(TryInstallOptimizedCode, 1, 1) \
F(NotifyDeoptimized, 1, 1) \
F(NotifyStubFailure, 0, 1) \
\
/* Utilities */ \
F(AllocateInNewSpace, 1, 1) \
F(AllocateInTargetSpace, 2, 1) \
F(AllocateHeapNumber, 0, 1) \
F(NumberToSmi, 1, 1) \
F(NumberToStringSkipCache, 1, 1) \
\
F(NewArgumentsFast, 3, 1) \
F(NewStrictArgumentsFast, 3, 1) \
\
/* Harmony generators */ \
F(CreateJSGeneratorObject, 0, 1) \
F(SuspendJSGeneratorObject, 1, 1) \
F(ResumeJSGeneratorObject, 3, 1) \
F(ThrowGeneratorStateError, 1, 1) \
\
/* Arrays */ \
F(ArrayConstructor, -1, 1) \
F(InternalArrayConstructor, -1, 1) \
\
/* Literals */ \
F(MaterializeRegExpLiteral, 4, 1)\
F(CreateObjectLiteral, 4, 1) \
F(CreateArrayLiteral, 4, 1) \
F(CreateArrayLiteralStubBailout, 3, 1) \
\
/* Statements */ \
F(NewClosure, 3, 1) \
F(NewClosureFromStubFailure, 1, 1) \
F(NewObject, 1, 1) \
F(NewObjectWithAllocationSite, 2, 1) \
F(FinalizeInstanceSize, 1, 1) \
F(Throw, 1, 1) \
F(ReThrow, 1, 1) \
F(ThrowReferenceError, 1, 1) \
F(ThrowNotDateError, 0, 1) \
F(ThrowMessage, 1, 1) \
F(StackGuard, 0, 1) \
F(Interrupt, 0, 1) \
F(PromoteScheduledException, 0, 1) \
\
/* Contexts */ \
F(NewGlobalContext, 2, 1) \
F(NewFunctionContext, 1, 1) \
F(PushWithContext, 2, 1) \
F(PushCatchContext, 3, 1) \
F(PushBlockContext, 2, 1) \
F(PushModuleContext, 2, 1) \
F(DeleteContextSlot, 2, 1) \
F(LoadContextSlot, 2, 2) \
F(LoadContextSlotNoReferenceError, 2, 2) \
F(StoreContextSlot, 4, 1) \
\
/* Declarations and initialization */ \
F(DeclareGlobals, 3, 1) \
F(DeclareModules, 1, 1) \
F(DeclareContextSlot, 4, 1) \
F(InitializeConstGlobal, 2, 1) \
F(InitializeConstContextSlot, 3, 1) \
\
/* Eval */ \
F(ResolvePossiblyDirectEval, 5, 2)
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// INLINE_FUNCTION_LIST defines all inlined functions accessed // INLINE_FUNCTION_LIST defines all inlined functions accessed

View File

@ -508,11 +508,12 @@ void ExternalReferenceTable::PopulateTable(Isolate* isolate) {
UNCLASSIFIED, UNCLASSIFIED,
52, 52,
"cpu_features"); "cpu_features");
Add(ExternalReference(Runtime::kAllocateInNewSpace, isolate).address(), Add(ExternalReference(Runtime::kHiddenAllocateInNewSpace, isolate).address(),
UNCLASSIFIED, UNCLASSIFIED,
53, 53,
"Runtime::AllocateInNewSpace"); "Runtime::AllocateInNewSpace");
Add(ExternalReference(Runtime::kAllocateInTargetSpace, isolate).address(), Add(ExternalReference(
Runtime::kHiddenAllocateInTargetSpace, isolate).address(),
UNCLASSIFIED, UNCLASSIFIED,
54, 54,
"Runtime::AllocateInTargetSpace"); "Runtime::AllocateInTargetSpace");

View File

@ -114,7 +114,7 @@ void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) {
__ CompareRoot(rsp, Heap::kStackLimitRootIndex); __ CompareRoot(rsp, Heap::kStackLimitRootIndex);
__ j(above_equal, &ok); __ j(above_equal, &ok);
CallRuntimePassFunction(masm, Runtime::kTryInstallOptimizedCode); CallRuntimePassFunction(masm, Runtime::kHiddenTryInstallOptimizedCode);
GenerateTailCallToReturnedCode(masm); GenerateTailCallToReturnedCode(masm);
__ bind(&ok); __ bind(&ok);
@ -204,7 +204,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
__ Push(rdi); // constructor __ Push(rdi); // constructor
// The call will replace the stub, so the countdown is only done once. // The call will replace the stub, so the countdown is only done once.
__ CallRuntime(Runtime::kFinalizeInstanceSize, 1); __ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
__ Pop(rdi); __ Pop(rdi);
__ Pop(rax); __ Pop(rax);
@ -373,9 +373,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
__ movp(rdi, Operand(rsp, offset)); __ movp(rdi, Operand(rsp, offset));
__ Push(rdi); __ Push(rdi);
if (create_memento) { if (create_memento) {
__ CallRuntime(Runtime::kNewObjectWithAllocationSite, 2); __ CallRuntime(Runtime::kHiddenNewObjectWithAllocationSite, 2);
} else { } else {
__ CallRuntime(Runtime::kNewObject, 1); __ CallRuntime(Runtime::kHiddenNewObject, 1);
} }
__ movp(rbx, rax); // store result in rbx __ movp(rbx, rax); // store result in rbx
@ -628,7 +628,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) { void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) {
CallRuntimePassFunction(masm, Runtime::kCompileUnoptimized); CallRuntimePassFunction(masm, Runtime::kHiddenCompileUnoptimized);
GenerateTailCallToReturnedCode(masm); GenerateTailCallToReturnedCode(masm);
} }
@ -643,7 +643,7 @@ static void CallCompileOptimized(MacroAssembler* masm,
// Whether to compile in a background thread. // Whether to compile in a background thread.
__ Push(masm->isolate()->factory()->ToBoolean(concurrent)); __ Push(masm->isolate()->factory()->ToBoolean(concurrent));
__ CallRuntime(Runtime::kCompileOptimized, 2); __ CallRuntime(Runtime::kHiddenCompileOptimized, 2);
// Restore receiver. // Restore receiver.
__ Pop(rdi); __ Pop(rdi);
} }
@ -744,7 +744,7 @@ static void Generate_NotifyStubFailureHelper(MacroAssembler* masm,
// stubs that tail call the runtime on deopts passing their parameters in // stubs that tail call the runtime on deopts passing their parameters in
// registers. // registers.
__ Pushad(); __ Pushad();
__ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles); __ CallRuntime(Runtime::kHiddenNotifyStubFailure, 0, save_doubles);
__ Popad(); __ Popad();
// Tear down internal frame. // Tear down internal frame.
} }
@ -773,7 +773,7 @@ static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
// Pass the deoptimization type to the runtime system. // Pass the deoptimization type to the runtime system.
__ Push(Smi::FromInt(static_cast<int>(type))); __ Push(Smi::FromInt(static_cast<int>(type)));
__ CallRuntime(Runtime::kNotifyDeoptimized, 1); __ CallRuntime(Runtime::kHiddenNotifyDeoptimized, 1);
// Tear down internal frame. // Tear down internal frame.
} }
@ -1486,7 +1486,7 @@ void Builtins::Generate_OsrAfterStackCheck(MacroAssembler* masm) {
__ j(above_equal, &ok); __ j(above_equal, &ok);
{ {
FrameScope scope(masm, StackFrame::INTERNAL); FrameScope scope(masm, StackFrame::INTERNAL);
__ CallRuntime(Runtime::kStackGuard, 0); __ CallRuntime(Runtime::kHiddenStackGuard, 0);
} }
__ jmp(masm->isolate()->builtins()->OnStackReplacement(), __ jmp(masm->isolate()->builtins()->OnStackReplacement(),
RelocInfo::CODE_TARGET); RelocInfo::CODE_TARGET);

View File

@ -46,7 +46,7 @@ void FastNewClosureStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 1; descriptor->register_param_count_ = 1;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry; Runtime::FunctionForId(Runtime::kHiddenNewClosureFromStubFailure)->entry;
} }
@ -88,7 +88,8 @@ void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 3; descriptor->register_param_count_ = 3;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kCreateArrayLiteralStubBailout)->entry; Runtime::FunctionForId(
Runtime::kHiddenCreateArrayLiteralStubBailout)->entry;
} }
@ -99,7 +100,7 @@ void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
descriptor->register_param_count_ = 4; descriptor->register_param_count_ = 4;
descriptor->register_params_ = registers; descriptor->register_params_ = registers;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry; Runtime::FunctionForId(Runtime::kHiddenCreateObjectLiteral)->entry;
} }
@ -233,7 +234,7 @@ static void InitializeArrayConstructorDescriptor(
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kArrayConstructor)->entry; Runtime::FunctionForId(Runtime::kHiddenArrayConstructor)->entry;
} }
@ -261,7 +262,7 @@ static void InitializeInternalArrayConstructorDescriptor(
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
descriptor->deoptimization_handler_ = descriptor->deoptimization_handler_ =
Runtime::FunctionForId(Runtime::kInternalArrayConstructor)->entry; Runtime::FunctionForId(Runtime::kHiddenInternalArrayConstructor)->entry;
} }
@ -1203,7 +1204,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
__ bind(&runtime); __ bind(&runtime);
__ Integer32ToSmi(rcx, rcx); __ Integer32ToSmi(rcx, rcx);
__ movp(args.GetArgumentOperand(2), rcx); // Patch argument count. __ movp(args.GetArgumentOperand(2), rcx); // Patch argument count.
__ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1);
} }
@ -1230,7 +1231,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
__ movp(args.GetArgumentOperand(1), rdx); __ movp(args.GetArgumentOperand(1), rdx);
__ bind(&runtime); __ bind(&runtime);
__ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1);
} }
@ -1331,7 +1332,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
// Do the runtime call to allocate the arguments object. // Do the runtime call to allocate the arguments object.
__ bind(&runtime); __ bind(&runtime);
__ TailCallRuntime(Runtime::kNewStrictArgumentsFast, 3, 1); __ TailCallRuntime(Runtime::kHiddenNewStrictArgumentsFast, 3, 1);
} }
@ -3009,7 +3010,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
} else { } else {
ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX); ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
// NumberToSmi discards numbers that are not exact integers. // NumberToSmi discards numbers that are not exact integers.
__ CallRuntime(Runtime::kNumberToSmi, 1); __ CallRuntime(Runtime::kHiddenNumberToSmi, 1);
} }
if (!index_.is(rax)) { if (!index_.is(rax)) {
// Save the conversion result before the pop instructions below // Save the conversion result before the pop instructions below

View File

@ -224,13 +224,13 @@ void FullCodeGenerator::Generate() {
if (FLAG_harmony_scoping && info->scope()->is_global_scope()) { if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
__ Push(rdi); __ Push(rdi);
__ Push(info->scope()->GetScopeInfo()); __ Push(info->scope()->GetScopeInfo());
__ CallRuntime(Runtime::kNewGlobalContext, 2); __ CallRuntime(Runtime::kHiddenNewGlobalContext, 2);
} else if (heap_slots <= FastNewContextStub::kMaximumSlots) { } else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
FastNewContextStub stub(heap_slots); FastNewContextStub stub(heap_slots);
__ CallStub(&stub); __ CallStub(&stub);
} else { } else {
__ Push(rdi); __ Push(rdi);
__ CallRuntime(Runtime::kNewFunctionContext, 1); __ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
} }
function_in_register = false; function_in_register = false;
// Context is returned in rax. It replaces the context passed to us. // Context is returned in rax. It replaces the context passed to us.
@ -838,7 +838,7 @@ void FullCodeGenerator::VisitVariableDeclaration(
} else { } else {
__ Push(Smi::FromInt(0)); // Indicates no initial value. __ Push(Smi::FromInt(0)); // Indicates no initial value.
} }
__ CallRuntime(Runtime::kDeclareContextSlot, 4); __ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
break; break;
} }
} }
@ -892,7 +892,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
__ Push(variable->name()); __ Push(variable->name());
__ Push(Smi::FromInt(NONE)); __ Push(Smi::FromInt(NONE));
VisitForStackValue(declaration->fun()); VisitForStackValue(declaration->fun());
__ CallRuntime(Runtime::kDeclareContextSlot, 4); __ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
break; break;
} }
} }
@ -962,7 +962,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
__ Push(rsi); // The context is the first argument. __ Push(rsi); // The context is the first argument.
__ Push(pairs); __ Push(pairs);
__ Push(Smi::FromInt(DeclareGlobalsFlags())); __ Push(Smi::FromInt(DeclareGlobalsFlags()));
__ CallRuntime(Runtime::kDeclareGlobals, 3); __ CallRuntime(Runtime::kHiddenDeclareGlobals, 3);
// Return value is ignored. // Return value is ignored.
} }
@ -970,7 +970,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) { void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) {
// Call the runtime to declare the modules. // Call the runtime to declare the modules.
__ Push(descriptions); __ Push(descriptions);
__ CallRuntime(Runtime::kDeclareModules, 1); __ CallRuntime(Runtime::kHiddenDeclareModules, 1);
// Return value is ignored. // Return value is ignored.
} }
@ -1333,7 +1333,7 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
__ Push(pretenure __ Push(pretenure
? isolate()->factory()->true_value() ? isolate()->factory()->true_value()
: isolate()->factory()->false_value()); : isolate()->factory()->false_value());
__ CallRuntime(Runtime::kNewClosure, 3); __ CallRuntime(Runtime::kHiddenNewClosure, 3);
} }
context()->Plug(rax); context()->Plug(rax);
} }
@ -1458,7 +1458,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(Variable* var,
__ LoadRoot(rax, Heap::kUndefinedValueRootIndex); __ LoadRoot(rax, Heap::kUndefinedValueRootIndex);
} else { // LET || CONST } else { // LET || CONST
__ Push(var->name()); __ Push(var->name());
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
} }
} }
__ jmp(done); __ jmp(done);
@ -1535,7 +1535,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
// Throw a reference error when using an uninitialized let/const // Throw a reference error when using an uninitialized let/const
// binding in harmony mode. // binding in harmony mode.
__ Push(var->name()); __ Push(var->name());
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
} else { } else {
// Uninitalized const bindings outside of harmony mode are unholed. // Uninitalized const bindings outside of harmony mode are unholed.
ASSERT(var->mode() == CONST_LEGACY); ASSERT(var->mode() == CONST_LEGACY);
@ -1559,7 +1559,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
__ bind(&slow); __ bind(&slow);
__ Push(rsi); // Context. __ Push(rsi); // Context.
__ Push(var->name()); __ Push(var->name());
__ CallRuntime(Runtime::kLoadContextSlot, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
__ bind(&done); __ bind(&done);
context()->Plug(rax); context()->Plug(rax);
break; break;
@ -1590,7 +1590,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
__ Push(Smi::FromInt(expr->literal_index())); __ Push(Smi::FromInt(expr->literal_index()));
__ Push(expr->pattern()); __ Push(expr->pattern());
__ Push(expr->flags()); __ Push(expr->flags());
__ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4); __ CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4);
__ movp(rbx, rax); __ movp(rbx, rax);
__ bind(&materialized); __ bind(&materialized);
@ -1602,7 +1602,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
__ bind(&runtime_allocate); __ bind(&runtime_allocate);
__ Push(rbx); __ Push(rbx);
__ Push(Smi::FromInt(size)); __ Push(Smi::FromInt(size));
__ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
__ Pop(rbx); __ Pop(rbx);
__ bind(&allocated); __ bind(&allocated);
@ -1651,7 +1651,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
__ Push(Smi::FromInt(expr->literal_index())); __ Push(Smi::FromInt(expr->literal_index()));
__ Push(constant_properties); __ Push(constant_properties);
__ Push(Smi::FromInt(flags)); __ Push(Smi::FromInt(flags));
__ CallRuntime(Runtime::kCreateObjectLiteral, 4); __ CallRuntime(Runtime::kHiddenCreateObjectLiteral, 4);
} else { } else {
__ movp(rdi, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ movp(rdi, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset));
__ movp(rax, FieldOperand(rdi, JSFunction::kLiteralsOffset)); __ movp(rax, FieldOperand(rdi, JSFunction::kLiteralsOffset));
@ -1804,7 +1804,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
__ Push(Smi::FromInt(expr->literal_index())); __ Push(Smi::FromInt(expr->literal_index()));
__ Push(constant_elements); __ Push(constant_elements);
__ Push(Smi::FromInt(flags)); __ Push(Smi::FromInt(flags));
__ CallRuntime(Runtime::kCreateArrayLiteral, 4); __ CallRuntime(Runtime::kHiddenCreateArrayLiteral, 4);
} else { } else {
ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) || ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) ||
FLAG_smi_only_arrays); FLAG_smi_only_arrays);
@ -2016,7 +2016,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
__ cmpp(rsp, rbx); __ cmpp(rsp, rbx);
__ j(equal, &post_runtime); __ j(equal, &post_runtime);
__ Push(rax); // generator object __ Push(rax); // generator object
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1); __ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
__ movp(context_register(), __ movp(context_register(),
Operand(rbp, StandardFrameConstants::kContextOffset)); Operand(rbp, StandardFrameConstants::kContextOffset));
__ bind(&post_runtime); __ bind(&post_runtime);
@ -2085,7 +2085,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
__ movp(rcx, rsi); __ movp(rcx, rsi);
__ RecordWriteField(rax, JSGeneratorObject::kContextOffset, rcx, rdx, __ RecordWriteField(rax, JSGeneratorObject::kContextOffset, rcx, rdx,
kDontSaveFPRegs); kDontSaveFPRegs);
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1); __ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
__ movp(context_register(), __ movp(context_register(),
Operand(rbp, StandardFrameConstants::kContextOffset)); Operand(rbp, StandardFrameConstants::kContextOffset));
__ Pop(rax); // result __ Pop(rax); // result
@ -2139,7 +2139,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
Expression *value, Expression *value,
JSGeneratorObject::ResumeMode resume_mode) { JSGeneratorObject::ResumeMode resume_mode) {
// The value stays in rax, and is ultimately read by the resumed generator, as // The value stays in rax, and is ultimately read by the resumed generator, as
// if the CallRuntime(Runtime::kSuspendJSGeneratorObject) returned it. Or it // if CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject) returned it. Or it
// is read to throw the value when the resumed generator is already closed. // is read to throw the value when the resumed generator is already closed.
// rbx will hold the generator object until the activation has been resumed. // rbx will hold the generator object until the activation has been resumed.
VisitForStackValue(generator); VisitForStackValue(generator);
@ -2220,7 +2220,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
__ Push(rbx); __ Push(rbx);
__ Push(result_register()); __ Push(result_register());
__ Push(Smi::FromInt(resume_mode)); __ Push(Smi::FromInt(resume_mode));
__ CallRuntime(Runtime::kResumeJSGeneratorObject, 3); __ CallRuntime(Runtime::kHiddenResumeJSGeneratorObject, 3);
// Not reached: the runtime call returns elsewhere. // Not reached: the runtime call returns elsewhere.
__ Abort(kGeneratorFailedToResume); __ Abort(kGeneratorFailedToResume);
@ -2234,14 +2234,14 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
} else { } else {
// Throw the provided value. // Throw the provided value.
__ Push(rax); __ Push(rax);
__ CallRuntime(Runtime::kThrow, 1); __ CallRuntime(Runtime::kHiddenThrow, 1);
} }
__ jmp(&done); __ jmp(&done);
// Throw error if we attempt to operate on a running generator. // Throw error if we attempt to operate on a running generator.
__ bind(&wrong_state); __ bind(&wrong_state);
__ Push(rbx); __ Push(rbx);
__ CallRuntime(Runtime::kThrowGeneratorStateError, 1); __ CallRuntime(Runtime::kHiddenThrowGeneratorStateError, 1);
__ bind(&done); __ bind(&done);
context()->Plug(result_register()); context()->Plug(result_register());
@ -2259,7 +2259,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
__ bind(&gc_required); __ bind(&gc_required);
__ Push(Smi::FromInt(map->instance_size())); __ Push(Smi::FromInt(map->instance_size()));
__ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
__ movp(context_register(), __ movp(context_register(),
Operand(rbp, StandardFrameConstants::kContextOffset)); Operand(rbp, StandardFrameConstants::kContextOffset));
@ -2438,7 +2438,7 @@ void FullCodeGenerator::EmitCallStoreContextSlot(
__ Push(rsi); // Context. __ Push(rsi); // Context.
__ Push(name); __ Push(name);
__ Push(Smi::FromInt(strict_mode)); __ Push(Smi::FromInt(strict_mode));
__ CallRuntime(Runtime::kStoreContextSlot, 4); __ CallRuntime(Runtime::kHiddenStoreContextSlot, 4);
} }
@ -2457,7 +2457,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
__ Push(rax); __ Push(rax);
__ Push(rsi); __ Push(rsi);
__ Push(var->name()); __ Push(var->name());
__ CallRuntime(Runtime::kInitializeConstContextSlot, 3); __ CallRuntime(Runtime::kHiddenInitializeConstContextSlot, 3);
} else { } else {
ASSERT(var->IsStackLocal() || var->IsContextSlot()); ASSERT(var->IsStackLocal() || var->IsContextSlot());
Label skip; Label skip;
@ -2481,7 +2481,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
__ CompareRoot(rdx, Heap::kTheHoleValueRootIndex); __ CompareRoot(rdx, Heap::kTheHoleValueRootIndex);
__ j(not_equal, &assign, Label::kNear); __ j(not_equal, &assign, Label::kNear);
__ Push(var->name()); __ Push(var->name());
__ CallRuntime(Runtime::kThrowReferenceError, 1); __ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
__ bind(&assign); __ bind(&assign);
EmitStoreToStackLocalOrContextSlot(var, location); EmitStoreToStackLocalOrContextSlot(var, location);
} }
@ -2708,7 +2708,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
__ Push(Smi::FromInt(scope()->start_position())); __ Push(Smi::FromInt(scope()->start_position()));
// Do the runtime call. // Do the runtime call.
__ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); __ CallRuntime(Runtime::kHiddenResolvePossiblyDirectEval, 5);
} }
@ -2724,8 +2724,8 @@ void FullCodeGenerator::VisitCall(Call* expr) {
Call::CallType call_type = expr->GetCallType(isolate()); Call::CallType call_type = expr->GetCallType(isolate());
if (call_type == Call::POSSIBLY_EVAL_CALL) { if (call_type == Call::POSSIBLY_EVAL_CALL) {
// In a call to eval, we first call %ResolvePossiblyDirectEval to // In a call to eval, we first call RuntimeHidden_ResolvePossiblyDirectEval
// resolve the function we need to call and the receiver of the call. // to resolve the function we need to call and the receiver of the call.
// Then we call the resolved function using the given arguments. // Then we call the resolved function using the given arguments.
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
int arg_count = args->length(); int arg_count = args->length();
@ -2775,7 +2775,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
// the object holding it (returned in rdx). // the object holding it (returned in rdx).
__ Push(context_register()); __ Push(context_register());
__ Push(proxy->name()); __ Push(proxy->name());
__ CallRuntime(Runtime::kLoadContextSlot, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
__ Push(rax); // Function. __ Push(rax); // Function.
__ Push(rdx); // Receiver. __ Push(rdx); // Receiver.
@ -3434,7 +3434,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
} }
__ bind(&not_date_object); __ bind(&not_date_object);
__ CallRuntime(Runtime::kThrowNotDateError, 0); __ CallRuntime(Runtime::kHiddenThrowNotDateError, 0);
__ bind(&done); __ bind(&done);
context()->Plug(rax); context()->Plug(rax);
} }
@ -4232,7 +4232,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
// context where the variable was introduced. // context where the variable was introduced.
__ Push(context_register()); __ Push(context_register());
__ Push(var->name()); __ Push(var->name());
__ CallRuntime(Runtime::kDeleteContextSlot, 2); __ CallRuntime(Runtime::kHiddenDeleteContextSlot, 2);
context()->Plug(rax); context()->Plug(rax);
} }
} else { } else {
@ -4519,7 +4519,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
__ bind(&slow); __ bind(&slow);
__ Push(rsi); __ Push(rsi);
__ Push(proxy->name()); __ Push(proxy->name());
__ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2); __ CallRuntime(Runtime::kHiddenLoadContextSlotNoReferenceError, 2);
PrepareForBailout(expr, TOS_REG); PrepareForBailout(expr, TOS_REG);
__ bind(&done); __ bind(&done);

View File

@ -223,7 +223,7 @@ bool LCodeGen::GeneratePrologue() {
__ CallStub(&stub); __ CallStub(&stub);
} else { } else {
__ Push(rdi); __ Push(rdi);
__ CallRuntime(Runtime::kNewFunctionContext, 1); __ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
} }
RecordSafepoint(Safepoint::kNoLazyDeopt); RecordSafepoint(Safepoint::kNoLazyDeopt);
// Context is returned in rax. It replaces the context passed to us. // Context is returned in rax. It replaces the context passed to us.
@ -3330,7 +3330,7 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
__ Push(rsi); // The context is the first argument. __ Push(rsi); // The context is the first argument.
__ Push(instr->hydrogen()->pairs()); __ Push(instr->hydrogen()->pairs());
__ Push(Smi::FromInt(instr->hydrogen()->flags())); __ Push(Smi::FromInt(instr->hydrogen()->flags()));
CallRuntime(Runtime::kDeclareGlobals, 3, instr); CallRuntime(Runtime::kHiddenDeclareGlobals, 3, instr);
} }
@ -3462,7 +3462,7 @@ void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr) {
// Slow case: Call the runtime system to do the number allocation. // Slow case: Call the runtime system to do the number allocation.
__ bind(&slow); __ bind(&slow);
CallRuntimeFromDeferred( CallRuntimeFromDeferred(
Runtime::kAllocateHeapNumber, 0, instr, instr->context()); Runtime::kHiddenAllocateHeapNumber, 0, instr, instr->context());
// Set the pointer to the new heap number in tmp. // Set the pointer to the new heap number in tmp.
if (!tmp.is(rax)) __ movp(tmp, rax); if (!tmp.is(rax)) __ movp(tmp, rax);
// Restore input_reg after call to runtime. // Restore input_reg after call to runtime.
@ -4548,11 +4548,11 @@ void LCodeGen::DoDeferredNumberTagU(LNumberTagU* instr) {
// NumberTagU uses the context from the frame, rather than // NumberTagU uses the context from the frame, rather than
// the environment's HContext or HInlinedContext value. // the environment's HContext or HInlinedContext value.
// They only call Runtime::kAllocateHeapNumber. // They only call Runtime::kHiddenAllocateHeapNumber.
// The corresponding HChange instructions are added in a phase that does // The corresponding HChange instructions are added in a phase that does
// not have easy access to the local context. // not have easy access to the local context.
__ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
RecordSafepointWithRegisters( RecordSafepointWithRegisters(
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt); instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
__ StoreToSafepointRegisterSlot(reg, rax); __ StoreToSafepointRegisterSlot(reg, rax);
@ -4604,11 +4604,11 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
PushSafepointRegistersScope scope(this); PushSafepointRegistersScope scope(this);
// NumberTagD uses the context from the frame, rather than // NumberTagD uses the context from the frame, rather than
// the environment's HContext or HInlinedContext value. // the environment's HContext or HInlinedContext value.
// They only call Runtime::kAllocateHeapNumber. // They only call Runtime::kHiddenAllocateHeapNumber.
// The corresponding HChange instructions are added in a phase that does // The corresponding HChange instructions are added in a phase that does
// not have easy access to the local context. // not have easy access to the local context.
__ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
RecordSafepointWithRegisters( RecordSafepointWithRegisters(
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt); instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
__ movp(kScratchRegister, rax); __ movp(kScratchRegister, rax);
@ -5160,7 +5160,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
__ Push(Smi::FromInt(flags)); __ Push(Smi::FromInt(flags));
CallRuntimeFromDeferred( CallRuntimeFromDeferred(
Runtime::kAllocateInTargetSpace, 2, instr, instr->context()); Runtime::kHiddenAllocateInTargetSpace, 2, instr, instr->context());
__ StoreToSafepointRegisterSlot(result, rax); __ StoreToSafepointRegisterSlot(result, rax);
} }
@ -5192,7 +5192,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
__ Push(Smi::FromInt(instr->hydrogen()->literal_index())); __ Push(Smi::FromInt(instr->hydrogen()->literal_index()));
__ Push(instr->hydrogen()->pattern()); __ Push(instr->hydrogen()->pattern());
__ Push(instr->hydrogen()->flags()); __ Push(instr->hydrogen()->flags());
CallRuntime(Runtime::kMaterializeRegExpLiteral, 4, instr); CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4, instr);
__ movp(rbx, rax); __ movp(rbx, rax);
__ bind(&materialized); __ bind(&materialized);
@ -5204,7 +5204,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
__ bind(&runtime_allocate); __ bind(&runtime_allocate);
__ Push(rbx); __ Push(rbx);
__ Push(Smi::FromInt(size)); __ Push(Smi::FromInt(size));
CallRuntime(Runtime::kAllocateInNewSpace, 1, instr); CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1, instr);
__ Pop(rbx); __ Pop(rbx);
__ bind(&allocated); __ bind(&allocated);
@ -5238,7 +5238,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
__ Push(instr->hydrogen()->shared_info()); __ Push(instr->hydrogen()->shared_info());
__ PushRoot(pretenure ? Heap::kTrueValueRootIndex : __ PushRoot(pretenure ? Heap::kTrueValueRootIndex :
Heap::kFalseValueRootIndex); Heap::kFalseValueRootIndex);
CallRuntime(Runtime::kNewClosure, 3, instr); CallRuntime(Runtime::kHiddenNewClosure, 3, instr);
} }
} }
@ -5433,7 +5433,7 @@ void LCodeGen::DoDummyUse(LDummyUse* instr) {
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) { void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
PushSafepointRegistersScope scope(this); PushSafepointRegistersScope scope(this);
__ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset));
__ CallRuntimeSaveDoubles(Runtime::kStackGuard); __ CallRuntimeSaveDoubles(Runtime::kHiddenStackGuard);
RecordSafepointWithLazyDeopt(instr, RECORD_SAFEPOINT_WITH_REGISTERS, 0); RecordSafepointWithLazyDeopt(instr, RECORD_SAFEPOINT_WITH_REGISTERS, 0);
ASSERT(instr->HasEnvironment()); ASSERT(instr->HasEnvironment());
LEnvironment* env = instr->environment(); LEnvironment* env = instr->environment();

View File

@ -800,7 +800,7 @@ void MacroAssembler::CallApiFunctionAndReturn(
bind(&promote_scheduled_exception); bind(&promote_scheduled_exception);
{ {
FrameScope frame(this, StackFrame::INTERNAL); FrameScope frame(this, StackFrame::INTERNAL);
CallRuntime(Runtime::kPromoteScheduledException, 0); CallRuntime(Runtime::kHiddenPromoteScheduledException, 0);
} }
jmp(&exception_handled); jmp(&exception_handled);
@ -3307,9 +3307,9 @@ void MacroAssembler::Throw(BailoutReason reason) {
// We don't actually want to generate a pile of code for this, so just // We don't actually want to generate a pile of code for this, so just
// claim there is a stack frame, without generating one. // claim there is a stack frame, without generating one.
FrameScope scope(this, StackFrame::NONE); FrameScope scope(this, StackFrame::NONE);
CallRuntime(Runtime::kThrowMessage, 1); CallRuntime(Runtime::kHiddenThrowMessage, 1);
} else { } else {
CallRuntime(Runtime::kThrowMessage, 1); CallRuntime(Runtime::kHiddenThrowMessage, 1);
} }
// Control will not return here. // Control will not return here.
int3(); int3();

View File

@ -116,7 +116,6 @@ function testArgumentTypes(name, argc) {
var knownProblems = { var knownProblems = {
"Abort": true, "Abort": true,
"ThrowMessage": true,
// Avoid calling the concat operation, because weird lengths // Avoid calling the concat operation, because weird lengths
// may lead to out-of-memory. Ditto for StringBuilderJoin. // may lead to out-of-memory. Ditto for StringBuilderJoin.
@ -141,32 +140,8 @@ var knownProblems = {
"DisableAccessChecks": true, "DisableAccessChecks": true,
"EnableAccessChecks": true, "EnableAccessChecks": true,
// These functions should not be callable as runtime functions. // IS_VAR is special.
"NewFunctionContext": true,
"NewArgumentsFast": true,
"NewStrictArgumentsFast": true,
"PushWithContext": true,
"PushCatchContext": true,
"PushBlockContext": true,
"PushModuleContext": true,
"CompileUnoptimized": true,
"CompileOptimized": true,
"CompileOptimizedConcurrent": true,
"NotifyDeoptimized": true,
"NotifyStubFailure": true,
"NotifyOSR": true,
"CreateObjectLiteralBoilerplate": true,
"CloneLiteralBoilerplate": true,
"CloneShallowLiteralBoilerplate": true,
"CreateArrayLiteralBoilerplate": true,
"IS_VAR": true, "IS_VAR": true,
"ResolvePossiblyDirectEval": true,
"DeclareGlobals": true,
"ArrayConstructor": true,
"InternalArrayConstructor": true,
"PromoteScheduledException": true,
"DeleteHandleScopeExtensions": true,
// Vararg with minimum number > 0. // Vararg with minimum number > 0.
"Call": true, "Call": true,

View File

@ -116,7 +116,6 @@ function testArgumentTypes(name, argc) {
var knownProblems = { var knownProblems = {
"Abort": true, "Abort": true,
"ThrowMessage": true,
// Avoid calling the concat operation, because weird lengths // Avoid calling the concat operation, because weird lengths
// may lead to out-of-memory. Ditto for StringBuilderJoin. // may lead to out-of-memory. Ditto for StringBuilderJoin.
@ -141,33 +140,8 @@ var knownProblems = {
"DisableAccessChecks": true, "DisableAccessChecks": true,
"EnableAccessChecks": true, "EnableAccessChecks": true,
// These functions should not be callable as runtime functions. // IS_VAR is special.
"NewFunctionContext": true,
"NewArgumentsFast": true,
"NewStrictArgumentsFast": true,
"PushWithContext": true,
"PushCatchContext": true,
"PushBlockContext": true,
"PushModuleContext": true,
"CompileUnoptimized": true,
"CompileOptimized": true,
"CompileOptimizedConcurrent": true,
"NotifyDeoptimized": true,
"NotifyStubFailure": true,
"NotifyOSR": true,
"CreateObjectLiteralBoilerplate": true,
"CloneLiteralBoilerplate": true,
"CloneShallowLiteralBoilerplate": true,
"CreateArrayLiteralBoilerplate": true,
"IS_VAR": true, "IS_VAR": true,
"ResolvePossiblyDirectEval": true,
"DeclareGlobals": true,
"ArrayConstructor": true,
"InternalArrayConstructor": true,
"SetAccessorProperty": true,
"PromoteScheduledException": true,
"DeleteHandleScopeExtensions": true,
// Vararg with minimum number > 0. // Vararg with minimum number > 0.
"Call": true, "Call": true,

View File

@ -116,7 +116,6 @@ function testArgumentTypes(name, argc) {
var knownProblems = { var knownProblems = {
"Abort": true, "Abort": true,
"ThrowMessage": true,
// Avoid calling the concat operation, because weird lengths // Avoid calling the concat operation, because weird lengths
// may lead to out-of-memory. Ditto for StringBuilderJoin. // may lead to out-of-memory. Ditto for StringBuilderJoin.
@ -141,32 +140,8 @@ var knownProblems = {
"DisableAccessChecks": true, "DisableAccessChecks": true,
"EnableAccessChecks": true, "EnableAccessChecks": true,
// These functions should not be callable as runtime functions. // IS_VAR is special.
"NewFunctionContext": true,
"NewArgumentsFast": true,
"NewStrictArgumentsFast": true,
"PushWithContext": true,
"PushCatchContext": true,
"PushBlockContext": true,
"PushModuleContext": true,
"CompileUnoptimized": true,
"CompileOptimized": true,
"CompileOptimizedConcurrent": true,
"NotifyDeoptimized": true,
"NotifyStubFailure": true,
"NotifyOSR": true,
"CreateObjectLiteralBoilerplate": true,
"CloneLiteralBoilerplate": true,
"CloneShallowLiteralBoilerplate": true,
"CreateArrayLiteralBoilerplate": true,
"IS_VAR": true, "IS_VAR": true,
"ResolvePossiblyDirectEval": true,
"DeclareGlobals": true,
"ArrayConstructor": true,
"InternalArrayConstructor": true,
"PromoteScheduledException": true,
"DeleteHandleScopeExtensions": true,
// Vararg with minimum number > 0. // Vararg with minimum number > 0.
"Call": true, "Call": true,
@ -212,7 +187,7 @@ var knownProblems = {
"_GeneratorThrow": true, "_GeneratorThrow": true,
// Only applicable to DataViews. // Only applicable to DataViews.
"_DataViewInitialize":true, "_DataViewInitialize": true,
}; };
var currentlyUncallable = { var currentlyUncallable = {

View File

@ -116,7 +116,6 @@ function testArgumentTypes(name, argc) {
var knownProblems = { var knownProblems = {
"Abort": true, "Abort": true,
"ThrowMessage": true,
// Avoid calling the concat operation, because weird lengths // Avoid calling the concat operation, because weird lengths
// may lead to out-of-memory. Ditto for StringBuilderJoin. // may lead to out-of-memory. Ditto for StringBuilderJoin.
@ -141,32 +140,8 @@ var knownProblems = {
"DisableAccessChecks": true, "DisableAccessChecks": true,
"EnableAccessChecks": true, "EnableAccessChecks": true,
// These functions should not be callable as runtime functions. // IS_VAR is special.
"NewFunctionContext": true,
"NewArgumentsFast": true,
"NewStrictArgumentsFast": true,
"PushWithContext": true,
"PushCatchContext": true,
"PushBlockContext": true,
"PushModuleContext": true,
"CompileUnoptimized": true,
"CompileOptimized": true,
"CompileOptimizedConcurrent": true,
"NotifyDeoptimized": true,
"NotifyStubFailure": true,
"NotifyOSR": true,
"CreateObjectLiteralBoilerplate": true,
"CloneLiteralBoilerplate": true,
"CloneShallowLiteralBoilerplate": true,
"CreateArrayLiteralBoilerplate": true,
"IS_VAR": true, "IS_VAR": true,
"ResolvePossiblyDirectEval": true,
"DeclareGlobals": true,
"ArrayConstructor": true,
"InternalArrayConstructor": true,
"PromoteScheduledException": true,
"DeleteHandleScopeExtensions": true,
// Vararg with minimum number > 0. // Vararg with minimum number > 0.
"Call": true, "Call": true,