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 705 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
716 | 716 |
717 void StubCompiler::GenerateLoadMiss(MacroAssembler* masm, Code::Kind kind) { | 717 void StubCompiler::GenerateLoadMiss(MacroAssembler* masm, Code::Kind kind) { |
718 ASSERT(kind == Code::LOAD_IC || kind == Code::KEYED_LOAD_IC); | 718 ASSERT(kind == Code::LOAD_IC || kind == Code::KEYED_LOAD_IC); |
719 Handle<Code> code = (kind == Code::LOAD_IC) | 719 Handle<Code> code = (kind == Code::LOAD_IC) |
720 ? masm->isolate()->builtins()->LoadIC_Miss() | 720 ? masm->isolate()->builtins()->LoadIC_Miss() |
721 : masm->isolate()->builtins()->KeyedLoadIC_Miss(); | 721 : masm->isolate()->builtins()->KeyedLoadIC_Miss(); |
722 __ Jump(code, RelocInfo::CODE_TARGET); | 722 __ Jump(code, RelocInfo::CODE_TARGET); |
723 } | 723 } |
724 | 724 |
725 | 725 |
| 726 void StubCompiler::GenerateStoreMiss(MacroAssembler* masm, Code::Kind kind) { |
| 727 ASSERT(kind == Code::STORE_IC || kind == Code::KEYED_STORE_IC); |
| 728 Handle<Code> code = (kind == Code::STORE_IC) |
| 729 ? masm->isolate()->builtins()->StoreIC_Miss() |
| 730 : masm->isolate()->builtins()->KeyedStoreIC_Miss(); |
| 731 __ Jump(code, RelocInfo::CODE_TARGET); |
| 732 } |
| 733 |
| 734 |
726 void StubCompiler::GenerateKeyedLoadMissForceGeneric(MacroAssembler* masm) { | 735 void StubCompiler::GenerateKeyedLoadMissForceGeneric(MacroAssembler* masm) { |
727 Handle<Code> code = | 736 Handle<Code> code = |
728 masm->isolate()->builtins()->KeyedLoadIC_MissForceGeneric(); | 737 masm->isolate()->builtins()->KeyedLoadIC_MissForceGeneric(); |
729 __ Jump(code, RelocInfo::CODE_TARGET); | 738 __ Jump(code, RelocInfo::CODE_TARGET); |
730 } | 739 } |
731 | 740 |
732 | 741 |
733 // Both name_reg and receiver_reg are preserved on jumps to miss_label, | 742 // Both name_reg and receiver_reg are preserved on jumps to miss_label, |
734 // but may be destroyed if store is successful. | 743 // but may be destroyed if store is successful. |
735 void StubCompiler::GenerateStoreField(MacroAssembler* masm, | 744 void StubCompiler::GenerateStoreField(MacroAssembler* masm, |
(...skipping 3118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3854 __ jmp(ic_slow, RelocInfo::CODE_TARGET); | 3863 __ jmp(ic_slow, RelocInfo::CODE_TARGET); |
3855 } | 3864 } |
3856 } | 3865 } |
3857 | 3866 |
3858 | 3867 |
3859 #undef __ | 3868 #undef __ |
3860 | 3869 |
3861 } } // namespace v8::internal | 3870 } } // namespace v8::internal |
3862 | 3871 |
3863 #endif // V8_TARGET_ARCH_X64 | 3872 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |