OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 3990 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4001 | 4001 |
4002 DECLARE_CONCRETE_INSTRUCTION(OsrEntry) | 4002 DECLARE_CONCRETE_INSTRUCTION(OsrEntry) |
4003 | 4003 |
4004 private: | 4004 private: |
4005 BailoutId ast_id_; | 4005 BailoutId ast_id_; |
4006 }; | 4006 }; |
4007 | 4007 |
4008 | 4008 |
4009 class HParameter: public HTemplateInstruction<0> { | 4009 class HParameter: public HTemplateInstruction<0> { |
4010 public: | 4010 public: |
4011 explicit HParameter(unsigned index) : index_(index) { | 4011 enum ParameterKind { |
| 4012 STACK_PARAMETER, |
| 4013 REGISTER_PARAMETER |
| 4014 }; |
| 4015 |
| 4016 explicit HParameter(unsigned index, |
| 4017 ParameterKind kind = STACK_PARAMETER) |
| 4018 : index_(index), |
| 4019 kind_(kind) { |
4012 set_representation(Representation::Tagged()); | 4020 set_representation(Representation::Tagged()); |
4013 } | 4021 } |
4014 | 4022 |
4015 unsigned index() const { return index_; } | 4023 unsigned index() const { return index_; } |
| 4024 ParameterKind kind() const { return kind_; } |
4016 | 4025 |
4017 virtual void PrintDataTo(StringStream* stream); | 4026 virtual void PrintDataTo(StringStream* stream); |
4018 | 4027 |
4019 virtual Representation RequiredInputRepresentation(int index) { | 4028 virtual Representation RequiredInputRepresentation(int index) { |
4020 return Representation::None(); | 4029 return Representation::None(); |
4021 } | 4030 } |
4022 | 4031 |
4023 DECLARE_CONCRETE_INSTRUCTION(Parameter) | 4032 DECLARE_CONCRETE_INSTRUCTION(Parameter) |
4024 | 4033 |
4025 private: | 4034 private: |
4026 unsigned index_; | 4035 unsigned index_; |
| 4036 ParameterKind kind_; |
4027 }; | 4037 }; |
4028 | 4038 |
4029 | 4039 |
4030 class HCallStub: public HUnaryCall { | 4040 class HCallStub: public HUnaryCall { |
4031 public: | 4041 public: |
4032 HCallStub(HValue* context, CodeStub::Major major_key, int argument_count) | 4042 HCallStub(HValue* context, CodeStub::Major major_key, int argument_count) |
4033 : HUnaryCall(context, argument_count), | 4043 : HUnaryCall(context, argument_count), |
4034 major_key_(major_key), | 4044 major_key_(major_key), |
4035 transcendental_type_(TranscendentalCache::kNumberOfCaches) { | 4045 transcendental_type_(TranscendentalCache::kNumberOfCaches) { |
4036 } | 4046 } |
(...skipping 1572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5609 virtual bool IsDeletable() const { return true; } | 5619 virtual bool IsDeletable() const { return true; } |
5610 }; | 5620 }; |
5611 | 5621 |
5612 | 5622 |
5613 #undef DECLARE_INSTRUCTION | 5623 #undef DECLARE_INSTRUCTION |
5614 #undef DECLARE_CONCRETE_INSTRUCTION | 5624 #undef DECLARE_CONCRETE_INSTRUCTION |
5615 | 5625 |
5616 } } // namespace v8::internal | 5626 } } // namespace v8::internal |
5617 | 5627 |
5618 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 5628 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |