OLD | NEW |
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1235 Call(stub->GetCode(), RelocInfo::CODE_TARGET, cond); | 1235 Call(stub->GetCode(), RelocInfo::CODE_TARGET, cond); |
1236 } | 1236 } |
1237 | 1237 |
1238 | 1238 |
1239 void MacroAssembler::TailCallStub(CodeStub* stub, Condition cond) { | 1239 void MacroAssembler::TailCallStub(CodeStub* stub, Condition cond) { |
1240 ASSERT(allow_stub_calls()); // stub calls are not allowed in some stubs | 1240 ASSERT(allow_stub_calls()); // stub calls are not allowed in some stubs |
1241 Jump(stub->GetCode(), RelocInfo::CODE_TARGET, cond); | 1241 Jump(stub->GetCode(), RelocInfo::CODE_TARGET, cond); |
1242 } | 1242 } |
1243 | 1243 |
1244 | 1244 |
1245 void MacroAssembler::StubReturn(int argc, Condition cond) { | |
1246 ASSERT(argc >= 1 && generating_stub()); | |
1247 if (argc > 1) { | |
1248 add(sp, sp, Operand((argc - 1) * kPointerSize), LeaveCC, cond); | |
1249 } | |
1250 Ret(cond); | |
1251 } | |
1252 | |
1253 | |
1254 void MacroAssembler::IllegalOperation(int num_arguments) { | 1245 void MacroAssembler::IllegalOperation(int num_arguments) { |
1255 if (num_arguments > 0) { | 1246 if (num_arguments > 0) { |
1256 add(sp, sp, Operand(num_arguments * kPointerSize)); | 1247 add(sp, sp, Operand(num_arguments * kPointerSize)); |
1257 } | 1248 } |
1258 LoadRoot(r0, Heap::kUndefinedValueRootIndex); | 1249 LoadRoot(r0, Heap::kUndefinedValueRootIndex); |
1259 } | 1250 } |
1260 | 1251 |
1261 | 1252 |
1262 void MacroAssembler::IndexFromHash(Register hash, Register index) { | 1253 void MacroAssembler::IndexFromHash(Register hash, Register index) { |
1263 // If the hash field contains an array index pick it out. The assert checks | 1254 // If the hash field contains an array index pick it out. The assert checks |
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1962 | 1953 |
1963 void CodePatcher::Emit(Address addr) { | 1954 void CodePatcher::Emit(Address addr) { |
1964 masm()->emit(reinterpret_cast<Instr>(addr)); | 1955 masm()->emit(reinterpret_cast<Instr>(addr)); |
1965 } | 1956 } |
1966 #endif // ENABLE_DEBUGGER_SUPPORT | 1957 #endif // ENABLE_DEBUGGER_SUPPORT |
1967 | 1958 |
1968 | 1959 |
1969 } } // namespace v8::internal | 1960 } } // namespace v8::internal |
1970 | 1961 |
1971 #endif // V8_TARGET_ARCH_ARM | 1962 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |