From 72ce047a6ceae5490bb5e7d7cfb635463cdc6ea2 Mon Sep 17 00:00:00 2001 From: Richard Musiol Date: Wed, 13 Jun 2018 10:36:01 +0200 Subject: [PATCH] misc/wasm: remove use of performance.timeOrigin This commit changes wasm_exec.js to not depend on the existence of performance.timeOrigin. The field is not yet supported on all browsers, e.g. it is unavailable on Safari. Change-Id: I6cd3834376c1c55424c29166fde1219f0d4d338f Reviewed-on: https://go-review.googlesource.com/118617 Reviewed-by: Brad Fitzpatrick --- misc/wasm/wasm_exec.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/misc/wasm/wasm_exec.js b/misc/wasm/wasm_exec.js index 151de2e2d1..de4cff7d2c 100755 --- a/misc/wasm/wasm_exec.js +++ b/misc/wasm/wasm_exec.js @@ -16,13 +16,11 @@ }, }; - const now = () => { - const [sec, nsec] = process.hrtime(); - return sec * 1000 + nsec / 1000000; - }; global.performance = { - timeOrigin: Date.now() - now(), - now: now, + now() { + const [sec, nsec] = process.hrtime(); + return sec * 1000 + nsec / 1000000; + }, }; const util = require("util"); @@ -116,6 +114,7 @@ return decoder.decode(new DataView(this._inst.exports.mem.buffer, saddr, len)); } + const timeOrigin = Date.now() - performance.now(); this.importObject = { go: { // func wasmExit(code int32) @@ -133,7 +132,7 @@ // func nanotime() int64 "runtime.nanotime": (sp) => { - setInt64(sp + 8, (performance.timeOrigin + performance.now()) * 1000000); + setInt64(sp + 8, (timeOrigin + performance.now()) * 1000000); }, // func walltime() (sec int64, nsec int32) -- 2.50.0