Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: src/compiler/common-operator.cc

Issue 1846083005: Revert of [compiler] Add relocatable pointer constants for wasm memory references. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/common-operator.h ('k') | src/compiler/ia32/code-generator-ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/common-operator.h" 5 #include "src/compiler/common-operator.h"
6 6
7 #include "src/assembler.h" 7 #include "src/assembler.h"
8 #include "src/base/lazy-instance.h" 8 #include "src/base/lazy-instance.h"
9 #include "src/compiler/linkage.h" 9 #include "src/compiler/linkage.h"
10 #include "src/compiler/opcodes.h" 10 #include "src/compiler/opcodes.h"
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 135
136 size_t hash_value(ParameterInfo const& p) { return p.index(); } 136 size_t hash_value(ParameterInfo const& p) { return p.index(); }
137 137
138 138
139 std::ostream& operator<<(std::ostream& os, ParameterInfo const& i) { 139 std::ostream& operator<<(std::ostream& os, ParameterInfo const& i) {
140 if (i.debug_name()) os << i.debug_name() << '#'; 140 if (i.debug_name()) os << i.debug_name() << '#';
141 os << i.index(); 141 os << i.index();
142 return os; 142 return os;
143 } 143 }
144 144
145 bool operator==(RelocatablePtrConstantInfo const& lhs,
146 RelocatablePtrConstantInfo const& rhs) {
147 return lhs.rmode() == rhs.rmode() && lhs.value() == rhs.value();
148 }
149
150 bool operator!=(RelocatablePtrConstantInfo const& lhs,
151 RelocatablePtrConstantInfo const& rhs) {
152 return !(lhs == rhs);
153 }
154
155 size_t hash_value(RelocatablePtrConstantInfo const& p) {
156 return base::hash_combine(p.value(), p.rmode());
157 }
158
159 std::ostream& operator<<(std::ostream& os,
160 RelocatablePtrConstantInfo const& p) {
161 return os << p.value() << "|" << p.rmode();
162 }
163
164 #define CACHED_OP_LIST(V) \ 145 #define CACHED_OP_LIST(V) \
165 V(Dead, Operator::kFoldable, 0, 0, 0, 1, 1, 1) \ 146 V(Dead, Operator::kFoldable, 0, 0, 0, 1, 1, 1) \
166 V(DeoptimizeIf, Operator::kFoldable, 2, 1, 1, 0, 0, 1) \ 147 V(DeoptimizeIf, Operator::kFoldable, 2, 1, 1, 0, 0, 1) \
167 V(DeoptimizeUnless, Operator::kFoldable, 2, 1, 1, 0, 0, 1) \ 148 V(DeoptimizeUnless, Operator::kFoldable, 2, 1, 1, 0, 0, 1) \
168 V(IfTrue, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ 149 V(IfTrue, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \
169 V(IfFalse, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ 150 V(IfFalse, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \
170 V(IfSuccess, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ 151 V(IfSuccess, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \
171 V(IfDefault, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ 152 V(IfDefault, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \
172 V(Throw, Operator::kKontrol, 1, 1, 1, 0, 0, 1) \ 153 V(Throw, Operator::kKontrol, 1, 1, 1, 0, 0, 1) \
173 V(Terminate, Operator::kKontrol, 0, 1, 1, 0, 0, 1) \ 154 V(Terminate, Operator::kKontrol, 0, 1, 1, 0, 0, 1) \
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
680 661
681 const Operator* CommonOperatorBuilder::HeapConstant( 662 const Operator* CommonOperatorBuilder::HeapConstant(
682 const Handle<HeapObject>& value) { 663 const Handle<HeapObject>& value) {
683 return new (zone()) Operator1<Handle<HeapObject>>( // -- 664 return new (zone()) Operator1<Handle<HeapObject>>( // --
684 IrOpcode::kHeapConstant, Operator::kPure, // opcode 665 IrOpcode::kHeapConstant, Operator::kPure, // opcode
685 "HeapConstant", // name 666 "HeapConstant", // name
686 0, 0, 0, 1, 0, 0, // counts 667 0, 0, 0, 1, 0, 0, // counts
687 value); // parameter 668 value); // parameter
688 } 669 }
689 670
690 const Operator* CommonOperatorBuilder::RelocatableInt32Constant(
691 int32_t value, RelocInfo::Mode rmode) {
692 return new (zone()) Operator1<RelocatablePtrConstantInfo>( // --
693 IrOpcode::kRelocatableInt32Constant, Operator::kPure, // opcode
694 "RelocatableInt32Constant", // name
695 0, 0, 0, 1, 0, 0, // counts
696 RelocatablePtrConstantInfo(value, rmode)); // parameter
697 }
698
699 const Operator* CommonOperatorBuilder::RelocatableInt64Constant(
700 int64_t value, RelocInfo::Mode rmode) {
701 return new (zone()) Operator1<RelocatablePtrConstantInfo>( // --
702 IrOpcode::kRelocatableInt64Constant, Operator::kPure, // opcode
703 "RelocatableInt64Constant", // name
704 0, 0, 0, 1, 0, 0, // counts
705 RelocatablePtrConstantInfo(value, rmode)); // parameter
706 }
707 671
708 const Operator* CommonOperatorBuilder::Select(MachineRepresentation rep, 672 const Operator* CommonOperatorBuilder::Select(MachineRepresentation rep,
709 BranchHint hint) { 673 BranchHint hint) {
710 return new (zone()) Operator1<SelectParameters>( // -- 674 return new (zone()) Operator1<SelectParameters>( // --
711 IrOpcode::kSelect, Operator::kPure, // opcode 675 IrOpcode::kSelect, Operator::kPure, // opcode
712 "Select", // name 676 "Select", // name
713 3, 0, 0, 1, 0, 0, // counts 677 3, 0, 0, 1, 0, 0, // counts
714 SelectParameters(rep, hint)); // parameter 678 SelectParameters(rep, hint)); // parameter
715 } 679 }
716 680
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
898 CommonOperatorBuilder::CreateFrameStateFunctionInfo( 862 CommonOperatorBuilder::CreateFrameStateFunctionInfo(
899 FrameStateType type, int parameter_count, int local_count, 863 FrameStateType type, int parameter_count, int local_count,
900 Handle<SharedFunctionInfo> shared_info) { 864 Handle<SharedFunctionInfo> shared_info) {
901 return new (zone()->New(sizeof(FrameStateFunctionInfo))) 865 return new (zone()->New(sizeof(FrameStateFunctionInfo)))
902 FrameStateFunctionInfo(type, parameter_count, local_count, shared_info); 866 FrameStateFunctionInfo(type, parameter_count, local_count, shared_info);
903 } 867 }
904 868
905 } // namespace compiler 869 } // namespace compiler
906 } // namespace internal 870 } // namespace internal
907 } // namespace v8 871 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/common-operator.h ('k') | src/compiler/ia32/code-generator-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698