OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 719 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
730 | 730 |
731 void StubCompiler::GenerateLoadMiss(MacroAssembler* masm, Code::Kind kind) { | 731 void StubCompiler::GenerateLoadMiss(MacroAssembler* masm, Code::Kind kind) { |
732 ASSERT(kind == Code::LOAD_IC || kind == Code::KEYED_LOAD_IC); | 732 ASSERT(kind == Code::LOAD_IC || kind == Code::KEYED_LOAD_IC); |
733 Handle<Code> code = (kind == Code::LOAD_IC) | 733 Handle<Code> code = (kind == Code::LOAD_IC) |
734 ? masm->isolate()->builtins()->LoadIC_Miss() | 734 ? masm->isolate()->builtins()->LoadIC_Miss() |
735 : masm->isolate()->builtins()->KeyedLoadIC_Miss(); | 735 : masm->isolate()->builtins()->KeyedLoadIC_Miss(); |
736 __ jmp(code, RelocInfo::CODE_TARGET); | 736 __ jmp(code, RelocInfo::CODE_TARGET); |
737 } | 737 } |
738 | 738 |
739 | 739 |
| 740 void StubCompiler::GenerateStoreMiss(MacroAssembler* masm, Code::Kind kind) { |
| 741 ASSERT(kind == Code::STORE_IC || kind == Code::KEYED_STORE_IC); |
| 742 Handle<Code> code = (kind == Code::STORE_IC) |
| 743 ? masm->isolate()->builtins()->StoreIC_Miss() |
| 744 : masm->isolate()->builtins()->KeyedStoreIC_Miss(); |
| 745 __ jmp(code, RelocInfo::CODE_TARGET); |
| 746 } |
| 747 |
| 748 |
740 void StubCompiler::GenerateKeyedLoadMissForceGeneric(MacroAssembler* masm) { | 749 void StubCompiler::GenerateKeyedLoadMissForceGeneric(MacroAssembler* masm) { |
741 Handle<Code> code = | 750 Handle<Code> code = |
742 masm->isolate()->builtins()->KeyedLoadIC_MissForceGeneric(); | 751 masm->isolate()->builtins()->KeyedLoadIC_MissForceGeneric(); |
743 __ jmp(code, RelocInfo::CODE_TARGET); | 752 __ jmp(code, RelocInfo::CODE_TARGET); |
744 } | 753 } |
745 | 754 |
746 | 755 |
747 // Both name_reg and receiver_reg are preserved on jumps to miss_label, | 756 // Both name_reg and receiver_reg are preserved on jumps to miss_label, |
748 // but may be destroyed if store is successful. | 757 // but may be destroyed if store is successful. |
749 void StubCompiler::GenerateStoreField(MacroAssembler* masm, | 758 void StubCompiler::GenerateStoreField(MacroAssembler* masm, |
(...skipping 3336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4086 __ jmp(ic_slow, RelocInfo::CODE_TARGET); | 4095 __ jmp(ic_slow, RelocInfo::CODE_TARGET); |
4087 } | 4096 } |
4088 } | 4097 } |
4089 | 4098 |
4090 | 4099 |
4091 #undef __ | 4100 #undef __ |
4092 | 4101 |
4093 } } // namespace v8::internal | 4102 } } // namespace v8::internal |
4094 | 4103 |
4095 #endif // V8_TARGET_ARCH_IA32 | 4104 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |