| 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_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 5 #ifndef V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
| 6 #define V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 6 #define V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
| 7 | 7 |
| 8 #include <cstring> | 8 #include <cstring> |
| 9 #include <iosfwd> | 9 #include <iosfwd> |
| 10 | 10 |
| (...skipping 2377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2388 | 2388 |
| 2389 Handle<JSFunction> known_function_; | 2389 Handle<JSFunction> known_function_; |
| 2390 int formal_parameter_count_; | 2390 int formal_parameter_count_; |
| 2391 bool has_stack_check_; | 2391 bool has_stack_check_; |
| 2392 }; | 2392 }; |
| 2393 | 2393 |
| 2394 | 2394 |
| 2395 class HCallFunction final : public HBinaryCall { | 2395 class HCallFunction final : public HBinaryCall { |
| 2396 public: | 2396 public: |
| 2397 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HCallFunction, HValue*, int); | 2397 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HCallFunction, HValue*, int); |
| 2398 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P3( | |
| 2399 HCallFunction, HValue*, int, CallFunctionFlags); | |
| 2400 | 2398 |
| 2401 HValue* context() const { return first(); } | 2399 HValue* context() const { return first(); } |
| 2402 HValue* function() const { return second(); } | 2400 HValue* function() const { return second(); } |
| 2403 CallFunctionFlags function_flags() const { return function_flags_; } | |
| 2404 | 2401 |
| 2405 FeedbackVectorSlot slot() const { return slot_; } | 2402 FeedbackVectorSlot slot() const { return slot_; } |
| 2406 Handle<TypeFeedbackVector> feedback_vector() const { | 2403 Handle<TypeFeedbackVector> feedback_vector() const { |
| 2407 return feedback_vector_; | 2404 return feedback_vector_; |
| 2408 } | 2405 } |
| 2409 bool HasVectorAndSlot() const { return !feedback_vector_.is_null(); } | 2406 bool HasVectorAndSlot() const { return !feedback_vector_.is_null(); } |
| 2410 void SetVectorAndSlot(Handle<TypeFeedbackVector> vector, | 2407 void SetVectorAndSlot(Handle<TypeFeedbackVector> vector, |
| 2411 FeedbackVectorSlot slot) { | 2408 FeedbackVectorSlot slot) { |
| 2412 feedback_vector_ = vector; | 2409 feedback_vector_ = vector; |
| 2413 slot_ = slot; | 2410 slot_ = slot; |
| 2414 } | 2411 } |
| 2415 | 2412 |
| 2416 DECLARE_CONCRETE_INSTRUCTION(CallFunction) | 2413 DECLARE_CONCRETE_INSTRUCTION(CallFunction) |
| 2417 | 2414 |
| 2418 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT | 2415 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT |
| 2419 | 2416 |
| 2420 int argument_delta() const override { return -argument_count(); } | 2417 int argument_delta() const override { return -argument_count(); } |
| 2421 | 2418 |
| 2422 private: | 2419 private: |
| 2423 HCallFunction(HValue* context, HValue* function, int argument_count, | 2420 HCallFunction(HValue* context, HValue* function, int argument_count) |
| 2424 CallFunctionFlags flags = NO_CALL_FUNCTION_FLAGS) | 2421 : HBinaryCall(context, function, argument_count) {} |
| 2425 : HBinaryCall(context, function, argument_count), | |
| 2426 function_flags_(flags) {} | |
| 2427 CallFunctionFlags function_flags_; | |
| 2428 Handle<TypeFeedbackVector> feedback_vector_; | 2422 Handle<TypeFeedbackVector> feedback_vector_; |
| 2429 FeedbackVectorSlot slot_; | 2423 FeedbackVectorSlot slot_; |
| 2430 }; | 2424 }; |
| 2431 | 2425 |
| 2432 | 2426 |
| 2433 class HCallNew final : public HBinaryCall { | 2427 class HCallNew final : public HBinaryCall { |
| 2434 public: | 2428 public: |
| 2435 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HCallNew, HValue*, int); | 2429 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HCallNew, HValue*, int); |
| 2436 | 2430 |
| 2437 HValue* context() { return first(); } | 2431 HValue* context() { return first(); } |
| (...skipping 5478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7916 | 7910 |
| 7917 | 7911 |
| 7918 | 7912 |
| 7919 #undef DECLARE_INSTRUCTION | 7913 #undef DECLARE_INSTRUCTION |
| 7920 #undef DECLARE_CONCRETE_INSTRUCTION | 7914 #undef DECLARE_CONCRETE_INSTRUCTION |
| 7921 | 7915 |
| 7922 } // namespace internal | 7916 } // namespace internal |
| 7923 } // namespace v8 | 7917 } // namespace v8 |
| 7924 | 7918 |
| 7925 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 7919 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
| OLD | NEW |