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 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
725 DEFINE_CALL_INTERFACE_DESCRIPTOR(FastNewClosure); | 725 DEFINE_CALL_INTERFACE_DESCRIPTOR(FastNewClosure); |
726 DEFINE_HYDROGEN_CODE_STUB(FastNewClosure, HydrogenCodeStub); | 726 DEFINE_HYDROGEN_CODE_STUB(FastNewClosure, HydrogenCodeStub); |
727 }; | 727 }; |
728 | 728 |
729 | 729 |
730 class FastNewContextStub final : public HydrogenCodeStub { | 730 class FastNewContextStub final : public HydrogenCodeStub { |
731 public: | 731 public: |
732 static const int kMaximumSlots = 64; | 732 static const int kMaximumSlots = 64; |
733 | 733 |
734 FastNewContextStub(Isolate* isolate, int slots) : HydrogenCodeStub(isolate) { | 734 FastNewContextStub(Isolate* isolate, int slots) : HydrogenCodeStub(isolate) { |
735 DCHECK(slots > 0 && slots <= kMaximumSlots); | 735 DCHECK(slots >= 0 && slots <= kMaximumSlots); |
736 set_sub_minor_key(SlotsBits::encode(slots)); | 736 set_sub_minor_key(SlotsBits::encode(slots)); |
737 } | 737 } |
738 | 738 |
739 int slots() const { return SlotsBits::decode(sub_minor_key()); } | 739 int slots() const { return SlotsBits::decode(sub_minor_key()); } |
740 | 740 |
741 // Parameters accessed via CodeStubGraphBuilder::GetParameter() | 741 // Parameters accessed via CodeStubGraphBuilder::GetParameter() |
742 static const int kFunction = 0; | 742 static const int kFunction = 0; |
743 | 743 |
744 private: | 744 private: |
745 class SlotsBits : public BitField<int, 0, 8> {}; | 745 class SlotsBits : public BitField<int, 0, 8> {}; |
(...skipping 2220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2966 | 2966 |
2967 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR | 2967 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR |
2968 #undef DEFINE_PLATFORM_CODE_STUB | 2968 #undef DEFINE_PLATFORM_CODE_STUB |
2969 #undef DEFINE_HANDLER_CODE_STUB | 2969 #undef DEFINE_HANDLER_CODE_STUB |
2970 #undef DEFINE_HYDROGEN_CODE_STUB | 2970 #undef DEFINE_HYDROGEN_CODE_STUB |
2971 #undef DEFINE_CODE_STUB | 2971 #undef DEFINE_CODE_STUB |
2972 #undef DEFINE_CODE_STUB_BASE | 2972 #undef DEFINE_CODE_STUB_BASE |
2973 } } // namespace v8::internal | 2973 } } // namespace v8::internal |
2974 | 2974 |
2975 #endif // V8_CODE_STUBS_H_ | 2975 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |