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 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 | 596 |
597 const Operator* JSOperatorBuilder::ConvertReceiver( | 597 const Operator* JSOperatorBuilder::ConvertReceiver( |
598 ConvertReceiverMode convert_mode) { | 598 ConvertReceiverMode convert_mode) { |
599 return new (zone()) Operator1<ConvertReceiverMode>( // -- | 599 return new (zone()) Operator1<ConvertReceiverMode>( // -- |
600 IrOpcode::kJSConvertReceiver, Operator::kNoThrow, // opcode | 600 IrOpcode::kJSConvertReceiver, Operator::kNoThrow, // opcode |
601 "JSConvertReceiver", // name | 601 "JSConvertReceiver", // name |
602 1, 1, 1, 1, 1, 0, // counts | 602 1, 1, 1, 1, 1, 0, // counts |
603 convert_mode); // parameter | 603 convert_mode); // parameter |
604 } | 604 } |
605 | 605 |
606 | 606 const Operator* JSOperatorBuilder::LoadNamed(Handle<Name> name, |
607 const Operator* JSOperatorBuilder::LoadNamed(LanguageMode language_mode, | |
608 Handle<Name> name, | |
609 const VectorSlotPair& feedback) { | 607 const VectorSlotPair& feedback) { |
610 NamedAccess access(language_mode, name, feedback); | 608 NamedAccess access(SLOPPY, name, feedback); |
611 return new (zone()) Operator1<NamedAccess>( // -- | 609 return new (zone()) Operator1<NamedAccess>( // -- |
612 IrOpcode::kJSLoadNamed, Operator::kNoProperties, // opcode | 610 IrOpcode::kJSLoadNamed, Operator::kNoProperties, // opcode |
613 "JSLoadNamed", // name | 611 "JSLoadNamed", // name |
614 2, 1, 1, 1, 1, 2, // counts | 612 2, 1, 1, 1, 1, 2, // counts |
615 access); // parameter | 613 access); // parameter |
616 } | 614 } |
617 | 615 |
618 | |
619 const Operator* JSOperatorBuilder::LoadProperty( | 616 const Operator* JSOperatorBuilder::LoadProperty( |
620 LanguageMode language_mode, VectorSlotPair const& feedback) { | 617 VectorSlotPair const& feedback) { |
621 PropertyAccess access(language_mode, feedback); | 618 PropertyAccess access(SLOPPY, feedback); |
622 return new (zone()) Operator1<PropertyAccess>( // -- | 619 return new (zone()) Operator1<PropertyAccess>( // -- |
623 IrOpcode::kJSLoadProperty, Operator::kNoProperties, // opcode | 620 IrOpcode::kJSLoadProperty, Operator::kNoProperties, // opcode |
624 "JSLoadProperty", // name | 621 "JSLoadProperty", // name |
625 3, 1, 1, 1, 1, 2, // counts | 622 3, 1, 1, 1, 1, 2, // counts |
626 access); // parameter | 623 access); // parameter |
627 } | 624 } |
628 | 625 |
629 | 626 |
630 const Operator* JSOperatorBuilder::StoreNamed(LanguageMode language_mode, | 627 const Operator* JSOperatorBuilder::StoreNamed(LanguageMode language_mode, |
631 Handle<Name> name, | 628 Handle<Name> name, |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
811 return new (zone()) Operator1<Handle<ScopeInfo>>( // -- | 808 return new (zone()) Operator1<Handle<ScopeInfo>>( // -- |
812 IrOpcode::kJSCreateScriptContext, Operator::kNoProperties, // opcode | 809 IrOpcode::kJSCreateScriptContext, Operator::kNoProperties, // opcode |
813 "JSCreateScriptContext", // name | 810 "JSCreateScriptContext", // name |
814 1, 1, 1, 1, 1, 2, // counts | 811 1, 1, 1, 1, 1, 2, // counts |
815 scpope_info); // parameter | 812 scpope_info); // parameter |
816 } | 813 } |
817 | 814 |
818 } // namespace compiler | 815 } // namespace compiler |
819 } // namespace internal | 816 } // namespace internal |
820 } // namespace v8 | 817 } // namespace v8 |
OLD | NEW |