| 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_CODE_STUBS_H_ | 5 #ifndef V8_CODE_STUBS_H_ |
| 6 #define V8_CODE_STUBS_H_ | 6 #define V8_CODE_STUBS_H_ |
| 7 | 7 |
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/assembler.h" | 9 #include "src/assembler.h" |
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
| (...skipping 904 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 915 | 915 |
| 916 class CallICStub : public TurboFanCodeStub { | 916 class CallICStub : public TurboFanCodeStub { |
| 917 public: | 917 public: |
| 918 CallICStub(Isolate* isolate, ConvertReceiverMode convert_mode, | 918 CallICStub(Isolate* isolate, ConvertReceiverMode convert_mode, |
| 919 TailCallMode tail_call_mode) | 919 TailCallMode tail_call_mode) |
| 920 : TurboFanCodeStub(isolate) { | 920 : TurboFanCodeStub(isolate) { |
| 921 minor_key_ = ConvertModeBits::encode(convert_mode) | | 921 minor_key_ = ConvertModeBits::encode(convert_mode) | |
| 922 TailCallModeBits::encode(tail_call_mode); | 922 TailCallModeBits::encode(tail_call_mode); |
| 923 } | 923 } |
| 924 | 924 |
| 925 Code::Kind GetCodeKind() const override { return Code::CALL_IC; } | |
| 926 | |
| 927 ExtraICState GetExtraICState() const final { | |
| 928 return static_cast<ExtraICState>(minor_key_); | |
| 929 } | |
| 930 | |
| 931 protected: | 925 protected: |
| 932 typedef BitField<ConvertReceiverMode, 0, 2> ConvertModeBits; | 926 typedef BitField<ConvertReceiverMode, 0, 2> ConvertModeBits; |
| 933 typedef BitField<TailCallMode, ConvertModeBits::kNext, 1> TailCallModeBits; | 927 typedef BitField<TailCallMode, ConvertModeBits::kNext, 1> TailCallModeBits; |
| 934 | 928 |
| 935 ConvertReceiverMode convert_mode() const { | 929 ConvertReceiverMode convert_mode() const { |
| 936 return ConvertModeBits::decode(minor_key_); | 930 return ConvertModeBits::decode(minor_key_); |
| 937 } | 931 } |
| 938 TailCallMode tail_call_mode() const { | 932 TailCallMode tail_call_mode() const { |
| 939 return TailCallModeBits::decode(minor_key_); | 933 return TailCallModeBits::decode(minor_key_); |
| 940 } | 934 } |
| (...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1599 | 1593 |
| 1600 class CallICTrampolineStub : public TurboFanCodeStub { | 1594 class CallICTrampolineStub : public TurboFanCodeStub { |
| 1601 public: | 1595 public: |
| 1602 CallICTrampolineStub(Isolate* isolate, ConvertReceiverMode convert_mode, | 1596 CallICTrampolineStub(Isolate* isolate, ConvertReceiverMode convert_mode, |
| 1603 TailCallMode tail_call_mode) | 1597 TailCallMode tail_call_mode) |
| 1604 : TurboFanCodeStub(isolate) { | 1598 : TurboFanCodeStub(isolate) { |
| 1605 minor_key_ = ConvertModeBits::encode(convert_mode) | | 1599 minor_key_ = ConvertModeBits::encode(convert_mode) | |
| 1606 TailCallModeBits::encode(tail_call_mode); | 1600 TailCallModeBits::encode(tail_call_mode); |
| 1607 } | 1601 } |
| 1608 | 1602 |
| 1609 Code::Kind GetCodeKind() const override { return Code::CALL_IC; } | |
| 1610 | |
| 1611 ExtraICState GetExtraICState() const final { | |
| 1612 return static_cast<ExtraICState>(minor_key_); | |
| 1613 } | |
| 1614 | |
| 1615 protected: | 1603 protected: |
| 1616 typedef BitField<ConvertReceiverMode, 0, 2> ConvertModeBits; | 1604 typedef BitField<ConvertReceiverMode, 0, 2> ConvertModeBits; |
| 1617 typedef BitField<TailCallMode, ConvertModeBits::kNext, 1> TailCallModeBits; | 1605 typedef BitField<TailCallMode, ConvertModeBits::kNext, 1> TailCallModeBits; |
| 1618 | 1606 |
| 1619 ConvertReceiverMode convert_mode() const { | 1607 ConvertReceiverMode convert_mode() const { |
| 1620 return ConvertModeBits::decode(minor_key_); | 1608 return ConvertModeBits::decode(minor_key_); |
| 1621 } | 1609 } |
| 1622 TailCallMode tail_call_mode() const { | 1610 TailCallMode tail_call_mode() const { |
| 1623 return TailCallModeBits::decode(minor_key_); | 1611 return TailCallModeBits::decode(minor_key_); |
| 1624 } | 1612 } |
| (...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2122 #undef DEFINE_PLATFORM_CODE_STUB | 2110 #undef DEFINE_PLATFORM_CODE_STUB |
| 2123 #undef DEFINE_HANDLER_CODE_STUB | 2111 #undef DEFINE_HANDLER_CODE_STUB |
| 2124 #undef DEFINE_HYDROGEN_CODE_STUB | 2112 #undef DEFINE_HYDROGEN_CODE_STUB |
| 2125 #undef DEFINE_CODE_STUB | 2113 #undef DEFINE_CODE_STUB |
| 2126 #undef DEFINE_CODE_STUB_BASE | 2114 #undef DEFINE_CODE_STUB_BASE |
| 2127 | 2115 |
| 2128 } // namespace internal | 2116 } // namespace internal |
| 2129 } // namespace v8 | 2117 } // namespace v8 |
| 2130 | 2118 |
| 2131 #endif // V8_CODE_STUBS_H_ | 2119 #endif // V8_CODE_STUBS_H_ |
| OLD | NEW |