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