aboutsummaryrefslogtreecommitdiff
path: root/src/preamble.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/preamble.js')
-rw-r--r--src/preamble.js9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/preamble.js b/src/preamble.js
index d70ef4b1..d415b87e 100644
--- a/src/preamble.js
+++ b/src/preamble.js
@@ -189,13 +189,16 @@ function SAFE_HEAP_STORE(dest, value, bytes, isFloat) {
setValue(dest, value, getSafeHeapType(bytes, isFloat), 1);
}
-function SAFE_HEAP_LOAD(dest, bytes, isFloat) {
+function SAFE_HEAP_LOAD(dest, bytes, isFloat, unsigned) {
#if SAFE_HEAP_LOG
- Module.print('SAFE_HEAP load: ' + [dest, bytes, isFloat]);
+ Module.print('SAFE_HEAP load: ' + [dest, bytes, isFloat, unsigned]);
#endif
assert(dest > 0, 'segmentation fault');
assert(dest % bytes === 0);
- return getValue(dest, getSafeHeapType(bytes, isFloat), 1);
+ var type = getSafeHeapType(bytes, isFloat);
+ var ret = getValue(dest, type, 1);
+ if (unsigned) ret = unSign(ret, parseInt(type.substr(1)), 1);
+ return ret;
}
#endif