aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-12-06 14:13:10 -0800
committerAlon Zakai <alonzakai@gmail.com>2012-12-07 14:23:24 -0800
commit82a95c63d46429dccb31b0718bc69e008cee5744 (patch)
tree801d308771df8ffeedfcc889ce81cd93a4a1da24
parent343b68b03b4b2f5b569ff46eee430fea06ebead8 (diff)
properly count pointer sizes in structural types
-rw-r--r--src/analyzer.js1
-rw-r--r--src/parseTools.js2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/analyzer.js b/src/analyzer.js
index 32b42a75..0ad3e017 100644
--- a/src/analyzer.js
+++ b/src/analyzer.js
@@ -232,6 +232,7 @@ function analyzer(data, sidePass) {
}
});
if (!isIllegal) {
+ //if (dcheck('legalizer')) dprint('no need to legalize \n' + dump(item));
i++;
continue;
}
diff --git a/src/parseTools.js b/src/parseTools.js
index 2cdd57f1..dc3f2ef0 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -147,7 +147,7 @@ function getStructureTypeParts(type) {
}
function getStructuralTypePartBits(part) {
- return Math.ceil(getBits(part)/32)*32; // simple 32-bit alignment
+ return Math.ceil((getBits(part) || 32)/32)*32; // simple 32-bit alignment. || 32 is for pointers
}
function isIntImplemented(type) {