OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 1822 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1833 | 1833 |
1834 int arity = instr->arity(); | 1834 int arity = instr->arity(); |
1835 CallFunctionStub stub(arity, NOT_IN_LOOP, RECEIVER_MIGHT_BE_VALUE); | 1835 CallFunctionStub stub(arity, NOT_IN_LOOP, RECEIVER_MIGHT_BE_VALUE); |
1836 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); | 1836 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
1837 __ Drop(1); | 1837 __ Drop(1); |
1838 __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); | 1838 __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); |
1839 } | 1839 } |
1840 | 1840 |
1841 | 1841 |
1842 void LCodeGen::DoCallGlobal(LCallGlobal* instr) { | 1842 void LCodeGen::DoCallGlobal(LCallGlobal* instr) { |
1843 Abort("DoCallGlobal unimplemented."); | 1843 ASSERT(ToRegister(instr->result()).is(r0)); |
| 1844 |
| 1845 int arity = instr->arity(); |
| 1846 Handle<Code> ic = StubCache::ComputeCallInitialize(arity, NOT_IN_LOOP); |
| 1847 __ mov(r2, Operand(instr->name())); |
| 1848 CallCode(ic, RelocInfo::CODE_TARGET_CONTEXT, instr); |
| 1849 __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); |
1844 } | 1850 } |
1845 | 1851 |
1846 | 1852 |
1847 void LCodeGen::DoCallKnownGlobal(LCallKnownGlobal* instr) { | 1853 void LCodeGen::DoCallKnownGlobal(LCallKnownGlobal* instr) { |
1848 ASSERT(ToRegister(instr->result()).is(r0)); | 1854 ASSERT(ToRegister(instr->result()).is(r0)); |
1849 __ mov(r1, Operand(instr->target())); | 1855 __ mov(r1, Operand(instr->target())); |
1850 CallKnownFunction(instr->target(), instr->arity(), instr); | 1856 CallKnownFunction(instr->target(), instr->arity(), instr); |
1851 } | 1857 } |
1852 | 1858 |
1853 | 1859 |
(...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2591 | 2597 |
2592 | 2598 |
2593 void LCodeGen::DoOsrEntry(LOsrEntry* instr) { | 2599 void LCodeGen::DoOsrEntry(LOsrEntry* instr) { |
2594 Abort("DoOsrEntry unimplemented."); | 2600 Abort("DoOsrEntry unimplemented."); |
2595 } | 2601 } |
2596 | 2602 |
2597 | 2603 |
2598 #undef __ | 2604 #undef __ |
2599 | 2605 |
2600 } } // namespace v8::internal | 2606 } } // namespace v8::internal |
OLD | NEW |