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 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
569 return StrictModeBits::decode(sub_minor_key()); | 569 return StrictModeBits::decode(sub_minor_key()); |
570 } | 570 } |
571 | 571 |
572 FunctionKind kind() const { | 572 FunctionKind kind() const { |
573 return FunctionKindBits::decode(sub_minor_key()); | 573 return FunctionKindBits::decode(sub_minor_key()); |
574 } | 574 } |
575 bool is_arrow() const { return IsArrowFunction(kind()); } | 575 bool is_arrow() const { return IsArrowFunction(kind()); } |
576 bool is_generator() const { return IsGeneratorFunction(kind()); } | 576 bool is_generator() const { return IsGeneratorFunction(kind()); } |
577 bool is_concise_method() const { return IsConciseMethod(kind()); } | 577 bool is_concise_method() const { return IsConciseMethod(kind()); } |
578 bool is_default_constructor() const { return IsDefaultConstructor(kind()); } | 578 bool is_default_constructor() const { return IsDefaultConstructor(kind()); } |
579 bool is_default_constructor_call_super() const { | |
580 return IsDefaultConstructorCallSuper(kind()); | |
581 } | |
582 | 579 |
583 private: | 580 private: |
584 class StrictModeBits : public BitField<StrictMode, 0, 1> {}; | 581 class StrictModeBits : public BitField<StrictMode, 0, 1> {}; |
585 class FunctionKindBits : public BitField<FunctionKind, 1, 5> {}; | 582 class FunctionKindBits : public BitField<FunctionKind, 1, 4> {}; |
586 | 583 |
587 DEFINE_CALL_INTERFACE_DESCRIPTOR(FastNewClosure); | 584 DEFINE_CALL_INTERFACE_DESCRIPTOR(FastNewClosure); |
588 DEFINE_HYDROGEN_CODE_STUB(FastNewClosure, HydrogenCodeStub); | 585 DEFINE_HYDROGEN_CODE_STUB(FastNewClosure, HydrogenCodeStub); |
589 }; | 586 }; |
590 | 587 |
591 | 588 |
592 class FastNewContextStub FINAL : public HydrogenCodeStub { | 589 class FastNewContextStub FINAL : public HydrogenCodeStub { |
593 public: | 590 public: |
594 static const int kMaximumSlots = 64; | 591 static const int kMaximumSlots = 64; |
595 | 592 |
(...skipping 2014 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2610 | 2607 |
2611 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR | 2608 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR |
2612 #undef DEFINE_PLATFORM_CODE_STUB | 2609 #undef DEFINE_PLATFORM_CODE_STUB |
2613 #undef DEFINE_HANDLER_CODE_STUB | 2610 #undef DEFINE_HANDLER_CODE_STUB |
2614 #undef DEFINE_HYDROGEN_CODE_STUB | 2611 #undef DEFINE_HYDROGEN_CODE_STUB |
2615 #undef DEFINE_CODE_STUB | 2612 #undef DEFINE_CODE_STUB |
2616 #undef DEFINE_CODE_STUB_BASE | 2613 #undef DEFINE_CODE_STUB_BASE |
2617 } } // namespace v8::internal | 2614 } } // namespace v8::internal |
2618 | 2615 |
2619 #endif // V8_CODE_STUBS_H_ | 2616 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |