OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_COMPILER_JS_OPERATOR_H_ | 5 #ifndef V8_COMPILER_JS_OPERATOR_H_ |
6 #define V8_COMPILER_JS_OPERATOR_H_ | 6 #define V8_COMPILER_JS_OPERATOR_H_ |
7 | 7 |
8 #include "src/base/compiler-specific.h" | 8 #include "src/base/compiler-specific.h" |
9 #include "src/globals.h" | 9 #include "src/globals.h" |
10 #include "src/runtime/runtime.h" | 10 #include "src/runtime/runtime.h" |
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
406 std::ostream& operator<<(std::ostream&, CreateArrayParameters const&); | 406 std::ostream& operator<<(std::ostream&, CreateArrayParameters const&); |
407 | 407 |
408 const CreateArrayParameters& CreateArrayParametersOf(const Operator* op); | 408 const CreateArrayParameters& CreateArrayParametersOf(const Operator* op); |
409 | 409 |
410 | 410 |
411 // Defines shared information for the closure that should be created. This is | 411 // Defines shared information for the closure that should be created. This is |
412 // used as a parameter by JSCreateClosure operators. | 412 // used as a parameter by JSCreateClosure operators. |
413 class CreateClosureParameters final { | 413 class CreateClosureParameters final { |
414 public: | 414 public: |
415 CreateClosureParameters(Handle<SharedFunctionInfo> shared_info, | 415 CreateClosureParameters(Handle<SharedFunctionInfo> shared_info, |
416 VectorSlotPair const& feedback, | |
417 PretenureFlag pretenure) | 416 PretenureFlag pretenure) |
418 : shared_info_(shared_info), feedback_(feedback), pretenure_(pretenure) {} | 417 : shared_info_(shared_info), pretenure_(pretenure) {} |
419 | 418 |
420 Handle<SharedFunctionInfo> shared_info() const { return shared_info_; } | 419 Handle<SharedFunctionInfo> shared_info() const { return shared_info_; } |
421 VectorSlotPair const& feedback() const { return feedback_; } | |
422 PretenureFlag pretenure() const { return pretenure_; } | 420 PretenureFlag pretenure() const { return pretenure_; } |
423 | 421 |
424 private: | 422 private: |
425 const Handle<SharedFunctionInfo> shared_info_; | 423 const Handle<SharedFunctionInfo> shared_info_; |
426 VectorSlotPair const feedback_; | |
427 const PretenureFlag pretenure_; | 424 const PretenureFlag pretenure_; |
428 }; | 425 }; |
429 | 426 |
430 bool operator==(CreateClosureParameters const&, CreateClosureParameters const&); | 427 bool operator==(CreateClosureParameters const&, CreateClosureParameters const&); |
431 bool operator!=(CreateClosureParameters const&, CreateClosureParameters const&); | 428 bool operator!=(CreateClosureParameters const&, CreateClosureParameters const&); |
432 | 429 |
433 size_t hash_value(CreateClosureParameters const&); | 430 size_t hash_value(CreateClosureParameters const&); |
434 | 431 |
435 std::ostream& operator<<(std::ostream&, CreateClosureParameters const&); | 432 std::ostream& operator<<(std::ostream&, CreateClosureParameters const&); |
436 | 433 |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 const Operator* ToLength(); | 501 const Operator* ToLength(); |
505 const Operator* ToName(); | 502 const Operator* ToName(); |
506 const Operator* ToNumber(); | 503 const Operator* ToNumber(); |
507 const Operator* ToObject(); | 504 const Operator* ToObject(); |
508 const Operator* ToString(); | 505 const Operator* ToString(); |
509 | 506 |
510 const Operator* Create(); | 507 const Operator* Create(); |
511 const Operator* CreateArguments(CreateArgumentsType type); | 508 const Operator* CreateArguments(CreateArgumentsType type); |
512 const Operator* CreateArray(size_t arity, Handle<AllocationSite> site); | 509 const Operator* CreateArray(size_t arity, Handle<AllocationSite> site); |
513 const Operator* CreateClosure(Handle<SharedFunctionInfo> shared_info, | 510 const Operator* CreateClosure(Handle<SharedFunctionInfo> shared_info, |
514 VectorSlotPair const& feedback, | |
515 PretenureFlag pretenure); | 511 PretenureFlag pretenure); |
516 const Operator* CreateIterResultObject(); | 512 const Operator* CreateIterResultObject(); |
517 const Operator* CreateKeyValueArray(); | 513 const Operator* CreateKeyValueArray(); |
518 const Operator* CreateLiteralArray(Handle<ConstantElementsPair> constant, | 514 const Operator* CreateLiteralArray(Handle<ConstantElementsPair> constant, |
519 int literal_flags, int literal_index, | 515 int literal_flags, int literal_index, |
520 int number_of_elements); | 516 int number_of_elements); |
521 const Operator* CreateLiteralObject(Handle<FixedArray> constant_properties, | 517 const Operator* CreateLiteralObject(Handle<FixedArray> constant_properties, |
522 int literal_flags, int literal_index, | 518 int literal_flags, int literal_index, |
523 int number_of_properties); | 519 int number_of_properties); |
524 const Operator* CreateLiteralRegExp(Handle<String> constant_pattern, | 520 const Operator* CreateLiteralRegExp(Handle<String> constant_pattern, |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
601 Zone* const zone_; | 597 Zone* const zone_; |
602 | 598 |
603 DISALLOW_COPY_AND_ASSIGN(JSOperatorBuilder); | 599 DISALLOW_COPY_AND_ASSIGN(JSOperatorBuilder); |
604 }; | 600 }; |
605 | 601 |
606 } // namespace compiler | 602 } // namespace compiler |
607 } // namespace internal | 603 } // namespace internal |
608 } // namespace v8 | 604 } // namespace v8 |
609 | 605 |
610 #endif // V8_COMPILER_JS_OPERATOR_H_ | 606 #endif // V8_COMPILER_JS_OPERATOR_H_ |
OLD | NEW |