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

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

Issue 2277283002: Reland of [turbofan] Insert dummy values when changing from None type. (Closed)
Patch Set: Workaround for uninhabited representations. Created 4 years, 3 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 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 const Operator* TruncateFloat32ToUint32(); 295 const Operator* TruncateFloat32ToUint32();
296 const Operator* TryTruncateFloat32ToInt64(); 296 const Operator* TryTruncateFloat32ToInt64();
297 const Operator* TryTruncateFloat64ToInt64(); 297 const Operator* TryTruncateFloat64ToInt64();
298 const Operator* TryTruncateFloat32ToUint64(); 298 const Operator* TryTruncateFloat32ToUint64();
299 const Operator* TryTruncateFloat64ToUint64(); 299 const Operator* TryTruncateFloat64ToUint64();
300 const Operator* ChangeInt32ToFloat64(); 300 const Operator* ChangeInt32ToFloat64();
301 const Operator* ChangeInt32ToInt64(); 301 const Operator* ChangeInt32ToInt64();
302 const Operator* ChangeUint32ToFloat64(); 302 const Operator* ChangeUint32ToFloat64();
303 const Operator* ChangeUint32ToUint64(); 303 const Operator* ChangeUint32ToUint64();
304 304
305 // These are changes from impossible values (for example a smi-checked
306 // string). They can safely emit an abort instruction, which should
307 // never be reached.
308 const Operator* ImpossibleToWord32();
309 const Operator* ImpossibleToWord64();
310 const Operator* ImpossibleToFloat32();
311 const Operator* ImpossibleToFloat64();
312 const Operator* ImpossibleToTagged();
313 const Operator* ImpossibleToBit();
314
315 // These operators truncate or round numbers, both changing the representation 305 // These operators truncate or round numbers, both changing the representation
316 // of the number and mapping multiple input values onto the same output value. 306 // of the number and mapping multiple input values onto the same output value.
317 const Operator* TruncateFloat64ToFloat32(); 307 const Operator* TruncateFloat64ToFloat32();
318 const Operator* TruncateInt64ToInt32(); 308 const Operator* TruncateInt64ToInt32();
319 const Operator* RoundFloat64ToInt32(); 309 const Operator* RoundFloat64ToInt32();
320 const Operator* RoundInt32ToFloat32(); 310 const Operator* RoundInt32ToFloat32();
321 const Operator* RoundInt64ToFloat32(); 311 const Operator* RoundInt64ToFloat32();
322 const Operator* RoundInt64ToFloat64(); 312 const Operator* RoundInt64ToFloat64();
323 const Operator* RoundUint32ToFloat32(); 313 const Operator* RoundUint32ToFloat32();
324 const Operator* RoundUint64ToFloat32(); 314 const Operator* RoundUint64ToFloat32();
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 }; 686 };
697 687
698 688
699 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) 689 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags)
700 690
701 } // namespace compiler 691 } // namespace compiler
702 } // namespace internal 692 } // namespace internal
703 } // namespace v8 693 } // namespace v8
704 694
705 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ 695 #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