diff options
author | alon@honor <none@none> | 2010-10-05 19:26:00 -0700 |
---|---|---|
committer | alon@honor <none@none> | 2010-10-05 19:26:00 -0700 |
commit | a81e16221f402f160b7d909497d36da7e29e1df8 (patch) | |
tree | 0ec744cc4ab3cb3c709edb76486647cea408f5fe | |
parent | 01ae695b4db1b8d01c291871384be5a8df44499b (diff) |
version 0.3
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | demos/raytrace.html | 5 | ||||
-rw-r--r-- | src/analyzer.js | 10 |
3 files changed, 11 insertions, 9 deletions
@@ -1,9 +1,10 @@ -?: Version 0.3 +2010-10-05: Version 0.3 - * Much faster compilation (still a lot more left to do though) + * Much faster compilation (but still slow with relooper) * Clang support * Optional memory alignment that precisely matches C/C++ * Proper memory management, including stack and (optional) dlmalloc + * Rewritten relooper; no emulated blocks in any test * Initial support for SDL * Raytracing test + web demo * Many code cleanups, bug fixes, additional tests and library implementations diff --git a/demos/raytrace.html b/demos/raytrace.html index 74d701f0..fcfd56e1 100644 --- a/demos/raytrace.html +++ b/demos/raytrace.html @@ -4,8 +4,8 @@ Emscripten: Raytracing </title> <script src="raytrace.js"></script> - <script> - // print function which the cubescript engine will call + <script type="text/javascript"> + // print function which the runtime will call function print(text) { document.getElementById('output').innerHTML = text; } @@ -57,6 +57,7 @@ <hr> Simple raytracing demo. The <a href="http://ompf.org/ray/sphereflake/">original C++ source</a> was automatically converted to JavaScript using <a href="http://emscripten.org">Emscripten</a>. + <b>Note</b>: This was done with Emscripten 0.3, which is designed for correctness, not speed! </body> </html> diff --git a/src/analyzer.js b/src/analyzer.js index 13602e32..9ea62fae 100644 --- a/src/analyzer.js +++ b/src/analyzer.js @@ -476,14 +476,14 @@ function analyzer(data) { var nextEntries = keys(entryLabel.outLabels); dprint('relooping', ' Creating simple emulated, outlabels: ' + nextEntries); - if (nextEntries.length == 1) { - replaceLabelLabels([entryLabel], set(nextEntries), 'BNOPP'); // remove unneeded branch XXX - this is dangerous, as we may - // have 1 next entry, but 1 or more B-labels... - } else { + //if (nextEntries.length == 1) { + // replaceLabelLabels([entryLabel], set(nextEntries), 'BNOPP'); // remove unneeded branch XXX - this is dangerous, as we may + // // have 1 next entry, but 1 or more B-labels... + //} else { nextEntries.forEach(function(nextEntry) { replaceLabelLabels([entryLabel], set(nextEntry), 'BJSET' + nextEntry); // Just SET __label__ - no break or continue or whatnot }); - } + //} return { type: 'emulated', labels: [entryLabel], |