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 |