OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 // --- | 170 // --- |
171 | 171 |
172 MUST_USE_RESULT static MaybeObject* ComputeCallField(int argc, | 172 MUST_USE_RESULT static MaybeObject* ComputeCallField(int argc, |
173 InLoopFlag in_loop, | 173 InLoopFlag in_loop, |
174 Code::Kind, | 174 Code::Kind, |
175 String* name, | 175 String* name, |
176 Object* object, | 176 Object* object, |
177 JSObject* holder, | 177 JSObject* holder, |
178 int index); | 178 int index); |
179 | 179 |
180 MUST_USE_RESULT static MaybeObject* ComputeCallConstant(int argc, | 180 MUST_USE_RESULT static MaybeObject* ComputeCallConstant( |
181 InLoopFlag in_loop, | 181 int argc, |
182 Code::Kind, | 182 InLoopFlag in_loop, |
183 String* name, | 183 Code::Kind, |
184 Object* object, | 184 Code::ExtraICState extra_ic_state, |
185 JSObject* holder, | 185 String* name, |
186 JSFunction* function); | 186 Object* object, |
| 187 JSObject* holder, |
| 188 JSFunction* function); |
187 | 189 |
188 MUST_USE_RESULT static MaybeObject* ComputeCallNormal(int argc, | 190 MUST_USE_RESULT static MaybeObject* ComputeCallNormal(int argc, |
189 InLoopFlag in_loop, | 191 InLoopFlag in_loop, |
190 Code::Kind, | 192 Code::Kind, |
191 String* name, | 193 String* name, |
192 JSObject* receiver); | 194 JSObject* receiver); |
193 | 195 |
194 MUST_USE_RESULT static MaybeObject* ComputeCallInterceptor(int argc, | 196 MUST_USE_RESULT static MaybeObject* ComputeCallInterceptor(int argc, |
195 Code::Kind, | 197 Code::Kind, |
196 String* name, | 198 String* name, |
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
653 V(StringFromCharCode) \ | 655 V(StringFromCharCode) \ |
654 V(MathFloor) \ | 656 V(MathFloor) \ |
655 V(MathAbs) | 657 V(MathAbs) |
656 | 658 |
657 | 659 |
658 class CallStubCompiler: public StubCompiler { | 660 class CallStubCompiler: public StubCompiler { |
659 public: | 661 public: |
660 CallStubCompiler(int argc, | 662 CallStubCompiler(int argc, |
661 InLoopFlag in_loop, | 663 InLoopFlag in_loop, |
662 Code::Kind kind, | 664 Code::Kind kind, |
| 665 Code::ExtraICState extra_ic_state, |
663 InlineCacheHolderFlag cache_holder); | 666 InlineCacheHolderFlag cache_holder); |
664 | 667 |
665 MUST_USE_RESULT MaybeObject* CompileCallField(JSObject* object, | 668 MUST_USE_RESULT MaybeObject* CompileCallField(JSObject* object, |
666 JSObject* holder, | 669 JSObject* holder, |
667 int index, | 670 int index, |
668 String* name); | 671 String* name); |
669 MUST_USE_RESULT MaybeObject* CompileCallConstant(Object* object, | 672 MUST_USE_RESULT MaybeObject* CompileCallConstant(Object* object, |
670 JSObject* holder, | 673 JSObject* holder, |
671 JSFunction* function, | 674 JSFunction* function, |
672 String* name, | 675 String* name, |
(...skipping 25 matching lines...) Expand all Loading... |
698 JSObject* holder, \ | 701 JSObject* holder, \ |
699 JSGlobalPropertyCell* cell, \ | 702 JSGlobalPropertyCell* cell, \ |
700 JSFunction* function, \ | 703 JSFunction* function, \ |
701 String* fname); | 704 String* fname); |
702 CUSTOM_CALL_IC_GENERATORS(DECLARE_CALL_GENERATOR) | 705 CUSTOM_CALL_IC_GENERATORS(DECLARE_CALL_GENERATOR) |
703 #undef DECLARE_CALL_GENERATOR | 706 #undef DECLARE_CALL_GENERATOR |
704 | 707 |
705 const ParameterCount arguments_; | 708 const ParameterCount arguments_; |
706 const InLoopFlag in_loop_; | 709 const InLoopFlag in_loop_; |
707 const Code::Kind kind_; | 710 const Code::Kind kind_; |
| 711 const Code::ExtraICState extra_ic_state_; |
708 const InlineCacheHolderFlag cache_holder_; | 712 const InlineCacheHolderFlag cache_holder_; |
709 | 713 |
710 const ParameterCount& arguments() { return arguments_; } | 714 const ParameterCount& arguments() { return arguments_; } |
711 | 715 |
712 MUST_USE_RESULT MaybeObject* GetCode(PropertyType type, String* name); | 716 MUST_USE_RESULT MaybeObject* GetCode(PropertyType type, String* name); |
713 | 717 |
714 // Convenience function. Calls GetCode above passing | 718 // Convenience function. Calls GetCode above passing |
715 // CONSTANT_FUNCTION type and the name of the given function. | 719 // CONSTANT_FUNCTION type and the name of the given function. |
716 MUST_USE_RESULT MaybeObject* GetCode(JSFunction* function); | 720 MUST_USE_RESULT MaybeObject* GetCode(JSFunction* function); |
717 | 721 |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
789 | 793 |
790 JSFunction* constant_function_; | 794 JSFunction* constant_function_; |
791 bool is_simple_api_call_; | 795 bool is_simple_api_call_; |
792 FunctionTemplateInfo* expected_receiver_type_; | 796 FunctionTemplateInfo* expected_receiver_type_; |
793 CallHandlerInfo* api_call_info_; | 797 CallHandlerInfo* api_call_info_; |
794 }; | 798 }; |
795 | 799 |
796 } } // namespace v8::internal | 800 } } // namespace v8::internal |
797 | 801 |
798 #endif // V8_STUB_CACHE_H_ | 802 #endif // V8_STUB_CACHE_H_ |
OLD | NEW |