aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralon@honor <none@none>2010-10-05 19:26:00 -0700
committeralon@honor <none@none>2010-10-05 19:26:00 -0700
commita81e16221f402f160b7d909497d36da7e29e1df8 (patch)
tree0ec744cc4ab3cb3c709edb76486647cea408f5fe
parent01ae695b4db1b8d01c291871384be5a8df44499b (diff)
version 0.3
-rw-r--r--ChangeLog5
-rw-r--r--demos/raytrace.html5
-rw-r--r--src/analyzer.js10
3 files changed, 11 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 8d9cdd9f..8da5f062 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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],