summaryrefslogtreecommitdiff
path: root/rts/js
diff options
context:
space:
mode:
authorJosh Meredith <joshmeredith2008@gmail.com>2023-05-08 14:51:54 +0000
committerJosh Meredith <joshmeredith2008@gmail.com>2023-05-08 14:58:42 +0000
commit8e52b799b2f2d3e6f5543ae78a1c010b155d527b (patch)
tree8ca2076813c2d835a1cb4ffa9f3014e4bd53acbe /rts/js
parent994bda563604461ffb8454d6e298b0310520bcc8 (diff)
downloadhaskell-wip/js-clock_gettime.tar.gz
JS: Implement h$clock_gettime in the JavaScript RTS (#23360)wip/js-clock_gettime
Diffstat (limited to 'rts/js')
-rw-r--r--rts/js/time.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/rts/js/time.js b/rts/js/time.js
new file mode 100644
index 0000000000..0ea6be1f54
--- /dev/null
+++ b/rts/js/time.js
@@ -0,0 +1,20 @@
+function h$clock_gettime(when, p_d, p_o) {
+ var is64 = p_d.i3.length == 4 && p_o == 0;
+ var o = p_o >> 2;
+ var t = Date.now ? Date.now() : new Date().getTime();
+ var tf = Math.floor(t / 1000);
+ var tn = 1000000 * (t - (1000 * tf));
+
+ if (is64) {
+ p_d.i3[o] = tf|0;
+ p_d.i3[o+1] = 0;
+ p_d.i3[o+2] = tn|0;
+ p_d.i3[o+3] = 0;
+ } else {
+ p_d.i3[o] = tf|0;
+ p_d.i3[o+1] = tn|0;
+ }
+ return 0;
+}
+
+function h$CLOCK_REALTIME() { return 0; }