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

Side by Side Diff: src/compiler/machine-operator.h

Issue 1905813003: [turbofan] Introduce dedicated BitcastWordToTagged machine operator. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: REBASE. Small fix. 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/instruction-selector.cc ('k') | src/compiler/machine-operator.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 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_MACHINE_OPERATOR_H_ 5 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_
6 #define V8_COMPILER_MACHINE_OPERATOR_H_ 6 #define V8_COMPILER_MACHINE_OPERATOR_H_
7 7
8 #include "src/base/flags.h" 8 #include "src/base/flags.h"
9 #include "src/machine-type.h" 9 #include "src/machine-type.h"
10 10
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 const Operator* Int64Mul(); 213 const Operator* Int64Mul();
214 const Operator* Int64Div(); 214 const Operator* Int64Div();
215 const Operator* Int64Mod(); 215 const Operator* Int64Mod();
216 const Operator* Int64LessThan(); 216 const Operator* Int64LessThan();
217 const Operator* Int64LessThanOrEqual(); 217 const Operator* Int64LessThanOrEqual();
218 const Operator* Uint64Div(); 218 const Operator* Uint64Div();
219 const Operator* Uint64LessThan(); 219 const Operator* Uint64LessThan();
220 const Operator* Uint64LessThanOrEqual(); 220 const Operator* Uint64LessThanOrEqual();
221 const Operator* Uint64Mod(); 221 const Operator* Uint64Mod();
222 222
223 // This operator reinterprets the bits of a word as tagged pointer.
224 const Operator* BitcastWordToTagged();
225
223 // These operators change the representation of numbers while preserving the 226 // These operators change the representation of numbers while preserving the
224 // value of the number. Narrowing operators assume the input is representable 227 // value of the number. Narrowing operators assume the input is representable
225 // in the target type and are *not* defined for other inputs. 228 // in the target type and are *not* defined for other inputs.
226 // Use narrowing change operators only when there is a static guarantee that 229 // Use narrowing change operators only when there is a static guarantee that
227 // the input value is representable in the target value. 230 // the input value is representable in the target value.
228 const Operator* ChangeFloat32ToFloat64(); 231 const Operator* ChangeFloat32ToFloat64();
229 const Operator* ChangeFloat64ToInt32(); // narrowing 232 const Operator* ChangeFloat64ToInt32(); // narrowing
230 const Operator* ChangeFloat64ToUint32(); // narrowing 233 const Operator* ChangeFloat64ToUint32(); // narrowing
231 const Operator* TruncateFloat64ToUint32(); 234 const Operator* TruncateFloat64ToUint32();
232 const Operator* TruncateFloat32ToInt32(); 235 const Operator* TruncateFloat32ToInt32();
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 }; 385 };
383 386
384 387
385 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) 388 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags)
386 389
387 } // namespace compiler 390 } // namespace compiler
388 } // namespace internal 391 } // namespace internal
389 } // namespace v8 392 } // namespace v8
390 393
391 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ 394 #endif // V8_COMPILER_MACHINE_OPERATOR_H_
OLDNEW
« no previous file with comments | « src/compiler/instruction-selector.cc ('k') | src/compiler/machine-operator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698