| 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 |