diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-07-23 20:26:44 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-07-23 20:26:44 -0700 |
commit | 099f970ee705dd2e45cc59388ad3642bf93fea7d (patch) | |
tree | 401b1c00c9f33e7f3f1f48cf2edb1c05051d6e61 /src/runtime.js | |
parent | eb9e6cb27251d56adbe03eceeee595b5e3ce93f7 (diff) |
properly handle generation of instances of structures ending in [0 x ..]
Diffstat (limited to 'src/runtime.js')
-rw-r--r-- | src/runtime.js | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/runtime.js b/src/runtime.js index 062066af..8c2c8f4d 100644 --- a/src/runtime.js +++ b/src/runtime.js @@ -214,7 +214,7 @@ var Runtime = { // and it adds no size assert(index === type.fields.length); size = 0; - alignSize = 0; + alignSize = type.alignSize || QUANTUM_SIZE; } else { size = Types.types[field].flatSize; alignSize = Runtime.getAlignSize(null, Types.types[field].alignSize); @@ -228,12 +228,8 @@ var Runtime = { } if (type.packed) alignSize = 1; type.alignSize = Math.max(type.alignSize, alignSize); - if (size > 0) { - var curr = Runtime.alignMemory(type.flatSize, alignSize); // if necessary, place this on aligned memory - type.flatSize = curr + size; - } else { - curr = prev; - } + var curr = Runtime.alignMemory(type.flatSize, alignSize); // if necessary, place this on aligned memory + type.flatSize = curr + size; if (prev >= 0) { diffs.push(curr-prev); } |