| 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_HYDROGEN_INSTRUCTIONS_H_ | 5 #ifndef V8_HYDROGEN_INSTRUCTIONS_H_ |
| 6 #define V8_HYDROGEN_INSTRUCTIONS_H_ | 6 #define V8_HYDROGEN_INSTRUCTIONS_H_ |
| 7 | 7 |
| 8 #include <cstring> | 8 #include <cstring> |
| 9 #include <iosfwd> | 9 #include <iosfwd> |
| 10 | 10 |
| (...skipping 2412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2423 DECLARE_CONCRETE_INSTRUCTION(CallNew) | 2423 DECLARE_CONCRETE_INSTRUCTION(CallNew) |
| 2424 | 2424 |
| 2425 private: | 2425 private: |
| 2426 HCallNew(HValue* context, HValue* constructor, int argument_count) | 2426 HCallNew(HValue* context, HValue* constructor, int argument_count) |
| 2427 : HBinaryCall(context, constructor, argument_count) {} | 2427 : HBinaryCall(context, constructor, argument_count) {} |
| 2428 }; | 2428 }; |
| 2429 | 2429 |
| 2430 | 2430 |
| 2431 class HCallNewArray FINAL : public HBinaryCall { | 2431 class HCallNewArray FINAL : public HBinaryCall { |
| 2432 public: | 2432 public: |
| 2433 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P3(HCallNewArray, | 2433 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P4(HCallNewArray, HValue*, int, |
| 2434 HValue*, | 2434 ElementsKind, |
| 2435 int, | 2435 Handle<AllocationSite>); |
| 2436 ElementsKind); | |
| 2437 | 2436 |
| 2438 HValue* context() { return first(); } | 2437 HValue* context() { return first(); } |
| 2439 HValue* constructor() { return second(); } | 2438 HValue* constructor() { return second(); } |
| 2440 | 2439 |
| 2441 std::ostream& PrintDataTo(std::ostream& os) const OVERRIDE; // NOLINT | 2440 std::ostream& PrintDataTo(std::ostream& os) const OVERRIDE; // NOLINT |
| 2442 | 2441 |
| 2443 ElementsKind elements_kind() const { return elements_kind_; } | 2442 ElementsKind elements_kind() const { return elements_kind_; } |
| 2443 Handle<AllocationSite> site() const { return site_; } |
| 2444 | 2444 |
| 2445 DECLARE_CONCRETE_INSTRUCTION(CallNewArray) | 2445 DECLARE_CONCRETE_INSTRUCTION(CallNewArray) |
| 2446 | 2446 |
| 2447 private: | 2447 private: |
| 2448 HCallNewArray(HValue* context, HValue* constructor, int argument_count, | 2448 HCallNewArray(HValue* context, HValue* constructor, int argument_count, |
| 2449 ElementsKind elements_kind) | 2449 ElementsKind elements_kind, Handle<AllocationSite> site) |
| 2450 : HBinaryCall(context, constructor, argument_count), | 2450 : HBinaryCall(context, constructor, argument_count), |
| 2451 elements_kind_(elements_kind) {} | 2451 elements_kind_(elements_kind), |
| 2452 site_(site) {} |
| 2452 | 2453 |
| 2453 ElementsKind elements_kind_; | 2454 ElementsKind elements_kind_; |
| 2455 Handle<AllocationSite> site_; |
| 2454 }; | 2456 }; |
| 2455 | 2457 |
| 2456 | 2458 |
| 2457 class HCallRuntime FINAL : public HCall<1> { | 2459 class HCallRuntime FINAL : public HCall<1> { |
| 2458 public: | 2460 public: |
| 2459 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P3(HCallRuntime, | 2461 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P3(HCallRuntime, |
| 2460 Handle<String>, | 2462 Handle<String>, |
| 2461 const Runtime::Function*, | 2463 const Runtime::Function*, |
| 2462 int); | 2464 int); |
| 2463 | 2465 |
| (...skipping 5364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7828 }; | 7830 }; |
| 7829 | 7831 |
| 7830 | 7832 |
| 7831 | 7833 |
| 7832 #undef DECLARE_INSTRUCTION | 7834 #undef DECLARE_INSTRUCTION |
| 7833 #undef DECLARE_CONCRETE_INSTRUCTION | 7835 #undef DECLARE_CONCRETE_INSTRUCTION |
| 7834 | 7836 |
| 7835 } } // namespace v8::internal | 7837 } } // namespace v8::internal |
| 7836 | 7838 |
| 7837 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 7839 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
| OLD | NEW |