Revert "Revert "Upgrade to 5.0.71.48"" DO NOT MERGE
This reverts commit f2e3994fa5148cc3d9946666f0b0596290192b0e,
and updates the x64 makefile properly so it doesn't break that
build.
FPIIM-449
Change-Id: Ib83e35bfbae6af627451c926a9650ec57c045605
(cherry picked from commit 109988c7ccb6f3fd1a58574fa3dfb88beaef6632)
diff --git a/src/compiler/wasm-compiler.h b/src/compiler/wasm-compiler.h
index 1a17a83..2e86b56 100644
--- a/src/compiler/wasm-compiler.h
+++ b/src/compiler/wasm-compiler.h
@@ -35,12 +35,12 @@
// Compiles a single function, producing a code object.
Handle<Code> CompileWasmFunction(wasm::ErrorThrower& thrower, Isolate* isolate,
wasm::ModuleEnv* module_env,
- const wasm::WasmFunction& function, int index);
+ const wasm::WasmFunction& function);
// Wraps a JS function, producing a code object that can be called from WASM.
Handle<Code> CompileWasmToJSWrapper(Isolate* isolate, wasm::ModuleEnv* module,
Handle<JSFunction> function,
- uint32_t index);
+ wasm::FunctionSig* sig, const char* name);
// Wraps a given wasm code object, producing a JSFunction that can be called
// from JavaScript.
@@ -100,6 +100,7 @@
Node* Unreachable();
Node* CallDirect(uint32_t index, Node** args);
+ Node* CallImport(uint32_t index, Node** args);
Node* CallIndirect(uint32_t index, Node** args);
void BuildJSToWasmWrapper(Handle<Code> wasm_code, wasm::FunctionSig* sig);
void BuildWasmToJSWrapper(Handle<JSFunction> function,
@@ -132,6 +133,8 @@
wasm::FunctionSig* GetFunctionSignature() { return function_signature_; }
+ void Int64LoweringForTesting();
+
private:
static const int kDefaultBufferSize = 16;
friend class WasmTrapHelper;
@@ -159,6 +162,7 @@
Node* MemBuffer(uint32_t offset);
void BoundsCheckMem(MachineType memtype, Node* index, uint32_t offset);
+ Node* BuildCCall(MachineSignature* sig, Node** args);
Node* BuildWasmCall(wasm::FunctionSig* sig, Node** args);
Node* BuildF32Neg(Node* input);
Node* BuildF64Neg(Node* input);
@@ -176,6 +180,16 @@
Node* BuildI32Popcnt(Node* input);
Node* BuildI64Ctz(Node* input);
Node* BuildI64Popcnt(Node* input);
+ Node* BuildRoundingInstruction(Node* input, ExternalReference ref,
+ MachineType type);
+ Node* BuildF32Trunc(Node* input);
+ Node* BuildF32Floor(Node* input);
+ Node* BuildF32Ceil(Node* input);
+ Node* BuildF32NearestInt(Node* input);
+ Node* BuildF64Trunc(Node* input);
+ Node* BuildF64Floor(Node* input);
+ Node* BuildF64Ceil(Node* input);
+ Node* BuildF64NearestInt(Node* input);
Node** Realloc(Node** buffer, size_t count) {
Node** buf = Buffer(count);