| OLD | NEW | 
|---|
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #include "src/compiler/js-operator.h" | 5 #include "src/compiler/js-operator.h" | 
| 6 | 6 | 
| 7 #include <limits> | 7 #include <limits> | 
| 8 | 8 | 
| 9 #include "src/base/lazy-instance.h" | 9 #include "src/base/lazy-instance.h" | 
| 10 #include "src/compiler/opcodes.h" | 10 #include "src/compiler/opcodes.h" | 
| (...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 384   return os << p.language_mode(); | 384   return os << p.language_mode(); | 
| 385 } | 385 } | 
| 386 | 386 | 
| 387 | 387 | 
| 388 const StorePropertyParameters& StorePropertyParametersOf(const Operator* op) { | 388 const StorePropertyParameters& StorePropertyParametersOf(const Operator* op) { | 
| 389   DCHECK_EQ(IrOpcode::kJSStoreProperty, op->opcode()); | 389   DCHECK_EQ(IrOpcode::kJSStoreProperty, op->opcode()); | 
| 390   return OpParameter<StorePropertyParameters>(op); | 390   return OpParameter<StorePropertyParameters>(op); | 
| 391 } | 391 } | 
| 392 | 392 | 
| 393 | 393 | 
|  | 394 bool operator==(CreateArgumentsParameters const& lhs, | 
|  | 395                 CreateArgumentsParameters const& rhs) { | 
|  | 396   return lhs.type() == rhs.type() && lhs.start_index() == rhs.start_index(); | 
|  | 397 } | 
|  | 398 | 
|  | 399 | 
|  | 400 bool operator!=(CreateArgumentsParameters const& lhs, | 
|  | 401                 CreateArgumentsParameters const& rhs) { | 
|  | 402   return !(lhs == rhs); | 
|  | 403 } | 
|  | 404 | 
|  | 405 | 
|  | 406 size_t hash_value(CreateArgumentsParameters const& p) { | 
|  | 407   return base::hash_combine(p.type(), p.start_index()); | 
|  | 408 } | 
|  | 409 | 
|  | 410 | 
|  | 411 std::ostream& operator<<(std::ostream& os, CreateArgumentsParameters const& p) { | 
|  | 412   return os << p.type() << ", " << p.start_index(); | 
|  | 413 } | 
|  | 414 | 
|  | 415 | 
| 394 bool operator==(CreateClosureParameters const& lhs, | 416 bool operator==(CreateClosureParameters const& lhs, | 
| 395                 CreateClosureParameters const& rhs) { | 417                 CreateClosureParameters const& rhs) { | 
| 396   return lhs.pretenure() == rhs.pretenure() && | 418   return lhs.pretenure() == rhs.pretenure() && | 
| 397          lhs.shared_info().is_identical_to(rhs.shared_info()); | 419          lhs.shared_info().is_identical_to(rhs.shared_info()); | 
| 398 } | 420 } | 
| 399 | 421 | 
| 400 | 422 | 
| 401 bool operator!=(CreateClosureParameters const& lhs, | 423 bool operator!=(CreateClosureParameters const& lhs, | 
| 402                 CreateClosureParameters const& rhs) { | 424                 CreateClosureParameters const& rhs) { | 
| 403   return !(lhs == rhs); | 425   return !(lhs == rhs); | 
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 698   ContextAccess context_access(depth, index, false); | 720   ContextAccess context_access(depth, index, false); | 
| 699   DynamicContextAccess access(name, check_bitset, context_access); | 721   DynamicContextAccess access(name, check_bitset, context_access); | 
| 700   return new (zone()) Operator1<DynamicContextAccess>(           // -- | 722   return new (zone()) Operator1<DynamicContextAccess>(           // -- | 
| 701       IrOpcode::kJSLoadDynamicContext, Operator::kNoProperties,  // opcode | 723       IrOpcode::kJSLoadDynamicContext, Operator::kNoProperties,  // opcode | 
| 702       "JSLoadDynamicContext",                                    // name | 724       "JSLoadDynamicContext",                                    // name | 
| 703       1, 1, 1, 1, 1, 2,                                          // counts | 725       1, 1, 1, 1, 1, 2,                                          // counts | 
| 704       access);                                                   // parameter | 726       access);                                                   // parameter | 
| 705 } | 727 } | 
| 706 | 728 | 
| 707 | 729 | 
|  | 730 const Operator* JSOperatorBuilder::CreateArguments( | 
|  | 731     CreateArgumentsParameters::Type type, int start_index) { | 
|  | 732   DCHECK_IMPLIES(start_index, type == CreateArgumentsParameters::kRestArray); | 
|  | 733   CreateArgumentsParameters parameters(type, start_index); | 
|  | 734   return new (zone()) Operator1<CreateArgumentsParameters>(  // -- | 
|  | 735       IrOpcode::kJSCreateArguments, Operator::kNoThrow,      // opcode | 
|  | 736       "JSCreateArguments",                                   // name | 
|  | 737       1, 1, 1, 1, 1, 0,                                      // counts | 
|  | 738       parameters);                                           // parameter | 
|  | 739 } | 
|  | 740 | 
|  | 741 | 
| 708 const Operator* JSOperatorBuilder::CreateClosure( | 742 const Operator* JSOperatorBuilder::CreateClosure( | 
| 709     Handle<SharedFunctionInfo> shared_info, PretenureFlag pretenure) { | 743     Handle<SharedFunctionInfo> shared_info, PretenureFlag pretenure) { | 
| 710   CreateClosureParameters parameters(shared_info, pretenure); | 744   CreateClosureParameters parameters(shared_info, pretenure); | 
| 711   return new (zone()) Operator1<CreateClosureParameters>(  // -- | 745   return new (zone()) Operator1<CreateClosureParameters>(  // -- | 
| 712       IrOpcode::kJSCreateClosure, Operator::kNoThrow,      // opcode | 746       IrOpcode::kJSCreateClosure, Operator::kNoThrow,      // opcode | 
| 713       "JSCreateClosure",                                   // name | 747       "JSCreateClosure",                                   // name | 
| 714       0, 1, 1, 1, 1, 0,                                    // counts | 748       0, 1, 1, 1, 1, 0,                                    // counts | 
| 715       parameters);                                         // parameter | 749       parameters);                                         // parameter | 
| 716 } | 750 } | 
| 717 | 751 | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 740                                 Handle<String>::hash>(           // -- | 774                                 Handle<String>::hash>(           // -- | 
| 741       IrOpcode::kJSCreateCatchContext, Operator::kNoProperties,  // opcode | 775       IrOpcode::kJSCreateCatchContext, Operator::kNoProperties,  // opcode | 
| 742       "JSCreateCatchContext",                                    // name | 776       "JSCreateCatchContext",                                    // name | 
| 743       2, 1, 1, 1, 1, 2,                                          // counts | 777       2, 1, 1, 1, 1, 2,                                          // counts | 
| 744       name);                                                     // parameter | 778       name);                                                     // parameter | 
| 745 } | 779 } | 
| 746 | 780 | 
| 747 }  // namespace compiler | 781 }  // namespace compiler | 
| 748 }  // namespace internal | 782 }  // namespace internal | 
| 749 }  // namespace v8 | 783 }  // namespace v8 | 
| OLD | NEW | 
|---|