| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_STUB_CACHE_H_ | 5 #ifndef V8_STUB_CACHE_H_ |
| 6 #define V8_STUB_CACHE_H_ | 6 #define V8_STUB_CACHE_H_ |
| 7 | 7 |
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/arguments.h" | 9 #include "src/arguments.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 virtual void FrontendFooter(Handle<Name> name, Label* miss); | 582 virtual void FrontendFooter(Handle<Name> name, Label* miss); |
| 583 void GenerateRestoreName(Label* label, Handle<Name> name); | 583 void GenerateRestoreName(Label* label, Handle<Name> name); |
| 584 | 584 |
| 585 private: | 585 private: |
| 586 void GenerateStoreTransition(Handle<Map> transition, Handle<Name> name, | 586 void GenerateStoreTransition(Handle<Map> transition, Handle<Name> name, |
| 587 Register receiver_reg, Register name_reg, | 587 Register receiver_reg, Register name_reg, |
| 588 Register value_reg, Register scratch1, | 588 Register value_reg, Register scratch1, |
| 589 Register scratch2, Register scratch3, | 589 Register scratch2, Register scratch3, |
| 590 Label* miss_label, Label* slow); | 590 Label* miss_label, Label* slow); |
| 591 | 591 |
| 592 void GenerateStoreField(Handle<JSObject> object, LookupResult* lookup, | 592 void GenerateStoreField(LookupResult* lookup, Register value_reg, |
| 593 Register receiver_reg, Register name_reg, | 593 Label* miss_label); |
| 594 Register value_reg, Register scratch1, | |
| 595 Register scratch2, Label* miss_label); | |
| 596 | 594 |
| 597 static Builtins::Name SlowBuiltin(Code::Kind kind) { | 595 static Builtins::Name SlowBuiltin(Code::Kind kind) { |
| 598 switch (kind) { | 596 switch (kind) { |
| 599 case Code::STORE_IC: return Builtins::kStoreIC_Slow; | 597 case Code::STORE_IC: return Builtins::kStoreIC_Slow; |
| 600 case Code::KEYED_STORE_IC: return Builtins::kKeyedStoreIC_Slow; | 598 case Code::KEYED_STORE_IC: return Builtins::kKeyedStoreIC_Slow; |
| 601 default: UNREACHABLE(); | 599 default: UNREACHABLE(); |
| 602 } | 600 } |
| 603 return Builtins::kStoreIC_Slow; | 601 return Builtins::kStoreIC_Slow; |
| 604 } | 602 } |
| 605 | 603 |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 Handle<JSFunction> constant_function_; | 675 Handle<JSFunction> constant_function_; |
| 678 bool is_simple_api_call_; | 676 bool is_simple_api_call_; |
| 679 Handle<FunctionTemplateInfo> expected_receiver_type_; | 677 Handle<FunctionTemplateInfo> expected_receiver_type_; |
| 680 Handle<CallHandlerInfo> api_call_info_; | 678 Handle<CallHandlerInfo> api_call_info_; |
| 681 }; | 679 }; |
| 682 | 680 |
| 683 | 681 |
| 684 } } // namespace v8::internal | 682 } } // namespace v8::internal |
| 685 | 683 |
| 686 #endif // V8_STUB_CACHE_H_ | 684 #endif // V8_STUB_CACHE_H_ |
| OLD | NEW |