Remove distinction between hidden and normal runtime functions
R=jkummerow@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/346413004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
a7408e5124
commit
eaca750b29
@ -303,7 +303,7 @@ void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) {
|
||||
__ cmp(sp, Operand(ip));
|
||||
__ b(hs, &ok);
|
||||
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenTryInstallOptimizedCode);
|
||||
CallRuntimePassFunction(masm, Runtime::kTryInstallOptimizedCode);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
|
||||
__ bind(&ok);
|
||||
@ -385,7 +385,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
__ push(r1);
|
||||
|
||||
__ Push(r2, r1); // r1 = constructor
|
||||
__ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
|
||||
__ CallRuntime(Runtime::kFinalizeInstanceSize, 1);
|
||||
|
||||
__ pop(r2);
|
||||
__ pop(r1);
|
||||
@ -578,9 +578,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
|
||||
__ push(r1); // argument for Runtime_NewObject
|
||||
if (create_memento) {
|
||||
__ CallRuntime(Runtime::kHiddenNewObjectWithAllocationSite, 2);
|
||||
__ CallRuntime(Runtime::kNewObjectWithAllocationSite, 2);
|
||||
} else {
|
||||
__ CallRuntime(Runtime::kHiddenNewObject, 1);
|
||||
__ CallRuntime(Runtime::kNewObject, 1);
|
||||
}
|
||||
__ mov(r4, r0);
|
||||
|
||||
@ -809,7 +809,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
|
||||
|
||||
|
||||
void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) {
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenCompileUnoptimized);
|
||||
CallRuntimePassFunction(masm, Runtime::kCompileUnoptimized);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
}
|
||||
|
||||
@ -823,7 +823,7 @@ static void CallCompileOptimized(MacroAssembler* masm, bool concurrent) {
|
||||
// Whether to compile in a background thread.
|
||||
__ Push(masm->isolate()->factory()->ToBoolean(concurrent));
|
||||
|
||||
__ CallRuntime(Runtime::kHiddenCompileOptimized, 2);
|
||||
__ CallRuntime(Runtime::kCompileOptimized, 2);
|
||||
// Restore receiver.
|
||||
__ pop(r1);
|
||||
}
|
||||
@ -918,7 +918,7 @@ static void Generate_NotifyStubFailureHelper(MacroAssembler* masm,
|
||||
// registers.
|
||||
__ stm(db_w, sp, kJSCallerSaved | kCalleeSaved);
|
||||
// Pass the function and deoptimization type to the runtime system.
|
||||
__ CallRuntime(Runtime::kHiddenNotifyStubFailure, 0, save_doubles);
|
||||
__ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles);
|
||||
__ ldm(ia_w, sp, kJSCallerSaved | kCalleeSaved);
|
||||
}
|
||||
|
||||
@ -944,7 +944,7 @@ static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
|
||||
// Pass the function and deoptimization type to the runtime system.
|
||||
__ mov(r0, Operand(Smi::FromInt(static_cast<int>(type))));
|
||||
__ push(r0);
|
||||
__ CallRuntime(Runtime::kHiddenNotifyDeoptimized, 1);
|
||||
__ CallRuntime(Runtime::kNotifyDeoptimized, 1);
|
||||
}
|
||||
|
||||
// Get the full codegen state from the stack and untag it -> r6.
|
||||
@ -1035,7 +1035,7 @@ void Builtins::Generate_OsrAfterStackCheck(MacroAssembler* masm) {
|
||||
__ b(hs, &ok);
|
||||
{
|
||||
FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
|
||||
__ CallRuntime(Runtime::kHiddenStackGuard, 0);
|
||||
__ CallRuntime(Runtime::kStackGuard, 0);
|
||||
}
|
||||
__ Jump(masm->isolate()->builtins()->OnStackReplacement(),
|
||||
RelocInfo::CODE_TARGET);
|
||||
|
@ -20,7 +20,7 @@ void FastNewClosureStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { r2 };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenNewClosureFromStubFailure)->entry);
|
||||
Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ void NumberToStringStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { r0 };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenNumberToString)->entry);
|
||||
Runtime::FunctionForId(Runtime::kNumberToStringRT)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(
|
||||
Runtime::kHiddenCreateArrayLiteralStubBailout)->entry,
|
||||
Runtime::kCreateArrayLiteralStubBailout)->entry,
|
||||
representations);
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { r3, r2, r1, r0 };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenCreateObjectLiteral)->entry);
|
||||
Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -83,7 +83,7 @@ void RegExpConstructResultStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { r2, r1, r0 };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenRegExpConstructResult)->entry);
|
||||
Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -152,7 +152,7 @@ static void InitializeArrayConstructorDescriptor(
|
||||
// r1 -- function
|
||||
// r2 -- allocation site with elements kind
|
||||
Address deopt_handler = Runtime::FunctionForId(
|
||||
Runtime::kHiddenArrayConstructor)->entry;
|
||||
Runtime::kArrayConstructor)->entry;
|
||||
|
||||
if (constant_stack_parameter_count == 0) {
|
||||
Register registers[] = { r1, r2 };
|
||||
@ -186,7 +186,7 @@ static void InitializeInternalArrayConstructorDescriptor(
|
||||
// r0 -- number of arguments
|
||||
// r1 -- constructor function
|
||||
Address deopt_handler = Runtime::FunctionForId(
|
||||
Runtime::kHiddenInternalArrayConstructor)->entry;
|
||||
Runtime::kInternalArrayConstructor)->entry;
|
||||
|
||||
if (constant_stack_parameter_count == 0) {
|
||||
Register registers[] = { r1 };
|
||||
@ -297,7 +297,7 @@ void StringAddStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { r1, r0 };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenStringAdd)->entry);
|
||||
Runtime::FunctionForId(Runtime::kStringAdd)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -1330,7 +1330,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
|
||||
if (exponent_type_ == ON_STACK) {
|
||||
// The arguments are still on the stack.
|
||||
__ bind(&call_runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenMathPow, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kMathPowRT, 2, 1);
|
||||
|
||||
// The stub is called from non-optimized code, which expects the result
|
||||
// as heap number in exponent.
|
||||
@ -1989,7 +1989,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
|
||||
__ str(r3, MemOperand(sp, 1 * kPointerSize));
|
||||
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -2193,7 +2193,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
|
||||
// r2 = argument count (tagged)
|
||||
__ bind(&runtime);
|
||||
__ str(r2, MemOperand(sp, 0 * kPointerSize)); // Patch argument count.
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -2287,7 +2287,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
|
||||
|
||||
// Do the runtime call to allocate the arguments object.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewStrictArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewStrictArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -2296,7 +2296,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
// time or if regexp entry in generated code is turned off runtime switch or
|
||||
// at compilation.
|
||||
#ifdef V8_INTERPRETED_REGEXP
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
|
||||
#else // V8_INTERPRETED_REGEXP
|
||||
|
||||
// Stack frame on entry.
|
||||
@ -2671,7 +2671,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
// Do the runtime call to execute the regexp.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExecRT, 4, 1);
|
||||
|
||||
// Deferred code for string handling.
|
||||
// (6) Not a long external string? If yes, go to (8).
|
||||
@ -3186,7 +3186,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
} else {
|
||||
ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
|
||||
// NumberToSmi discards numbers that are not exact integers.
|
||||
__ CallRuntime(Runtime::kHiddenNumberToSmi, 1);
|
||||
__ CallRuntime(Runtime::kNumberToSmi, 1);
|
||||
}
|
||||
// Save the conversion result before the pop instructions below
|
||||
// have a chance to overwrite it.
|
||||
@ -3208,7 +3208,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
call_helper.BeforeCall(masm);
|
||||
__ SmiTag(index_);
|
||||
__ Push(object_, index_);
|
||||
__ CallRuntime(Runtime::kHiddenStringCharCodeAt, 2);
|
||||
__ CallRuntime(Runtime::kStringCharCodeAtRT, 2);
|
||||
__ Move(result_, r0);
|
||||
call_helper.AfterCall(masm);
|
||||
__ jmp(&exit_);
|
||||
@ -3549,7 +3549,7 @@ void SubStringStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
// Just jump to runtime to create the sub string.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenSubString, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kSubString, 3, 1);
|
||||
|
||||
__ bind(&single_char);
|
||||
// r0: original string
|
||||
@ -3707,7 +3707,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) {
|
||||
// Call the runtime; it returns -1 (less), 0 (equal), or 1 (greater)
|
||||
// tagged as a small integer.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -3988,7 +3988,7 @@ void ICCompareStub::GenerateStrings(MacroAssembler* masm) {
|
||||
if (equality) {
|
||||
__ TailCallRuntime(Runtime::kStringEquals, 2, 1);
|
||||
} else {
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
__ bind(&miss);
|
||||
|
@ -197,7 +197,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
|
||||
__ push(r1);
|
||||
__ Push(info->scope()->GetScopeInfo());
|
||||
__ CallRuntime(Runtime::kHiddenNewGlobalContext, 2);
|
||||
__ CallRuntime(Runtime::kNewGlobalContext, 2);
|
||||
} else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
|
||||
FastNewContextStub stub(isolate(), heap_slots);
|
||||
__ CallStub(&stub);
|
||||
@ -205,7 +205,7 @@ void FullCodeGenerator::Generate() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ push(r1);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
function_in_register = false;
|
||||
// Context is returned in r0. It replaces the context passed to us.
|
||||
@ -841,7 +841,7 @@ void FullCodeGenerator::VisitVariableDeclaration(
|
||||
__ mov(r0, Operand(Smi::FromInt(0))); // Indicates no initial value.
|
||||
__ Push(cp, r2, r1, r0);
|
||||
}
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -897,7 +897,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
|
||||
__ Push(cp, r2, r1);
|
||||
// Push initial value for function declaration.
|
||||
VisitForStackValue(declaration->fun());
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -969,7 +969,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
__ mov(r1, Operand(pairs));
|
||||
__ mov(r0, Operand(Smi::FromInt(DeclareGlobalsFlags())));
|
||||
__ Push(cp, r1, r0);
|
||||
__ CallRuntime(Runtime::kHiddenDeclareGlobals, 3);
|
||||
__ CallRuntime(Runtime::kDeclareGlobals, 3);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -977,7 +977,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) {
|
||||
// Call the runtime to declare the modules.
|
||||
__ Push(descriptions);
|
||||
__ CallRuntime(Runtime::kHiddenDeclareModules, 1);
|
||||
__ CallRuntime(Runtime::kDeclareModules, 1);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -1329,7 +1329,7 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
|
||||
__ LoadRoot(r1, pretenure ? Heap::kTrueValueRootIndex
|
||||
: Heap::kFalseValueRootIndex);
|
||||
__ Push(cp, r0, r1);
|
||||
__ CallRuntime(Runtime::kHiddenNewClosure, 3);
|
||||
__ CallRuntime(Runtime::kNewClosure, 3);
|
||||
}
|
||||
context()->Plug(r0);
|
||||
}
|
||||
@ -1454,7 +1454,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(Variable* var,
|
||||
__ b(ne, done);
|
||||
__ mov(r0, Operand(var->name()));
|
||||
__ push(r0);
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
}
|
||||
}
|
||||
__ jmp(done);
|
||||
@ -1532,7 +1532,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
__ b(ne, &done);
|
||||
__ mov(r0, Operand(var->name()));
|
||||
__ push(r0);
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
__ bind(&done);
|
||||
} else {
|
||||
// Uninitalized const bindings outside of harmony mode are unholed.
|
||||
@ -1556,7 +1556,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
__ bind(&slow);
|
||||
__ mov(r1, Operand(var->name()));
|
||||
__ Push(cp, r1); // Context and name.
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ bind(&done);
|
||||
context()->Plug(r0);
|
||||
}
|
||||
@ -1589,7 +1589,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ mov(r2, Operand(expr->pattern()));
|
||||
__ mov(r1, Operand(expr->flags()));
|
||||
__ Push(r4, r3, r2, r1);
|
||||
__ CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4);
|
||||
__ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4);
|
||||
__ mov(r5, r0);
|
||||
|
||||
__ bind(&materialized);
|
||||
@ -1601,7 +1601,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ bind(&runtime_allocate);
|
||||
__ mov(r0, Operand(Smi::FromInt(size)));
|
||||
__ Push(r5, r0);
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ pop(r5);
|
||||
|
||||
__ bind(&allocated);
|
||||
@ -1645,7 +1645,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
||||
masm()->serializer_enabled() || flags != ObjectLiteral::kFastElements ||
|
||||
properties_count > FastCloneShallowObjectStub::kMaximumClonedProperties) {
|
||||
__ Push(r3, r2, r1, r0);
|
||||
__ CallRuntime(Runtime::kHiddenCreateObjectLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateObjectLiteral, 4);
|
||||
} else {
|
||||
FastCloneShallowObjectStub stub(isolate(), properties_count);
|
||||
__ CallStub(&stub);
|
||||
@ -1786,7 +1786,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
|
||||
if (expr->depth() > 1 || length > JSObject::kInitialMaxFastElementArray) {
|
||||
__ mov(r0, Operand(Smi::FromInt(flags)));
|
||||
__ Push(r3, r2, r1, r0);
|
||||
__ CallRuntime(Runtime::kHiddenCreateArrayLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateArrayLiteral, 4);
|
||||
} else {
|
||||
FastCloneShallowArrayStub stub(isolate(), allocation_site_mode);
|
||||
__ CallStub(&stub);
|
||||
@ -1978,7 +1978,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ cmp(sp, r1);
|
||||
__ b(eq, &post_runtime);
|
||||
__ push(r0); // generator object
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ bind(&post_runtime);
|
||||
__ pop(result_register());
|
||||
@ -2044,7 +2044,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ mov(r1, cp);
|
||||
__ RecordWriteField(r0, JSGeneratorObject::kContextOffset, r1, r2,
|
||||
kLRHasBeenSaved, kDontSaveFPRegs);
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ pop(r0); // result
|
||||
EmitReturnSequence();
|
||||
@ -2096,7 +2096,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
Expression *value,
|
||||
JSGeneratorObject::ResumeMode resume_mode) {
|
||||
// The value stays in r0, and is ultimately read by the resumed generator, as
|
||||
// if CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject) returned it. Or it
|
||||
// if CallRuntime(Runtime::kSuspendJSGeneratorObject) returned it. Or it
|
||||
// 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.
|
||||
VisitForStackValue(generator);
|
||||
@ -2190,7 +2190,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
ASSERT(!result_register().is(r1));
|
||||
__ Push(r1, result_register());
|
||||
__ Push(Smi::FromInt(resume_mode));
|
||||
__ CallRuntime(Runtime::kHiddenResumeJSGeneratorObject, 3);
|
||||
__ CallRuntime(Runtime::kResumeJSGeneratorObject, 3);
|
||||
// Not reached: the runtime call returns elsewhere.
|
||||
__ stop("not-reached");
|
||||
|
||||
@ -2205,14 +2205,14 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
} else {
|
||||
// Throw the provided value.
|
||||
__ push(r0);
|
||||
__ CallRuntime(Runtime::kHiddenThrow, 1);
|
||||
__ CallRuntime(Runtime::kThrow, 1);
|
||||
}
|
||||
__ jmp(&done);
|
||||
|
||||
// Throw error if we attempt to operate on a running generator.
|
||||
__ bind(&wrong_state);
|
||||
__ push(r1);
|
||||
__ CallRuntime(Runtime::kHiddenThrowGeneratorStateError, 1);
|
||||
__ CallRuntime(Runtime::kThrowGeneratorStateError, 1);
|
||||
|
||||
__ bind(&done);
|
||||
context()->Plug(result_register());
|
||||
@ -2230,7 +2230,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
|
||||
|
||||
__ bind(&gc_required);
|
||||
__ Push(Smi::FromInt(map->instance_size()));
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ ldr(context_register(),
|
||||
MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
|
||||
@ -2444,7 +2444,7 @@ void FullCodeGenerator::EmitCallStoreContextSlot(
|
||||
__ mov(r1, Operand(name));
|
||||
__ mov(r0, Operand(Smi::FromInt(strict_mode)));
|
||||
__ Push(cp, r1, r0); // Context, name, strict mode.
|
||||
__ CallRuntime(Runtime::kHiddenStoreContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kStoreContextSlot, 4);
|
||||
}
|
||||
|
||||
|
||||
@ -2462,7 +2462,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op) {
|
||||
__ push(r0);
|
||||
__ mov(r0, Operand(var->name()));
|
||||
__ Push(cp, r0); // Context and name.
|
||||
__ CallRuntime(Runtime::kHiddenInitializeConstContextSlot, 3);
|
||||
__ CallRuntime(Runtime::kInitializeConstContextSlot, 3);
|
||||
} else {
|
||||
ASSERT(var->IsStackAllocated() || var->IsContextSlot());
|
||||
Label skip;
|
||||
@ -2487,7 +2487,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op) {
|
||||
__ b(ne, &assign);
|
||||
__ mov(r3, Operand(var->name()));
|
||||
__ push(r3);
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
// Perform the assignment.
|
||||
__ bind(&assign);
|
||||
EmitStoreToStackLocalOrContextSlot(var, location);
|
||||
@ -2681,7 +2681,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
|
||||
|
||||
// Do the runtime call.
|
||||
__ Push(r4, r3, r2, r1);
|
||||
__ CallRuntime(Runtime::kHiddenResolvePossiblyDirectEval, 5);
|
||||
__ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5);
|
||||
}
|
||||
|
||||
|
||||
@ -2755,7 +2755,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
|
||||
ASSERT(!context_register().is(r2));
|
||||
__ mov(r2, Operand(proxy->name()));
|
||||
__ Push(context_register(), r2);
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ Push(r0, r1); // Function, receiver.
|
||||
|
||||
// If fast case code has been generated, emit code to push the
|
||||
@ -3384,7 +3384,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
|
||||
}
|
||||
|
||||
__ bind(¬_date_object);
|
||||
__ CallRuntime(Runtime::kHiddenThrowNotDateError, 0);
|
||||
__ CallRuntime(Runtime::kThrowNotDateError, 0);
|
||||
__ bind(&done);
|
||||
context()->Plug(r0);
|
||||
}
|
||||
@ -3733,7 +3733,7 @@ void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) {
|
||||
__ bind(¬_found);
|
||||
// Call runtime to perform the lookup.
|
||||
__ Push(cache, key);
|
||||
__ CallRuntime(Runtime::kHiddenGetFromCache, 2);
|
||||
__ CallRuntime(Runtime::kGetFromCache, 2);
|
||||
|
||||
__ bind(&done);
|
||||
context()->Plug(r0);
|
||||
@ -4112,7 +4112,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
|
||||
ASSERT(!context_register().is(r2));
|
||||
__ mov(r2, Operand(var->name()));
|
||||
__ Push(context_register(), r2);
|
||||
__ CallRuntime(Runtime::kHiddenDeleteContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kDeleteContextSlot, 2);
|
||||
context()->Plug(r0);
|
||||
}
|
||||
} else {
|
||||
@ -4389,7 +4389,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
|
||||
__ bind(&slow);
|
||||
__ mov(r0, Operand(proxy->name()));
|
||||
__ Push(cp, r0);
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlotNoReferenceError, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2);
|
||||
PrepareForBailout(expr, TOS_REG);
|
||||
__ bind(&done);
|
||||
|
||||
|
@ -188,7 +188,7 @@ bool LCodeGen::GeneratePrologue() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ push(r1);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
// Context is returned in both r0 and cp. It replaces the context
|
||||
@ -3594,7 +3594,7 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
|
||||
__ push(scratch0());
|
||||
__ mov(scratch0(), Operand(Smi::FromInt(instr->hydrogen()->flags())));
|
||||
__ push(scratch0());
|
||||
CallRuntime(Runtime::kHiddenDeclareGlobals, 3, instr);
|
||||
CallRuntime(Runtime::kDeclareGlobals, 3, instr);
|
||||
}
|
||||
|
||||
|
||||
@ -3685,7 +3685,7 @@ void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr) {
|
||||
// Slow case: Call the runtime system to do the number allocation.
|
||||
__ bind(&slow);
|
||||
|
||||
CallRuntimeFromDeferred(Runtime::kHiddenAllocateHeapNumber, 0, instr,
|
||||
CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0, instr,
|
||||
instr->context());
|
||||
// Set the pointer to the new heap number in tmp.
|
||||
if (!tmp1.is(r0)) __ mov(tmp1, Operand(r0));
|
||||
@ -4497,7 +4497,7 @@ void LCodeGen::DoDeferredStringCharCodeAt(LStringCharCodeAt* instr) {
|
||||
__ SmiTag(index);
|
||||
__ push(index);
|
||||
}
|
||||
CallRuntimeFromDeferred(Runtime::kHiddenStringCharCodeAt, 2, instr,
|
||||
CallRuntimeFromDeferred(Runtime::kStringCharCodeAtRT, 2, instr,
|
||||
instr->context());
|
||||
__ AssertSmi(r0);
|
||||
__ SmiUntag(r0);
|
||||
@ -4684,11 +4684,11 @@ void LCodeGen::DoDeferredNumberTagIU(LInstruction* instr,
|
||||
|
||||
// NumberTagI and NumberTagD use the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ sub(r0, r0, Operand(kHeapObjectTag));
|
||||
@ -4748,11 +4748,11 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
|
||||
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
||||
// NumberTagI and NumberTagD use the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ sub(r0, r0, Operand(kHeapObjectTag));
|
||||
@ -5358,7 +5358,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
|
||||
__ Push(Smi::FromInt(flags));
|
||||
|
||||
CallRuntimeFromDeferred(
|
||||
Runtime::kHiddenAllocateInTargetSpace, 2, instr, instr->context());
|
||||
Runtime::kAllocateInTargetSpace, 2, instr, instr->context());
|
||||
__ StoreToSafepointRegisterSlot(r0, result);
|
||||
}
|
||||
|
||||
@ -5392,7 +5392,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ mov(r4, Operand(instr->hydrogen()->pattern()));
|
||||
__ mov(r3, Operand(instr->hydrogen()->flags()));
|
||||
__ Push(r6, r5, r4, r3);
|
||||
CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4, instr);
|
||||
CallRuntime(Runtime::kMaterializeRegExpLiteral, 4, instr);
|
||||
__ mov(r1, r0);
|
||||
|
||||
__ bind(&materialized);
|
||||
@ -5405,7 +5405,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ bind(&runtime_allocate);
|
||||
__ mov(r0, Operand(Smi::FromInt(size)));
|
||||
__ Push(r1, r0);
|
||||
CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1, instr);
|
||||
CallRuntime(Runtime::kAllocateInNewSpace, 1, instr);
|
||||
__ pop(r1);
|
||||
|
||||
__ bind(&allocated);
|
||||
@ -5430,7 +5430,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
|
||||
__ mov(r1, Operand(pretenure ? factory()->true_value()
|
||||
: factory()->false_value()));
|
||||
__ Push(cp, r2, r1);
|
||||
CallRuntime(Runtime::kHiddenNewClosure, 3, instr);
|
||||
CallRuntime(Runtime::kNewClosure, 3, instr);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5617,7 +5617,7 @@ void LCodeGen::DoDummyUse(LDummyUse* instr) {
|
||||
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
|
||||
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
||||
LoadContextFromDeferred(instr->context());
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenStackGuard);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kStackGuard);
|
||||
RecordSafepointWithLazyDeopt(
|
||||
instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS);
|
||||
ASSERT(instr->HasEnvironment());
|
||||
@ -5843,7 +5843,7 @@ void LCodeGen::DoAllocateBlockContext(LAllocateBlockContext* instr) {
|
||||
Handle<ScopeInfo> scope_info = instr->scope_info();
|
||||
__ Push(scope_info);
|
||||
__ push(ToRegister(instr->function()));
|
||||
CallRuntime(Runtime::kHiddenPushBlockContext, 2, instr);
|
||||
CallRuntime(Runtime::kPushBlockContext, 2, instr);
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
}
|
||||
|
||||
|
@ -2503,7 +2503,7 @@ void MacroAssembler::CallApiFunctionAndReturn(
|
||||
{
|
||||
FrameScope frame(this, StackFrame::INTERNAL);
|
||||
CallExternalReference(
|
||||
ExternalReference(Runtime::kHiddenPromoteScheduledException, isolate()),
|
||||
ExternalReference(Runtime::kPromoteScheduledException, isolate()),
|
||||
0);
|
||||
}
|
||||
jmp(&exception_handled);
|
||||
|
@ -294,7 +294,7 @@ void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) {
|
||||
__ CompareRoot(masm->StackPointer(), Heap::kStackLimitRootIndex);
|
||||
__ B(hs, &ok);
|
||||
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenTryInstallOptimizedCode);
|
||||
CallRuntimePassFunction(masm, Runtime::kTryInstallOptimizedCode);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
|
||||
__ Bind(&ok);
|
||||
@ -380,7 +380,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
// Push the constructor and map to the stack, and the constructor again
|
||||
// as argument to the runtime call.
|
||||
__ Push(constructor, init_map, constructor);
|
||||
__ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
|
||||
__ CallRuntime(Runtime::kFinalizeInstanceSize, 1);
|
||||
__ Pop(init_map, constructor);
|
||||
__ Mov(constructon_count, Operand(JSFunction::kNoSlackTracking));
|
||||
__ Bind(&allocate);
|
||||
@ -542,7 +542,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
__ Peek(x4, 2 * kXRegSize);
|
||||
__ Push(x4);
|
||||
__ Push(constructor); // Argument for Runtime_NewObject.
|
||||
__ CallRuntime(Runtime::kHiddenNewObjectWithAllocationSite, 2);
|
||||
__ CallRuntime(Runtime::kNewObjectWithAllocationSite, 2);
|
||||
__ Mov(x4, x0);
|
||||
// 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
|
||||
@ -550,7 +550,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
__ jmp(&count_incremented);
|
||||
} else {
|
||||
__ Push(constructor); // Argument for Runtime_NewObject.
|
||||
__ CallRuntime(Runtime::kHiddenNewObject, 1);
|
||||
__ CallRuntime(Runtime::kNewObject, 1);
|
||||
__ Mov(x4, x0);
|
||||
}
|
||||
|
||||
@ -782,7 +782,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
|
||||
|
||||
|
||||
void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) {
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenCompileUnoptimized);
|
||||
CallRuntimePassFunction(masm, Runtime::kCompileUnoptimized);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
}
|
||||
|
||||
@ -792,11 +792,11 @@ static void CallCompileOptimized(MacroAssembler* masm, bool concurrent) {
|
||||
Register function = x1;
|
||||
|
||||
// Preserve function. At the same time, push arguments for
|
||||
// kHiddenCompileOptimized.
|
||||
// kCompileOptimized.
|
||||
__ LoadObject(x10, masm->isolate()->factory()->ToBoolean(concurrent));
|
||||
__ Push(function, function, x10);
|
||||
|
||||
__ CallRuntime(Runtime::kHiddenCompileOptimized, 2);
|
||||
__ CallRuntime(Runtime::kCompileOptimized, 2);
|
||||
|
||||
// Restore receiver.
|
||||
__ Pop(function);
|
||||
@ -906,7 +906,7 @@ static void Generate_NotifyStubFailureHelper(MacroAssembler* masm,
|
||||
// preserve the registers with parameters.
|
||||
__ PushXRegList(kSafepointSavedRegisters);
|
||||
// Pass the function and deoptimization type to the runtime system.
|
||||
__ CallRuntime(Runtime::kHiddenNotifyStubFailure, 0, save_doubles);
|
||||
__ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles);
|
||||
__ PopXRegList(kSafepointSavedRegisters);
|
||||
}
|
||||
|
||||
@ -936,7 +936,7 @@ static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
|
||||
// Pass the deoptimization type to the runtime system.
|
||||
__ Mov(x0, Smi::FromInt(static_cast<int>(type)));
|
||||
__ Push(x0);
|
||||
__ CallRuntime(Runtime::kHiddenNotifyDeoptimized, 1);
|
||||
__ CallRuntime(Runtime::kNotifyDeoptimized, 1);
|
||||
}
|
||||
|
||||
// Get the full codegen state from the stack and untag it.
|
||||
@ -1021,7 +1021,7 @@ void Builtins::Generate_OsrAfterStackCheck(MacroAssembler* masm) {
|
||||
__ B(hs, &ok);
|
||||
{
|
||||
FrameScope scope(masm, StackFrame::INTERNAL);
|
||||
__ CallRuntime(Runtime::kHiddenStackGuard, 0);
|
||||
__ CallRuntime(Runtime::kStackGuard, 0);
|
||||
}
|
||||
__ Jump(masm->isolate()->builtins()->OnStackReplacement(),
|
||||
RelocInfo::CODE_TARGET);
|
||||
|
@ -20,7 +20,7 @@ void FastNewClosureStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { x2 };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenNewClosureFromStubFailure)->entry);
|
||||
Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ void NumberToStringStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { x0 };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenNumberToString)->entry);
|
||||
Runtime::FunctionForId(Runtime::kNumberToStringRT)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -63,7 +63,7 @@ void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(
|
||||
Runtime::kHiddenCreateArrayLiteralStubBailout)->entry,
|
||||
Runtime::kCreateArrayLiteralStubBailout)->entry,
|
||||
representations);
|
||||
}
|
||||
|
||||
@ -77,7 +77,7 @@ void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { x3, x2, x1, x0 };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenCreateObjectLiteral)->entry);
|
||||
Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -98,7 +98,7 @@ void RegExpConstructResultStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { x2, x1, x0 };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenRegExpConstructResult)->entry);
|
||||
Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -174,7 +174,7 @@ static void InitializeArrayConstructorDescriptor(
|
||||
// x2: allocation site with elements kind
|
||||
// x0: number of arguments to the constructor function
|
||||
Address deopt_handler = Runtime::FunctionForId(
|
||||
Runtime::kHiddenArrayConstructor)->entry;
|
||||
Runtime::kArrayConstructor)->entry;
|
||||
|
||||
if (constant_stack_parameter_count == 0) {
|
||||
Register registers[] = { x1, x2 };
|
||||
@ -225,7 +225,7 @@ static void InitializeInternalArrayConstructorDescriptor(
|
||||
// x1: constructor function
|
||||
// x0: number of arguments to the constructor function
|
||||
Address deopt_handler = Runtime::FunctionForId(
|
||||
Runtime::kHiddenInternalArrayConstructor)->entry;
|
||||
Runtime::kInternalArrayConstructor)->entry;
|
||||
|
||||
if (constant_stack_parameter_count == 0) {
|
||||
Register registers[] = { x1 };
|
||||
@ -333,7 +333,7 @@ void StringAddStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { x1, x0 };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenStringAdd)->entry);
|
||||
Runtime::FunctionForId(Runtime::kStringAdd)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -1279,7 +1279,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
|
||||
__ Bind(&call_runtime);
|
||||
// Put the arguments back on the stack.
|
||||
__ Push(base_tagged, exponent_tagged);
|
||||
__ TailCallRuntime(Runtime::kHiddenMathPow, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kMathPowRT, 2, 1);
|
||||
|
||||
// Return.
|
||||
__ Bind(&done);
|
||||
@ -2044,7 +2044,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
|
||||
__ Poke(x10, 1 * kXRegSize);
|
||||
|
||||
__ Bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -2316,7 +2316,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
|
||||
// Do the runtime call to allocate the arguments object.
|
||||
__ Bind(&runtime);
|
||||
__ Push(function, recv_arg, arg_count_smi);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -2449,13 +2449,13 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
|
||||
// Do the runtime call to allocate the arguments object.
|
||||
__ Bind(&runtime);
|
||||
__ Push(function, params, param_count_smi);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewStrictArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewStrictArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
#ifdef V8_INTERPRETED_REGEXP
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
|
||||
#else // V8_INTERPRETED_REGEXP
|
||||
|
||||
// Stack frame on entry.
|
||||
@ -2929,7 +2929,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
__ Bind(&runtime);
|
||||
__ PopCPURegList(used_callee_saved_registers);
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExecRT, 4, 1);
|
||||
|
||||
// Deferred code for string handling.
|
||||
// (6) Not a long external string? If yes, go to (8).
|
||||
@ -3480,7 +3480,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
} else {
|
||||
ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
|
||||
// NumberToSmi discards numbers that are not exact integers.
|
||||
__ CallRuntime(Runtime::kHiddenNumberToSmi, 1);
|
||||
__ CallRuntime(Runtime::kNumberToSmi, 1);
|
||||
}
|
||||
// Save the conversion result before the pop instructions below
|
||||
// have a chance to overwrite it.
|
||||
@ -3503,7 +3503,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
call_helper.BeforeCall(masm);
|
||||
__ SmiTag(index_);
|
||||
__ Push(object_, index_);
|
||||
__ CallRuntime(Runtime::kHiddenStringCharCodeAt, 2);
|
||||
__ CallRuntime(Runtime::kStringCharCodeAtRT, 2);
|
||||
__ Mov(result_, x0);
|
||||
call_helper.AfterCall(masm);
|
||||
__ B(&exit_);
|
||||
@ -3785,7 +3785,7 @@ void ICCompareStub::GenerateStrings(MacroAssembler* masm) {
|
||||
if (equality) {
|
||||
__ TailCallRuntime(Runtime::kStringEquals, 2, 1);
|
||||
} else {
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
__ Bind(&miss);
|
||||
@ -4175,7 +4175,7 @@ void SubStringStub::Generate(MacroAssembler* masm) {
|
||||
__ Ret();
|
||||
|
||||
__ Bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenSubString, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kSubString, 3, 1);
|
||||
|
||||
__ bind(&single_char);
|
||||
// x1: result_length
|
||||
@ -4352,7 +4352,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
// Call the runtime.
|
||||
// Returns -1 (less), 0 (equal), or 1 (greater) tagged as a small integer.
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -198,7 +198,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
|
||||
__ Mov(x10, Operand(info->scope()->GetScopeInfo()));
|
||||
__ Push(x1, x10);
|
||||
__ CallRuntime(Runtime::kHiddenNewGlobalContext, 2);
|
||||
__ CallRuntime(Runtime::kNewGlobalContext, 2);
|
||||
} else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
|
||||
FastNewContextStub stub(isolate(), heap_slots);
|
||||
__ CallStub(&stub);
|
||||
@ -206,7 +206,7 @@ void FullCodeGenerator::Generate() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ Push(x1);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
function_in_register_x1 = false;
|
||||
// Context is returned in x0. It replaces the context passed to us.
|
||||
@ -859,7 +859,7 @@ void FullCodeGenerator::VisitVariableDeclaration(
|
||||
// Pushing 0 (xzr) indicates no initial value.
|
||||
__ Push(cp, x2, x1, xzr);
|
||||
}
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -915,7 +915,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
|
||||
__ Push(cp, x2, x1);
|
||||
// Push initial value for function declaration.
|
||||
VisitForStackValue(declaration->fun());
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -990,7 +990,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
__ Mov(flags, Smi::FromInt(DeclareGlobalsFlags()));
|
||||
}
|
||||
__ Push(cp, x11, flags);
|
||||
__ CallRuntime(Runtime::kHiddenDeclareGlobals, 3);
|
||||
__ CallRuntime(Runtime::kDeclareGlobals, 3);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -998,7 +998,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) {
|
||||
// Call the runtime to declare the modules.
|
||||
__ Push(descriptions);
|
||||
__ CallRuntime(Runtime::kHiddenDeclareModules, 1);
|
||||
__ CallRuntime(Runtime::kDeclareModules, 1);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -1338,7 +1338,7 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
|
||||
__ LoadRoot(x10, pretenure ? Heap::kTrueValueRootIndex
|
||||
: Heap::kFalseValueRootIndex);
|
||||
__ Push(cp, x11, x10);
|
||||
__ CallRuntime(Runtime::kHiddenNewClosure, 3);
|
||||
__ CallRuntime(Runtime::kNewClosure, 3);
|
||||
}
|
||||
context()->Plug(x0);
|
||||
}
|
||||
@ -1454,7 +1454,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(Variable* var,
|
||||
} else { // LET || CONST
|
||||
__ Mov(x0, Operand(var->name()));
|
||||
__ Push(x0);
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
}
|
||||
}
|
||||
__ B(done);
|
||||
@ -1532,7 +1532,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// binding in harmony mode.
|
||||
__ Mov(x0, Operand(var->name()));
|
||||
__ Push(x0);
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
__ Bind(&done);
|
||||
} else {
|
||||
// Uninitalized const bindings outside of harmony mode are unholed.
|
||||
@ -1557,7 +1557,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
Comment cmnt(masm_, "Lookup variable");
|
||||
__ Mov(x1, Operand(var->name()));
|
||||
__ Push(cp, x1); // Context and name.
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ Bind(&done);
|
||||
context()->Plug(x0);
|
||||
break;
|
||||
@ -1589,7 +1589,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ Mov(x2, Operand(expr->pattern()));
|
||||
__ Mov(x1, Operand(expr->flags()));
|
||||
__ Push(x4, x3, x2, x1);
|
||||
__ CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4);
|
||||
__ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4);
|
||||
__ Mov(x5, x0);
|
||||
|
||||
__ Bind(&materialized);
|
||||
@ -1601,7 +1601,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ Bind(&runtime_allocate);
|
||||
__ Mov(x10, Smi::FromInt(size));
|
||||
__ Push(x5, x10);
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ Pop(x5);
|
||||
|
||||
__ Bind(&allocated);
|
||||
@ -1647,7 +1647,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
||||
masm()->serializer_enabled() || flags != ObjectLiteral::kFastElements ||
|
||||
properties_count > max_cloned_properties) {
|
||||
__ Push(x3, x2, x1, x0);
|
||||
__ CallRuntime(Runtime::kHiddenCreateObjectLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateObjectLiteral, 4);
|
||||
} else {
|
||||
FastCloneShallowObjectStub stub(isolate(), properties_count);
|
||||
__ CallStub(&stub);
|
||||
@ -1787,7 +1787,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
|
||||
if (expr->depth() > 1 || length > JSObject::kInitialMaxFastElementArray) {
|
||||
__ Mov(x0, Smi::FromInt(flags));
|
||||
__ Push(x3, x2, x1, x0);
|
||||
__ CallRuntime(Runtime::kHiddenCreateArrayLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateArrayLiteral, 4);
|
||||
} else {
|
||||
FastCloneShallowArrayStub stub(isolate(), allocation_site_mode);
|
||||
__ CallStub(&stub);
|
||||
@ -2149,7 +2149,7 @@ void FullCodeGenerator::EmitCallStoreContextSlot(
|
||||
// jssp[16] : context.
|
||||
// jssp[24] : value.
|
||||
__ Push(x0, cp, x11, x10);
|
||||
__ CallRuntime(Runtime::kHiddenStoreContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kStoreContextSlot, 4);
|
||||
}
|
||||
|
||||
|
||||
@ -2169,7 +2169,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
|
||||
__ Push(x0);
|
||||
__ Mov(x0, Operand(var->name()));
|
||||
__ Push(cp, x0); // Context and name.
|
||||
__ CallRuntime(Runtime::kHiddenInitializeConstContextSlot, 3);
|
||||
__ CallRuntime(Runtime::kInitializeConstContextSlot, 3);
|
||||
} else {
|
||||
ASSERT(var->IsStackLocal() || var->IsContextSlot());
|
||||
Label skip;
|
||||
@ -2192,7 +2192,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
|
||||
__ JumpIfNotRoot(x10, Heap::kTheHoleValueRootIndex, &assign);
|
||||
__ Mov(x10, Operand(var->name()));
|
||||
__ Push(x10);
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
// Perform the assignment.
|
||||
__ Bind(&assign);
|
||||
EmitStoreToStackLocalOrContextSlot(var, location);
|
||||
@ -2391,7 +2391,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
|
||||
__ Push(x10, x11);
|
||||
|
||||
// Do the runtime call.
|
||||
__ CallRuntime(Runtime::kHiddenResolvePossiblyDirectEval, 5);
|
||||
__ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5);
|
||||
}
|
||||
|
||||
|
||||
@ -2468,7 +2468,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
|
||||
__ Push(context_register());
|
||||
__ Mov(x10, Operand(proxy->name()));
|
||||
__ Push(x10);
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ Push(x0, x1); // Receiver, function.
|
||||
|
||||
// If fast case code has been generated, emit code to push the
|
||||
@ -3116,7 +3116,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
|
||||
}
|
||||
|
||||
__ Bind(¬_date_object);
|
||||
__ CallRuntime(Runtime::kHiddenThrowNotDateError, 0);
|
||||
__ CallRuntime(Runtime::kThrowNotDateError, 0);
|
||||
__ Bind(&done);
|
||||
context()->Plug(x0);
|
||||
}
|
||||
@ -3463,7 +3463,7 @@ void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) {
|
||||
|
||||
// Call runtime to perform the lookup.
|
||||
__ Push(cache, key);
|
||||
__ CallRuntime(Runtime::kHiddenGetFromCache, 2);
|
||||
__ CallRuntime(Runtime::kGetFromCache, 2);
|
||||
|
||||
__ Bind(&done);
|
||||
context()->Plug(x0);
|
||||
@ -3821,7 +3821,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
|
||||
// context where the variable was introduced.
|
||||
__ Mov(x2, Operand(var->name()));
|
||||
__ Push(context_register(), x2);
|
||||
__ CallRuntime(Runtime::kHiddenDeleteContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kDeleteContextSlot, 2);
|
||||
context()->Plug(x0);
|
||||
}
|
||||
} else {
|
||||
@ -4101,7 +4101,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
|
||||
__ Bind(&slow);
|
||||
__ Mov(x0, Operand(proxy->name()));
|
||||
__ Push(cp, x0);
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlotNoReferenceError, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2);
|
||||
PrepareForBailout(expr, TOS_REG);
|
||||
__ Bind(&done);
|
||||
|
||||
@ -4353,7 +4353,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ Cmp(__ StackPointer(), x1);
|
||||
__ B(eq, &post_runtime);
|
||||
__ Push(x0); // generator object
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ Bind(&post_runtime);
|
||||
__ Pop(result_register());
|
||||
@ -4424,7 +4424,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ Mov(x1, cp);
|
||||
__ RecordWriteField(x0, JSGeneratorObject::kContextOffset, x1, x2,
|
||||
kLRHasBeenSaved, kDontSaveFPRegs);
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ Pop(x0); // result
|
||||
EmitReturnSequence();
|
||||
@ -4483,7 +4483,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
Register function = x4;
|
||||
|
||||
// The value stays in x0, and is ultimately read by the resumed generator, as
|
||||
// if CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject) returned it. Or it
|
||||
// if CallRuntime(Runtime::kSuspendJSGeneratorObject) returned it. Or it
|
||||
// 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.
|
||||
VisitForStackValue(generator);
|
||||
@ -4565,7 +4565,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
|
||||
__ Mov(x10, Smi::FromInt(resume_mode));
|
||||
__ Push(generator_object, result_register(), x10);
|
||||
__ CallRuntime(Runtime::kHiddenResumeJSGeneratorObject, 3);
|
||||
__ CallRuntime(Runtime::kResumeJSGeneratorObject, 3);
|
||||
// Not reached: the runtime call returns elsewhere.
|
||||
__ Unreachable();
|
||||
|
||||
@ -4580,14 +4580,14 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
} else {
|
||||
// Throw the provided value.
|
||||
__ Push(value_reg);
|
||||
__ CallRuntime(Runtime::kHiddenThrow, 1);
|
||||
__ CallRuntime(Runtime::kThrow, 1);
|
||||
}
|
||||
__ B(&done);
|
||||
|
||||
// Throw error if we attempt to operate on a running generator.
|
||||
__ Bind(&wrong_state);
|
||||
__ Push(generator_object);
|
||||
__ CallRuntime(Runtime::kHiddenThrowGeneratorStateError, 1);
|
||||
__ CallRuntime(Runtime::kThrowGeneratorStateError, 1);
|
||||
|
||||
__ Bind(&done);
|
||||
context()->Plug(result_register());
|
||||
@ -4608,7 +4608,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
|
||||
|
||||
__ Bind(&gc_required);
|
||||
__ Push(Smi::FromInt(map->instance_size()));
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ Ldr(context_register(),
|
||||
MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
|
||||
|
@ -703,7 +703,7 @@ bool LCodeGen::GeneratePrologue() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ Push(x1);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
// Context is returned in x0. It replaces the context passed to us. It's
|
||||
@ -1655,7 +1655,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
|
||||
__ Push(size, x10);
|
||||
|
||||
CallRuntimeFromDeferred(
|
||||
Runtime::kHiddenAllocateInTargetSpace, 2, instr, instr->context());
|
||||
Runtime::kAllocateInTargetSpace, 2, instr, instr->context());
|
||||
__ StoreToSafepointRegisterSlot(x0, ToRegister(instr->result()));
|
||||
}
|
||||
|
||||
@ -2881,7 +2881,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
|
||||
__ Mov(x1, Operand(pretenure ? factory()->true_value()
|
||||
: factory()->false_value()));
|
||||
__ Push(cp, x2, x1);
|
||||
CallRuntime(Runtime::kHiddenNewClosure, 3, instr);
|
||||
CallRuntime(Runtime::kNewClosure, 3, instr);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3805,7 +3805,7 @@ void LCodeGen::DoDeferredMathAbsTagged(LMathAbsTagged* instr,
|
||||
}
|
||||
|
||||
{ PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
||||
CallRuntimeFromDeferred(Runtime::kHiddenAllocateHeapNumber, 0, instr,
|
||||
CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0, instr,
|
||||
instr->context());
|
||||
__ StoreToSafepointRegisterSlot(x0, result);
|
||||
}
|
||||
@ -4531,11 +4531,11 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
|
||||
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
||||
// NumberTagU and NumberTagD use the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ StoreToSafepointRegisterSlot(x0, result);
|
||||
@ -4597,11 +4597,11 @@ void LCodeGen::DoDeferredNumberTagU(LInstruction* instr,
|
||||
|
||||
// NumberTagU and NumberTagD use the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ StoreToSafepointRegisterSlot(x0, dst);
|
||||
@ -5031,14 +5031,14 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
|
||||
__ LoadHeapObject(scratch1, instr->hydrogen()->pairs());
|
||||
__ Mov(scratch2, Smi::FromInt(instr->hydrogen()->flags()));
|
||||
__ Push(cp, scratch1, scratch2); // The context is the first argument.
|
||||
CallRuntime(Runtime::kHiddenDeclareGlobals, 3, instr);
|
||||
CallRuntime(Runtime::kDeclareGlobals, 3, instr);
|
||||
}
|
||||
|
||||
|
||||
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
|
||||
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
||||
LoadContextFromDeferred(instr->context());
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenStackGuard);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kStackGuard);
|
||||
RecordSafepointWithLazyDeopt(
|
||||
instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS);
|
||||
ASSERT(instr->HasEnvironment());
|
||||
@ -5498,7 +5498,7 @@ void LCodeGen::DoDeferredStringCharCodeAt(LStringCharCodeAt* instr) {
|
||||
Register index = ToRegister(instr->index());
|
||||
__ SmiTagAndPush(index);
|
||||
|
||||
CallRuntimeFromDeferred(Runtime::kHiddenStringCharCodeAt, 2, instr,
|
||||
CallRuntimeFromDeferred(Runtime::kStringCharCodeAtRT, 2, instr,
|
||||
instr->context());
|
||||
__ AssertSmi(x0);
|
||||
__ SmiUntag(x0);
|
||||
@ -5722,7 +5722,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ Mov(x11, Operand(instr->hydrogen()->pattern()));
|
||||
__ Mov(x10, Operand(instr->hydrogen()->flags()));
|
||||
__ Push(x7, x12, x11, x10);
|
||||
CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4, instr);
|
||||
CallRuntime(Runtime::kMaterializeRegExpLiteral, 4, instr);
|
||||
__ Mov(x1, x0);
|
||||
|
||||
__ Bind(&materialized);
|
||||
@ -5735,7 +5735,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ Bind(&runtime_allocate);
|
||||
__ Mov(x0, Smi::FromInt(size));
|
||||
__ Push(x1, x0);
|
||||
CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1, instr);
|
||||
CallRuntime(Runtime::kAllocateInNewSpace, 1, instr);
|
||||
__ Pop(x1);
|
||||
|
||||
__ Bind(&allocated);
|
||||
@ -6052,7 +6052,7 @@ void LCodeGen::DoAllocateBlockContext(LAllocateBlockContext* instr) {
|
||||
Handle<ScopeInfo> scope_info = instr->scope_info();
|
||||
__ Push(scope_info);
|
||||
__ Push(ToRegister(instr->function()));
|
||||
CallRuntime(Runtime::kHiddenPushBlockContext, 2, instr);
|
||||
CallRuntime(Runtime::kPushBlockContext, 2, instr);
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
}
|
||||
|
||||
|
@ -1779,7 +1779,7 @@ void MacroAssembler::CallApiFunctionAndReturn(
|
||||
FrameScope frame(this, StackFrame::INTERNAL);
|
||||
CallExternalReference(
|
||||
ExternalReference(
|
||||
Runtime::kHiddenPromoteScheduledException, isolate()), 0);
|
||||
Runtime::kPromoteScheduledException, isolate()), 0);
|
||||
}
|
||||
B(&exception_handled);
|
||||
|
||||
|
@ -1684,12 +1684,12 @@ const char* Builtins::Lookup(byte* pc) {
|
||||
|
||||
|
||||
void Builtins::Generate_InterruptCheck(MacroAssembler* masm) {
|
||||
masm->TailCallRuntime(Runtime::kHiddenInterrupt, 0, 1);
|
||||
masm->TailCallRuntime(Runtime::kInterrupt, 0, 1);
|
||||
}
|
||||
|
||||
|
||||
void Builtins::Generate_StackCheck(MacroAssembler* masm) {
|
||||
masm->TailCallRuntime(Runtime::kHiddenStackGuard, 0, 1);
|
||||
masm->TailCallRuntime(Runtime::kStackGuard, 0, 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -598,7 +598,7 @@ void FullCodeGenerator::AllocateModules(ZoneList<Declaration*>* declarations) {
|
||||
ASSERT(scope->interface()->Index() >= 0);
|
||||
__ Push(Smi::FromInt(scope->interface()->Index()));
|
||||
__ Push(scope->GetScopeInfo());
|
||||
__ CallRuntime(Runtime::kHiddenPushModuleContext, 2);
|
||||
__ CallRuntime(Runtime::kPushModuleContext, 2);
|
||||
StoreToFrameField(StandardFrameConstants::kContextOffset,
|
||||
context_register());
|
||||
|
||||
@ -738,7 +738,7 @@ void FullCodeGenerator::VisitModuleLiteral(ModuleLiteral* module) {
|
||||
ASSERT(interface->Index() >= 0);
|
||||
__ Push(Smi::FromInt(interface->Index()));
|
||||
__ Push(Smi::FromInt(0));
|
||||
__ CallRuntime(Runtime::kHiddenPushModuleContext, 2);
|
||||
__ CallRuntime(Runtime::kPushModuleContext, 2);
|
||||
StoreToFrameField(StandardFrameConstants::kContextOffset, context_register());
|
||||
|
||||
{
|
||||
@ -1054,7 +1054,7 @@ void FullCodeGenerator::VisitBlock(Block* stmt) {
|
||||
{ Comment cmnt(masm_, "[ Extend block context");
|
||||
__ Push(scope_->GetScopeInfo());
|
||||
PushFunctionArgumentForContextAllocation();
|
||||
__ CallRuntime(Runtime::kHiddenPushBlockContext, 2);
|
||||
__ CallRuntime(Runtime::kPushBlockContext, 2);
|
||||
|
||||
// Replace the context stored in the frame.
|
||||
StoreToFrameField(StandardFrameConstants::kContextOffset,
|
||||
@ -1087,7 +1087,7 @@ void FullCodeGenerator::VisitModuleStatement(ModuleStatement* stmt) {
|
||||
|
||||
__ Push(Smi::FromInt(stmt->proxy()->interface()->Index()));
|
||||
__ Push(Smi::FromInt(0));
|
||||
__ CallRuntime(Runtime::kHiddenPushModuleContext, 2);
|
||||
__ CallRuntime(Runtime::kPushModuleContext, 2);
|
||||
StoreToFrameField(
|
||||
StandardFrameConstants::kContextOffset, context_register());
|
||||
|
||||
@ -1226,7 +1226,7 @@ void FullCodeGenerator::VisitWithStatement(WithStatement* stmt) {
|
||||
|
||||
VisitForStackValue(stmt->expression());
|
||||
PushFunctionArgumentForContextAllocation();
|
||||
__ CallRuntime(Runtime::kHiddenPushWithContext, 2);
|
||||
__ CallRuntime(Runtime::kPushWithContext, 2);
|
||||
StoreToFrameField(StandardFrameConstants::kContextOffset, context_register());
|
||||
|
||||
Scope* saved_scope = scope();
|
||||
@ -1376,7 +1376,7 @@ void FullCodeGenerator::VisitTryCatchStatement(TryCatchStatement* stmt) {
|
||||
__ Push(stmt->variable()->name());
|
||||
__ Push(result_register());
|
||||
PushFunctionArgumentForContextAllocation();
|
||||
__ CallRuntime(Runtime::kHiddenPushCatchContext, 3);
|
||||
__ CallRuntime(Runtime::kPushCatchContext, 3);
|
||||
StoreToFrameField(StandardFrameConstants::kContextOffset,
|
||||
context_register());
|
||||
}
|
||||
@ -1440,7 +1440,7 @@ void FullCodeGenerator::VisitTryFinallyStatement(TryFinallyStatement* stmt) {
|
||||
// rethrow the exception if it returns.
|
||||
__ Call(&finally_entry);
|
||||
__ Push(result_register());
|
||||
__ CallRuntime(Runtime::kHiddenReThrow, 1);
|
||||
__ CallRuntime(Runtime::kReThrow, 1);
|
||||
|
||||
// Finally block implementation.
|
||||
__ bind(&finally_entry);
|
||||
@ -1566,7 +1566,7 @@ void FullCodeGenerator::VisitNativeFunctionLiteral(
|
||||
void FullCodeGenerator::VisitThrow(Throw* expr) {
|
||||
Comment cmnt(masm_, "[ Throw");
|
||||
VisitForStackValue(expr->exception());
|
||||
__ CallRuntime(Runtime::kHiddenThrow, 1);
|
||||
__ CallRuntime(Runtime::kThrow, 1);
|
||||
// Never returns here.
|
||||
}
|
||||
|
||||
|
@ -7470,7 +7470,7 @@ class HToFastProperties V8_FINAL : public HUnaryOperation {
|
||||
ASSERT(value->IsCallRuntime());
|
||||
#ifdef DEBUG
|
||||
const Runtime::Function* function = HCallRuntime::cast(value)->function();
|
||||
ASSERT(function->function_id == Runtime::kHiddenCreateObjectLiteral);
|
||||
ASSERT(function->function_id == Runtime::kCreateObjectLiteral);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -1933,7 +1933,7 @@ HValue* HGraphBuilder::BuildNumberToString(HValue* object, Type* type) {
|
||||
Add<HPushArguments>(object);
|
||||
Push(Add<HCallRuntime>(
|
||||
isolate()->factory()->empty_string(),
|
||||
Runtime::FunctionForId(Runtime::kHiddenNumberToStringSkipCache),
|
||||
Runtime::FunctionForId(Runtime::kNumberToStringSkipCache),
|
||||
1));
|
||||
}
|
||||
if_found.End();
|
||||
@ -2257,7 +2257,7 @@ HValue* HGraphBuilder::BuildUncheckedStringAdd(
|
||||
Add<HPushArguments>(left, right);
|
||||
Push(Add<HCallRuntime>(
|
||||
isolate()->factory()->empty_string(),
|
||||
Runtime::FunctionForId(Runtime::kHiddenStringAdd),
|
||||
Runtime::FunctionForId(Runtime::kStringAdd),
|
||||
2));
|
||||
}
|
||||
if_sameencodingandsequential.End();
|
||||
@ -5483,7 +5483,7 @@ void HOptimizedGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) {
|
||||
// TODO(mvstanton): Add a flag to turn off creation of any
|
||||
// AllocationMementos for this call: we are in crankshaft and should have
|
||||
// learned enough about transition behavior to stop emitting mementos.
|
||||
Runtime::FunctionId function_id = Runtime::kHiddenCreateObjectLiteral;
|
||||
Runtime::FunctionId function_id = Runtime::kCreateObjectLiteral;
|
||||
literal = Add<HCallRuntime>(isolate()->factory()->empty_string(),
|
||||
Runtime::FunctionForId(function_id),
|
||||
4);
|
||||
@ -5641,7 +5641,7 @@ void HOptimizedGraphBuilder::VisitArrayLiteral(ArrayLiteral* expr) {
|
||||
// TODO(mvstanton): Consider a flag to turn off creation of any
|
||||
// AllocationMementos for this call: we are in crankshaft and should have
|
||||
// learned enough about transition behavior to stop emitting mementos.
|
||||
Runtime::FunctionId function_id = Runtime::kHiddenCreateArrayLiteral;
|
||||
Runtime::FunctionId function_id = Runtime::kCreateArrayLiteral;
|
||||
literal = Add<HCallRuntime>(isolate()->factory()->empty_string(),
|
||||
Runtime::FunctionForId(function_id),
|
||||
4);
|
||||
@ -6653,7 +6653,7 @@ void HOptimizedGraphBuilder::VisitThrow(Throw* expr) {
|
||||
if (!FLAG_hydrogen_track_positions) SetSourcePosition(expr->position());
|
||||
Add<HPushArguments>(value);
|
||||
Add<HCallRuntime>(isolate()->factory()->empty_string(),
|
||||
Runtime::FunctionForId(Runtime::kHiddenThrow), 1);
|
||||
Runtime::FunctionForId(Runtime::kThrow), 1);
|
||||
Add<HSimulate>(expr->id());
|
||||
|
||||
// If the throw definitely exits the function, we can finish with a dummy
|
||||
|
@ -92,7 +92,7 @@ void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) {
|
||||
__ cmp(esp, Operand::StaticVariable(stack_limit));
|
||||
__ j(above_equal, &ok, Label::kNear);
|
||||
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenTryInstallOptimizedCode);
|
||||
CallRuntimePassFunction(masm, Runtime::kTryInstallOptimizedCode);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
|
||||
__ bind(&ok);
|
||||
@ -178,7 +178,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
__ push(edi);
|
||||
|
||||
__ push(edi); // constructor
|
||||
__ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
|
||||
__ CallRuntime(Runtime::kFinalizeInstanceSize, 1);
|
||||
|
||||
__ pop(edi);
|
||||
__ pop(eax);
|
||||
@ -359,9 +359,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
// edi: function (constructor)
|
||||
__ push(edi);
|
||||
if (create_memento) {
|
||||
__ CallRuntime(Runtime::kHiddenNewObjectWithAllocationSite, 2);
|
||||
__ CallRuntime(Runtime::kNewObjectWithAllocationSite, 2);
|
||||
} else {
|
||||
__ CallRuntime(Runtime::kHiddenNewObject, 1);
|
||||
__ CallRuntime(Runtime::kNewObject, 1);
|
||||
}
|
||||
__ mov(ebx, eax); // store result in ebx
|
||||
|
||||
@ -551,7 +551,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
|
||||
|
||||
|
||||
void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) {
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenCompileUnoptimized);
|
||||
CallRuntimePassFunction(masm, Runtime::kCompileUnoptimized);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
}
|
||||
|
||||
@ -566,7 +566,7 @@ static void CallCompileOptimized(MacroAssembler* masm, bool concurrent) {
|
||||
// Whether to compile in a background thread.
|
||||
__ Push(masm->isolate()->factory()->ToBoolean(concurrent));
|
||||
|
||||
__ CallRuntime(Runtime::kHiddenCompileOptimized, 2);
|
||||
__ CallRuntime(Runtime::kCompileOptimized, 2);
|
||||
// Restore receiver.
|
||||
__ pop(edi);
|
||||
}
|
||||
@ -670,7 +670,7 @@ static void Generate_NotifyStubFailureHelper(MacroAssembler* masm,
|
||||
// stubs that tail call the runtime on deopts passing their parameters in
|
||||
// registers.
|
||||
__ pushad();
|
||||
__ CallRuntime(Runtime::kHiddenNotifyStubFailure, 0, save_doubles);
|
||||
__ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles);
|
||||
__ popad();
|
||||
// Tear down internal frame.
|
||||
}
|
||||
@ -697,7 +697,7 @@ static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
|
||||
|
||||
// Pass deoptimization type to the runtime system.
|
||||
__ push(Immediate(Smi::FromInt(static_cast<int>(type))));
|
||||
__ CallRuntime(Runtime::kHiddenNotifyDeoptimized, 1);
|
||||
__ CallRuntime(Runtime::kNotifyDeoptimized, 1);
|
||||
|
||||
// Tear down internal frame.
|
||||
}
|
||||
@ -1436,7 +1436,7 @@ void Builtins::Generate_OsrAfterStackCheck(MacroAssembler* masm) {
|
||||
__ j(above_equal, &ok, Label::kNear);
|
||||
{
|
||||
FrameScope scope(masm, StackFrame::INTERNAL);
|
||||
__ CallRuntime(Runtime::kHiddenStackGuard, 0);
|
||||
__ CallRuntime(Runtime::kStackGuard, 0);
|
||||
}
|
||||
__ jmp(masm->isolate()->builtins()->OnStackReplacement(),
|
||||
RelocInfo::CODE_TARGET);
|
||||
|
@ -25,7 +25,7 @@ void FastNewClosureStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { ebx };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenNewClosureFromStubFailure)->entry);
|
||||
Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -48,7 +48,7 @@ void NumberToStringStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { eax };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenNumberToString)->entry);
|
||||
Runtime::FunctionForId(Runtime::kNumberToStringRT)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -63,7 +63,7 @@ void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(
|
||||
Runtime::kHiddenCreateArrayLiteralStubBailout)->entry,
|
||||
Runtime::kCreateArrayLiteralStubBailout)->entry,
|
||||
representations);
|
||||
}
|
||||
|
||||
@ -73,7 +73,7 @@ void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { eax, ebx, ecx, edx };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenCreateObjectLiteral)->entry);
|
||||
Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -89,7 +89,7 @@ void RegExpConstructResultStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { ecx, ebx, eax };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenRegExpConstructResult)->entry);
|
||||
Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -148,7 +148,7 @@ static void InitializeArrayConstructorDescriptor(
|
||||
// edi -- function
|
||||
// ebx -- allocation site with elements kind
|
||||
Address deopt_handler = Runtime::FunctionForId(
|
||||
Runtime::kHiddenArrayConstructor)->entry;
|
||||
Runtime::kArrayConstructor)->entry;
|
||||
|
||||
if (constant_stack_parameter_count == 0) {
|
||||
Register registers[] = { edi, ebx };
|
||||
@ -182,7 +182,7 @@ static void InitializeInternalArrayConstructorDescriptor(
|
||||
// eax -- number of arguments
|
||||
// edi -- constructor function
|
||||
Address deopt_handler = Runtime::FunctionForId(
|
||||
Runtime::kHiddenInternalArrayConstructor)->entry;
|
||||
Runtime::kInternalArrayConstructor)->entry;
|
||||
|
||||
if (constant_stack_parameter_count == 0) {
|
||||
Register registers[] = { edi };
|
||||
@ -302,7 +302,7 @@ void StringAddStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { edx, eax };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenStringAdd)->entry);
|
||||
Runtime::FunctionForId(Runtime::kStringAdd)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -897,7 +897,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
|
||||
if (exponent_type_ == ON_STACK) {
|
||||
// The arguments are still on the stack.
|
||||
__ bind(&call_runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenMathPow, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kMathPowRT, 2, 1);
|
||||
|
||||
// The stub is called from non-optimized code, which expects the result
|
||||
// as heap number in exponent.
|
||||
@ -1030,7 +1030,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
|
||||
__ mov(Operand(esp, 2 * kPointerSize), edx);
|
||||
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -1253,7 +1253,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
|
||||
__ bind(&runtime);
|
||||
__ pop(eax); // Remove saved parameter count.
|
||||
__ mov(Operand(esp, 1 * kPointerSize), ecx); // Patch argument count.
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -1350,7 +1350,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
|
||||
|
||||
// Do the runtime call to allocate the arguments object.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewStrictArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewStrictArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -1359,7 +1359,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
// time or if regexp entry in generated code is turned off runtime switch or
|
||||
// at compilation.
|
||||
#ifdef V8_INTERPRETED_REGEXP
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
|
||||
#else // V8_INTERPRETED_REGEXP
|
||||
|
||||
// Stack frame on entry.
|
||||
@ -1742,7 +1742,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
// Do the runtime call to execute the regexp.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExecRT, 4, 1);
|
||||
|
||||
// Deferred code for string handling.
|
||||
// (7) Not a long external string? If yes, go to (10).
|
||||
@ -3038,7 +3038,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
} else {
|
||||
ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
|
||||
// NumberToSmi discards numbers that are not exact integers.
|
||||
__ CallRuntime(Runtime::kHiddenNumberToSmi, 1);
|
||||
__ CallRuntime(Runtime::kNumberToSmi, 1);
|
||||
}
|
||||
if (!index_.is(eax)) {
|
||||
// Save the conversion result before the pop instructions below
|
||||
@ -3064,7 +3064,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
__ push(object_);
|
||||
__ SmiTag(index_);
|
||||
__ push(index_);
|
||||
__ CallRuntime(Runtime::kHiddenStringCharCodeAt, 2);
|
||||
__ CallRuntime(Runtime::kStringCharCodeAtRT, 2);
|
||||
if (!result_.is(eax)) {
|
||||
__ mov(result_, eax);
|
||||
}
|
||||
@ -3429,7 +3429,7 @@ void SubStringStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
// Just jump to runtime to create the sub string.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenSubString, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kSubString, 3, 1);
|
||||
|
||||
__ bind(&single_char);
|
||||
// eax: string
|
||||
@ -3611,7 +3611,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) {
|
||||
// Call the runtime; it returns -1 (less), 0 (equal), or 1 (greater)
|
||||
// tagged as a small integer.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -3923,7 +3923,7 @@ void ICCompareStub::GenerateStrings(MacroAssembler* masm) {
|
||||
if (equality) {
|
||||
__ TailCallRuntime(Runtime::kStringEquals, 2, 1);
|
||||
} else {
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
__ bind(&miss);
|
||||
|
@ -190,7 +190,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
|
||||
__ push(edi);
|
||||
__ Push(info->scope()->GetScopeInfo());
|
||||
__ CallRuntime(Runtime::kHiddenNewGlobalContext, 2);
|
||||
__ CallRuntime(Runtime::kNewGlobalContext, 2);
|
||||
} else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
|
||||
FastNewContextStub stub(isolate(), heap_slots);
|
||||
__ CallStub(&stub);
|
||||
@ -198,7 +198,7 @@ void FullCodeGenerator::Generate() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ push(edi);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
function_in_register = false;
|
||||
// Context is returned in eax. It replaces the context passed to us.
|
||||
@ -802,7 +802,7 @@ void FullCodeGenerator::VisitVariableDeclaration(
|
||||
} else {
|
||||
__ push(Immediate(Smi::FromInt(0))); // Indicates no initial value.
|
||||
}
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -855,7 +855,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
|
||||
__ push(Immediate(variable->name()));
|
||||
__ push(Immediate(Smi::FromInt(NONE)));
|
||||
VisitForStackValue(declaration->fun());
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -925,7 +925,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
__ push(esi); // The context is the first argument.
|
||||
__ Push(pairs);
|
||||
__ Push(Smi::FromInt(DeclareGlobalsFlags()));
|
||||
__ CallRuntime(Runtime::kHiddenDeclareGlobals, 3);
|
||||
__ CallRuntime(Runtime::kDeclareGlobals, 3);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -933,7 +933,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) {
|
||||
// Call the runtime to declare the modules.
|
||||
__ Push(descriptions);
|
||||
__ CallRuntime(Runtime::kHiddenDeclareModules, 1);
|
||||
__ CallRuntime(Runtime::kDeclareModules, 1);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -1275,7 +1275,7 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
|
||||
__ push(Immediate(pretenure
|
||||
? isolate()->factory()->true_value()
|
||||
: isolate()->factory()->false_value()));
|
||||
__ CallRuntime(Runtime::kHiddenNewClosure, 3);
|
||||
__ CallRuntime(Runtime::kNewClosure, 3);
|
||||
}
|
||||
context()->Plug(eax);
|
||||
}
|
||||
@ -1400,7 +1400,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(Variable* var,
|
||||
__ mov(eax, isolate()->factory()->undefined_value());
|
||||
} else { // LET || CONST
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
}
|
||||
}
|
||||
__ jmp(done);
|
||||
@ -1477,7 +1477,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// Throw a reference error when using an uninitialized let/const
|
||||
// binding in harmony mode.
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
} else {
|
||||
// Uninitalized const bindings outside of harmony mode are unholed.
|
||||
ASSERT(var->mode() == CONST_LEGACY);
|
||||
@ -1501,7 +1501,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
__ bind(&slow);
|
||||
__ push(esi); // Context.
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ bind(&done);
|
||||
context()->Plug(eax);
|
||||
break;
|
||||
@ -1532,7 +1532,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ push(Immediate(Smi::FromInt(expr->literal_index())));
|
||||
__ push(Immediate(expr->pattern()));
|
||||
__ push(Immediate(expr->flags()));
|
||||
__ CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4);
|
||||
__ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4);
|
||||
__ mov(ebx, eax);
|
||||
|
||||
__ bind(&materialized);
|
||||
@ -1544,7 +1544,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ bind(&runtime_allocate);
|
||||
__ push(ebx);
|
||||
__ push(Immediate(Smi::FromInt(size)));
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ pop(ebx);
|
||||
|
||||
__ bind(&allocated);
|
||||
@ -1594,7 +1594,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
||||
__ push(Immediate(Smi::FromInt(expr->literal_index())));
|
||||
__ push(Immediate(constant_properties));
|
||||
__ push(Immediate(Smi::FromInt(flags)));
|
||||
__ CallRuntime(Runtime::kHiddenCreateObjectLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateObjectLiteral, 4);
|
||||
} else {
|
||||
__ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
|
||||
__ mov(eax, FieldOperand(edi, JSFunction::kLiteralsOffset));
|
||||
@ -1731,7 +1731,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
|
||||
__ push(Immediate(Smi::FromInt(expr->literal_index())));
|
||||
__ push(Immediate(constant_elements));
|
||||
__ push(Immediate(Smi::FromInt(flags)));
|
||||
__ CallRuntime(Runtime::kHiddenCreateArrayLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateArrayLiteral, 4);
|
||||
} else {
|
||||
__ mov(ebx, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
|
||||
__ mov(eax, FieldOperand(ebx, JSFunction::kLiteralsOffset));
|
||||
@ -1933,7 +1933,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ cmp(esp, ebx);
|
||||
__ j(equal, &post_runtime);
|
||||
__ push(eax); // generator object
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ mov(context_register(),
|
||||
Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
__ bind(&post_runtime);
|
||||
@ -2001,7 +2001,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ mov(ecx, esi);
|
||||
__ RecordWriteField(eax, JSGeneratorObject::kContextOffset, ecx, edx,
|
||||
kDontSaveFPRegs);
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ mov(context_register(),
|
||||
Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
__ pop(eax); // result
|
||||
@ -2055,7 +2055,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
Expression *value,
|
||||
JSGeneratorObject::ResumeMode resume_mode) {
|
||||
// The value stays in eax, and is ultimately read by the resumed generator, as
|
||||
// if CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject) returned it. Or it
|
||||
// if CallRuntime(Runtime::kSuspendJSGeneratorObject) returned it. Or it
|
||||
// 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.
|
||||
VisitForStackValue(generator);
|
||||
@ -2135,7 +2135,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
__ push(ebx);
|
||||
__ push(result_register());
|
||||
__ Push(Smi::FromInt(resume_mode));
|
||||
__ CallRuntime(Runtime::kHiddenResumeJSGeneratorObject, 3);
|
||||
__ CallRuntime(Runtime::kResumeJSGeneratorObject, 3);
|
||||
// Not reached: the runtime call returns elsewhere.
|
||||
__ Abort(kGeneratorFailedToResume);
|
||||
|
||||
@ -2149,14 +2149,14 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
} else {
|
||||
// Throw the provided value.
|
||||
__ push(eax);
|
||||
__ CallRuntime(Runtime::kHiddenThrow, 1);
|
||||
__ CallRuntime(Runtime::kThrow, 1);
|
||||
}
|
||||
__ jmp(&done);
|
||||
|
||||
// Throw error if we attempt to operate on a running generator.
|
||||
__ bind(&wrong_state);
|
||||
__ push(ebx);
|
||||
__ CallRuntime(Runtime::kHiddenThrowGeneratorStateError, 1);
|
||||
__ CallRuntime(Runtime::kThrowGeneratorStateError, 1);
|
||||
|
||||
__ bind(&done);
|
||||
context()->Plug(result_register());
|
||||
@ -2174,7 +2174,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
|
||||
|
||||
__ bind(&gc_required);
|
||||
__ Push(Smi::FromInt(map->instance_size()));
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ mov(context_register(),
|
||||
Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
|
||||
@ -2386,7 +2386,7 @@ void FullCodeGenerator::EmitCallStoreContextSlot(
|
||||
__ push(esi); // Context.
|
||||
__ push(Immediate(name));
|
||||
__ push(Immediate(Smi::FromInt(strict_mode)));
|
||||
__ CallRuntime(Runtime::kHiddenStoreContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kStoreContextSlot, 4);
|
||||
}
|
||||
|
||||
|
||||
@ -2405,7 +2405,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
|
||||
__ push(eax);
|
||||
__ push(esi);
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenInitializeConstContextSlot, 3);
|
||||
__ CallRuntime(Runtime::kInitializeConstContextSlot, 3);
|
||||
} else {
|
||||
ASSERT(var->IsStackLocal() || var->IsContextSlot());
|
||||
Label skip;
|
||||
@ -2429,7 +2429,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
|
||||
__ cmp(edx, isolate()->factory()->the_hole_value());
|
||||
__ j(not_equal, &assign, Label::kNear);
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
__ bind(&assign);
|
||||
EmitStoreToStackLocalOrContextSlot(var, location);
|
||||
}
|
||||
@ -2623,7 +2623,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
|
||||
__ push(Immediate(Smi::FromInt(scope()->start_position())));
|
||||
|
||||
// Do the runtime call.
|
||||
__ CallRuntime(Runtime::kHiddenResolvePossiblyDirectEval, 5);
|
||||
__ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5);
|
||||
}
|
||||
|
||||
|
||||
@ -2690,7 +2690,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
|
||||
// the object holding it (returned in edx).
|
||||
__ push(context_register());
|
||||
__ push(Immediate(proxy->name()));
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ push(eax); // Function.
|
||||
__ push(edx); // Receiver.
|
||||
|
||||
@ -3329,7 +3329,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
|
||||
}
|
||||
|
||||
__ bind(¬_date_object);
|
||||
__ CallRuntime(Runtime::kHiddenThrowNotDateError, 0);
|
||||
__ CallRuntime(Runtime::kThrowNotDateError, 0);
|
||||
__ bind(&done);
|
||||
context()->Plug(result);
|
||||
}
|
||||
@ -3687,7 +3687,7 @@ void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) {
|
||||
// Call runtime to perform the lookup.
|
||||
__ push(cache);
|
||||
__ push(key);
|
||||
__ CallRuntime(Runtime::kHiddenGetFromCache, 2);
|
||||
__ CallRuntime(Runtime::kGetFromCache, 2);
|
||||
|
||||
__ bind(&done);
|
||||
context()->Plug(eax);
|
||||
@ -4096,7 +4096,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
|
||||
// context where the variable was introduced.
|
||||
__ push(context_register());
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenDeleteContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kDeleteContextSlot, 2);
|
||||
context()->Plug(eax);
|
||||
}
|
||||
} else {
|
||||
@ -4389,7 +4389,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
|
||||
__ bind(&slow);
|
||||
__ push(esi);
|
||||
__ push(Immediate(proxy->name()));
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlotNoReferenceError, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2);
|
||||
PrepareForBailout(expr, TOS_REG);
|
||||
__ bind(&done);
|
||||
|
||||
|
@ -263,7 +263,7 @@ bool LCodeGen::GeneratePrologue() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ push(edi);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
// Context is returned in eax. It replaces the context passed to us.
|
||||
@ -3393,7 +3393,7 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
|
||||
__ push(esi); // The context is the first argument.
|
||||
__ push(Immediate(instr->hydrogen()->pairs()));
|
||||
__ push(Immediate(Smi::FromInt(instr->hydrogen()->flags())));
|
||||
CallRuntime(Runtime::kHiddenDeclareGlobals, 3, instr);
|
||||
CallRuntime(Runtime::kDeclareGlobals, 3, instr);
|
||||
}
|
||||
|
||||
|
||||
@ -3517,7 +3517,7 @@ void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr) {
|
||||
|
||||
// Slow case: Call the runtime system to do the number allocation.
|
||||
__ bind(&slow);
|
||||
CallRuntimeFromDeferred(Runtime::kHiddenAllocateHeapNumber, 0,
|
||||
CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0,
|
||||
instr, instr->context());
|
||||
// Set the pointer to the new heap number in tmp.
|
||||
if (!tmp.is(eax)) __ mov(tmp, eax);
|
||||
@ -4346,7 +4346,7 @@ void LCodeGen::DoDeferredStringCharCodeAt(LStringCharCodeAt* instr) {
|
||||
__ SmiTag(index);
|
||||
__ push(index);
|
||||
}
|
||||
CallRuntimeFromDeferred(Runtime::kHiddenStringCharCodeAt, 2,
|
||||
CallRuntimeFromDeferred(Runtime::kStringCharCodeAtRT, 2,
|
||||
instr, instr->context());
|
||||
__ AssertSmi(eax);
|
||||
__ SmiUntag(eax);
|
||||
@ -4524,11 +4524,11 @@ void LCodeGen::DoDeferredNumberTagIU(LInstruction* instr,
|
||||
|
||||
// NumberTagI and NumberTagD use the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ StoreToSafepointRegisterSlot(reg, eax);
|
||||
@ -4580,11 +4580,11 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
|
||||
PushSafepointRegistersScope scope(this);
|
||||
// NumberTagI and NumberTagD use the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ StoreToSafepointRegisterSlot(reg, eax);
|
||||
@ -5180,7 +5180,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
|
||||
__ push(Immediate(Smi::FromInt(flags)));
|
||||
|
||||
CallRuntimeFromDeferred(
|
||||
Runtime::kHiddenAllocateInTargetSpace, 2, instr, instr->context());
|
||||
Runtime::kAllocateInTargetSpace, 2, instr, instr->context());
|
||||
__ StoreToSafepointRegisterSlot(result, eax);
|
||||
}
|
||||
|
||||
@ -5213,7 +5213,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ push(Immediate(Smi::FromInt(instr->hydrogen()->literal_index())));
|
||||
__ push(Immediate(instr->hydrogen()->pattern()));
|
||||
__ push(Immediate(instr->hydrogen()->flags()));
|
||||
CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4, instr);
|
||||
CallRuntime(Runtime::kMaterializeRegExpLiteral, 4, instr);
|
||||
__ mov(ebx, eax);
|
||||
|
||||
__ bind(&materialized);
|
||||
@ -5225,7 +5225,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ bind(&runtime_allocate);
|
||||
__ push(ebx);
|
||||
__ push(Immediate(Smi::FromInt(size)));
|
||||
CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1, instr);
|
||||
CallRuntime(Runtime::kAllocateInNewSpace, 1, instr);
|
||||
__ pop(ebx);
|
||||
|
||||
__ bind(&allocated);
|
||||
@ -5260,7 +5260,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
|
||||
__ push(Immediate(instr->hydrogen()->shared_info()));
|
||||
__ push(Immediate(pretenure ? factory()->true_value()
|
||||
: factory()->false_value()));
|
||||
CallRuntime(Runtime::kHiddenNewClosure, 3, instr);
|
||||
CallRuntime(Runtime::kNewClosure, 3, instr);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5441,7 +5441,7 @@ void LCodeGen::DoDummyUse(LDummyUse* instr) {
|
||||
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
|
||||
PushSafepointRegistersScope scope(this);
|
||||
__ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenStackGuard);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kStackGuard);
|
||||
RecordSafepointWithLazyDeopt(
|
||||
instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS);
|
||||
ASSERT(instr->HasEnvironment());
|
||||
@ -5659,7 +5659,7 @@ void LCodeGen::DoAllocateBlockContext(LAllocateBlockContext* instr) {
|
||||
Handle<ScopeInfo> scope_info = instr->scope_info();
|
||||
__ Push(scope_info);
|
||||
__ push(ToRegister(instr->function()));
|
||||
CallRuntime(Runtime::kHiddenPushBlockContext, 2, instr);
|
||||
CallRuntime(Runtime::kPushBlockContext, 2, instr);
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
}
|
||||
|
||||
|
@ -2252,7 +2252,7 @@ void MacroAssembler::CallApiFunctionAndReturn(
|
||||
bind(&promote_scheduled_exception);
|
||||
{
|
||||
FrameScope frame(this, StackFrame::INTERNAL);
|
||||
CallRuntime(Runtime::kHiddenPromoteScheduledException, 0);
|
||||
CallRuntime(Runtime::kPromoteScheduledException, 0);
|
||||
}
|
||||
jmp(&exception_handled);
|
||||
|
||||
|
@ -309,7 +309,7 @@ void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) {
|
||||
__ LoadRoot(t0, Heap::kStackLimitRootIndex);
|
||||
__ Branch(&ok, hs, sp, Operand(t0));
|
||||
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenTryInstallOptimizedCode);
|
||||
CallRuntimePassFunction(masm, Runtime::kTryInstallOptimizedCode);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
|
||||
__ bind(&ok);
|
||||
@ -393,7 +393,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
__ sw(t0, bit_field3); // In delay slot.
|
||||
|
||||
__ Push(a1, a2, a1); // a1 = Constructor.
|
||||
__ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
|
||||
__ CallRuntime(Runtime::kFinalizeInstanceSize, 1);
|
||||
|
||||
__ Pop(a1, a2);
|
||||
// Slack tracking counter is kNoSlackTracking after runtime call.
|
||||
@ -600,9 +600,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
|
||||
__ push(a1); // Argument for Runtime_NewObject.
|
||||
if (create_memento) {
|
||||
__ CallRuntime(Runtime::kHiddenNewObjectWithAllocationSite, 2);
|
||||
__ CallRuntime(Runtime::kNewObjectWithAllocationSite, 2);
|
||||
} else {
|
||||
__ CallRuntime(Runtime::kHiddenNewObject, 1);
|
||||
__ CallRuntime(Runtime::kNewObject, 1);
|
||||
}
|
||||
__ mov(t4, v0);
|
||||
|
||||
@ -825,7 +825,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
|
||||
|
||||
|
||||
void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) {
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenCompileUnoptimized);
|
||||
CallRuntimePassFunction(masm, Runtime::kCompileUnoptimized);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
}
|
||||
|
||||
@ -838,7 +838,7 @@ static void CallCompileOptimized(MacroAssembler* masm, bool concurrent) {
|
||||
// Whether to compile in a background thread.
|
||||
__ Push(masm->isolate()->factory()->ToBoolean(concurrent));
|
||||
|
||||
__ CallRuntime(Runtime::kHiddenCompileOptimized, 2);
|
||||
__ CallRuntime(Runtime::kCompileOptimized, 2);
|
||||
// Restore receiver.
|
||||
__ Pop(a1);
|
||||
}
|
||||
@ -947,7 +947,7 @@ static void Generate_NotifyStubFailureHelper(MacroAssembler* masm,
|
||||
// registers.
|
||||
__ MultiPush(kJSCallerSaved | kCalleeSaved);
|
||||
// Pass the function and deoptimization type to the runtime system.
|
||||
__ CallRuntime(Runtime::kHiddenNotifyStubFailure, 0, save_doubles);
|
||||
__ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles);
|
||||
__ MultiPop(kJSCallerSaved | kCalleeSaved);
|
||||
}
|
||||
|
||||
@ -973,7 +973,7 @@ static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
|
||||
// Pass the function and deoptimization type to the runtime system.
|
||||
__ li(a0, Operand(Smi::FromInt(static_cast<int>(type))));
|
||||
__ push(a0);
|
||||
__ CallRuntime(Runtime::kHiddenNotifyDeoptimized, 1);
|
||||
__ CallRuntime(Runtime::kNotifyDeoptimized, 1);
|
||||
}
|
||||
|
||||
// Get the full codegen state from the stack and untag it -> t2.
|
||||
@ -1055,7 +1055,7 @@ void Builtins::Generate_OsrAfterStackCheck(MacroAssembler* masm) {
|
||||
__ Branch(&ok, hs, sp, Operand(at));
|
||||
{
|
||||
FrameScope scope(masm, StackFrame::INTERNAL);
|
||||
__ CallRuntime(Runtime::kHiddenStackGuard, 0);
|
||||
__ CallRuntime(Runtime::kStackGuard, 0);
|
||||
}
|
||||
__ Jump(masm->isolate()->builtins()->OnStackReplacement(),
|
||||
RelocInfo::CODE_TARGET);
|
||||
|
@ -22,7 +22,7 @@ void FastNewClosureStub::InitializeInterfaceDescriptor(
|
||||
descriptor->register_param_count_ = 1;
|
||||
descriptor->register_params_ = registers;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenNewClosureFromStubFailure)->entry;
|
||||
Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ void NumberToStringStub::InitializeInterfaceDescriptor(
|
||||
descriptor->register_param_count_ = 1;
|
||||
descriptor->register_params_ = registers;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenNumberToString)->entry;
|
||||
Runtime::FunctionForId(Runtime::kNumberToStringRT)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -65,8 +65,7 @@ void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
|
||||
Representation::Tagged() };
|
||||
descriptor->register_param_representations_ = representations;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(
|
||||
Runtime::kHiddenCreateArrayLiteralStubBailout)->entry;
|
||||
Runtime::FunctionForId(Runtime::kCreateArrayLiteralStubBailout)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -76,7 +75,7 @@ void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
|
||||
descriptor->register_param_count_ = 4;
|
||||
descriptor->register_params_ = registers;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenCreateObjectLiteral)->entry;
|
||||
Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -115,7 +114,7 @@ void RegExpConstructResultStub::InitializeInterfaceDescriptor(
|
||||
descriptor->register_param_count_ = 3;
|
||||
descriptor->register_params_ = registers;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenRegExpConstructResult)->entry;
|
||||
Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -227,7 +226,7 @@ static void InitializeArrayConstructorDescriptor(
|
||||
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
|
||||
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenArrayConstructor)->entry;
|
||||
Runtime::FunctionForId(Runtime::kArrayConstructor)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -258,7 +257,7 @@ static void InitializeInternalArrayConstructorDescriptor(
|
||||
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
|
||||
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenInternalArrayConstructor)->entry;
|
||||
Runtime::FunctionForId(Runtime::kInternalArrayConstructor)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -357,7 +356,7 @@ void StringAddStub::InitializeInterfaceDescriptor(
|
||||
descriptor->register_param_count_ = 2;
|
||||
descriptor->register_params_ = registers;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenStringAdd)->entry;
|
||||
Runtime::FunctionForId(Runtime::kStringAdd)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -1484,7 +1483,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
|
||||
if (exponent_type_ == ON_STACK) {
|
||||
// The arguments are still on the stack.
|
||||
__ bind(&call_runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenMathPow, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kMathPowRT, 2, 1);
|
||||
|
||||
// The stub is called from non-optimized code, which expects the result
|
||||
// as heap number in exponent.
|
||||
@ -2178,7 +2177,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
|
||||
__ sw(a3, MemOperand(sp, 1 * kPointerSize));
|
||||
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -2397,7 +2396,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
|
||||
// a2 = argument count (tagged)
|
||||
__ bind(&runtime);
|
||||
__ sw(a2, MemOperand(sp, 0 * kPointerSize)); // Patch argument count.
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -2495,7 +2494,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
|
||||
|
||||
// Do the runtime call to allocate the arguments object.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewStrictArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewStrictArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -2504,7 +2503,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
// time or if regexp entry in generated code is turned off runtime switch or
|
||||
// at compilation.
|
||||
#ifdef V8_INTERPRETED_REGEXP
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
|
||||
#else // V8_INTERPRETED_REGEXP
|
||||
|
||||
// Stack frame on entry.
|
||||
@ -2894,7 +2893,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
// Do the runtime call to execute the regexp.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExecRT, 4, 1);
|
||||
|
||||
// Deferred code for string handling.
|
||||
// (6) Not a long external string? If yes, go to (8).
|
||||
@ -3419,7 +3418,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
} else {
|
||||
ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
|
||||
// NumberToSmi discards numbers that are not exact integers.
|
||||
__ CallRuntime(Runtime::kHiddenNumberToSmi, 1);
|
||||
__ CallRuntime(Runtime::kNumberToSmi, 1);
|
||||
}
|
||||
|
||||
// Save the conversion result before the pop instructions below
|
||||
@ -3443,7 +3442,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
call_helper.BeforeCall(masm);
|
||||
__ sll(index_, index_, kSmiTagSize);
|
||||
__ Push(object_, index_);
|
||||
__ CallRuntime(Runtime::kHiddenStringCharCodeAt, 2);
|
||||
__ CallRuntime(Runtime::kStringCharCodeAtRT, 2);
|
||||
|
||||
__ Move(result_, v0);
|
||||
|
||||
@ -3807,7 +3806,7 @@ void SubStringStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
// Just jump to runtime to create the sub string.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenSubString, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kSubString, 3, 1);
|
||||
|
||||
__ bind(&single_char);
|
||||
// v0: original string
|
||||
@ -3972,7 +3971,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) {
|
||||
GenerateCompareFlatAsciiStrings(masm, a1, a0, a2, a3, t0, t1);
|
||||
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -4282,7 +4281,7 @@ void ICCompareStub::GenerateStrings(MacroAssembler* masm) {
|
||||
if (equality) {
|
||||
__ TailCallRuntime(Runtime::kStringEquals, 2, 1);
|
||||
} else {
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
__ bind(&miss);
|
||||
|
@ -206,7 +206,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
|
||||
__ push(a1);
|
||||
__ Push(info->scope()->GetScopeInfo());
|
||||
__ CallRuntime(Runtime::kHiddenNewGlobalContext, 2);
|
||||
__ CallRuntime(Runtime::kNewGlobalContext, 2);
|
||||
} else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
|
||||
FastNewContextStub stub(isolate(), heap_slots);
|
||||
__ CallStub(&stub);
|
||||
@ -214,7 +214,7 @@ void FullCodeGenerator::Generate() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ push(a1);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
function_in_register = false;
|
||||
// Context is returned in v0. It replaces the context passed to us.
|
||||
@ -856,7 +856,7 @@ void FullCodeGenerator::VisitVariableDeclaration(
|
||||
__ mov(a0, zero_reg); // Smi::FromInt(0) indicates no initial value.
|
||||
__ Push(cp, a2, a1, a0);
|
||||
}
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -912,7 +912,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
|
||||
__ Push(cp, a2, a1);
|
||||
// Push initial value for function declaration.
|
||||
VisitForStackValue(declaration->fun());
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -984,7 +984,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
__ li(a1, Operand(pairs));
|
||||
__ li(a0, Operand(Smi::FromInt(DeclareGlobalsFlags())));
|
||||
__ Push(cp, a1, a0);
|
||||
__ CallRuntime(Runtime::kHiddenDeclareGlobals, 3);
|
||||
__ CallRuntime(Runtime::kDeclareGlobals, 3);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -992,7 +992,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) {
|
||||
// Call the runtime to declare the modules.
|
||||
__ Push(descriptions);
|
||||
__ CallRuntime(Runtime::kHiddenDeclareModules, 1);
|
||||
__ CallRuntime(Runtime::kDeclareModules, 1);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -1340,7 +1340,7 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
|
||||
__ LoadRoot(a1, pretenure ? Heap::kTrueValueRootIndex
|
||||
: Heap::kFalseValueRootIndex);
|
||||
__ Push(cp, a0, a1);
|
||||
__ CallRuntime(Runtime::kHiddenNewClosure, 3);
|
||||
__ CallRuntime(Runtime::kNewClosure, 3);
|
||||
}
|
||||
context()->Plug(v0);
|
||||
}
|
||||
@ -1462,7 +1462,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(Variable* var,
|
||||
__ Branch(done, ne, at, Operand(zero_reg));
|
||||
__ li(a0, Operand(var->name()));
|
||||
__ push(a0);
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
}
|
||||
}
|
||||
__ Branch(done);
|
||||
@ -1541,7 +1541,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
__ Branch(&done, ne, at, Operand(zero_reg));
|
||||
__ li(a0, Operand(var->name()));
|
||||
__ push(a0);
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
__ bind(&done);
|
||||
} else {
|
||||
// Uninitalized const bindings outside of harmony mode are unholed.
|
||||
@ -1566,7 +1566,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
__ bind(&slow);
|
||||
__ li(a1, Operand(var->name()));
|
||||
__ Push(cp, a1); // Context and name.
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ bind(&done);
|
||||
context()->Plug(v0);
|
||||
}
|
||||
@ -1598,7 +1598,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ li(a2, Operand(expr->pattern()));
|
||||
__ li(a1, Operand(expr->flags()));
|
||||
__ Push(t0, a3, a2, a1);
|
||||
__ CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4);
|
||||
__ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4);
|
||||
__ mov(t1, v0);
|
||||
|
||||
__ bind(&materialized);
|
||||
@ -1610,7 +1610,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ bind(&runtime_allocate);
|
||||
__ li(a0, Operand(Smi::FromInt(size)));
|
||||
__ Push(t1, a0);
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ pop(t1);
|
||||
|
||||
__ bind(&allocated);
|
||||
@ -1655,7 +1655,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
||||
masm()->serializer_enabled() || flags != ObjectLiteral::kFastElements ||
|
||||
properties_count > FastCloneShallowObjectStub::kMaximumClonedProperties) {
|
||||
__ Push(a3, a2, a1, a0);
|
||||
__ CallRuntime(Runtime::kHiddenCreateObjectLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateObjectLiteral, 4);
|
||||
} else {
|
||||
FastCloneShallowObjectStub stub(isolate(), properties_count);
|
||||
__ CallStub(&stub);
|
||||
@ -1799,7 +1799,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
|
||||
if (expr->depth() > 1 || length > JSObject::kInitialMaxFastElementArray) {
|
||||
__ li(a0, Operand(Smi::FromInt(flags)));
|
||||
__ Push(a3, a2, a1, a0);
|
||||
__ CallRuntime(Runtime::kHiddenCreateArrayLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateArrayLiteral, 4);
|
||||
} else {
|
||||
FastCloneShallowArrayStub stub(isolate(), allocation_site_mode);
|
||||
__ CallStub(&stub);
|
||||
@ -1992,7 +1992,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ Addu(a1, fp, Operand(StandardFrameConstants::kExpressionsOffset));
|
||||
__ Branch(&post_runtime, eq, sp, Operand(a1));
|
||||
__ push(v0); // generator object
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ bind(&post_runtime);
|
||||
__ pop(result_register());
|
||||
@ -2060,7 +2060,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ mov(a1, cp);
|
||||
__ RecordWriteField(a0, JSGeneratorObject::kContextOffset, a1, a2,
|
||||
kRAHasBeenSaved, kDontSaveFPRegs);
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ pop(v0); // result
|
||||
EmitReturnSequence();
|
||||
@ -2115,7 +2115,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
Expression *value,
|
||||
JSGeneratorObject::ResumeMode resume_mode) {
|
||||
// The value stays in a0, and is ultimately read by the resumed generator, as
|
||||
// if CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject) returned it. Or it
|
||||
// if CallRuntime(Runtime::kSuspendJSGeneratorObject) returned it. Or it
|
||||
// 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.
|
||||
VisitForStackValue(generator);
|
||||
@ -2197,7 +2197,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
ASSERT(!result_register().is(a1));
|
||||
__ Push(a1, result_register());
|
||||
__ Push(Smi::FromInt(resume_mode));
|
||||
__ CallRuntime(Runtime::kHiddenResumeJSGeneratorObject, 3);
|
||||
__ CallRuntime(Runtime::kResumeJSGeneratorObject, 3);
|
||||
// Not reached: the runtime call returns elsewhere.
|
||||
__ stop("not-reached");
|
||||
|
||||
@ -2212,14 +2212,14 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
} else {
|
||||
// Throw the provided value.
|
||||
__ push(a0);
|
||||
__ CallRuntime(Runtime::kHiddenThrow, 1);
|
||||
__ CallRuntime(Runtime::kThrow, 1);
|
||||
}
|
||||
__ jmp(&done);
|
||||
|
||||
// Throw error if we attempt to operate on a running generator.
|
||||
__ bind(&wrong_state);
|
||||
__ push(a1);
|
||||
__ CallRuntime(Runtime::kHiddenThrowGeneratorStateError, 1);
|
||||
__ CallRuntime(Runtime::kThrowGeneratorStateError, 1);
|
||||
|
||||
__ bind(&done);
|
||||
context()->Plug(result_register());
|
||||
@ -2237,7 +2237,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
|
||||
|
||||
__ bind(&gc_required);
|
||||
__ Push(Smi::FromInt(map->instance_size()));
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ lw(context_register(),
|
||||
MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
|
||||
@ -2455,7 +2455,7 @@ void FullCodeGenerator::EmitCallStoreContextSlot(
|
||||
__ li(a1, Operand(name));
|
||||
__ li(a0, Operand(Smi::FromInt(strict_mode)));
|
||||
__ Push(v0, cp, a1, a0); // Value, context, name, strict mode.
|
||||
__ CallRuntime(Runtime::kHiddenStoreContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kStoreContextSlot, 4);
|
||||
}
|
||||
|
||||
|
||||
@ -2473,7 +2473,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op) {
|
||||
if (var->IsLookupSlot()) {
|
||||
__ li(a0, Operand(var->name()));
|
||||
__ Push(v0, cp, a0); // Context and name.
|
||||
__ CallRuntime(Runtime::kHiddenInitializeConstContextSlot, 3);
|
||||
__ CallRuntime(Runtime::kInitializeConstContextSlot, 3);
|
||||
} else {
|
||||
ASSERT(var->IsStackAllocated() || var->IsContextSlot());
|
||||
Label skip;
|
||||
@ -2498,7 +2498,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op) {
|
||||
__ Branch(&assign, ne, a3, Operand(t0));
|
||||
__ li(a3, Operand(var->name()));
|
||||
__ push(a3);
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
// Perform the assignment.
|
||||
__ bind(&assign);
|
||||
EmitStoreToStackLocalOrContextSlot(var, location);
|
||||
@ -2696,7 +2696,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
|
||||
|
||||
// Do the runtime call.
|
||||
__ Push(t2, t1, t0, a1);
|
||||
__ CallRuntime(Runtime::kHiddenResolvePossiblyDirectEval, 5);
|
||||
__ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5);
|
||||
}
|
||||
|
||||
|
||||
@ -2768,7 +2768,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
|
||||
ASSERT(!context_register().is(a2));
|
||||
__ li(a2, Operand(proxy->name()));
|
||||
__ Push(context_register(), a2);
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ Push(v0, v1); // Function, receiver.
|
||||
|
||||
// If fast case code has been generated, emit code to push the
|
||||
@ -3406,7 +3406,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
|
||||
}
|
||||
|
||||
__ bind(¬_date_object);
|
||||
__ CallRuntime(Runtime::kHiddenThrowNotDateError, 0);
|
||||
__ CallRuntime(Runtime::kThrowNotDateError, 0);
|
||||
__ bind(&done);
|
||||
context()->Plug(v0);
|
||||
}
|
||||
@ -3777,7 +3777,7 @@ void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) {
|
||||
__ bind(¬_found);
|
||||
// Call runtime to perform the lookup.
|
||||
__ Push(cache, key);
|
||||
__ CallRuntime(Runtime::kHiddenGetFromCache, 2);
|
||||
__ CallRuntime(Runtime::kGetFromCache, 2);
|
||||
|
||||
__ bind(&done);
|
||||
context()->Plug(v0);
|
||||
@ -4159,7 +4159,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
|
||||
ASSERT(!context_register().is(a2));
|
||||
__ li(a2, Operand(var->name()));
|
||||
__ Push(context_register(), a2);
|
||||
__ CallRuntime(Runtime::kHiddenDeleteContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kDeleteContextSlot, 2);
|
||||
context()->Plug(v0);
|
||||
}
|
||||
} else {
|
||||
@ -4441,7 +4441,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
|
||||
__ bind(&slow);
|
||||
__ li(a0, Operand(proxy->name()));
|
||||
__ Push(cp, a0);
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlotNoReferenceError, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2);
|
||||
PrepareForBailout(expr, TOS_REG);
|
||||
__ bind(&done);
|
||||
|
||||
|
@ -207,7 +207,7 @@ bool LCodeGen::GeneratePrologue() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ push(a1);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
// Context is returned in both v0. It replaces the context passed to us.
|
||||
@ -3527,7 +3527,7 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
|
||||
__ li(scratch1(), Operand(Smi::FromInt(instr->hydrogen()->flags())));
|
||||
// The context is the first argument.
|
||||
__ Push(cp, scratch0(), scratch1());
|
||||
CallRuntime(Runtime::kHiddenDeclareGlobals, 3, instr);
|
||||
CallRuntime(Runtime::kDeclareGlobals, 3, instr);
|
||||
}
|
||||
|
||||
|
||||
@ -3616,7 +3616,7 @@ void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr) {
|
||||
// Slow case: Call the runtime system to do the number allocation.
|
||||
__ bind(&slow);
|
||||
|
||||
CallRuntimeFromDeferred(Runtime::kHiddenAllocateHeapNumber, 0, instr,
|
||||
CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0, instr,
|
||||
instr->context());
|
||||
// Set the pointer to the new heap number in tmp.
|
||||
if (!tmp1.is(v0))
|
||||
@ -4482,7 +4482,7 @@ void LCodeGen::DoDeferredStringCharCodeAt(LStringCharCodeAt* instr) {
|
||||
__ SmiTag(index);
|
||||
__ push(index);
|
||||
}
|
||||
CallRuntimeFromDeferred(Runtime::kHiddenStringCharCodeAt, 2, instr,
|
||||
CallRuntimeFromDeferred(Runtime::kStringCharCodeAtRT, 2, instr,
|
||||
instr->context());
|
||||
__ AssertSmi(v0);
|
||||
__ SmiUntag(v0);
|
||||
@ -4670,11 +4670,11 @@ void LCodeGen::DoDeferredNumberTagIU(LInstruction* instr,
|
||||
|
||||
// NumberTagI and NumberTagD use the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ Subu(v0, v0, kHeapObjectTag);
|
||||
@ -4735,11 +4735,11 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
|
||||
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
||||
// NumberTagI and NumberTagD use the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ Subu(v0, v0, kHeapObjectTag);
|
||||
@ -5355,7 +5355,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
|
||||
__ Push(Smi::FromInt(flags));
|
||||
|
||||
CallRuntimeFromDeferred(
|
||||
Runtime::kHiddenAllocateInTargetSpace, 2, instr, instr->context());
|
||||
Runtime::kAllocateInTargetSpace, 2, instr, instr->context());
|
||||
__ StoreToSafepointRegisterSlot(v0, result);
|
||||
}
|
||||
|
||||
@ -5389,7 +5389,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ li(t1, Operand(instr->hydrogen()->pattern()));
|
||||
__ li(t0, Operand(instr->hydrogen()->flags()));
|
||||
__ Push(t3, t2, t1, t0);
|
||||
CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4, instr);
|
||||
CallRuntime(Runtime::kMaterializeRegExpLiteral, 4, instr);
|
||||
__ mov(a1, v0);
|
||||
|
||||
__ bind(&materialized);
|
||||
@ -5402,7 +5402,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ bind(&runtime_allocate);
|
||||
__ li(a0, Operand(Smi::FromInt(size)));
|
||||
__ Push(a1, a0);
|
||||
CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1, instr);
|
||||
CallRuntime(Runtime::kAllocateInNewSpace, 1, instr);
|
||||
__ pop(a1);
|
||||
|
||||
__ bind(&allocated);
|
||||
@ -5437,7 +5437,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
|
||||
__ li(a1, Operand(pretenure ? factory()->true_value()
|
||||
: factory()->false_value()));
|
||||
__ Push(cp, a2, a1);
|
||||
CallRuntime(Runtime::kHiddenNewClosure, 3, instr);
|
||||
CallRuntime(Runtime::kNewClosure, 3, instr);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5663,7 +5663,7 @@ void LCodeGen::DoDummyUse(LDummyUse* instr) {
|
||||
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
|
||||
PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
||||
LoadContextFromDeferred(instr->context());
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenStackGuard);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kStackGuard);
|
||||
RecordSafepointWithLazyDeopt(
|
||||
instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS);
|
||||
ASSERT(instr->HasEnvironment());
|
||||
@ -5883,7 +5883,7 @@ void LCodeGen::DoAllocateBlockContext(LAllocateBlockContext* instr) {
|
||||
Handle<ScopeInfo> scope_info = instr->scope_info();
|
||||
__ li(at, scope_info);
|
||||
__ Push(at, ToRegister(instr->function()));
|
||||
CallRuntime(Runtime::kHiddenPushBlockContext, 2, instr);
|
||||
CallRuntime(Runtime::kPushBlockContext, 2, instr);
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
}
|
||||
|
||||
|
@ -4061,7 +4061,7 @@ void MacroAssembler::CallApiFunctionAndReturn(
|
||||
{
|
||||
FrameScope frame(this, StackFrame::INTERNAL);
|
||||
CallExternalReference(
|
||||
ExternalReference(Runtime::kHiddenPromoteScheduledException, isolate()),
|
||||
ExternalReference(Runtime::kPromoteScheduledException, isolate()),
|
||||
0);
|
||||
}
|
||||
jmp(&exception_handled);
|
||||
|
@ -2222,7 +2222,7 @@ Block* Parser::ParseVariableDeclarations(
|
||||
// the number of arguments (1 or 2).
|
||||
initialize = factory()->NewCallRuntime(
|
||||
ast_value_factory_->initialize_const_global_string(),
|
||||
Runtime::FunctionForId(Runtime::kHiddenInitializeConstGlobal),
|
||||
Runtime::FunctionForId(Runtime::kInitializeConstGlobal),
|
||||
arguments, pos);
|
||||
} else {
|
||||
// Add strict mode.
|
||||
@ -3676,7 +3676,7 @@ ZoneList<Statement*>* Parser::ParseEagerFunctionBody(
|
||||
new(zone()) ZoneList<Expression*>(0, zone());
|
||||
CallRuntime* allocation = factory()->NewCallRuntime(
|
||||
ast_value_factory_->empty_string(),
|
||||
Runtime::FunctionForId(Runtime::kHiddenCreateJSGeneratorObject),
|
||||
Runtime::FunctionForId(Runtime::kCreateJSGeneratorObject),
|
||||
arguments, pos);
|
||||
VariableProxy* init_proxy = factory()->NewVariableProxy(
|
||||
function_state_->generator_object_variable());
|
||||
|
130
src/runtime.cc
130
src/runtime.cc
@ -460,7 +460,7 @@ MUST_USE_RESULT static MaybeHandle<Object> CreateLiteralBoilerplate(
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_CreateObjectLiteral) {
|
||||
RUNTIME_FUNCTION(Runtime_CreateObjectLiteral) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 4);
|
||||
CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0);
|
||||
@ -574,7 +574,7 @@ static MaybeHandle<JSObject> CreateArrayLiteralImpl(Isolate* isolate,
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_CreateArrayLiteral) {
|
||||
RUNTIME_FUNCTION(Runtime_CreateArrayLiteral) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 4);
|
||||
CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0);
|
||||
@ -590,7 +590,7 @@ RUNTIME_FUNCTION(RuntimeHidden_CreateArrayLiteral) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_CreateArrayLiteralStubBailout) {
|
||||
RUNTIME_FUNCTION(Runtime_CreateArrayLiteralStubBailout) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 3);
|
||||
CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0);
|
||||
@ -2135,7 +2135,7 @@ static Object* ThrowRedeclarationError(Isolate* isolate, Handle<String> name) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_DeclareGlobals) {
|
||||
RUNTIME_FUNCTION(Runtime_DeclareGlobals) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 3);
|
||||
Handle<GlobalObject> global = Handle<GlobalObject>(
|
||||
@ -2231,7 +2231,7 @@ RUNTIME_FUNCTION(RuntimeHidden_DeclareGlobals) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_DeclareContextSlot) {
|
||||
RUNTIME_FUNCTION(Runtime_DeclareContextSlot) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 4);
|
||||
|
||||
@ -2391,7 +2391,7 @@ RUNTIME_FUNCTION(Runtime_InitializeVarGlobal) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_InitializeConstGlobal) {
|
||||
RUNTIME_FUNCTION(Runtime_InitializeConstGlobal) {
|
||||
SealHandleScope shs(isolate);
|
||||
// All constants are declared with an initial value. The name
|
||||
// of the constant is the first argument and the initial value
|
||||
@ -2467,7 +2467,7 @@ RUNTIME_FUNCTION(RuntimeHidden_InitializeConstGlobal) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_InitializeConstContextSlot) {
|
||||
RUNTIME_FUNCTION(Runtime_InitializeConstContextSlot) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 3);
|
||||
|
||||
@ -2578,7 +2578,7 @@ RUNTIME_FUNCTION(Runtime_OptimizeObjectForAddingMultipleProperties) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_RegExpExec) {
|
||||
RUNTIME_FUNCTION(Runtime_RegExpExecRT) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 4);
|
||||
CONVERT_ARG_HANDLE_CHECKED(JSRegExp, regexp, 0);
|
||||
@ -2598,7 +2598,7 @@ RUNTIME_FUNCTION(RuntimeHidden_RegExpExec) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_RegExpConstructResult) {
|
||||
RUNTIME_FUNCTION(Runtime_RegExpConstructResult) {
|
||||
HandleScope handle_scope(isolate);
|
||||
ASSERT(args.length() == 3);
|
||||
CONVERT_SMI_ARG_CHECKED(size, 0);
|
||||
@ -2770,7 +2770,7 @@ RUNTIME_FUNCTION(Runtime_GetDefaultReceiver) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_MaterializeRegExpLiteral) {
|
||||
RUNTIME_FUNCTION(Runtime_MaterializeRegExpLiteral) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 4);
|
||||
CONVERT_ARG_HANDLE_CHECKED(FixedArray, literals, 0);
|
||||
@ -3019,7 +3019,7 @@ RUNTIME_FUNCTION(Runtime_SetCode) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_CreateJSGeneratorObject) {
|
||||
RUNTIME_FUNCTION(Runtime_CreateJSGeneratorObject) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 0);
|
||||
|
||||
@ -3045,7 +3045,7 @@ RUNTIME_FUNCTION(RuntimeHidden_CreateJSGeneratorObject) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_SuspendJSGeneratorObject) {
|
||||
RUNTIME_FUNCTION(Runtime_SuspendJSGeneratorObject) {
|
||||
HandleScope handle_scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_ARG_HANDLE_CHECKED(JSGeneratorObject, generator_object, 0);
|
||||
@ -3095,7 +3095,7 @@ RUNTIME_FUNCTION(RuntimeHidden_SuspendJSGeneratorObject) {
|
||||
// inlined into GeneratorNext and GeneratorThrow. EmitGeneratorResumeResume is
|
||||
// called in any case, as it needs to reconstruct the stack frame and make space
|
||||
// for arguments and operands.
|
||||
RUNTIME_FUNCTION(RuntimeHidden_ResumeJSGeneratorObject) {
|
||||
RUNTIME_FUNCTION(Runtime_ResumeJSGeneratorObject) {
|
||||
SealHandleScope shs(isolate);
|
||||
ASSERT(args.length() == 3);
|
||||
CONVERT_ARG_CHECKED(JSGeneratorObject, generator_object, 0);
|
||||
@ -3143,7 +3143,7 @@ RUNTIME_FUNCTION(RuntimeHidden_ResumeJSGeneratorObject) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_ThrowGeneratorStateError) {
|
||||
RUNTIME_FUNCTION(Runtime_ThrowGeneratorStateError) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_ARG_HANDLE_CHECKED(JSGeneratorObject, generator, 0);
|
||||
@ -3172,7 +3172,7 @@ RUNTIME_FUNCTION(Runtime_ObjectFreeze) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_StringCharCodeAt) {
|
||||
RUNTIME_FUNCTION(Runtime_StringCharCodeAtRT) {
|
||||
HandleScope handle_scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
|
||||
@ -4448,7 +4448,7 @@ RUNTIME_FUNCTION(Runtime_StringLocaleCompare) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_SubString) {
|
||||
RUNTIME_FUNCTION(Runtime_SubString) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 3);
|
||||
|
||||
@ -6833,7 +6833,7 @@ bool Runtime::IsUpperCaseChar(RuntimeState* runtime_state, uint16_t ch) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NumberToString) {
|
||||
RUNTIME_FUNCTION(Runtime_NumberToStringRT) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_NUMBER_ARG_HANDLE_CHECKED(number, 0);
|
||||
@ -6842,7 +6842,7 @@ RUNTIME_FUNCTION(RuntimeHidden_NumberToString) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NumberToStringSkipCache) {
|
||||
RUNTIME_FUNCTION(Runtime_NumberToStringSkipCache) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_NUMBER_ARG_HANDLE_CHECKED(number, 0);
|
||||
@ -6893,7 +6893,7 @@ RUNTIME_FUNCTION(Runtime_NumberToJSInt32) {
|
||||
|
||||
// Converts a Number to a Smi, if possible. Returns NaN if the number is not
|
||||
// a small integer.
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NumberToSmi) {
|
||||
RUNTIME_FUNCTION(Runtime_NumberToSmi) {
|
||||
SealHandleScope shs(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_ARG_CHECKED(Object, obj, 0);
|
||||
@ -6911,7 +6911,7 @@ RUNTIME_FUNCTION(RuntimeHidden_NumberToSmi) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_AllocateHeapNumber) {
|
||||
RUNTIME_FUNCTION(Runtime_AllocateHeapNumber) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 0);
|
||||
return *isolate->factory()->NewHeapNumber(0);
|
||||
@ -6987,7 +6987,7 @@ RUNTIME_FUNCTION(Runtime_NumberImul) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_StringAdd) {
|
||||
RUNTIME_FUNCTION(Runtime_StringAdd) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
CONVERT_ARG_HANDLE_CHECKED(String, str1, 0);
|
||||
@ -7572,7 +7572,7 @@ RUNTIME_FUNCTION(Runtime_SmiLexicographicCompare) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_StringCompare) {
|
||||
RUNTIME_FUNCTION(Runtime_StringCompare) {
|
||||
HandleScope handle_scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
|
||||
@ -7733,7 +7733,7 @@ RUNTIME_FUNCTION(Runtime_MathFloorRT) {
|
||||
|
||||
// Slow version of Math.pow. We check for fast paths for special cases.
|
||||
// Used if VFP3 is not available.
|
||||
RUNTIME_FUNCTION(RuntimeHidden_MathPowSlow) {
|
||||
RUNTIME_FUNCTION(Runtime_MathPowSlow) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
isolate->counters()->math_pow()->Increment();
|
||||
@ -7756,7 +7756,7 @@ RUNTIME_FUNCTION(RuntimeHidden_MathPowSlow) {
|
||||
|
||||
// Fast version of Math.pow if we know that y is not an integer and y is not
|
||||
// -0.5 or 0.5. Used as slow case from full codegen.
|
||||
RUNTIME_FUNCTION(RuntimeHidden_MathPow) {
|
||||
RUNTIME_FUNCTION(Runtime_MathPowRT) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
isolate->counters()->math_pow()->Increment();
|
||||
@ -7884,7 +7884,7 @@ RUNTIME_FUNCTION(Runtime_DateSetValue) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NewSloppyArguments) {
|
||||
RUNTIME_FUNCTION(Runtime_NewSloppyArguments) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 3);
|
||||
|
||||
@ -7978,7 +7978,7 @@ RUNTIME_FUNCTION(RuntimeHidden_NewSloppyArguments) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NewStrictArguments) {
|
||||
RUNTIME_FUNCTION(Runtime_NewStrictArguments) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 3);
|
||||
CONVERT_ARG_HANDLE_CHECKED(JSFunction, callee, 0)
|
||||
@ -8002,7 +8002,7 @@ RUNTIME_FUNCTION(RuntimeHidden_NewStrictArguments) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NewClosureFromStubFailure) {
|
||||
RUNTIME_FUNCTION(Runtime_NewClosureFromStubFailure) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_ARG_HANDLE_CHECKED(SharedFunctionInfo, shared, 0);
|
||||
@ -8013,7 +8013,7 @@ RUNTIME_FUNCTION(RuntimeHidden_NewClosureFromStubFailure) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NewClosure) {
|
||||
RUNTIME_FUNCTION(Runtime_NewClosure) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 3);
|
||||
CONVERT_ARG_HANDLE_CHECKED(Context, context, 0);
|
||||
@ -8268,7 +8268,7 @@ static Object* Runtime_NewObjectHelper(Isolate* isolate,
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NewObject) {
|
||||
RUNTIME_FUNCTION(Runtime_NewObject) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_ARG_HANDLE_CHECKED(Object, constructor, 0);
|
||||
@ -8278,7 +8278,7 @@ RUNTIME_FUNCTION(RuntimeHidden_NewObject) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NewObjectWithAllocationSite) {
|
||||
RUNTIME_FUNCTION(Runtime_NewObjectWithAllocationSite) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
CONVERT_ARG_HANDLE_CHECKED(Object, constructor, 1);
|
||||
@ -8292,7 +8292,7 @@ RUNTIME_FUNCTION(RuntimeHidden_NewObjectWithAllocationSite) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_FinalizeInstanceSize) {
|
||||
RUNTIME_FUNCTION(Runtime_FinalizeInstanceSize) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
|
||||
@ -8303,7 +8303,7 @@ RUNTIME_FUNCTION(RuntimeHidden_FinalizeInstanceSize) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_CompileUnoptimized) {
|
||||
RUNTIME_FUNCTION(Runtime_CompileUnoptimized) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
|
||||
@ -8332,7 +8332,7 @@ RUNTIME_FUNCTION(RuntimeHidden_CompileUnoptimized) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_CompileOptimized) {
|
||||
RUNTIME_FUNCTION(Runtime_CompileOptimized) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
|
||||
@ -8400,7 +8400,7 @@ class ActivationsFinder : public ThreadVisitor {
|
||||
};
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NotifyStubFailure) {
|
||||
RUNTIME_FUNCTION(Runtime_NotifyStubFailure) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 0);
|
||||
Deoptimizer* deoptimizer = Deoptimizer::Grab(isolate);
|
||||
@ -8410,7 +8410,7 @@ RUNTIME_FUNCTION(RuntimeHidden_NotifyStubFailure) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NotifyDeoptimized) {
|
||||
RUNTIME_FUNCTION(Runtime_NotifyDeoptimized) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_SMI_ARG_CHECKED(type_arg, 0);
|
||||
@ -8870,7 +8870,7 @@ RUNTIME_FUNCTION(Runtime_GetConstructorDelegate) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NewGlobalContext) {
|
||||
RUNTIME_FUNCTION(Runtime_NewGlobalContext) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
|
||||
@ -8886,7 +8886,7 @@ RUNTIME_FUNCTION(RuntimeHidden_NewGlobalContext) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_NewFunctionContext) {
|
||||
RUNTIME_FUNCTION(Runtime_NewFunctionContext) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
|
||||
@ -8896,7 +8896,7 @@ RUNTIME_FUNCTION(RuntimeHidden_NewFunctionContext) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_PushWithContext) {
|
||||
RUNTIME_FUNCTION(Runtime_PushWithContext) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
Handle<JSReceiver> extension_object;
|
||||
@ -8933,7 +8933,7 @@ RUNTIME_FUNCTION(RuntimeHidden_PushWithContext) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_PushCatchContext) {
|
||||
RUNTIME_FUNCTION(Runtime_PushCatchContext) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 3);
|
||||
CONVERT_ARG_HANDLE_CHECKED(String, name, 0);
|
||||
@ -8955,7 +8955,7 @@ RUNTIME_FUNCTION(RuntimeHidden_PushCatchContext) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_PushBlockContext) {
|
||||
RUNTIME_FUNCTION(Runtime_PushBlockContext) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
CONVERT_ARG_HANDLE_CHECKED(ScopeInfo, scope_info, 0);
|
||||
@ -8984,7 +8984,7 @@ RUNTIME_FUNCTION(Runtime_IsJSModule) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_PushModuleContext) {
|
||||
RUNTIME_FUNCTION(Runtime_PushModuleContext) {
|
||||
SealHandleScope shs(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
CONVERT_SMI_ARG_CHECKED(index, 0);
|
||||
@ -9019,7 +9019,7 @@ RUNTIME_FUNCTION(RuntimeHidden_PushModuleContext) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_DeclareModules) {
|
||||
RUNTIME_FUNCTION(Runtime_DeclareModules) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_ARG_HANDLE_CHECKED(FixedArray, descriptions, 0);
|
||||
@ -9073,7 +9073,7 @@ RUNTIME_FUNCTION(RuntimeHidden_DeclareModules) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_DeleteContextSlot) {
|
||||
RUNTIME_FUNCTION(Runtime_DeleteContextSlot) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
|
||||
@ -9284,17 +9284,17 @@ static ObjectPair LoadContextSlotHelper(Arguments args,
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION_RETURN_PAIR(RuntimeHidden_LoadContextSlot) {
|
||||
RUNTIME_FUNCTION_RETURN_PAIR(Runtime_LoadContextSlot) {
|
||||
return LoadContextSlotHelper(args, isolate, true);
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION_RETURN_PAIR(RuntimeHidden_LoadContextSlotNoReferenceError) {
|
||||
RUNTIME_FUNCTION_RETURN_PAIR(Runtime_LoadContextSlotNoReferenceError) {
|
||||
return LoadContextSlotHelper(args, isolate, false);
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_StoreContextSlot) {
|
||||
RUNTIME_FUNCTION(Runtime_StoreContextSlot) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 4);
|
||||
|
||||
@ -9379,7 +9379,7 @@ RUNTIME_FUNCTION(RuntimeHidden_StoreContextSlot) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_Throw) {
|
||||
RUNTIME_FUNCTION(Runtime_Throw) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
|
||||
@ -9387,7 +9387,7 @@ RUNTIME_FUNCTION(RuntimeHidden_Throw) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_ReThrow) {
|
||||
RUNTIME_FUNCTION(Runtime_ReThrow) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
|
||||
@ -9395,14 +9395,14 @@ RUNTIME_FUNCTION(RuntimeHidden_ReThrow) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_PromoteScheduledException) {
|
||||
RUNTIME_FUNCTION(Runtime_PromoteScheduledException) {
|
||||
SealHandleScope shs(isolate);
|
||||
ASSERT(args.length() == 0);
|
||||
return isolate->PromoteScheduledException();
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_ThrowReferenceError) {
|
||||
RUNTIME_FUNCTION(Runtime_ThrowReferenceError) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_ARG_HANDLE_CHECKED(Object, name, 0);
|
||||
@ -9413,7 +9413,7 @@ RUNTIME_FUNCTION(RuntimeHidden_ThrowReferenceError) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_ThrowNotDateError) {
|
||||
RUNTIME_FUNCTION(Runtime_ThrowNotDateError) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 0);
|
||||
return isolate->Throw(*isolate->factory()->NewTypeError(
|
||||
@ -9421,7 +9421,7 @@ RUNTIME_FUNCTION(RuntimeHidden_ThrowNotDateError) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_StackGuard) {
|
||||
RUNTIME_FUNCTION(Runtime_StackGuard) {
|
||||
SealHandleScope shs(isolate);
|
||||
ASSERT(args.length() == 0);
|
||||
|
||||
@ -9435,7 +9435,7 @@ RUNTIME_FUNCTION(RuntimeHidden_StackGuard) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_TryInstallOptimizedCode) {
|
||||
RUNTIME_FUNCTION(Runtime_TryInstallOptimizedCode) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
|
||||
@ -9453,7 +9453,7 @@ RUNTIME_FUNCTION(RuntimeHidden_TryInstallOptimizedCode) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_Interrupt) {
|
||||
RUNTIME_FUNCTION(Runtime_Interrupt) {
|
||||
SealHandleScope shs(isolate);
|
||||
ASSERT(args.length() == 0);
|
||||
return isolate->stack_guard()->HandleInterrupts();
|
||||
@ -9823,7 +9823,7 @@ static ObjectPair CompileGlobalEval(Isolate* isolate,
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION_RETURN_PAIR(RuntimeHidden_ResolvePossiblyDirectEval) {
|
||||
RUNTIME_FUNCTION_RETURN_PAIR(Runtime_ResolvePossiblyDirectEval) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 5);
|
||||
|
||||
@ -9851,7 +9851,7 @@ RUNTIME_FUNCTION_RETURN_PAIR(RuntimeHidden_ResolvePossiblyDirectEval) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_AllocateInNewSpace) {
|
||||
RUNTIME_FUNCTION(Runtime_AllocateInNewSpace) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 1);
|
||||
CONVERT_SMI_ARG_CHECKED(size, 0);
|
||||
@ -9862,7 +9862,7 @@ RUNTIME_FUNCTION(RuntimeHidden_AllocateInNewSpace) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_AllocateInTargetSpace) {
|
||||
RUNTIME_FUNCTION(Runtime_AllocateInTargetSpace) {
|
||||
HandleScope scope(isolate);
|
||||
ASSERT(args.length() == 2);
|
||||
CONVERT_SMI_ARG_CHECKED(size, 0);
|
||||
@ -14557,7 +14557,7 @@ RUNTIME_FUNCTION(Runtime_TryMigrateInstance) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_GetFromCache) {
|
||||
RUNTIME_FUNCTION(Runtime_GetFromCache) {
|
||||
SealHandleScope shs(isolate);
|
||||
// This is only called from codegen, so checks might be more lax.
|
||||
CONVERT_ARG_CHECKED(JSFunctionResultCache, cache, 0);
|
||||
@ -14680,7 +14680,6 @@ RUNTIME_FUNCTION(Runtime_ListNatives) {
|
||||
#define COUNT_ENTRY(Name, argc, ressize) + 1
|
||||
int entry_count = 0
|
||||
RUNTIME_FUNCTION_LIST(COUNT_ENTRY)
|
||||
RUNTIME_HIDDEN_FUNCTION_LIST(COUNT_ENTRY)
|
||||
INLINE_FUNCTION_LIST(COUNT_ENTRY)
|
||||
INLINE_OPTIMIZED_FUNCTION_LIST(COUNT_ENTRY);
|
||||
#undef COUNT_ENTRY
|
||||
@ -14707,8 +14706,6 @@ RUNTIME_FUNCTION(Runtime_ListNatives) {
|
||||
inline_runtime_functions = false;
|
||||
RUNTIME_FUNCTION_LIST(ADD_ENTRY)
|
||||
INLINE_OPTIMIZED_FUNCTION_LIST(ADD_ENTRY)
|
||||
// Calling hidden runtime functions should just throw.
|
||||
RUNTIME_HIDDEN_FUNCTION_LIST(ADD_ENTRY)
|
||||
inline_runtime_functions = true;
|
||||
INLINE_FUNCTION_LIST(ADD_ENTRY)
|
||||
#undef ADD_ENTRY
|
||||
@ -14990,7 +14987,7 @@ static Object* ArrayConstructorCommon(Isolate* isolate,
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_ArrayConstructor) {
|
||||
RUNTIME_FUNCTION(Runtime_ArrayConstructor) {
|
||||
HandleScope scope(isolate);
|
||||
// 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
|
||||
@ -15027,7 +15024,7 @@ RUNTIME_FUNCTION(RuntimeHidden_ArrayConstructor) {
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(RuntimeHidden_InternalArrayConstructor) {
|
||||
RUNTIME_FUNCTION(Runtime_InternalArrayConstructor) {
|
||||
HandleScope scope(isolate);
|
||||
Arguments empty_args(0, NULL);
|
||||
bool no_caller_args = args.length() == 1;
|
||||
@ -15064,11 +15061,6 @@ RUNTIME_FUNCTION(Runtime_MaxSmi) {
|
||||
FUNCTION_ADDR(Runtime_##name), number_of_args, result_size },
|
||||
|
||||
|
||||
#define FH(name, number_of_args, result_size) \
|
||||
{ Runtime::kHidden##name, Runtime::RUNTIME_HIDDEN, NULL, \
|
||||
FUNCTION_ADDR(RuntimeHidden_##name), number_of_args, result_size },
|
||||
|
||||
|
||||
#define I(name, number_of_args, result_size) \
|
||||
{ Runtime::kInline##name, Runtime::INLINE, \
|
||||
"_" #name, NULL, number_of_args, result_size },
|
||||
@ -15082,14 +15074,12 @@ RUNTIME_FUNCTION(Runtime_MaxSmi) {
|
||||
static const Runtime::Function kIntrinsicFunctions[] = {
|
||||
RUNTIME_FUNCTION_LIST(F)
|
||||
INLINE_OPTIMIZED_FUNCTION_LIST(F)
|
||||
RUNTIME_HIDDEN_FUNCTION_LIST(FH)
|
||||
INLINE_FUNCTION_LIST(I)
|
||||
INLINE_OPTIMIZED_FUNCTION_LIST(IO)
|
||||
};
|
||||
|
||||
#undef IO
|
||||
#undef I
|
||||
#undef FH
|
||||
#undef F
|
||||
|
||||
|
||||
|
177
src/runtime.h
177
src/runtime.h
@ -397,6 +397,91 @@ namespace internal {
|
||||
F(IsJSGlobalProxy, 1, 1)
|
||||
|
||||
|
||||
#define RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \
|
||||
/* String and Regexp */ \
|
||||
F(NumberToStringRT, 1, 1) \
|
||||
F(RegExpConstructResult, 3, 1) \
|
||||
F(RegExpExecRT, 4, 1) \
|
||||
F(StringAdd, 2, 1) \
|
||||
F(SubString, 3, 1) \
|
||||
F(StringCompare, 2, 1) \
|
||||
F(StringCharCodeAtRT, 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(NewSloppyArguments, 3, 1) \
|
||||
F(NewStrictArguments, 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(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) \
|
||||
\
|
||||
/* Maths */ \
|
||||
F(MathPowSlow, 2, 1) \
|
||||
F(MathPowRT, 2, 1)
|
||||
|
||||
|
||||
#define RUNTIME_FUNCTION_LIST_DEBUGGER(F) \
|
||||
/* Debugger support*/ \
|
||||
F(DebugBreak, 0, 1) \
|
||||
@ -522,97 +607,11 @@ namespace internal {
|
||||
#define RUNTIME_FUNCTION_LIST(F) \
|
||||
RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \
|
||||
RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \
|
||||
RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \
|
||||
RUNTIME_FUNCTION_LIST_DEBUG(F) \
|
||||
RUNTIME_FUNCTION_LIST_DEBUGGER(F) \
|
||||
RUNTIME_FUNCTION_LIST_I18N_SUPPORT(F)
|
||||
|
||||
// RUNTIME_HIDDEN_FUNCTION_LIST defines all runtime functions accessed
|
||||
// by id from code generator, but not via native call by name.
|
||||
// Entries have the form F(name, number of arguments, number of return values).
|
||||
#define RUNTIME_HIDDEN_FUNCTION_LIST(F) \
|
||||
/* String and Regexp */ \
|
||||
F(NumberToString, 1, 1) \
|
||||
F(RegExpConstructResult, 3, 1) \
|
||||
F(RegExpExec, 4, 1) \
|
||||
F(StringAdd, 2, 1) \
|
||||
F(SubString, 3, 1) \
|
||||
F(StringCompare, 2, 1) \
|
||||
F(StringCharCodeAt, 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(NewSloppyArguments, 3, 1) \
|
||||
F(NewStrictArguments, 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(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) \
|
||||
\
|
||||
/* Maths */ \
|
||||
F(MathPowSlow, 2, 1) \
|
||||
F(MathPow, 2, 1)
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// INLINE_FUNCTION_LIST defines all inlined functions accessed
|
||||
// with a native call of the form %_name from within JS code.
|
||||
@ -737,9 +736,6 @@ class Runtime : public AllStatic {
|
||||
RUNTIME_FUNCTION_LIST(F)
|
||||
INLINE_OPTIMIZED_FUNCTION_LIST(F)
|
||||
#undef F
|
||||
#define F(name, nargs, ressize) kHidden##name,
|
||||
RUNTIME_HIDDEN_FUNCTION_LIST(F)
|
||||
#undef F
|
||||
#define F(name, nargs, ressize) kInline##name,
|
||||
INLINE_FUNCTION_LIST(F)
|
||||
#undef F
|
||||
@ -752,7 +748,6 @@ class Runtime : public AllStatic {
|
||||
|
||||
enum IntrinsicType {
|
||||
RUNTIME,
|
||||
RUNTIME_HIDDEN,
|
||||
INLINE,
|
||||
INLINE_OPTIMIZED
|
||||
};
|
||||
|
@ -154,14 +154,6 @@ void ExternalReferenceTable::PopulateTable(Isolate* isolate) {
|
||||
INLINE_OPTIMIZED_FUNCTION_LIST(RUNTIME_ENTRY)
|
||||
#undef RUNTIME_ENTRY
|
||||
|
||||
#define RUNTIME_HIDDEN_ENTRY(name, nargs, ressize) \
|
||||
{ RUNTIME_FUNCTION, \
|
||||
Runtime::kHidden##name, \
|
||||
"Runtime::Hidden" #name },
|
||||
|
||||
RUNTIME_HIDDEN_FUNCTION_LIST(RUNTIME_HIDDEN_ENTRY)
|
||||
#undef RUNTIME_HIDDEN_ENTRY
|
||||
|
||||
#define INLINE_OPTIMIZED_ENTRY(name, nargs, ressize) \
|
||||
{ RUNTIME_FUNCTION, \
|
||||
Runtime::kInlineOptimized##name, \
|
||||
@ -460,12 +452,11 @@ void ExternalReferenceTable::PopulateTable(Isolate* isolate) {
|
||||
UNCLASSIFIED,
|
||||
52,
|
||||
"cpu_features");
|
||||
Add(ExternalReference(Runtime::kHiddenAllocateInNewSpace, isolate).address(),
|
||||
Add(ExternalReference(Runtime::kAllocateInNewSpace, isolate).address(),
|
||||
UNCLASSIFIED,
|
||||
53,
|
||||
"Runtime::AllocateInNewSpace");
|
||||
Add(ExternalReference(
|
||||
Runtime::kHiddenAllocateInTargetSpace, isolate).address(),
|
||||
Add(ExternalReference(Runtime::kAllocateInTargetSpace, isolate).address(),
|
||||
UNCLASSIFIED,
|
||||
54,
|
||||
"Runtime::AllocateInTargetSpace");
|
||||
|
@ -91,7 +91,7 @@ void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) {
|
||||
__ CompareRoot(rsp, Heap::kStackLimitRootIndex);
|
||||
__ j(above_equal, &ok);
|
||||
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenTryInstallOptimizedCode);
|
||||
CallRuntimePassFunction(masm, Runtime::kTryInstallOptimizedCode);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
|
||||
__ bind(&ok);
|
||||
@ -180,7 +180,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
__ Push(rdi);
|
||||
|
||||
__ Push(rdi); // constructor
|
||||
__ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
|
||||
__ CallRuntime(Runtime::kFinalizeInstanceSize, 1);
|
||||
|
||||
__ Pop(rdi);
|
||||
__ Pop(rax);
|
||||
@ -360,9 +360,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
__ movp(rdi, Operand(rsp, offset));
|
||||
__ Push(rdi);
|
||||
if (create_memento) {
|
||||
__ CallRuntime(Runtime::kHiddenNewObjectWithAllocationSite, 2);
|
||||
__ CallRuntime(Runtime::kNewObjectWithAllocationSite, 2);
|
||||
} else {
|
||||
__ CallRuntime(Runtime::kHiddenNewObject, 1);
|
||||
__ CallRuntime(Runtime::kNewObject, 1);
|
||||
}
|
||||
__ movp(rbx, rax); // store result in rbx
|
||||
|
||||
@ -610,7 +610,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
|
||||
|
||||
|
||||
void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) {
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenCompileUnoptimized);
|
||||
CallRuntimePassFunction(masm, Runtime::kCompileUnoptimized);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
}
|
||||
|
||||
@ -625,7 +625,7 @@ static void CallCompileOptimized(MacroAssembler* masm,
|
||||
// Whether to compile in a background thread.
|
||||
__ Push(masm->isolate()->factory()->ToBoolean(concurrent));
|
||||
|
||||
__ CallRuntime(Runtime::kHiddenCompileOptimized, 2);
|
||||
__ CallRuntime(Runtime::kCompileOptimized, 2);
|
||||
// Restore receiver.
|
||||
__ Pop(rdi);
|
||||
}
|
||||
@ -726,7 +726,7 @@ static void Generate_NotifyStubFailureHelper(MacroAssembler* masm,
|
||||
// stubs that tail call the runtime on deopts passing their parameters in
|
||||
// registers.
|
||||
__ Pushad();
|
||||
__ CallRuntime(Runtime::kHiddenNotifyStubFailure, 0, save_doubles);
|
||||
__ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles);
|
||||
__ Popad();
|
||||
// Tear down internal frame.
|
||||
}
|
||||
@ -755,7 +755,7 @@ static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
|
||||
// Pass the deoptimization type to the runtime system.
|
||||
__ Push(Smi::FromInt(static_cast<int>(type)));
|
||||
|
||||
__ CallRuntime(Runtime::kHiddenNotifyDeoptimized, 1);
|
||||
__ CallRuntime(Runtime::kNotifyDeoptimized, 1);
|
||||
// Tear down internal frame.
|
||||
}
|
||||
|
||||
@ -1505,7 +1505,7 @@ void Builtins::Generate_OsrAfterStackCheck(MacroAssembler* masm) {
|
||||
__ j(above_equal, &ok);
|
||||
{
|
||||
FrameScope scope(masm, StackFrame::INTERNAL);
|
||||
__ CallRuntime(Runtime::kHiddenStackGuard, 0);
|
||||
__ CallRuntime(Runtime::kStackGuard, 0);
|
||||
}
|
||||
__ jmp(masm->isolate()->builtins()->OnStackReplacement(),
|
||||
RelocInfo::CODE_TARGET);
|
||||
|
@ -21,7 +21,7 @@ void FastNewClosureStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { rbx };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenNewClosureFromStubFailure)->entry);
|
||||
Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ void NumberToStringStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { rax };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenNumberToString)->entry);
|
||||
Runtime::FunctionForId(Runtime::kNumberToStringRT)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -59,7 +59,7 @@ void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(
|
||||
Runtime::kHiddenCreateArrayLiteralStubBailout)->entry,
|
||||
Runtime::kCreateArrayLiteralStubBailout)->entry,
|
||||
representations);
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { rax, rbx, rcx, rdx };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenCreateObjectLiteral)->entry);
|
||||
Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -85,7 +85,7 @@ void RegExpConstructResultStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { rcx, rbx, rax };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenRegExpConstructResult)->entry);
|
||||
Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -143,7 +143,7 @@ static void InitializeArrayConstructorDescriptor(
|
||||
// rdi -- function
|
||||
// rbx -- allocation site with elements kind
|
||||
Address deopt_handler = Runtime::FunctionForId(
|
||||
Runtime::kHiddenArrayConstructor)->entry;
|
||||
Runtime::kArrayConstructor)->entry;
|
||||
|
||||
if (constant_stack_parameter_count == 0) {
|
||||
Register registers[] = { rdi, rbx };
|
||||
@ -177,7 +177,7 @@ static void InitializeInternalArrayConstructorDescriptor(
|
||||
// rax -- number of arguments
|
||||
// rdi -- constructor function
|
||||
Address deopt_handler = Runtime::FunctionForId(
|
||||
Runtime::kHiddenInternalArrayConstructor)->entry;
|
||||
Runtime::kInternalArrayConstructor)->entry;
|
||||
|
||||
if (constant_stack_parameter_count == 0) {
|
||||
Register registers[] = { rdi };
|
||||
@ -298,7 +298,7 @@ void StringAddStub::InitializeInterfaceDescriptor(
|
||||
Register registers[] = { rdx, rax };
|
||||
descriptor->Initialize(
|
||||
ARRAY_SIZE(registers), registers,
|
||||
Runtime::FunctionForId(Runtime::kHiddenStringAdd)->entry);
|
||||
Runtime::FunctionForId(Runtime::kStringAdd)->entry);
|
||||
}
|
||||
|
||||
|
||||
@ -776,7 +776,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
|
||||
if (exponent_type_ == ON_STACK) {
|
||||
// The arguments are still on the stack.
|
||||
__ bind(&call_runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenMathPow, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kMathPowRT, 2, 1);
|
||||
|
||||
// The stub is called from non-optimized code, which expects the result
|
||||
// as heap number in rax.
|
||||
@ -1105,7 +1105,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
|
||||
__ bind(&runtime);
|
||||
__ Integer32ToSmi(rcx, rcx);
|
||||
__ movp(args.GetArgumentOperand(2), rcx); // Patch argument count.
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -1132,7 +1132,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
|
||||
__ movp(args.GetArgumentOperand(1), rdx);
|
||||
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -1233,7 +1233,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
|
||||
|
||||
// Do the runtime call to allocate the arguments object.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewStrictArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewStrictArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -1242,7 +1242,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
// time or if regexp entry in generated code is turned off runtime switch or
|
||||
// at compilation.
|
||||
#ifdef V8_INTERPRETED_REGEXP
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
|
||||
#else // V8_INTERPRETED_REGEXP
|
||||
|
||||
// Stack frame on entry.
|
||||
@ -1635,7 +1635,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
// Do the runtime call to execute the regexp.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExecRT, 4, 1);
|
||||
|
||||
// Deferred code for string handling.
|
||||
// (7) Not a long external string? If yes, go to (10).
|
||||
@ -3002,7 +3002,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
} else {
|
||||
ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
|
||||
// NumberToSmi discards numbers that are not exact integers.
|
||||
__ CallRuntime(Runtime::kHiddenNumberToSmi, 1);
|
||||
__ CallRuntime(Runtime::kNumberToSmi, 1);
|
||||
}
|
||||
if (!index_.is(rax)) {
|
||||
// Save the conversion result before the pop instructions below
|
||||
@ -3027,7 +3027,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
__ Push(object_);
|
||||
__ Integer32ToSmi(index_, index_);
|
||||
__ Push(index_);
|
||||
__ CallRuntime(Runtime::kHiddenStringCharCodeAt, 2);
|
||||
__ CallRuntime(Runtime::kStringCharCodeAtRT, 2);
|
||||
if (!result_.is(rax)) {
|
||||
__ movp(result_, rax);
|
||||
}
|
||||
@ -3371,7 +3371,7 @@ void SubStringStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
// Just jump to runtime to create the sub string.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenSubString, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kSubString, 3, 1);
|
||||
|
||||
__ bind(&single_char);
|
||||
// rax: string
|
||||
@ -3568,7 +3568,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) {
|
||||
// Call the runtime; it returns -1 (less), 0 (equal), or 1 (greater)
|
||||
// tagged as a small integer.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -3866,7 +3866,7 @@ void ICCompareStub::GenerateStrings(MacroAssembler* masm) {
|
||||
if (equality) {
|
||||
__ TailCallRuntime(Runtime::kStringEquals, 2, 1);
|
||||
} else {
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
__ bind(&miss);
|
||||
|
@ -189,7 +189,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
|
||||
__ Push(rdi);
|
||||
__ Push(info->scope()->GetScopeInfo());
|
||||
__ CallRuntime(Runtime::kHiddenNewGlobalContext, 2);
|
||||
__ CallRuntime(Runtime::kNewGlobalContext, 2);
|
||||
} else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
|
||||
FastNewContextStub stub(isolate(), heap_slots);
|
||||
__ CallStub(&stub);
|
||||
@ -197,7 +197,7 @@ void FullCodeGenerator::Generate() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ Push(rdi);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
function_in_register = false;
|
||||
// Context is returned in rax. It replaces the context passed to us.
|
||||
@ -824,7 +824,7 @@ void FullCodeGenerator::VisitVariableDeclaration(
|
||||
} else {
|
||||
__ Push(Smi::FromInt(0)); // Indicates no initial value.
|
||||
}
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -878,7 +878,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
|
||||
__ Push(variable->name());
|
||||
__ Push(Smi::FromInt(NONE));
|
||||
VisitForStackValue(declaration->fun());
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -948,7 +948,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
__ Push(rsi); // The context is the first argument.
|
||||
__ Push(pairs);
|
||||
__ Push(Smi::FromInt(DeclareGlobalsFlags()));
|
||||
__ CallRuntime(Runtime::kHiddenDeclareGlobals, 3);
|
||||
__ CallRuntime(Runtime::kDeclareGlobals, 3);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -956,7 +956,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) {
|
||||
// Call the runtime to declare the modules.
|
||||
__ Push(descriptions);
|
||||
__ CallRuntime(Runtime::kHiddenDeclareModules, 1);
|
||||
__ CallRuntime(Runtime::kDeclareModules, 1);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -1309,7 +1309,7 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
|
||||
__ Push(pretenure
|
||||
? isolate()->factory()->true_value()
|
||||
: isolate()->factory()->false_value());
|
||||
__ CallRuntime(Runtime::kHiddenNewClosure, 3);
|
||||
__ CallRuntime(Runtime::kNewClosure, 3);
|
||||
}
|
||||
context()->Plug(rax);
|
||||
}
|
||||
@ -1434,7 +1434,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(Variable* var,
|
||||
__ LoadRoot(rax, Heap::kUndefinedValueRootIndex);
|
||||
} else { // LET || CONST
|
||||
__ Push(var->name());
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
}
|
||||
}
|
||||
__ jmp(done);
|
||||
@ -1511,7 +1511,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// Throw a reference error when using an uninitialized let/const
|
||||
// binding in harmony mode.
|
||||
__ Push(var->name());
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
} else {
|
||||
// Uninitalized const bindings outside of harmony mode are unholed.
|
||||
ASSERT(var->mode() == CONST_LEGACY);
|
||||
@ -1535,7 +1535,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
__ bind(&slow);
|
||||
__ Push(rsi); // Context.
|
||||
__ Push(var->name());
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ bind(&done);
|
||||
context()->Plug(rax);
|
||||
break;
|
||||
@ -1566,7 +1566,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ Push(Smi::FromInt(expr->literal_index()));
|
||||
__ Push(expr->pattern());
|
||||
__ Push(expr->flags());
|
||||
__ CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4);
|
||||
__ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4);
|
||||
__ movp(rbx, rax);
|
||||
|
||||
__ bind(&materialized);
|
||||
@ -1578,7 +1578,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ bind(&runtime_allocate);
|
||||
__ Push(rbx);
|
||||
__ Push(Smi::FromInt(size));
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ Pop(rbx);
|
||||
|
||||
__ bind(&allocated);
|
||||
@ -1627,7 +1627,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
||||
__ Push(Smi::FromInt(expr->literal_index()));
|
||||
__ Push(constant_properties);
|
||||
__ Push(Smi::FromInt(flags));
|
||||
__ CallRuntime(Runtime::kHiddenCreateObjectLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateObjectLiteral, 4);
|
||||
} else {
|
||||
__ movp(rdi, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset));
|
||||
__ movp(rax, FieldOperand(rdi, JSFunction::kLiteralsOffset));
|
||||
@ -1764,7 +1764,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
|
||||
__ Push(Smi::FromInt(expr->literal_index()));
|
||||
__ Push(constant_elements);
|
||||
__ Push(Smi::FromInt(flags));
|
||||
__ CallRuntime(Runtime::kHiddenCreateArrayLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateArrayLiteral, 4);
|
||||
} else {
|
||||
__ movp(rbx, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset));
|
||||
__ movp(rax, FieldOperand(rbx, JSFunction::kLiteralsOffset));
|
||||
@ -1965,7 +1965,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ cmpp(rsp, rbx);
|
||||
__ j(equal, &post_runtime);
|
||||
__ Push(rax); // generator object
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ movp(context_register(),
|
||||
Operand(rbp, StandardFrameConstants::kContextOffset));
|
||||
__ bind(&post_runtime);
|
||||
@ -2034,7 +2034,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ movp(rcx, rsi);
|
||||
__ RecordWriteField(rax, JSGeneratorObject::kContextOffset, rcx, rdx,
|
||||
kDontSaveFPRegs);
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ movp(context_register(),
|
||||
Operand(rbp, StandardFrameConstants::kContextOffset));
|
||||
__ Pop(rax); // result
|
||||
@ -2088,7 +2088,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
Expression *value,
|
||||
JSGeneratorObject::ResumeMode resume_mode) {
|
||||
// The value stays in rax, and is ultimately read by the resumed generator, as
|
||||
// if CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject) returned it. Or it
|
||||
// if CallRuntime(Runtime::kSuspendJSGeneratorObject) returned it. Or it
|
||||
// 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.
|
||||
VisitForStackValue(generator);
|
||||
@ -2168,7 +2168,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
__ Push(rbx);
|
||||
__ Push(result_register());
|
||||
__ Push(Smi::FromInt(resume_mode));
|
||||
__ CallRuntime(Runtime::kHiddenResumeJSGeneratorObject, 3);
|
||||
__ CallRuntime(Runtime::kResumeJSGeneratorObject, 3);
|
||||
// Not reached: the runtime call returns elsewhere.
|
||||
__ Abort(kGeneratorFailedToResume);
|
||||
|
||||
@ -2182,14 +2182,14 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
} else {
|
||||
// Throw the provided value.
|
||||
__ Push(rax);
|
||||
__ CallRuntime(Runtime::kHiddenThrow, 1);
|
||||
__ CallRuntime(Runtime::kThrow, 1);
|
||||
}
|
||||
__ jmp(&done);
|
||||
|
||||
// Throw error if we attempt to operate on a running generator.
|
||||
__ bind(&wrong_state);
|
||||
__ Push(rbx);
|
||||
__ CallRuntime(Runtime::kHiddenThrowGeneratorStateError, 1);
|
||||
__ CallRuntime(Runtime::kThrowGeneratorStateError, 1);
|
||||
|
||||
__ bind(&done);
|
||||
context()->Plug(result_register());
|
||||
@ -2207,7 +2207,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
|
||||
|
||||
__ bind(&gc_required);
|
||||
__ Push(Smi::FromInt(map->instance_size()));
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ movp(context_register(),
|
||||
Operand(rbp, StandardFrameConstants::kContextOffset));
|
||||
|
||||
@ -2386,7 +2386,7 @@ void FullCodeGenerator::EmitCallStoreContextSlot(
|
||||
__ Push(rsi); // Context.
|
||||
__ Push(name);
|
||||
__ Push(Smi::FromInt(strict_mode));
|
||||
__ CallRuntime(Runtime::kHiddenStoreContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kStoreContextSlot, 4);
|
||||
}
|
||||
|
||||
|
||||
@ -2405,7 +2405,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
|
||||
__ Push(rax);
|
||||
__ Push(rsi);
|
||||
__ Push(var->name());
|
||||
__ CallRuntime(Runtime::kHiddenInitializeConstContextSlot, 3);
|
||||
__ CallRuntime(Runtime::kInitializeConstContextSlot, 3);
|
||||
} else {
|
||||
ASSERT(var->IsStackLocal() || var->IsContextSlot());
|
||||
Label skip;
|
||||
@ -2429,7 +2429,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
|
||||
__ CompareRoot(rdx, Heap::kTheHoleValueRootIndex);
|
||||
__ j(not_equal, &assign, Label::kNear);
|
||||
__ Push(var->name());
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
__ bind(&assign);
|
||||
EmitStoreToStackLocalOrContextSlot(var, location);
|
||||
}
|
||||
@ -2616,7 +2616,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
|
||||
__ Push(Smi::FromInt(scope()->start_position()));
|
||||
|
||||
// Do the runtime call.
|
||||
__ CallRuntime(Runtime::kHiddenResolvePossiblyDirectEval, 5);
|
||||
__ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5);
|
||||
}
|
||||
|
||||
|
||||
@ -2683,7 +2683,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
|
||||
// the object holding it (returned in rdx).
|
||||
__ Push(context_register());
|
||||
__ Push(proxy->name());
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ Push(rax); // Function.
|
||||
__ Push(rdx); // Receiver.
|
||||
|
||||
@ -3315,7 +3315,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
|
||||
}
|
||||
|
||||
__ bind(¬_date_object);
|
||||
__ CallRuntime(Runtime::kHiddenThrowNotDateError, 0);
|
||||
__ CallRuntime(Runtime::kThrowNotDateError, 0);
|
||||
__ bind(&done);
|
||||
context()->Plug(rax);
|
||||
}
|
||||
@ -3675,7 +3675,7 @@ void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) {
|
||||
// Call runtime to perform the lookup.
|
||||
__ Push(cache);
|
||||
__ Push(key);
|
||||
__ CallRuntime(Runtime::kHiddenGetFromCache, 2);
|
||||
__ CallRuntime(Runtime::kGetFromCache, 2);
|
||||
|
||||
__ bind(&done);
|
||||
context()->Plug(rax);
|
||||
@ -4104,7 +4104,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
|
||||
// context where the variable was introduced.
|
||||
__ Push(context_register());
|
||||
__ Push(var->name());
|
||||
__ CallRuntime(Runtime::kHiddenDeleteContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kDeleteContextSlot, 2);
|
||||
context()->Plug(rax);
|
||||
}
|
||||
} else {
|
||||
@ -4391,7 +4391,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
|
||||
__ bind(&slow);
|
||||
__ Push(rsi);
|
||||
__ Push(proxy->name());
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlotNoReferenceError, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2);
|
||||
PrepareForBailout(expr, TOS_REG);
|
||||
__ bind(&done);
|
||||
|
||||
|
@ -200,7 +200,7 @@ bool LCodeGen::GeneratePrologue() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ Push(rdi);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
// Context is returned in rax. It replaces the context passed to us.
|
||||
@ -3474,7 +3474,7 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
|
||||
__ Push(rsi); // The context is the first argument.
|
||||
__ Push(instr->hydrogen()->pairs());
|
||||
__ Push(Smi::FromInt(instr->hydrogen()->flags()));
|
||||
CallRuntime(Runtime::kHiddenDeclareGlobals, 3, instr);
|
||||
CallRuntime(Runtime::kDeclareGlobals, 3, instr);
|
||||
}
|
||||
|
||||
|
||||
@ -3606,7 +3606,7 @@ void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr) {
|
||||
// Slow case: Call the runtime system to do the number allocation.
|
||||
__ bind(&slow);
|
||||
CallRuntimeFromDeferred(
|
||||
Runtime::kHiddenAllocateHeapNumber, 0, instr, instr->context());
|
||||
Runtime::kAllocateHeapNumber, 0, instr, instr->context());
|
||||
// Set the pointer to the new heap number in tmp.
|
||||
if (!tmp.is(rax)) __ movp(tmp, rax);
|
||||
// Restore input_reg after call to runtime.
|
||||
@ -4552,7 +4552,7 @@ void LCodeGen::DoDeferredStringCharCodeAt(LStringCharCodeAt* instr) {
|
||||
__ Push(index);
|
||||
}
|
||||
CallRuntimeFromDeferred(
|
||||
Runtime::kHiddenStringCharCodeAt, 2, instr, instr->context());
|
||||
Runtime::kStringCharCodeAtRT, 2, instr, instr->context());
|
||||
__ AssertSmi(rax);
|
||||
__ SmiToInteger32(rax, rax);
|
||||
__ StoreToSafepointRegisterSlot(result, rax);
|
||||
@ -4731,11 +4731,11 @@ void LCodeGen::DoDeferredNumberTagIU(LInstruction* instr,
|
||||
|
||||
// NumberTagIU uses the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ StoreToSafepointRegisterSlot(reg, rax);
|
||||
@ -4787,11 +4787,11 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
|
||||
PushSafepointRegistersScope scope(this);
|
||||
// NumberTagD uses the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ movp(kScratchRegister, rax);
|
||||
@ -5349,7 +5349,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
|
||||
__ Push(Smi::FromInt(flags));
|
||||
|
||||
CallRuntimeFromDeferred(
|
||||
Runtime::kHiddenAllocateInTargetSpace, 2, instr, instr->context());
|
||||
Runtime::kAllocateInTargetSpace, 2, instr, instr->context());
|
||||
__ StoreToSafepointRegisterSlot(result, rax);
|
||||
}
|
||||
|
||||
@ -5381,7 +5381,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ Push(Smi::FromInt(instr->hydrogen()->literal_index()));
|
||||
__ Push(instr->hydrogen()->pattern());
|
||||
__ Push(instr->hydrogen()->flags());
|
||||
CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4, instr);
|
||||
CallRuntime(Runtime::kMaterializeRegExpLiteral, 4, instr);
|
||||
__ movp(rbx, rax);
|
||||
|
||||
__ bind(&materialized);
|
||||
@ -5393,7 +5393,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ bind(&runtime_allocate);
|
||||
__ Push(rbx);
|
||||
__ Push(Smi::FromInt(size));
|
||||
CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1, instr);
|
||||
CallRuntime(Runtime::kAllocateInNewSpace, 1, instr);
|
||||
__ Pop(rbx);
|
||||
|
||||
__ bind(&allocated);
|
||||
@ -5428,7 +5428,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
|
||||
__ Push(instr->hydrogen()->shared_info());
|
||||
__ PushRoot(pretenure ? Heap::kTrueValueRootIndex :
|
||||
Heap::kFalseValueRootIndex);
|
||||
CallRuntime(Runtime::kHiddenNewClosure, 3, instr);
|
||||
CallRuntime(Runtime::kNewClosure, 3, instr);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5625,7 +5625,7 @@ void LCodeGen::DoDummyUse(LDummyUse* instr) {
|
||||
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
|
||||
PushSafepointRegistersScope scope(this);
|
||||
__ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntimeSaveDoubles(Runtime::kHiddenStackGuard);
|
||||
__ CallRuntimeSaveDoubles(Runtime::kStackGuard);
|
||||
RecordSafepointWithLazyDeopt(instr, RECORD_SAFEPOINT_WITH_REGISTERS, 0);
|
||||
ASSERT(instr->HasEnvironment());
|
||||
LEnvironment* env = instr->environment();
|
||||
@ -5840,7 +5840,7 @@ void LCodeGen::DoAllocateBlockContext(LAllocateBlockContext* instr) {
|
||||
Handle<ScopeInfo> scope_info = instr->scope_info();
|
||||
__ Push(scope_info);
|
||||
__ Push(ToRegister(instr->function()));
|
||||
CallRuntime(Runtime::kHiddenPushBlockContext, 2, instr);
|
||||
CallRuntime(Runtime::kPushBlockContext, 2, instr);
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
}
|
||||
|
||||
|
@ -843,7 +843,7 @@ void MacroAssembler::CallApiFunctionAndReturn(
|
||||
bind(&promote_scheduled_exception);
|
||||
{
|
||||
FrameScope frame(this, StackFrame::INTERNAL);
|
||||
CallRuntime(Runtime::kHiddenPromoteScheduledException, 0);
|
||||
CallRuntime(Runtime::kPromoteScheduledException, 0);
|
||||
}
|
||||
jmp(&exception_handled);
|
||||
|
||||
|
@ -92,7 +92,7 @@ void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) {
|
||||
__ cmp(esp, Operand::StaticVariable(stack_limit));
|
||||
__ j(above_equal, &ok, Label::kNear);
|
||||
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenTryInstallOptimizedCode);
|
||||
CallRuntimePassFunction(masm, Runtime::kTryInstallOptimizedCode);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
|
||||
__ bind(&ok);
|
||||
@ -178,7 +178,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
__ push(edi);
|
||||
|
||||
__ push(edi); // constructor
|
||||
__ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
|
||||
__ CallRuntime(Runtime::kFinalizeInstanceSize, 1);
|
||||
|
||||
__ pop(edi);
|
||||
__ pop(eax);
|
||||
@ -359,9 +359,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
// edi: function (constructor)
|
||||
__ push(edi);
|
||||
if (create_memento) {
|
||||
__ CallRuntime(Runtime::kHiddenNewObjectWithAllocationSite, 2);
|
||||
__ CallRuntime(Runtime::kNewObjectWithAllocationSite, 2);
|
||||
} else {
|
||||
__ CallRuntime(Runtime::kHiddenNewObject, 1);
|
||||
__ CallRuntime(Runtime::kNewObject, 1);
|
||||
}
|
||||
__ mov(ebx, eax); // store result in ebx
|
||||
|
||||
@ -551,7 +551,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
|
||||
|
||||
|
||||
void Builtins::Generate_CompileUnoptimized(MacroAssembler* masm) {
|
||||
CallRuntimePassFunction(masm, Runtime::kHiddenCompileUnoptimized);
|
||||
CallRuntimePassFunction(masm, Runtime::kCompileUnoptimized);
|
||||
GenerateTailCallToReturnedCode(masm);
|
||||
}
|
||||
|
||||
@ -566,7 +566,7 @@ static void CallCompileOptimized(MacroAssembler* masm, bool concurrent) {
|
||||
// Whether to compile in a background thread.
|
||||
__ Push(masm->isolate()->factory()->ToBoolean(concurrent));
|
||||
|
||||
__ CallRuntime(Runtime::kHiddenCompileOptimized, 2);
|
||||
__ CallRuntime(Runtime::kCompileOptimized, 2);
|
||||
// Restore receiver.
|
||||
__ pop(edi);
|
||||
}
|
||||
@ -669,7 +669,7 @@ static void Generate_NotifyStubFailureHelper(MacroAssembler* masm) {
|
||||
// stubs that tail call the runtime on deopts passing their parameters in
|
||||
// registers.
|
||||
__ pushad();
|
||||
__ CallRuntime(Runtime::kHiddenNotifyStubFailure, 0);
|
||||
__ CallRuntime(Runtime::kNotifyStubFailure, 0);
|
||||
__ popad();
|
||||
// Tear down internal frame.
|
||||
}
|
||||
@ -697,7 +697,7 @@ static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
|
||||
|
||||
// Pass deoptimization type to the runtime system.
|
||||
__ push(Immediate(Smi::FromInt(static_cast<int>(type))));
|
||||
__ CallRuntime(Runtime::kHiddenNotifyDeoptimized, 1);
|
||||
__ CallRuntime(Runtime::kNotifyDeoptimized, 1);
|
||||
|
||||
// Tear down internal frame.
|
||||
}
|
||||
@ -1436,7 +1436,7 @@ void Builtins::Generate_OsrAfterStackCheck(MacroAssembler* masm) {
|
||||
__ j(above_equal, &ok, Label::kNear);
|
||||
{
|
||||
FrameScope scope(masm, StackFrame::INTERNAL);
|
||||
__ CallRuntime(Runtime::kHiddenStackGuard, 0);
|
||||
__ CallRuntime(Runtime::kStackGuard, 0);
|
||||
}
|
||||
__ jmp(masm->isolate()->builtins()->OnStackReplacement(),
|
||||
RelocInfo::CODE_TARGET);
|
||||
|
@ -25,7 +25,7 @@ void FastNewClosureStub::InitializeInterfaceDescriptor(
|
||||
descriptor->register_param_count_ = 1;
|
||||
descriptor->register_params_ = registers;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenNewClosureFromStubFailure)->entry;
|
||||
Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -53,7 +53,7 @@ void NumberToStringStub::InitializeInterfaceDescriptor(
|
||||
descriptor->register_param_count_ = 1;
|
||||
descriptor->register_params_ = registers;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenNumberToString)->entry;
|
||||
Runtime::FunctionForId(Runtime::kNumberToStringRT)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -68,8 +68,7 @@ void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
|
||||
Representation::Tagged() };
|
||||
descriptor->register_param_representations_ = representations;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(
|
||||
Runtime::kHiddenCreateArrayLiteralStubBailout)->entry;
|
||||
Runtime::FunctionForId(Runtime::kCreateArrayLiteralStubBailout)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -79,7 +78,7 @@ void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
|
||||
descriptor->register_param_count_ = 4;
|
||||
descriptor->register_params_ = registers;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenCreateObjectLiteral)->entry;
|
||||
Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -118,7 +117,7 @@ void RegExpConstructResultStub::InitializeInterfaceDescriptor(
|
||||
descriptor->register_param_count_ = 3;
|
||||
descriptor->register_params_ = registers;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenRegExpConstructResult)->entry;
|
||||
Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -218,7 +217,7 @@ static void InitializeArrayConstructorDescriptor(
|
||||
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
|
||||
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenArrayConstructor)->entry;
|
||||
Runtime::FunctionForId(Runtime::kArrayConstructor)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -249,7 +248,7 @@ static void InitializeInternalArrayConstructorDescriptor(
|
||||
descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count;
|
||||
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenInternalArrayConstructor)->entry;
|
||||
Runtime::FunctionForId(Runtime::kInternalArrayConstructor)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -359,7 +358,7 @@ void StringAddStub::InitializeInterfaceDescriptor(
|
||||
descriptor->register_param_count_ = 2;
|
||||
descriptor->register_params_ = registers;
|
||||
descriptor->deoptimization_handler_ =
|
||||
Runtime::FunctionForId(Runtime::kHiddenStringAdd)->entry;
|
||||
Runtime::FunctionForId(Runtime::kStringAdd)->entry;
|
||||
}
|
||||
|
||||
|
||||
@ -770,7 +769,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
|
||||
__ mov(Operand(esp, 2 * kPointerSize), edx);
|
||||
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -993,7 +992,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
|
||||
__ bind(&runtime);
|
||||
__ pop(eax); // Remove saved parameter count.
|
||||
__ mov(Operand(esp, 1 * kPointerSize), ecx); // Patch argument count.
|
||||
__ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -1090,7 +1089,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
|
||||
|
||||
// Do the runtime call to allocate the arguments object.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenNewStrictArguments, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kNewStrictArguments, 3, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -1099,7 +1098,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
// time or if regexp entry in generated code is turned off runtime switch or
|
||||
// at compilation.
|
||||
#ifdef V8_INTERPRETED_REGEXP
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
|
||||
#else // V8_INTERPRETED_REGEXP
|
||||
|
||||
// Stack frame on entry.
|
||||
@ -1480,7 +1479,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
// Do the runtime call to execute the regexp.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
|
||||
__ TailCallRuntime(Runtime::kRegExpExecRT, 4, 1);
|
||||
|
||||
// Deferred code for string handling.
|
||||
// (7) Not a long external string? If yes, go to (10).
|
||||
@ -2780,7 +2779,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
} else {
|
||||
ASSERT(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
|
||||
// NumberToSmi discards numbers that are not exact integers.
|
||||
__ CallRuntime(Runtime::kHiddenNumberToSmi, 1);
|
||||
__ CallRuntime(Runtime::kNumberToSmi, 1);
|
||||
}
|
||||
if (!index_.is(eax)) {
|
||||
// Save the conversion result before the pop instructions below
|
||||
@ -2806,7 +2805,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
||||
__ push(object_);
|
||||
__ SmiTag(index_);
|
||||
__ push(index_);
|
||||
__ CallRuntime(Runtime::kHiddenStringCharCodeAt, 2);
|
||||
__ CallRuntime(Runtime::kStringCharCodeAtRT, 2);
|
||||
if (!result_.is(eax)) {
|
||||
__ mov(result_, eax);
|
||||
}
|
||||
@ -3171,7 +3170,7 @@ void SubStringStub::Generate(MacroAssembler* masm) {
|
||||
|
||||
// Just jump to runtime to create the sub string.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenSubString, 3, 1);
|
||||
__ TailCallRuntime(Runtime::kSubString, 3, 1);
|
||||
|
||||
__ bind(&single_char);
|
||||
// eax: string
|
||||
@ -3353,7 +3352,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) {
|
||||
// Call the runtime; it returns -1 (less), 0 (equal), or 1 (greater)
|
||||
// tagged as a small integer.
|
||||
__ bind(&runtime);
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
|
||||
@ -3637,7 +3636,7 @@ void ICCompareStub::GenerateStrings(MacroAssembler* masm) {
|
||||
if (equality) {
|
||||
__ TailCallRuntime(Runtime::kStringEquals, 2, 1);
|
||||
} else {
|
||||
__ TailCallRuntime(Runtime::kHiddenStringCompare, 2, 1);
|
||||
__ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
||||
}
|
||||
|
||||
__ bind(&miss);
|
||||
|
@ -190,7 +190,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (FLAG_harmony_scoping && info->scope()->is_global_scope()) {
|
||||
__ push(edi);
|
||||
__ Push(info->scope()->GetScopeInfo());
|
||||
__ CallRuntime(Runtime::kHiddenNewGlobalContext, 2);
|
||||
__ CallRuntime(Runtime::kNewGlobalContext, 2);
|
||||
} else if (heap_slots <= FastNewContextStub::kMaximumSlots) {
|
||||
FastNewContextStub stub(isolate(), heap_slots);
|
||||
__ CallStub(&stub);
|
||||
@ -198,7 +198,7 @@ void FullCodeGenerator::Generate() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ push(edi);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
function_in_register = false;
|
||||
// Context is returned in eax. It replaces the context passed to us.
|
||||
@ -801,7 +801,7 @@ void FullCodeGenerator::VisitVariableDeclaration(
|
||||
} else {
|
||||
__ push(Immediate(Smi::FromInt(0))); // Indicates no initial value.
|
||||
}
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -853,7 +853,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
|
||||
__ push(Immediate(variable->name()));
|
||||
__ push(Immediate(Smi::FromInt(NONE)));
|
||||
VisitForStackValue(declaration->fun());
|
||||
__ CallRuntime(Runtime::kHiddenDeclareContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kDeclareContextSlot, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -922,7 +922,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
__ push(esi); // The context is the first argument.
|
||||
__ Push(pairs);
|
||||
__ Push(Smi::FromInt(DeclareGlobalsFlags()));
|
||||
__ CallRuntime(Runtime::kHiddenDeclareGlobals, 3);
|
||||
__ CallRuntime(Runtime::kDeclareGlobals, 3);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -930,7 +930,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
|
||||
void FullCodeGenerator::DeclareModules(Handle<FixedArray> descriptions) {
|
||||
// Call the runtime to declare the modules.
|
||||
__ Push(descriptions);
|
||||
__ CallRuntime(Runtime::kHiddenDeclareModules, 1);
|
||||
__ CallRuntime(Runtime::kDeclareModules, 1);
|
||||
// Return value is ignored.
|
||||
}
|
||||
|
||||
@ -1272,7 +1272,7 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
|
||||
__ push(Immediate(pretenure
|
||||
? isolate()->factory()->true_value()
|
||||
: isolate()->factory()->false_value()));
|
||||
__ CallRuntime(Runtime::kHiddenNewClosure, 3);
|
||||
__ CallRuntime(Runtime::kNewClosure, 3);
|
||||
}
|
||||
context()->Plug(eax);
|
||||
}
|
||||
@ -1397,7 +1397,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(Variable* var,
|
||||
__ mov(eax, isolate()->factory()->undefined_value());
|
||||
} else { // LET || CONST
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
}
|
||||
}
|
||||
__ jmp(done);
|
||||
@ -1474,7 +1474,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
// Throw a reference error when using an uninitialized let/const
|
||||
// binding in harmony mode.
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
} else {
|
||||
// Uninitalized const bindings outside of harmony mode are unholed.
|
||||
ASSERT(var->mode() == CONST_LEGACY);
|
||||
@ -1498,7 +1498,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
|
||||
__ bind(&slow);
|
||||
__ push(esi); // Context.
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ bind(&done);
|
||||
context()->Plug(eax);
|
||||
break;
|
||||
@ -1529,7 +1529,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ push(Immediate(Smi::FromInt(expr->literal_index())));
|
||||
__ push(Immediate(expr->pattern()));
|
||||
__ push(Immediate(expr->flags()));
|
||||
__ CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4);
|
||||
__ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4);
|
||||
__ mov(ebx, eax);
|
||||
|
||||
__ bind(&materialized);
|
||||
@ -1541,7 +1541,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
|
||||
__ bind(&runtime_allocate);
|
||||
__ push(ebx);
|
||||
__ push(Immediate(Smi::FromInt(size)));
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ pop(ebx);
|
||||
|
||||
__ bind(&allocated);
|
||||
@ -1591,7 +1591,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
||||
__ push(Immediate(Smi::FromInt(expr->literal_index())));
|
||||
__ push(Immediate(constant_properties));
|
||||
__ push(Immediate(Smi::FromInt(flags)));
|
||||
__ CallRuntime(Runtime::kHiddenCreateObjectLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateObjectLiteral, 4);
|
||||
} else {
|
||||
__ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
|
||||
__ mov(eax, FieldOperand(edi, JSFunction::kLiteralsOffset));
|
||||
@ -1728,7 +1728,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
|
||||
__ push(Immediate(Smi::FromInt(expr->literal_index())));
|
||||
__ push(Immediate(constant_elements));
|
||||
__ push(Immediate(Smi::FromInt(flags)));
|
||||
__ CallRuntime(Runtime::kHiddenCreateArrayLiteral, 4);
|
||||
__ CallRuntime(Runtime::kCreateArrayLiteral, 4);
|
||||
} else {
|
||||
__ mov(ebx, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
|
||||
__ mov(eax, FieldOperand(ebx, JSFunction::kLiteralsOffset));
|
||||
@ -1928,7 +1928,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ cmp(esp, ebx);
|
||||
__ j(equal, &post_runtime);
|
||||
__ push(eax); // generator object
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ mov(context_register(),
|
||||
Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
__ bind(&post_runtime);
|
||||
@ -1995,7 +1995,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
||||
__ mov(FieldOperand(eax, JSGeneratorObject::kContextOffset), esi);
|
||||
__ mov(ecx, esi);
|
||||
__ RecordWriteField(eax, JSGeneratorObject::kContextOffset, ecx, edx);
|
||||
__ CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject, 1);
|
||||
__ CallRuntime(Runtime::kSuspendJSGeneratorObject, 1);
|
||||
__ mov(context_register(),
|
||||
Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
__ pop(eax); // result
|
||||
@ -2049,7 +2049,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
Expression *value,
|
||||
JSGeneratorObject::ResumeMode resume_mode) {
|
||||
// The value stays in eax, and is ultimately read by the resumed generator, as
|
||||
// if CallRuntime(Runtime::kHiddenSuspendJSGeneratorObject) returned it. Or it
|
||||
// if CallRuntime(Runtime::kSuspendJSGeneratorObject) returned it. Or it
|
||||
// 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.
|
||||
VisitForStackValue(generator);
|
||||
@ -2129,7 +2129,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
__ push(ebx);
|
||||
__ push(result_register());
|
||||
__ Push(Smi::FromInt(resume_mode));
|
||||
__ CallRuntime(Runtime::kHiddenResumeJSGeneratorObject, 3);
|
||||
__ CallRuntime(Runtime::kResumeJSGeneratorObject, 3);
|
||||
// Not reached: the runtime call returns elsewhere.
|
||||
__ Abort(kGeneratorFailedToResume);
|
||||
|
||||
@ -2143,14 +2143,14 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
||||
} else {
|
||||
// Throw the provided value.
|
||||
__ push(eax);
|
||||
__ CallRuntime(Runtime::kHiddenThrow, 1);
|
||||
__ CallRuntime(Runtime::kThrow, 1);
|
||||
}
|
||||
__ jmp(&done);
|
||||
|
||||
// Throw error if we attempt to operate on a running generator.
|
||||
__ bind(&wrong_state);
|
||||
__ push(ebx);
|
||||
__ CallRuntime(Runtime::kHiddenThrowGeneratorStateError, 1);
|
||||
__ CallRuntime(Runtime::kThrowGeneratorStateError, 1);
|
||||
|
||||
__ bind(&done);
|
||||
context()->Plug(result_register());
|
||||
@ -2168,7 +2168,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
|
||||
|
||||
__ bind(&gc_required);
|
||||
__ Push(Smi::FromInt(map->instance_size()));
|
||||
__ CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1);
|
||||
__ CallRuntime(Runtime::kAllocateInNewSpace, 1);
|
||||
__ mov(context_register(),
|
||||
Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
|
||||
@ -2380,7 +2380,7 @@ void FullCodeGenerator::EmitCallStoreContextSlot(
|
||||
__ push(esi); // Context.
|
||||
__ push(Immediate(name));
|
||||
__ push(Immediate(Smi::FromInt(strict_mode)));
|
||||
__ CallRuntime(Runtime::kHiddenStoreContextSlot, 4);
|
||||
__ CallRuntime(Runtime::kStoreContextSlot, 4);
|
||||
}
|
||||
|
||||
|
||||
@ -2399,7 +2399,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
|
||||
__ push(eax);
|
||||
__ push(esi);
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenInitializeConstContextSlot, 3);
|
||||
__ CallRuntime(Runtime::kInitializeConstContextSlot, 3);
|
||||
} else {
|
||||
ASSERT(var->IsStackLocal() || var->IsContextSlot());
|
||||
Label skip;
|
||||
@ -2423,7 +2423,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var,
|
||||
__ cmp(edx, isolate()->factory()->the_hole_value());
|
||||
__ j(not_equal, &assign, Label::kNear);
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenThrowReferenceError, 1);
|
||||
__ CallRuntime(Runtime::kThrowReferenceError, 1);
|
||||
__ bind(&assign);
|
||||
EmitStoreToStackLocalOrContextSlot(var, location);
|
||||
}
|
||||
@ -2617,7 +2617,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
|
||||
__ push(Immediate(Smi::FromInt(scope()->start_position())));
|
||||
|
||||
// Do the runtime call.
|
||||
__ CallRuntime(Runtime::kHiddenResolvePossiblyDirectEval, 5);
|
||||
__ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5);
|
||||
}
|
||||
|
||||
|
||||
@ -2684,7 +2684,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
|
||||
// the object holding it (returned in edx).
|
||||
__ push(context_register());
|
||||
__ push(Immediate(proxy->name()));
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlot, 2);
|
||||
__ push(eax); // Function.
|
||||
__ push(edx); // Receiver.
|
||||
|
||||
@ -3323,7 +3323,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
|
||||
}
|
||||
|
||||
__ bind(¬_date_object);
|
||||
__ CallRuntime(Runtime::kHiddenThrowNotDateError, 0);
|
||||
__ CallRuntime(Runtime::kThrowNotDateError, 0);
|
||||
__ bind(&done);
|
||||
context()->Plug(result);
|
||||
}
|
||||
@ -3405,7 +3405,7 @@ void FullCodeGenerator::EmitMathPow(CallRuntime* expr) {
|
||||
VisitForStackValue(args->at(0));
|
||||
VisitForStackValue(args->at(1));
|
||||
|
||||
__ CallRuntime(Runtime::kHiddenMathPowSlow, 2);
|
||||
__ CallRuntime(Runtime::kMathPowSlow, 2);
|
||||
context()->Plug(eax);
|
||||
}
|
||||
|
||||
@ -3680,7 +3680,7 @@ void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) {
|
||||
// Call runtime to perform the lookup.
|
||||
__ push(cache);
|
||||
__ push(key);
|
||||
__ CallRuntime(Runtime::kHiddenGetFromCache, 2);
|
||||
__ CallRuntime(Runtime::kGetFromCache, 2);
|
||||
|
||||
__ bind(&done);
|
||||
context()->Plug(eax);
|
||||
@ -4089,7 +4089,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
|
||||
// context where the variable was introduced.
|
||||
__ push(context_register());
|
||||
__ push(Immediate(var->name()));
|
||||
__ CallRuntime(Runtime::kHiddenDeleteContextSlot, 2);
|
||||
__ CallRuntime(Runtime::kDeleteContextSlot, 2);
|
||||
context()->Plug(eax);
|
||||
}
|
||||
} else {
|
||||
@ -4382,7 +4382,7 @@ void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
|
||||
__ bind(&slow);
|
||||
__ push(esi);
|
||||
__ push(Immediate(proxy->name()));
|
||||
__ CallRuntime(Runtime::kHiddenLoadContextSlotNoReferenceError, 2);
|
||||
__ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2);
|
||||
PrepareForBailout(expr, TOS_REG);
|
||||
__ bind(&done);
|
||||
|
||||
|
@ -230,7 +230,7 @@ bool LCodeGen::GeneratePrologue() {
|
||||
need_write_barrier = false;
|
||||
} else {
|
||||
__ push(edi);
|
||||
__ CallRuntime(Runtime::kHiddenNewFunctionContext, 1);
|
||||
__ CallRuntime(Runtime::kNewFunctionContext, 1);
|
||||
}
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
// Context is returned in eax. It replaces the context passed to us.
|
||||
@ -3523,7 +3523,7 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
|
||||
__ push(esi); // The context is the first argument.
|
||||
__ push(Immediate(instr->hydrogen()->pairs()));
|
||||
__ push(Immediate(Smi::FromInt(instr->hydrogen()->flags())));
|
||||
CallRuntime(Runtime::kHiddenDeclareGlobals, 3, instr);
|
||||
CallRuntime(Runtime::kDeclareGlobals, 3, instr);
|
||||
}
|
||||
|
||||
|
||||
@ -3647,7 +3647,7 @@ void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr) {
|
||||
|
||||
// Slow case: Call the runtime system to do the number allocation.
|
||||
__ bind(&slow);
|
||||
CallRuntimeFromDeferred(Runtime::kHiddenAllocateHeapNumber, 0,
|
||||
CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0,
|
||||
instr, instr->context());
|
||||
// Set the pointer to the new heap number in tmp.
|
||||
if (!tmp.is(eax)) __ mov(tmp, eax);
|
||||
@ -4285,7 +4285,7 @@ void LCodeGen::DoDeferredStringCharCodeAt(LStringCharCodeAt* instr) {
|
||||
__ SmiTag(index);
|
||||
__ push(index);
|
||||
}
|
||||
CallRuntimeFromDeferred(Runtime::kHiddenStringCharCodeAt, 2,
|
||||
CallRuntimeFromDeferred(Runtime::kStringCharCodeAtRT, 2,
|
||||
instr, instr->context());
|
||||
__ AssertSmi(eax);
|
||||
__ SmiUntag(eax);
|
||||
@ -4484,11 +4484,11 @@ void LCodeGen::DoDeferredNumberTagIU(LInstruction* instr,
|
||||
|
||||
// NumberTagI and NumberTagD use the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntime(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntime(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ StoreToSafepointRegisterSlot(reg, eax);
|
||||
@ -4543,11 +4543,11 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
|
||||
PushSafepointRegistersScope scope(this);
|
||||
// NumberTagI and NumberTagD use the context from the frame, rather than
|
||||
// the environment's HContext or HInlinedContext value.
|
||||
// They only call Runtime::kHiddenAllocateHeapNumber.
|
||||
// They only call Runtime::kAllocateHeapNumber.
|
||||
// The corresponding HChange instructions are added in a phase that does
|
||||
// not have easy access to the local context.
|
||||
__ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntime(Runtime::kHiddenAllocateHeapNumber);
|
||||
__ CallRuntime(Runtime::kAllocateHeapNumber);
|
||||
RecordSafepointWithRegisters(
|
||||
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
||||
__ StoreToSafepointRegisterSlot(reg, eax);
|
||||
@ -5213,7 +5213,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
|
||||
__ push(Immediate(Smi::FromInt(flags)));
|
||||
|
||||
CallRuntimeFromDeferred(
|
||||
Runtime::kHiddenAllocateInTargetSpace, 2, instr, instr->context());
|
||||
Runtime::kAllocateInTargetSpace, 2, instr, instr->context());
|
||||
__ StoreToSafepointRegisterSlot(result, eax);
|
||||
}
|
||||
|
||||
@ -5246,7 +5246,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ push(Immediate(Smi::FromInt(instr->hydrogen()->literal_index())));
|
||||
__ push(Immediate(instr->hydrogen()->pattern()));
|
||||
__ push(Immediate(instr->hydrogen()->flags()));
|
||||
CallRuntime(Runtime::kHiddenMaterializeRegExpLiteral, 4, instr);
|
||||
CallRuntime(Runtime::kMaterializeRegExpLiteral, 4, instr);
|
||||
__ mov(ebx, eax);
|
||||
|
||||
__ bind(&materialized);
|
||||
@ -5258,7 +5258,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
|
||||
__ bind(&runtime_allocate);
|
||||
__ push(ebx);
|
||||
__ push(Immediate(Smi::FromInt(size)));
|
||||
CallRuntime(Runtime::kHiddenAllocateInNewSpace, 1, instr);
|
||||
CallRuntime(Runtime::kAllocateInNewSpace, 1, instr);
|
||||
__ pop(ebx);
|
||||
|
||||
__ bind(&allocated);
|
||||
@ -5293,7 +5293,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
|
||||
__ push(Immediate(instr->hydrogen()->shared_info()));
|
||||
__ push(Immediate(pretenure ? factory()->true_value()
|
||||
: factory()->false_value()));
|
||||
CallRuntime(Runtime::kHiddenNewClosure, 3, instr);
|
||||
CallRuntime(Runtime::kNewClosure, 3, instr);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5474,7 +5474,7 @@ void LCodeGen::DoDummyUse(LDummyUse* instr) {
|
||||
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
|
||||
PushSafepointRegistersScope scope(this);
|
||||
__ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
|
||||
__ CallRuntime(Runtime::kHiddenStackGuard);
|
||||
__ CallRuntime(Runtime::kStackGuard);
|
||||
RecordSafepointWithLazyDeopt(
|
||||
instr, RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS);
|
||||
ASSERT(instr->HasEnvironment());
|
||||
@ -5695,7 +5695,7 @@ void LCodeGen::DoAllocateBlockContext(LAllocateBlockContext* instr) {
|
||||
Handle<ScopeInfo> scope_info = instr->scope_info();
|
||||
__ Push(scope_info);
|
||||
__ push(ToRegister(instr->function()));
|
||||
CallRuntime(Runtime::kHiddenPushBlockContext, 2, instr);
|
||||
CallRuntime(Runtime::kPushBlockContext, 2, instr);
|
||||
RecordSafepoint(Safepoint::kNoLazyDeopt);
|
||||
}
|
||||
|
||||
|
@ -2144,7 +2144,7 @@ void MacroAssembler::CallApiFunctionAndReturn(
|
||||
bind(&promote_scheduled_exception);
|
||||
{
|
||||
FrameScope frame(this, StackFrame::INTERNAL);
|
||||
CallRuntime(Runtime::kHiddenPromoteScheduledException, 0);
|
||||
CallRuntime(Runtime::kPromoteScheduledException, 0);
|
||||
}
|
||||
jmp(&exception_handled);
|
||||
|
||||
|
@ -31,6 +31,69 @@
|
||||
"CreateDateTimeFormat": [SKIP],
|
||||
"CreateNumberFormat": [SKIP],
|
||||
|
||||
# TODO(danno): Fix these internal function that are only callable form stubs
|
||||
# and un-blacklist them!
|
||||
"NumberToString": [SKIP],
|
||||
"RxegExpConstructResult": [SKIP],
|
||||
"RegExpExec": [SKIP],
|
||||
"StringAdd": [SKIP],
|
||||
"SubString": [SKIP],
|
||||
"StringCompare": [SKIP],
|
||||
"StringCharCodeAt": [SKIP],
|
||||
"GetFromCache": [SKIP],
|
||||
"CompileUnoptimized": [SKIP],
|
||||
"CompileOptimized": [SKIP],
|
||||
"TryInstallOptimizedCode": [SKIP],
|
||||
"NotifyDeoptimized": [SKIP],
|
||||
"NotifyStubFailure": [SKIP],
|
||||
"AllocateInNewSpace": [SKIP],
|
||||
"AllocateInTargetSpace": [SKIP],
|
||||
"AllocateHeapNumber": [SKIP],
|
||||
"NumberToSmi": [SKIP],
|
||||
"NumberToStringSkipCache": [SKIP],
|
||||
"NewSloppyArguments": [SKIP],
|
||||
"NewStrictArguments": [SKIP],
|
||||
"CreateJSGeneratorObject": [SKIP],
|
||||
"SuspendJSGeneratorObject": [SKIP],
|
||||
"ResumeJSGeneratorObject": [SKIP],
|
||||
"ThrowGeneratorStateError": [SKIP],
|
||||
"ArrayConstructor": [SKIP],
|
||||
"InternalArrayConstructor": [SKIP],
|
||||
"MaterializeRegExpLiteral": [SKIP],
|
||||
"CreateObjectLiteral": [SKIP],
|
||||
"CreateArrayLiteral": [SKIP],
|
||||
"CreateArrayLiteralStubBailout": [SKIP],
|
||||
"NewClosure": [SKIP],
|
||||
"NewClosureFromStubFailure": [SKIP],
|
||||
"NewObject": [SKIP],
|
||||
"NewObjectWithAllocationSite": [SKIP],
|
||||
"FinalizeInstanceSize": [SKIP],
|
||||
"Throw": [SKIP],
|
||||
"ReThrow": [SKIP],
|
||||
"ThrowReferenceError": [SKIP],
|
||||
"ThrowNotDateError": [SKIP],
|
||||
"StackGuard": [SKIP],
|
||||
"Interrupt": [SKIP],
|
||||
"PromoteScheduledException": [SKIP],
|
||||
"NewGlobalContext": [SKIP],
|
||||
"NewFunctionContext": [SKIP],
|
||||
"PushWithContext": [SKIP],
|
||||
"PushCatchContext": [SKIP],
|
||||
"PushBlockContext": [SKIP],
|
||||
"PushModuleContext": [SKIP],
|
||||
"DeleteContextSlot": [SKIP],
|
||||
"LoadContextSlot": [SKIP],
|
||||
"LoadContextSlotNoReferenceError": [SKIP],
|
||||
"StoreContextSlot": [SKIP],
|
||||
"DeclareGlobals": [SKIP],
|
||||
"DeclareModules": [SKIP],
|
||||
"DeclareContextSlot": [SKIP],
|
||||
"InitializeConstGlobal": [SKIP],
|
||||
"InitializeConstContextSlot": [SKIP],
|
||||
"ResolvePossiblyDirectEval": [SKIP],
|
||||
"MathPowSlow": [SKIP],
|
||||
"MathPowRT": [SKIP],
|
||||
|
||||
# TODO(jkummerow): Figure out what to do about inlined functions.
|
||||
"_GeneratorNext": [SKIP],
|
||||
"_GeneratorThrow": [SKIP],
|
||||
|
5
test/mjsunit/runtime-gen/numbertostringrt.js
Normal file
5
test/mjsunit/runtime-gen/numbertostringrt.js
Normal file
@ -0,0 +1,5 @@
|
||||
// Copyright 2014 the V8 project authors. All rights reserved.
|
||||
// AUTO-GENERATED BY tools/generate-runtime-tests.py, DO NOT MODIFY
|
||||
// Flags: --allow-natives-syntax --harmony
|
||||
var _number = 1.5;
|
||||
%NumberToStringRT(_number);
|
7
test/mjsunit/runtime-gen/regexpconstructresult.js
Normal file
7
test/mjsunit/runtime-gen/regexpconstructresult.js
Normal file
@ -0,0 +1,7 @@
|
||||
// Copyright 2014 the V8 project authors. All rights reserved.
|
||||
// AUTO-GENERATED BY tools/generate-runtime-tests.py, DO NOT MODIFY
|
||||
// Flags: --allow-natives-syntax --harmony
|
||||
var _size = 1;
|
||||
var _index = new Object();
|
||||
var _input = new Object();
|
||||
%_RegExpConstructResult(_size, _index, _input);
|
8
test/mjsunit/runtime-gen/regexpexecrt.js
Normal file
8
test/mjsunit/runtime-gen/regexpexecrt.js
Normal file
@ -0,0 +1,8 @@
|
||||
// Copyright 2014 the V8 project authors. All rights reserved.
|
||||
// AUTO-GENERATED BY tools/generate-runtime-tests.py, DO NOT MODIFY
|
||||
// Flags: --allow-natives-syntax --harmony
|
||||
var _regexp = /ab/g;
|
||||
var _subject = "foo";
|
||||
var _index = 1;
|
||||
var _last_match_info = new Array();
|
||||
%RegExpExecRT(_regexp, _subject, _index, _last_match_info);
|
6
test/mjsunit/runtime-gen/stringcharcodeatrt.js
Normal file
6
test/mjsunit/runtime-gen/stringcharcodeatrt.js
Normal file
@ -0,0 +1,6 @@
|
||||
// Copyright 2014 the V8 project authors. All rights reserved.
|
||||
// AUTO-GENERATED BY tools/generate-runtime-tests.py, DO NOT MODIFY
|
||||
// Flags: --allow-natives-syntax --harmony
|
||||
var _subject = "foo";
|
||||
var _i = 32;
|
||||
%StringCharCodeAtRT(_subject, _i);
|
@ -47,8 +47,8 @@ EXPAND_MACROS = [
|
||||
# that the parser doesn't bit-rot. Change the values as needed when you add,
|
||||
# remove or change runtime functions, but make sure we don't lose our ability
|
||||
# to parse them!
|
||||
EXPECTED_FUNCTION_COUNT = 358
|
||||
EXPECTED_FUZZABLE_COUNT = 326
|
||||
EXPECTED_FUNCTION_COUNT = 415
|
||||
EXPECTED_FUZZABLE_COUNT = 330
|
||||
EXPECTED_CCTEST_COUNT = 6
|
||||
EXPECTED_UNKNOWN_COUNT = 4
|
||||
EXPECTED_BUILTINS_COUNT = 808
|
||||
@ -86,6 +86,90 @@ BLACKLISTED = [
|
||||
# TODO(jkummerow): Fix these and un-blacklist them!
|
||||
"CreateDateTimeFormat",
|
||||
"CreateNumberFormat",
|
||||
|
||||
# TODO(danno): Fix these internal function that are only callable form stubs
|
||||
# and un-blacklist them!
|
||||
"NumberToString",
|
||||
"RxegExpConstructResult",
|
||||
"RegExpExec",
|
||||
"StringAdd",
|
||||
"SubString",
|
||||
"StringCompare",
|
||||
"StringCharCodeAt",
|
||||
"GetFromCache",
|
||||
|
||||
# Compilation
|
||||
"CompileUnoptimized",
|
||||
"CompileOptimized",
|
||||
"TryInstallOptimizedCode",
|
||||
"NotifyDeoptimized",
|
||||
"NotifyStubFailure",
|
||||
|
||||
# Utilities
|
||||
"AllocateInNewSpace",
|
||||
"AllocateInTargetSpace",
|
||||
"AllocateHeapNumber",
|
||||
"NumberToSmi",
|
||||
"NumberToStringSkipCache",
|
||||
|
||||
"NewSloppyArguments",
|
||||
"NewStrictArguments",
|
||||
|
||||
# Harmony
|
||||
"CreateJSGeneratorObject",
|
||||
"SuspendJSGeneratorObject",
|
||||
"ResumeJSGeneratorObject",
|
||||
"ThrowGeneratorStateError",
|
||||
|
||||
# Arrays
|
||||
"ArrayConstructor",
|
||||
"InternalArrayConstructor",
|
||||
|
||||
# Literals
|
||||
"MaterializeRegExpLiteral",
|
||||
"CreateObjectLiteral",
|
||||
"CreateArrayLiteral",
|
||||
"CreateArrayLiteralStubBailout",
|
||||
|
||||
# Statements
|
||||
"NewClosure",
|
||||
"NewClosureFromStubFailure",
|
||||
"NewObject",
|
||||
"NewObjectWithAllocationSite",
|
||||
"FinalizeInstanceSize",
|
||||
"Throw",
|
||||
"ReThrow",
|
||||
"ThrowReferenceError",
|
||||
"ThrowNotDateError",
|
||||
"StackGuard",
|
||||
"Interrupt",
|
||||
"PromoteScheduledException",
|
||||
|
||||
# Contexts
|
||||
"NewGlobalContext",
|
||||
"NewFunctionContext",
|
||||
"PushWithContext",
|
||||
"PushCatchContext",
|
||||
"PushBlockContext",
|
||||
"PushModuleContext",
|
||||
"DeleteContextSlot",
|
||||
"LoadContextSlot",
|
||||
"LoadContextSlotNoReferenceError",
|
||||
"StoreContextSlot",
|
||||
|
||||
# Declarations
|
||||
"DeclareGlobals",
|
||||
"DeclareModules",
|
||||
"DeclareContextSlot",
|
||||
"InitializeConstGlobal",
|
||||
"InitializeConstContextSlot",
|
||||
|
||||
# Eval
|
||||
"ResolvePossiblyDirectEval",
|
||||
|
||||
# Maths
|
||||
"MathPowSlow",
|
||||
"MathPowRT"
|
||||
]
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user