1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-17 09:10:22 +02:00

Implement immediate version of vector primitives.

* module/language/js-il/runtime.js
  (make-vector/immediate, vector-set!/immediate,
  vector-ref/immediate): New Primitives.
This commit is contained in:
Ian Price 2017-08-02 21:03:11 +01:00
parent cf1ddd466b
commit 0b9b08a28d

View file

@ -235,9 +235,21 @@ scheme.primitives["vector?"] = function (obj) {
return coerce_bool(obj instanceof scheme.Vector); return coerce_bool(obj instanceof scheme.Vector);
}; };
scheme.primitives["make-vector/immediate"] = not_implemented_yet; scheme.primitives["make-vector/immediate"] = function(length, init) {
scheme.primitives["vector-set!/immediate"] = not_implemented_yet; var v = new scheme.Vector();
scheme.primitives["vector-ref/immediate"] = not_implemented_yet;
var temp = []
for (var i=0; i < length; i++) {
temp[i] = init;
}
v.array = temp;
return v;
};
scheme.primitives["vector-set!/immediate"] = scheme.primitives["vector-set!"];
scheme.primitives["vector-ref/immediate"] = scheme.primitives["vector-ref"];
// Bytevectors // Bytevectors