cwebber pushed a commit to branch compile-to-js-merge
in repository guile.
commit 166def2da08da12b776e65ee7086e45e6d8ca498
Author: Ian Price <[email protected]>
AuthorDate: Mon Aug 14 16:31:20 2017 +0100
Implement unboxed integer primitives.
* module/language/js-il/runtime.js (u64-=, u64->scm): New primitives.
---
module/language/js-il/runtime.js | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/module/language/js-il/runtime.js b/module/language/js-il/runtime.js
index 34dd3a6..ec639a4 100644
--- a/module/language/js-il/runtime.js
+++ b/module/language/js-il/runtime.js
@@ -87,6 +87,10 @@ scheme.primitives["load-u64"] = function(x) {
return x;
};
+scheme.primitives["u64-="] = function(x, y) {
+ return coerce_bool(x === y);
+};
+
scheme.primitives["u64-=-scm"] = function(x, y) {
// i.e. br-if-u64-=-scm
return coerce_bool(x === y);
@@ -112,6 +116,10 @@ scheme.primitives["scm->u64"] = function(x) {
return x;
};
+scheme.primitives["u64->scm"] = function(x) {
+ return x;
+};
+
// Boxes
scheme.Box = function (x) {
this.x = x;