Revert "Upgrade to 5.0.71.48"
This reverts commit 8389745919cae02139ddc085a63c00d024269cf2.
Change-Id: Ic5c75c8b3ddaf795972372fbc863a514862953c1
diff --git a/src/compiler/raw-machine-assembler.h b/src/compiler/raw-machine-assembler.h
index a0cb7a0..5c232ed 100644
--- a/src/compiler/raw-machine-assembler.h
+++ b/src/compiler/raw-machine-assembler.h
@@ -79,9 +79,6 @@
Node* Int32Constant(int32_t value) {
return AddNode(common()->Int32Constant(value));
}
- Node* StackSlot(MachineRepresentation rep) {
- return AddNode(machine()->StackSlot(rep));
- }
Node* Int64Constant(int64_t value) {
return AddNode(common()->Int64Constant(value));
}
@@ -150,7 +147,7 @@
return AddNode(machine()->WordEqual(), a, b);
}
Node* WordNotEqual(Node* a, Node* b) {
- return Word32BinaryNot(WordEqual(a, b));
+ return WordBinaryNot(WordEqual(a, b));
}
Node* WordNot(Node* a) {
if (machine()->Is32()) {
@@ -159,6 +156,13 @@
return Word64Not(a);
}
}
+ Node* WordBinaryNot(Node* a) {
+ if (machine()->Is32()) {
+ return Word32BinaryNot(a);
+ } else {
+ return Word64BinaryNot(a);
+ }
+ }
Node* Word32And(Node* a, Node* b) {
return AddNode(machine()->Word32And(), a, b);
@@ -217,9 +221,10 @@
return AddNode(machine()->Word64Equal(), a, b);
}
Node* Word64NotEqual(Node* a, Node* b) {
- return Word32BinaryNot(Word64Equal(a, b));
+ return Word64BinaryNot(Word64Equal(a, b));
}
Node* Word64Not(Node* a) { return Word64Xor(a, Int64Constant(-1)); }
+ Node* Word64BinaryNot(Node* a) { return Word64Equal(a, Int64Constant(0)); }
Node* Int32Add(Node* a, Node* b) {
return AddNode(machine()->Int32Add(), a, b);
@@ -270,10 +275,6 @@
Node* Int32GreaterThanOrEqual(Node* a, Node* b) {
return Int32LessThanOrEqual(b, a);
}
- Node* Uint32GreaterThan(Node* a, Node* b) { return Uint32LessThan(b, a); }
- Node* Uint32GreaterThanOrEqual(Node* a, Node* b) {
- return Uint32LessThanOrEqual(b, a);
- }
Node* Int32Neg(Node* a) { return Int32Sub(Int32Constant(0), a); }
Node* Int64Add(Node* a, Node* b) {
@@ -314,10 +315,6 @@
Node* Int64GreaterThanOrEqual(Node* a, Node* b) {
return Int64LessThanOrEqual(b, a);
}
- Node* Uint64GreaterThan(Node* a, Node* b) { return Uint64LessThan(b, a); }
- Node* Uint64GreaterThanOrEqual(Node* a, Node* b) {
- return Uint64LessThanOrEqual(b, a);
- }
Node* Uint64Div(Node* a, Node* b) {
return AddNode(machine()->Uint64Div(), a, b);
}
@@ -342,19 +339,6 @@
#undef INTPTR_BINOP
-#define UINTPTR_BINOP(prefix, name) \
- Node* UintPtr##name(Node* a, Node* b) { \
- return kPointerSize == 8 ? prefix##64##name(a, b) \
- : prefix##32##name(a, b); \
- }
-
- UINTPTR_BINOP(Uint, LessThan);
- UINTPTR_BINOP(Uint, LessThanOrEqual);
- UINTPTR_BINOP(Uint, GreaterThanOrEqual);
- UINTPTR_BINOP(Uint, GreaterThan);
-
-#undef UINTPTR_BINOP
-
Node* Float32Add(Node* a, Node* b) {
return AddNode(machine()->Float32Add(), a, b);
}
@@ -379,7 +363,7 @@
return AddNode(machine()->Float32Equal(), a, b);
}
Node* Float32NotEqual(Node* a, Node* b) {
- return Word32BinaryNot(Float32Equal(a, b));
+ return WordBinaryNot(Float32Equal(a, b));
}
Node* Float32LessThan(Node* a, Node* b) {
return AddNode(machine()->Float32LessThan(), a, b);
@@ -419,7 +403,7 @@
return AddNode(machine()->Float64Equal(), a, b);
}
Node* Float64NotEqual(Node* a, Node* b) {
- return Word32BinaryNot(Float64Equal(a, b));
+ return WordBinaryNot(Float64Equal(a, b));
}
Node* Float64LessThan(Node* a, Node* b) {
return AddNode(machine()->Float64LessThan(), a, b);
@@ -448,11 +432,10 @@
Node* ChangeFloat64ToUint32(Node* a) {
return AddNode(machine()->ChangeFloat64ToUint32(), a);
}
- Node* TruncateFloat32ToInt32(Node* a) {
- return AddNode(machine()->TruncateFloat32ToInt32(), a);
- }
- Node* TruncateFloat32ToUint32(Node* a) {
- return AddNode(machine()->TruncateFloat32ToUint32(), a);
+ Node* TruncateFloat32ToInt64(Node* a) {
+ // TODO(ahaas): Remove this function as soon as it is not used anymore in
+ // WebAssembly.
+ return AddNode(machine()->TryTruncateFloat32ToInt64(), a);
}
Node* TryTruncateFloat32ToInt64(Node* a) {
return AddNode(machine()->TryTruncateFloat32ToInt64(), a);
@@ -465,6 +448,11 @@
Node* TryTruncateFloat64ToInt64(Node* a) {
return AddNode(machine()->TryTruncateFloat64ToInt64(), a);
}
+ Node* TruncateFloat32ToUint64(Node* a) {
+ // TODO(ahaas): Remove this function as soon as it is not used anymore in
+ // WebAssembly.
+ return AddNode(machine()->TryTruncateFloat32ToUint64(), a);
+ }
Node* TryTruncateFloat32ToUint64(Node* a) {
return AddNode(machine()->TryTruncateFloat32ToUint64(), a);
}
@@ -491,18 +479,12 @@
Node* TruncateInt64ToInt32(Node* a) {
return AddNode(machine()->TruncateInt64ToInt32(), a);
}
- Node* RoundInt32ToFloat32(Node* a) {
- return AddNode(machine()->RoundInt32ToFloat32(), a);
- }
Node* RoundInt64ToFloat32(Node* a) {
return AddNode(machine()->RoundInt64ToFloat32(), a);
}
Node* RoundInt64ToFloat64(Node* a) {
return AddNode(machine()->RoundInt64ToFloat64(), a);
}
- Node* RoundUint32ToFloat32(Node* a) {
- return AddNode(machine()->RoundUint32ToFloat32(), a);
- }
Node* RoundUint64ToFloat32(Node* a) {
return AddNode(machine()->RoundUint64ToFloat32(), a);
}
@@ -566,9 +548,6 @@
// Stack operations.
Node* LoadStackPointer() { return AddNode(machine()->LoadStackPointer()); }
Node* LoadFramePointer() { return AddNode(machine()->LoadFramePointer()); }
- Node* LoadParentFramePointer() {
- return AddNode(machine()->LoadParentFramePointer());
- }
// Parameters.
Node* Parameter(size_t index);
@@ -589,16 +568,11 @@
// Call a given call descriptor and the given arguments and frame-state.
Node* CallNWithFrameState(CallDescriptor* desc, Node* function, Node** args,
Node* frame_state);
- // Call to a runtime function with zero arguments.
- Node* CallRuntime0(Runtime::FunctionId function, Node* context);
// Call to a runtime function with one arguments.
Node* CallRuntime1(Runtime::FunctionId function, Node* arg0, Node* context);
// Call to a runtime function with two arguments.
Node* CallRuntime2(Runtime::FunctionId function, Node* arg1, Node* arg2,
Node* context);
- // Call to a runtime function with three arguments.
- Node* CallRuntime3(Runtime::FunctionId function, Node* arg1, Node* arg2,
- Node* arg3, Node* context);
// Call to a runtime function with four arguments.
Node* CallRuntime4(Runtime::FunctionId function, Node* arg1, Node* arg2,
Node* arg3, Node* arg4, Node* context);
@@ -628,12 +602,7 @@
// Tail call to a runtime function with two arguments.
Node* TailCallRuntime2(Runtime::FunctionId function, Node* arg1, Node* arg2,
Node* context);
- // Tail call to a runtime function with three arguments.
- Node* TailCallRuntime3(Runtime::FunctionId function, Node* arg1, Node* arg2,
- Node* arg3, Node* context);
- // Tail call to a runtime function with four arguments.
- Node* TailCallRuntime4(Runtime::FunctionId function, Node* arg1, Node* arg2,
- Node* arg3, Node* arg4, Node* context);
+
// ===========================================================================
// The following utility methods deal with control flow, hence might switch
@@ -653,26 +622,24 @@
// Variables.
Node* Phi(MachineRepresentation rep, Node* n1, Node* n2) {
- return AddNode(common()->Phi(rep, 2), n1, n2, graph()->start());
+ return AddNode(common()->Phi(rep, 2), n1, n2);
}
Node* Phi(MachineRepresentation rep, Node* n1, Node* n2, Node* n3) {
- return AddNode(common()->Phi(rep, 3), n1, n2, n3, graph()->start());
+ return AddNode(common()->Phi(rep, 3), n1, n2, n3);
}
Node* Phi(MachineRepresentation rep, Node* n1, Node* n2, Node* n3, Node* n4) {
- return AddNode(common()->Phi(rep, 4), n1, n2, n3, n4, graph()->start());
+ return AddNode(common()->Phi(rep, 4), n1, n2, n3, n4);
}
- Node* Phi(MachineRepresentation rep, int input_count, Node* const* inputs);
- void AppendPhiInput(Node* phi, Node* new_input);
// ===========================================================================
// The following generic node creation methods can be used for operators that
// are not covered by the above utility methods. There should rarely be a need
// to do that outside of testing though.
- Node* AddNode(const Operator* op, int input_count, Node* const* inputs);
+ Node* AddNode(const Operator* op, int input_count, Node** inputs);
Node* AddNode(const Operator* op) {
- return AddNode(op, 0, static_cast<Node* const*>(nullptr));
+ return AddNode(op, 0, static_cast<Node**>(nullptr));
}
template <class... TArgs>
@@ -682,7 +649,7 @@
}
private:
- Node* MakeNode(const Operator* op, int input_count, Node* const* inputs);
+ Node* MakeNode(const Operator* op, int input_count, Node** inputs);
BasicBlock* Use(RawMachineLabel* label);
BasicBlock* EnsureBlock(RawMachineLabel* label);
BasicBlock* CurrentBlock();