| Index: src/compiler/gap-resolver.h
|
| diff --git a/src/compiler/gap-resolver.h b/src/compiler/gap-resolver.h
|
| index 19806f568a82faf27b5d6e60f12b195d1bed5208..7459b8964e5df898fd04bab84767df0d34dfb2fd 100644
|
| --- a/src/compiler/gap-resolver.h
|
| +++ b/src/compiler/gap-resolver.h
|
| @@ -31,6 +31,22 @@ class GapResolver final {
|
| // Resolve a set of parallel moves, emitting assembler instructions.
|
| void Resolve(ParallelMove* parallel_move) const;
|
|
|
| + enum PushTypeFlag {
|
| + kImmediatePush = 0x1,
|
| + kScalarPush = 0x2,
|
| + kFloat32Push = 0x4,
|
| + kFloat64Push = 0x8,
|
| + kFloatPush = kFloat32Push | kFloat64Push
|
| + };
|
| +
|
| + typedef base::Flags<PushTypeFlag> PushTypeFlags;
|
| +
|
| + // Generate a list moves from an instruction that are candidates to be turned
|
| + // into push instructions on platforms that support them.
|
| + static void GetPushCompatibleMoves(Zone* zone, Instruction* instr,
|
| + PushTypeFlags push_type,
|
| + ZoneVector<MoveOperands*>* pushes);
|
| +
|
| private:
|
| // Perform the given move, possibly requiring other moves to satisfy
|
| // dependencies.
|
|
|