| Index: src/arm/virtual-frame-arm.cc
|
| ===================================================================
|
| --- src/arm/virtual-frame-arm.cc (revision 3765)
|
| +++ src/arm/virtual-frame-arm.cc (working copy)
|
| @@ -219,36 +219,15 @@
|
| }
|
|
|
|
|
| -void VirtualFrame::RawCallStub(CodeStub* stub) {
|
| - ASSERT(cgen()->HasValidEntryRegisters());
|
| - __ CallStub(stub);
|
| -}
|
| -
|
| -
|
| -void VirtualFrame::CallStub(CodeStub* stub, Result* arg) {
|
| - PrepareForCall(0, 0);
|
| - arg->Unuse();
|
| - RawCallStub(stub);
|
| -}
|
| -
|
| -
|
| -void VirtualFrame::CallStub(CodeStub* stub, Result* arg0, Result* arg1) {
|
| - PrepareForCall(0, 0);
|
| - arg0->Unuse();
|
| - arg1->Unuse();
|
| - RawCallStub(stub);
|
| -}
|
| -
|
| -
|
| void VirtualFrame::CallRuntime(Runtime::Function* f, int arg_count) {
|
| - PrepareForCall(arg_count, arg_count);
|
| + Forget(arg_count);
|
| ASSERT(cgen()->HasValidEntryRegisters());
|
| __ CallRuntime(f, arg_count);
|
| }
|
|
|
|
|
| void VirtualFrame::CallRuntime(Runtime::FunctionId id, int arg_count) {
|
| - PrepareForCall(arg_count, arg_count);
|
| + Forget(arg_count);
|
| ASSERT(cgen()->HasValidEntryRegisters());
|
| __ CallRuntime(id, arg_count);
|
| }
|
| @@ -257,102 +236,34 @@
|
| void VirtualFrame::InvokeBuiltin(Builtins::JavaScript id,
|
| InvokeJSFlags flags,
|
| int arg_count) {
|
| - PrepareForCall(arg_count, arg_count);
|
| + Forget(arg_count);
|
| __ InvokeBuiltin(id, flags);
|
| }
|
|
|
|
|
| -void VirtualFrame::RawCallCodeObject(Handle<Code> code,
|
| - RelocInfo::Mode rmode) {
|
| - ASSERT(cgen()->HasValidEntryRegisters());
|
| - __ Call(code, rmode);
|
| -}
|
| -
|
| -
|
| void VirtualFrame::CallCodeObject(Handle<Code> code,
|
| RelocInfo::Mode rmode,
|
| int dropped_args) {
|
| - int spilled_args = 0;
|
| switch (code->kind()) {
|
| case Code::CALL_IC:
|
| - spilled_args = dropped_args + 1;
|
| - break;
|
| case Code::FUNCTION:
|
| - spilled_args = dropped_args + 1;
|
| break;
|
| case Code::KEYED_LOAD_IC:
|
| - ASSERT(dropped_args == 0);
|
| - spilled_args = 2;
|
| - break;
|
| - default:
|
| - // The other types of code objects are called with values
|
| - // in specific registers, and are handled in functions with
|
| - // a different signature.
|
| - UNREACHABLE();
|
| - break;
|
| - }
|
| - PrepareForCall(spilled_args, dropped_args);
|
| - RawCallCodeObject(code, rmode);
|
| -}
|
| -
|
| -
|
| -void VirtualFrame::CallCodeObject(Handle<Code> code,
|
| - RelocInfo::Mode rmode,
|
| - Result* arg,
|
| - int dropped_args) {
|
| - int spilled_args = 0;
|
| - switch (code->kind()) {
|
| case Code::LOAD_IC:
|
| - ASSERT(arg->reg().is(r2));
|
| - ASSERT(dropped_args == 0);
|
| - spilled_args = 1;
|
| - break;
|
| case Code::KEYED_STORE_IC:
|
| - ASSERT(arg->reg().is(r0));
|
| - ASSERT(dropped_args == 0);
|
| - spilled_args = 2;
|
| - break;
|
| - default:
|
| - // No other types of code objects are called with values
|
| - // in exactly one register.
|
| - UNREACHABLE();
|
| - break;
|
| - }
|
| - PrepareForCall(spilled_args, dropped_args);
|
| - arg->Unuse();
|
| - RawCallCodeObject(code, rmode);
|
| -}
|
| -
|
| -
|
| -void VirtualFrame::CallCodeObject(Handle<Code> code,
|
| - RelocInfo::Mode rmode,
|
| - Result* arg0,
|
| - Result* arg1,
|
| - int dropped_args) {
|
| - int spilled_args = 1;
|
| - switch (code->kind()) {
|
| case Code::STORE_IC:
|
| - ASSERT(arg0->reg().is(r0));
|
| - ASSERT(arg1->reg().is(r2));
|
| ASSERT(dropped_args == 0);
|
| - spilled_args = 1;
|
| break;
|
| case Code::BUILTIN:
|
| ASSERT(*code == Builtins::builtin(Builtins::JSConstructCall));
|
| - ASSERT(arg0->reg().is(r0));
|
| - ASSERT(arg1->reg().is(r1));
|
| - spilled_args = dropped_args + 1;
|
| break;
|
| default:
|
| - // No other types of code objects are called with values
|
| - // in exactly two registers.
|
| UNREACHABLE();
|
| break;
|
| }
|
| - PrepareForCall(spilled_args, dropped_args);
|
| - arg0->Unuse();
|
| - arg1->Unuse();
|
| - RawCallCodeObject(code, rmode);
|
| + Forget(dropped_args);
|
| + ASSERT(cgen()->HasValidEntryRegisters());
|
| + __ Call(code, rmode);
|
| }
|
|
|
|
|
|
|