OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 554 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
565 // Code generators for stub routines. Only called once at startup. | 565 // Code generators for stub routines. Only called once at startup. |
566 static void GenerateInitialize(MacroAssembler* masm) { | 566 static void GenerateInitialize(MacroAssembler* masm) { |
567 GenerateMiss(masm, false); | 567 GenerateMiss(masm, false); |
568 } | 568 } |
569 static void GenerateMiss(MacroAssembler* masm, bool force_generic); | 569 static void GenerateMiss(MacroAssembler* masm, bool force_generic); |
570 static void GenerateSlow(MacroAssembler* masm); | 570 static void GenerateSlow(MacroAssembler* masm); |
571 static void GenerateRuntimeSetProperty(MacroAssembler* masm, | 571 static void GenerateRuntimeSetProperty(MacroAssembler* masm, |
572 StrictModeFlag strict_mode); | 572 StrictModeFlag strict_mode); |
573 static void GenerateGeneric(MacroAssembler* masm, StrictModeFlag strict_mode); | 573 static void GenerateGeneric(MacroAssembler* masm, StrictModeFlag strict_mode); |
574 static void GenerateNonStrictArguments(MacroAssembler* masm); | 574 static void GenerateNonStrictArguments(MacroAssembler* masm); |
| 575 static void GenerateTransitionElementsSmiToDouble(MacroAssembler* masm); |
| 576 static void GenerateTransitionElementsDoubleToObject(MacroAssembler* masm); |
575 | 577 |
576 virtual MaybeObject* GetElementStubWithoutMapCheck( | 578 virtual MaybeObject* GetElementStubWithoutMapCheck( |
577 bool is_js_array, | 579 bool is_js_array, |
578 ElementsKind elements_kind); | 580 ElementsKind elements_kind); |
579 | 581 |
580 protected: | 582 protected: |
581 virtual Code::Kind kind() const { return Code::KEYED_STORE_IC; } | 583 virtual Code::Kind kind() const { return Code::KEYED_STORE_IC; } |
582 | 584 |
583 virtual MaybeObject* ComputePolymorphicStub( | 585 virtual MaybeObject* ComputePolymorphicStub( |
584 MapList* receiver_maps, | 586 MapList* receiver_maps, |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 void patch(Code* code); | 739 void patch(Code* code); |
738 }; | 740 }; |
739 | 741 |
740 | 742 |
741 // Helper for BinaryOpIC and CompareIC. | 743 // Helper for BinaryOpIC and CompareIC. |
742 void PatchInlinedSmiCode(Address address); | 744 void PatchInlinedSmiCode(Address address); |
743 | 745 |
744 } } // namespace v8::internal | 746 } } // namespace v8::internal |
745 | 747 |
746 #endif // V8_IC_H_ | 748 #endif // V8_IC_H_ |
OLD | NEW |