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 588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
599 // Stub accessors. | 599 // Stub accessors. |
600 virtual Handle<Code> generic_stub() const { | 600 virtual Handle<Code> generic_stub() const { |
601 if (strict_mode() == kStrictMode) { | 601 if (strict_mode() == kStrictMode) { |
602 return isolate()->builtins()->StoreIC_Generic_Strict(); | 602 return isolate()->builtins()->StoreIC_Generic_Strict(); |
603 } else { | 603 } else { |
604 return isolate()->builtins()->StoreIC_Generic(); | 604 return isolate()->builtins()->StoreIC_Generic(); |
605 } | 605 } |
606 } | 606 } |
607 | 607 |
608 virtual Handle<Code> slow_stub() const { | 608 virtual Handle<Code> slow_stub() const { |
609 if (strict_mode() == kStrictMode) { | 609 return isolate()->builtins()->StoreIC_Slow(); |
610 return isolate()->builtins()->StoreIC_Slow_Strict(); | |
611 } else { | |
612 return isolate()->builtins()->StoreIC_Slow(); | |
613 } | |
614 } | 610 } |
615 | 611 |
616 virtual Handle<Code> pre_monomorphic_stub() { | 612 virtual Handle<Code> pre_monomorphic_stub() { |
617 return pre_monomorphic_stub(isolate(), strict_mode()); | 613 return pre_monomorphic_stub(isolate(), strict_mode()); |
618 } | 614 } |
619 | 615 |
620 static Handle<Code> pre_monomorphic_stub(Isolate* isolate, | 616 static Handle<Code> pre_monomorphic_stub(Isolate* isolate, |
621 StrictModeFlag strict_mode) { | 617 StrictModeFlag strict_mode) { |
622 if (strict_mode == kStrictMode) { | 618 if (strict_mode == kStrictMode) { |
623 return isolate->builtins()->StoreIC_PreMonomorphic_Strict(); | 619 return isolate->builtins()->StoreIC_PreMonomorphic_Strict(); |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
716 } | 712 } |
717 static Handle<Code> pre_monomorphic_stub(Isolate* isolate, | 713 static Handle<Code> pre_monomorphic_stub(Isolate* isolate, |
718 StrictModeFlag strict_mode) { | 714 StrictModeFlag strict_mode) { |
719 if (strict_mode == kStrictMode) { | 715 if (strict_mode == kStrictMode) { |
720 return isolate->builtins()->KeyedStoreIC_PreMonomorphic_Strict(); | 716 return isolate->builtins()->KeyedStoreIC_PreMonomorphic_Strict(); |
721 } else { | 717 } else { |
722 return isolate->builtins()->KeyedStoreIC_PreMonomorphic(); | 718 return isolate->builtins()->KeyedStoreIC_PreMonomorphic(); |
723 } | 719 } |
724 } | 720 } |
725 virtual Handle<Code> slow_stub() const { | 721 virtual Handle<Code> slow_stub() const { |
726 if (strict_mode() == kStrictMode) { | 722 return isolate()->builtins()->KeyedStoreIC_Slow(); |
727 return isolate()->builtins()->KeyedStoreIC_Slow_Strict(); | |
728 } else { | |
729 return isolate()->builtins()->KeyedStoreIC_Slow(); | |
730 } | |
731 } | 723 } |
732 virtual Handle<Code> megamorphic_stub() { | 724 virtual Handle<Code> megamorphic_stub() { |
733 if (strict_mode() == kStrictMode) { | 725 if (strict_mode() == kStrictMode) { |
734 return isolate()->builtins()->KeyedStoreIC_Generic_Strict(); | 726 return isolate()->builtins()->KeyedStoreIC_Generic_Strict(); |
735 } else { | 727 } else { |
736 return isolate()->builtins()->KeyedStoreIC_Generic(); | 728 return isolate()->builtins()->KeyedStoreIC_Generic(); |
737 } | 729 } |
738 } | 730 } |
739 | 731 |
740 Handle<Code> StoreElementStub(Handle<JSObject> receiver, | 732 Handle<Code> StoreElementStub(Handle<JSObject> receiver, |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
911 DECLARE_RUNTIME_FUNCTION(MaybeObject*, KeyedCallIC_MissFromStubFailure); | 903 DECLARE_RUNTIME_FUNCTION(MaybeObject*, KeyedCallIC_MissFromStubFailure); |
912 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ElementsTransitionAndStoreIC_Miss); | 904 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ElementsTransitionAndStoreIC_Miss); |
913 DECLARE_RUNTIME_FUNCTION(MaybeObject*, BinaryOpIC_Miss); | 905 DECLARE_RUNTIME_FUNCTION(MaybeObject*, BinaryOpIC_Miss); |
914 DECLARE_RUNTIME_FUNCTION(MaybeObject*, CompareNilIC_Miss); | 906 DECLARE_RUNTIME_FUNCTION(MaybeObject*, CompareNilIC_Miss); |
915 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ToBooleanIC_Miss); | 907 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ToBooleanIC_Miss); |
916 | 908 |
917 | 909 |
918 } } // namespace v8::internal | 910 } } // namespace v8::internal |
919 | 911 |
920 #endif // V8_IC_H_ | 912 #endif // V8_IC_H_ |
OLD | NEW |