Index: src/full-codegen/ia32/full-codegen-ia32.cc |
diff --git a/src/full-codegen/ia32/full-codegen-ia32.cc b/src/full-codegen/ia32/full-codegen-ia32.cc |
index 093784b26fa3b5fbd2ee5381836469dd97f4b79b..7430cbd39bc7b3e3ae86dfd4842cd89c246b6f3e 100644 |
--- a/src/full-codegen/ia32/full-codegen-ia32.cc |
+++ b/src/full-codegen/ia32/full-codegen-ia32.cc |
@@ -137,7 +137,7 @@ void FullCodeGenerator::Generate() { |
ExternalReference::address_of_real_stack_limit(isolate()); |
__ cmp(ecx, Operand::StaticVariable(stack_limit)); |
__ j(above_equal, &ok, Label::kNear); |
- __ CallRuntime(Runtime::kThrowStackOverflow, 0); |
+ __ CallRuntime(Runtime::kThrowStackOverflow); |
__ bind(&ok); |
} |
__ mov(eax, Immediate(isolate()->factory()->undefined_value())); |
@@ -173,7 +173,7 @@ void FullCodeGenerator::Generate() { |
if (info->scope()->is_script_scope()) { |
__ push(edi); |
__ Push(info->scope()->GetScopeInfo(info->isolate())); |
- __ CallRuntime(Runtime::kNewScriptContext, 2); |
+ __ CallRuntime(Runtime::kNewScriptContext); |
PrepareForBailoutForId(BailoutId::ScriptContext(), TOS_REG); |
// The new target value is not used, clobbering is safe. |
DCHECK_NULL(info->scope()->new_target_var()); |
@@ -188,7 +188,7 @@ void FullCodeGenerator::Generate() { |
need_write_barrier = false; |
} else { |
__ push(edi); |
- __ CallRuntime(Runtime::kNewFunctionContext, 1); |
+ __ CallRuntime(Runtime::kNewFunctionContext); |
} |
if (info->scope()->new_target_var() != nullptr) { |
__ pop(edx); // Restore new target. |
@@ -305,7 +305,7 @@ void FullCodeGenerator::Generate() { |
} |
if (FLAG_trace) { |
- __ CallRuntime(Runtime::kTraceEnter, 0); |
+ __ CallRuntime(Runtime::kTraceEnter); |
} |
// Visit the declarations and body unless there is an illegal |
@@ -410,7 +410,7 @@ void FullCodeGenerator::EmitReturnSequence() { |
__ bind(&return_label_); |
if (FLAG_trace) { |
__ push(eax); |
- __ CallRuntime(Runtime::kTraceExit, 1); |
+ __ CallRuntime(Runtime::kTraceExit); |
} |
// Pretend that the exit is a backwards jump to the entry. |
int weight = 1; |
@@ -795,7 +795,7 @@ void FullCodeGenerator::VisitVariableDeclaration( |
} |
__ push( |
Immediate(Smi::FromInt(variable->DeclarationPropertyAttributes()))); |
- __ CallRuntime(Runtime::kDeclareLookupSlot, 3); |
+ __ CallRuntime(Runtime::kDeclareLookupSlot); |
break; |
} |
} |
@@ -849,7 +849,7 @@ void FullCodeGenerator::VisitFunctionDeclaration( |
VisitForStackValue(declaration->fun()); |
__ push( |
Immediate(Smi::FromInt(variable->DeclarationPropertyAttributes()))); |
- __ CallRuntime(Runtime::kDeclareLookupSlot, 3); |
+ __ CallRuntime(Runtime::kDeclareLookupSlot); |
break; |
} |
} |
@@ -860,7 +860,7 @@ void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) { |
// Call the runtime to declare the globals. |
__ Push(pairs); |
__ Push(Smi::FromInt(DeclareGlobalsFlags())); |
- __ CallRuntime(Runtime::kDeclareGlobals, 2); |
+ __ CallRuntime(Runtime::kDeclareGlobals); |
// Return value is ignored. |
} |
@@ -868,7 +868,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::kDeclareModules); |
// Return value is ignored. |
} |
@@ -1016,7 +1016,7 @@ void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) { |
// Get the set of properties to enumerate. |
__ bind(&call_runtime); |
__ push(eax); |
- __ CallRuntime(Runtime::kGetPropertyNamesFast, 1); |
+ __ CallRuntime(Runtime::kGetPropertyNamesFast); |
PrepareForBailoutForId(stmt->EnumId(), TOS_REG); |
__ cmp(FieldOperand(eax, HeapObject::kMapOffset), |
isolate()->factory()->meta_map()); |
@@ -1088,7 +1088,7 @@ void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) { |
// just skip it. |
__ push(ecx); // Enumerable. |
__ push(ebx); // Current entry. |
- __ CallRuntime(Runtime::kForInFilter, 2); |
+ __ CallRuntime(Runtime::kForInFilter); |
PrepareForBailoutForId(stmt->FilterId(), TOS_REG); |
__ cmp(eax, isolate()->factory()->undefined_value()); |
__ j(equal, loop_statement.continue_label()); |
@@ -1146,8 +1146,8 @@ void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info, |
__ CallStub(&stub); |
} else { |
__ push(Immediate(info)); |
- __ CallRuntime( |
- pretenure ? Runtime::kNewClosure_Tenured : Runtime::kNewClosure, 1); |
+ __ CallRuntime(pretenure ? Runtime::kNewClosure_Tenured |
+ : Runtime::kNewClosure); |
} |
context()->Plug(eax); |
} |
@@ -1283,7 +1283,7 @@ void FullCodeGenerator::EmitDynamicLookupFastCase(VariableProxy* proxy, |
__ mov(eax, isolate()->factory()->undefined_value()); |
} else { // LET || CONST |
__ push(Immediate(var->name())); |
- __ CallRuntime(Runtime::kThrowReferenceError, 1); |
+ __ CallRuntime(Runtime::kThrowReferenceError); |
} |
} |
__ jmp(done); |
@@ -1341,7 +1341,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::kThrowReferenceError); |
} else { |
// Uninitialized legacy const bindings are unholed. |
DCHECK(var->mode() == CONST_LEGACY); |
@@ -1368,7 +1368,7 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy, |
typeof_mode == NOT_INSIDE_TYPEOF |
? Runtime::kLoadLookupSlot |
: Runtime::kLoadLookupSlotNoReferenceError; |
- __ CallRuntime(function_id, 2); |
+ __ CallRuntime(function_id); |
__ bind(&done); |
context()->Plug(eax); |
break; |
@@ -1417,7 +1417,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::kCreateObjectLiteral); |
} else { |
__ mov(eax, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); |
__ mov(ebx, Immediate(Smi::FromInt(expr->literal_index()))); |
@@ -1479,7 +1479,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
EmitSetHomeObject(value, 2, property->GetSlot()); |
} |
__ push(Immediate(Smi::FromInt(SLOPPY))); // Language mode |
- __ CallRuntime(Runtime::kSetProperty, 4); |
+ __ CallRuntime(Runtime::kSetProperty); |
} else { |
__ Drop(3); |
} |
@@ -1488,7 +1488,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
__ push(Operand(esp, 0)); // Duplicate receiver. |
VisitForStackValue(value); |
DCHECK(property->emit_store()); |
- __ CallRuntime(Runtime::kInternalSetPrototype, 2); |
+ __ CallRuntime(Runtime::kInternalSetPrototype); |
break; |
case ObjectLiteral::Property::GETTER: |
if (property->emit_store()) { |
@@ -1515,7 +1515,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
EmitAccessor(it->second->setter); |
__ push(Immediate(Smi::FromInt(NONE))); |
- __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked, 5); |
+ __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked); |
} |
// Object literals have two parts. The "static" part on the left contains no |
@@ -1542,7 +1542,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
DCHECK(!property->is_computed_name()); |
VisitForStackValue(value); |
DCHECK(property->emit_store()); |
- __ CallRuntime(Runtime::kInternalSetPrototype, 2); |
+ __ CallRuntime(Runtime::kInternalSetPrototype); |
} else { |
EmitPropertyKey(property, expr->GetIdForProperty(property_index)); |
VisitForStackValue(value); |
@@ -1556,7 +1556,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
case ObjectLiteral::Property::COMPUTED: |
if (property->emit_store()) { |
__ push(Immediate(Smi::FromInt(NONE))); |
- __ CallRuntime(Runtime::kDefineDataPropertyUnchecked, 4); |
+ __ CallRuntime(Runtime::kDefineDataPropertyUnchecked); |
} else { |
__ Drop(3); |
} |
@@ -1568,12 +1568,12 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
case ObjectLiteral::Property::GETTER: |
__ push(Immediate(Smi::FromInt(NONE))); |
- __ CallRuntime(Runtime::kDefineGetterPropertyUnchecked, 4); |
+ __ CallRuntime(Runtime::kDefineGetterPropertyUnchecked); |
break; |
case ObjectLiteral::Property::SETTER: |
__ push(Immediate(Smi::FromInt(NONE))); |
- __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked, 4); |
+ __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked); |
break; |
} |
} |
@@ -1582,7 +1582,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
if (expr->has_function()) { |
DCHECK(result_saved); |
__ push(Operand(esp, 0)); |
- __ CallRuntime(Runtime::kToFastProperties, 1); |
+ __ CallRuntime(Runtime::kToFastProperties); |
} |
if (result_saved) { |
@@ -1612,7 +1612,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
__ push(Immediate(Smi::FromInt(expr->literal_index()))); |
__ push(Immediate(constant_elements)); |
__ push(Immediate(Smi::FromInt(expr->ComputeFlags()))); |
- __ CallRuntime(Runtime::kCreateArrayLiteral, 4); |
+ __ CallRuntime(Runtime::kCreateArrayLiteral); |
} else { |
__ mov(eax, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); |
__ mov(ebx, Immediate(Smi::FromInt(expr->literal_index()))); |
@@ -1672,7 +1672,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
CALL_FUNCTION); |
} else { |
VisitForStackValue(subexpr); |
- __ CallRuntime(Runtime::kAppendElement, 2); |
+ __ CallRuntime(Runtime::kAppendElement); |
} |
PrepareForBailoutForId(expr->GetIdForElement(array_index), NO_REGISTERS); |
@@ -2070,7 +2070,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator, |
__ push(ebx); |
__ push(result_register()); |
__ Push(Smi::FromInt(resume_mode)); |
- __ CallRuntime(Runtime::kResumeJSGeneratorObject, 3); |
+ __ CallRuntime(Runtime::kResumeJSGeneratorObject); |
// Not reached: the runtime call returns elsewhere. |
__ Abort(kGeneratorFailedToResume); |
@@ -2087,7 +2087,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) { |
__ bind(&allocate); |
__ Push(Smi::FromInt(JSIteratorResult::kSize)); |
- __ CallRuntime(Runtime::kAllocateInNewSpace, 1); |
+ __ CallRuntime(Runtime::kAllocateInNewSpace); |
__ bind(&done_allocate); |
__ mov(ebx, NativeContextOperand()); |
@@ -2126,7 +2126,7 @@ void FullCodeGenerator::EmitNamedSuperPropertyLoad(Property* prop) { |
__ push(Immediate(key->value())); |
__ push(Immediate(Smi::FromInt(language_mode()))); |
- __ CallRuntime(Runtime::kLoadFromSuper, 4); |
+ __ CallRuntime(Runtime::kLoadFromSuper); |
} |
@@ -2143,7 +2143,7 @@ void FullCodeGenerator::EmitKeyedSuperPropertyLoad(Property* prop) { |
// Stack: receiver, home_object, key. |
SetExpressionPosition(prop); |
__ push(Immediate(Smi::FromInt(language_mode()))); |
- __ CallRuntime(Runtime::kLoadKeyedFromSuper, 4); |
+ __ CallRuntime(Runtime::kLoadKeyedFromSuper); |
} |
@@ -2269,7 +2269,7 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) { |
// need to check for an own read only property we special case this so we do |
// not need to do this for every property. |
if (property->is_static() && property->is_computed_name()) { |
- __ CallRuntime(Runtime::kThrowIfStaticPrototype, 1); |
+ __ CallRuntime(Runtime::kThrowIfStaticPrototype); |
__ push(eax); |
} |
@@ -2284,24 +2284,24 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) { |
case ObjectLiteral::Property::PROTOTYPE: |
UNREACHABLE(); |
case ObjectLiteral::Property::COMPUTED: |
- __ CallRuntime(Runtime::kDefineClassMethod, 3); |
+ __ CallRuntime(Runtime::kDefineClassMethod); |
break; |
case ObjectLiteral::Property::GETTER: |
__ push(Immediate(Smi::FromInt(DONT_ENUM))); |
- __ CallRuntime(Runtime::kDefineGetterPropertyUnchecked, 4); |
+ __ CallRuntime(Runtime::kDefineGetterPropertyUnchecked); |
break; |
case ObjectLiteral::Property::SETTER: |
__ push(Immediate(Smi::FromInt(DONT_ENUM))); |
- __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked, 4); |
+ __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked); |
break; |
} |
} |
// Set both the prototype and constructor to have fast properties, and also |
// freeze them in strong mode. |
- __ CallRuntime(Runtime::kFinalizeClassDefinition, 2); |
+ __ CallRuntime(Runtime::kFinalizeClassDefinition); |
} |
@@ -2429,7 +2429,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op, |
__ cmp(edx, isolate()->factory()->the_hole_value()); |
__ j(not_equal, &assign, Label::kNear); |
__ push(Immediate(var->name())); |
- __ CallRuntime(Runtime::kThrowReferenceError, 1); |
+ __ CallRuntime(Runtime::kThrowReferenceError); |
__ bind(&assign); |
EmitStoreToStackLocalOrContextSlot(var, location); |
@@ -2443,9 +2443,9 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op, |
__ cmp(edx, isolate()->factory()->the_hole_value()); |
__ j(not_equal, &const_error, Label::kNear); |
__ push(Immediate(var->name())); |
- __ CallRuntime(Runtime::kThrowReferenceError, 1); |
+ __ CallRuntime(Runtime::kThrowReferenceError); |
__ bind(&const_error); |
- __ CallRuntime(Runtime::kThrowConstAssignError, 0); |
+ __ CallRuntime(Runtime::kThrowConstAssignError); |
} else if (var->is_this() && var->mode() == CONST && op == Token::INIT) { |
// Initializing assignment to const {this} needs a write barrier. |
@@ -2456,7 +2456,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op, |
__ cmp(edx, isolate()->factory()->the_hole_value()); |
__ j(equal, &uninitialized_this); |
__ push(Immediate(var->name())); |
- __ CallRuntime(Runtime::kThrowReferenceError, 1); |
+ __ CallRuntime(Runtime::kThrowReferenceError); |
__ bind(&uninitialized_this); |
EmitStoreToStackLocalOrContextSlot(var, location); |
@@ -2468,7 +2468,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op, |
__ push(esi); // Context. |
__ push(Immediate(var->name())); |
__ push(Immediate(Smi::FromInt(language_mode()))); |
- __ CallRuntime(Runtime::kStoreLookupSlot, 4); |
+ __ CallRuntime(Runtime::kStoreLookupSlot); |
} else { |
// Assignment to var or initializing assignment to let/const in harmony |
// mode. |
@@ -2490,7 +2490,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op, |
__ push(eax); |
__ push(esi); |
__ push(Immediate(var->name())); |
- __ CallRuntime(Runtime::kInitializeLegacyConstLookupSlot, 3); |
+ __ CallRuntime(Runtime::kInitializeLegacyConstLookupSlot); |
} else { |
DCHECK(var->IsStackLocal() || var->IsContextSlot()); |
Label skip; |
@@ -2505,7 +2505,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op, |
} else { |
DCHECK(var->mode() == CONST_LEGACY && op != Token::INIT); |
if (is_strict(language_mode())) { |
- __ CallRuntime(Runtime::kThrowConstAssignError, 0); |
+ __ CallRuntime(Runtime::kThrowConstAssignError); |
} |
// Silently ignore store in sloppy mode. |
} |
@@ -2540,8 +2540,7 @@ void FullCodeGenerator::EmitNamedSuperPropertyStore(Property* prop) { |
__ push(Immediate(key->value())); |
__ push(eax); |
__ CallRuntime((is_strict(language_mode()) ? Runtime::kStoreToSuper_Strict |
- : Runtime::kStoreToSuper_Sloppy), |
- 4); |
+ : Runtime::kStoreToSuper_Sloppy)); |
} |
@@ -2551,10 +2550,9 @@ void FullCodeGenerator::EmitKeyedSuperPropertyStore(Property* prop) { |
// stack : receiver ('this'), home_object, key |
__ push(eax); |
- __ CallRuntime( |
- (is_strict(language_mode()) ? Runtime::kStoreKeyedToSuper_Strict |
- : Runtime::kStoreKeyedToSuper_Sloppy), |
- 4); |
+ __ CallRuntime((is_strict(language_mode()) |
+ ? Runtime::kStoreKeyedToSuper_Strict |
+ : Runtime::kStoreKeyedToSuper_Sloppy)); |
} |
@@ -2677,7 +2675,7 @@ void FullCodeGenerator::EmitSuperCallWithLoadIC(Call* expr) { |
// - home_object |
// - key |
// - language_mode |
- __ CallRuntime(Runtime::kLoadFromSuper, 4); |
+ __ CallRuntime(Runtime::kLoadFromSuper); |
// Replace home_object with target function. |
__ mov(Operand(esp, kPointerSize), eax); |
@@ -2735,7 +2733,7 @@ void FullCodeGenerator::EmitKeyedSuperCallWithLoadIC(Call* expr) { |
// - home_object |
// - key |
// - language_mode |
- __ CallRuntime(Runtime::kLoadKeyedFromSuper, 4); |
+ __ CallRuntime(Runtime::kLoadKeyedFromSuper); |
// Replace home_object with target function. |
__ mov(Operand(esp, kPointerSize), eax); |
@@ -2791,7 +2789,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) { |
__ push(Immediate(Smi::FromInt(scope()->start_position()))); |
// Do the runtime call. |
- __ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); |
+ __ CallRuntime(Runtime::kResolvePossiblyDirectEval); |
} |
@@ -2810,7 +2808,7 @@ void FullCodeGenerator::PushCalleeAndWithBaseObject(Call* expr) { |
// the object holding it (returned in edx). |
__ push(context_register()); |
__ push(Immediate(callee->name())); |
- __ CallRuntime(Runtime::kLoadLookupSlot, 2); |
+ __ CallRuntime(Runtime::kLoadLookupSlot); |
__ push(eax); // Function. |
__ push(edx); // Receiver. |
PrepareForBailoutForId(expr->LookupId(), NO_REGISTERS); |
@@ -3453,7 +3451,7 @@ void FullCodeGenerator::EmitToInteger(CallRuntime* expr) { |
Label done_convert; |
__ JumpIfSmi(eax, &done_convert, Label::kNear); |
__ Push(eax); |
- __ CallRuntime(Runtime::kToInteger, 1); |
+ __ CallRuntime(Runtime::kToInteger); |
__ bind(&done_convert); |
context()->Plug(eax); |
} |
@@ -3474,7 +3472,7 @@ void FullCodeGenerator::EmitToName(CallRuntime* expr) { |
__ j(below_equal, &done_convert, Label::kNear); |
__ bind(&convert); |
__ Push(eax); |
- __ CallRuntime(Runtime::kToName, 1); |
+ __ CallRuntime(Runtime::kToName); |
__ bind(&done_convert); |
context()->Plug(eax); |
} |
@@ -3964,7 +3962,7 @@ void FullCodeGenerator::EmitCreateIterResultObject(CallRuntime* expr) { |
__ jmp(&done, Label::kNear); |
__ bind(&runtime); |
- __ CallRuntime(Runtime::kCreateIterResultObject, 2); |
+ __ CallRuntime(Runtime::kCreateIterResultObject); |
__ bind(&done); |
context()->Plug(eax); |
@@ -4054,8 +4052,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) { |
VisitForStackValue(property->key()); |
__ CallRuntime(is_strict(language_mode()) |
? Runtime::kDeleteProperty_Strict |
- : Runtime::kDeleteProperty_Sloppy, |
- 2); |
+ : Runtime::kDeleteProperty_Sloppy); |
context()->Plug(eax); |
} else if (proxy != NULL) { |
Variable* var = proxy->var(); |
@@ -4067,7 +4064,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) { |
__ mov(eax, NativeContextOperand()); |
__ push(ContextOperand(eax, Context::EXTENSION_INDEX)); |
__ push(Immediate(var->name())); |
- __ CallRuntime(Runtime::kDeleteProperty_Sloppy, 2); |
+ __ CallRuntime(Runtime::kDeleteProperty_Sloppy); |
context()->Plug(eax); |
} else if (var->IsStackAllocated() || var->IsContextSlot()) { |
// Result of deleting non-global variables is false. 'this' is |
@@ -4079,7 +4076,7 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) { |
// context where the variable was introduced. |
__ push(context_register()); |
__ push(Immediate(var->name())); |
- __ CallRuntime(Runtime::kDeleteLookupSlot, 2); |
+ __ CallRuntime(Runtime::kDeleteLookupSlot); |
context()->Plug(eax); |
} |
} else { |
@@ -4516,7 +4513,7 @@ void FullCodeGenerator::VisitCompareOperation(CompareOperation* expr) { |
switch (op) { |
case Token::IN: |
VisitForStackValue(expr->right()); |
- __ CallRuntime(Runtime::kHasProperty, 2); |
+ __ CallRuntime(Runtime::kHasProperty); |
PrepareForBailoutBeforeSplit(expr, false, NULL, NULL); |
__ cmp(eax, isolate()->factory()->true_value()); |
Split(equal, if_true, if_false, fall_through); |