aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS1
-rw-r--r--CONTRIBUTING.md (renamed from CONTRIBUTING.markdown)3
-rw-r--r--README.markdown14
-rw-r--r--README.md26
-rw-r--r--emscripten-version.txt2
-rwxr-xr-xemscripten.py3
-rw-r--r--media/switch_logo.eps (renamed from docs/emscripten_switch_logo.eps)bin1114650 -> 1114650 bytes
-rw-r--r--media/switch_logo.jpeg (renamed from docs/emscripten_switch_logo.jpg)bin35951 -> 35951 bytes
-rw-r--r--media/switch_logo.svg (renamed from docs/emscripten_switch_logo.svg)0
-rw-r--r--package.json2
-rw-r--r--patches/README4
-rw-r--r--patches/series2
-rw-r--r--src/headlessCanvas.js4
-rw-r--r--src/library_browser.js21
-rw-r--r--src/relooper/README.markdown14
-rw-r--r--src/relooper/README.md12
-rw-r--r--src/settings.js4
-rw-r--r--system/include/emscripten/emscripten.h11
-rw-r--r--tests/cases/2xi40.ll2
-rw-r--r--tests/cases/514_ta2.ll2
-rw-r--r--tests/cases/aliasbitcast.ll2
-rw-r--r--tests/cases/aliasbitcast2_noasm.ll2
-rw-r--r--tests/cases/aliasbitcast3_noasm.ll4
-rw-r--r--tests/cases/aliasbitcastdollar_noasm.ll2
-rw-r--r--tests/cases/atomicrmw.ll2
-rw-r--r--tests/cases/atomicrmw_dec.ll2
-rw-r--r--tests/cases/atomicrmw_unaligned.ll2
-rw-r--r--tests/cases/bigdouble.ll2
-rw-r--r--tests/cases/boolret_fastcomp.ll2
-rw-r--r--tests/cases/breakinthemiddle.ll2
-rw-r--r--tests/cases/breakinthemiddle2.ll2
-rw-r--r--tests/cases/caall.ll2
-rw-r--r--tests/cases/callwithstructural64_ta2.ll2
-rw-r--r--tests/cases/callwithstructural_ta2.ll2
-rw-r--r--tests/cases/complexphi.ll2
-rw-r--r--tests/cases/ctors_cast.ll2
-rw-r--r--tests/cases/dash.ll2
-rw-r--r--tests/cases/dollar.ll2
-rw-r--r--tests/cases/emptyalloca.ll2
-rw-r--r--tests/cases/emptyasm_aue.ll2
-rw-r--r--tests/cases/emptystruct.ll2
-rw-r--r--tests/cases/entry3.ll2
-rw-r--r--tests/cases/fptosi.ll2
-rw-r--r--tests/cases/funcptr.ll2
-rw-r--r--tests/cases/fuzz6_ta2.ll2
-rw-r--r--tests/cases/gepaddoverflow.ll2
-rw-r--r--tests/cases/i24_mem_ta2.ll2
-rw-r--r--tests/cases/i96_ashr_ta2.ll2
-rw-r--r--tests/cases/i96shiftnon32_ta2.ll2
-rw-r--r--tests/cases/inttoptr.ll2
-rw-r--r--tests/cases/invokebitcast.ll11
-rw-r--r--tests/cases/invokeundef.ll2
-rw-r--r--tests/cases/legalizer_b_ta2.ll2
-rw-r--r--tests/cases/legalizer_ta2.ll2
-rw-r--r--tests/cases/loadbitcastgep.ll2
-rw-r--r--tests/cases/muli33_ta2.ll2
-rw-r--r--tests/cases/oob_ta2.ll2
-rw-r--r--tests/cases/phi24_ta2.ll2
-rw-r--r--tests/cases/phicubed.ll2
-rw-r--r--tests/cases/phientryimplicit.ll8
-rw-r--r--tests/cases/phientryimplicitmix.ll2
-rw-r--r--tests/cases/phientryimplicitmoar.ll2
-rw-r--r--tests/cases/philoop_ta2.ll2
-rw-r--r--tests/cases/phinonexist.ll11
-rw-r--r--tests/cases/phinonreachable64.ll2
-rw-r--r--tests/cases/phiptrtoint.ll2
-rw-r--r--tests/cases/phiself.ll2
-rw-r--r--tests/cases/ptrtoi64.ll2
-rw-r--r--tests/cases/ptrtoint_blockaddr.ll2
-rw-r--r--tests/cases/quotedlabel.ll2
-rw-r--r--tests/cases/sillybitcast.ll8
-rw-r--r--tests/cases/sillybitcast2.ll2
-rw-r--r--tests/cases/sillyfuncast.ll2
-rw-r--r--tests/cases/sillyfuncast2_noasm.ll (renamed from tests/cases/sillyfuncast2.ll)1
-rw-r--r--tests/cases/storebigfloat.ll2
-rw-r--r--tests/cases/storestruct.ll2
-rw-r--r--tests/cases/structinparam.ll2
-rw-r--r--tests/cases/structparam.ll2
-rw-r--r--tests/cases/structphiparam.ll2
-rw-r--r--tests/cases/sub_11_0.ll2
-rw-r--r--tests/cases/switch64_ta2.ll2
-rw-r--r--tests/cases/switch64b_ta2.ll2
-rw-r--r--tests/cases/uadd_overflow_ta2.ll2
-rw-r--r--tests/cases/zeroembedded.ll2
-rw-r--r--tests/cases/zeroextarg.ll2
-rw-r--r--tests/core/test_sscanf_other_whitespace.in4
-rw-r--r--tests/cubegeom_color.c4
-rw-r--r--tests/full_es2_sdlproc.c2
-rw-r--r--tests/hello_world.ll2
-rw-r--r--tests/python/python.asmjs-unknown-emscripten.bcbin7814552 -> 7814560 bytes
-rw-r--r--tests/sdl_headless.c3
-rw-r--r--tests/sqlite/benchmark.c1
-rw-r--r--tests/test_browser.py8
-rw-r--r--tests/test_core.py4
-rw-r--r--tests/test_other.py35
-rw-r--r--tests/worker_api_3_main.cpp44
-rw-r--r--tests/worker_api_3_worker.cpp25
-rw-r--r--tools/shared.py18
98 files changed, 292 insertions, 146 deletions
diff --git a/AUTHORS b/AUTHORS
index 868800ea..076ce1cb 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -129,4 +129,5 @@ a license to everyone to use it as detailed in LICENSE.)
* Haneef Mubarak <haneef503@gmail.com>
* Nicolas Peri <nicox@shivaengine.com> (copyright owned by ShiVa Technologies, SAS)
* Bernhard Fey <e-male@web.de>
+* Dave Nicponski <dave.nicponski@gmail.com>
diff --git a/CONTRIBUTING.markdown b/CONTRIBUTING.md
index ceea8735..c068eb7f 100644
--- a/CONTRIBUTING.markdown
+++ b/CONTRIBUTING.md
@@ -1,5 +1,6 @@
+Contributing
+============
See our wiki for information about contributing to Emscripten:
[Contribution section on wiki](https://github.com/kripken/emscripten/wiki#contributing)
-
diff --git a/README.markdown b/README.markdown
deleted file mode 100644
index 81a95141..00000000
--- a/README.markdown
+++ /dev/null
@@ -1,14 +0,0 @@
-
-![logo](http://dl.dropbox.com/u/80664946/emscripten_logo.jpg)
-
-Emscripten
-==========
-
-Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode - which can be generated from C/C++, using llvm-gcc or clang, or any other language that can be converted into LLVM - and compiles that into JavaScript, which can be run on the web (or anywhere else JavaScript can run).
-
-Links to **demos**, **tutorial**, **FAQ**, etc: <https://github.com/kripken/emscripten/wiki>
-
-Main project page: <http://emscripten.org>
-
-Emscripten is MIT licensed, see LICENSE.txt.
-
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..6b4778bf
--- /dev/null
+++ b/README.md
@@ -0,0 +1,26 @@
+![emscripten logo](media/switch_logo.jpeg)
+
+Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode - which can be generated
+from C/C++, using `llvm-gcc` (DragonEgg) or `clang`, or any other language that can be
+converted into LLVM - and compiles that into JavaScript, which can be run on the web (or
+anywhere else JavaScript can run).
+
+Links to **demos**, **tutorial**, **FAQ**, etc: <https://github.com/kripken/emscripten/wiki>
+
+Main project page: <http://emscripten.org>
+
+License
+-------
+
+Emscripten is available under 2 licenses, the MIT license and the
+University of Illinois/NCSA Open Source License.
+
+Both are permissive open source licenses, with little if any
+practical difference between them.
+
+The reason for offering both is that (1) the MIT license is
+well-known, while (2) the University of Illinois/NCSA Open Source
+License allows Emscripten's code to be integrated upstream into
+LLVM, which uses that license, should the opportunity arise.
+
+See `LICENSE` for the full content of the licenses.
diff --git a/emscripten-version.txt b/emscripten-version.txt
new file mode 100644
index 00000000..bf2b5ccf
--- /dev/null
+++ b/emscripten-version.txt
@@ -0,0 +1,2 @@
+1.13.0
+
diff --git a/emscripten.py b/emscripten.py
index 37e1c83f..5c9275c2 100755
--- a/emscripten.py
+++ b/emscripten.py
@@ -746,6 +746,9 @@ def emscript_fast(infile, settings, outfile, libraries=[], compiler_engine=None,
backend_args += ['-emscripten-warn-unaligned']
if settings['RESERVED_FUNCTION_POINTERS'] > 0:
backend_args += ['-emscripten-reserved-function-pointers=%d' % settings['RESERVED_FUNCTION_POINTERS']]
+ if settings['ASSERTIONS'] > 0:
+ backend_args += ['-emscripten-assertions=%d' % settings['ASSERTIONS']]
+ backend_args += ['-O' + str(settings['OPT_LEVEL'])]
if DEBUG:
logging.debug('emscript: llvm backend: ' + ' '.join(backend_args))
t = time.time()
diff --git a/docs/emscripten_switch_logo.eps b/media/switch_logo.eps
index 741970c1..741970c1 100644
--- a/docs/emscripten_switch_logo.eps
+++ b/media/switch_logo.eps
Binary files differ
diff --git a/docs/emscripten_switch_logo.jpg b/media/switch_logo.jpeg
index 7c05cd94..7c05cd94 100644
--- a/docs/emscripten_switch_logo.jpg
+++ b/media/switch_logo.jpeg
Binary files differ
diff --git a/docs/emscripten_switch_logo.svg b/media/switch_logo.svg
index 58277388..58277388 100644
--- a/docs/emscripten_switch_logo.svg
+++ b/media/switch_logo.svg
diff --git a/package.json b/package.json
index a1447c9f..4fbba2fb 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "emscripten",
- "version": "1.0.0",
+ "version": "1.13.0",
"dependencies": {
"ws": "~0.4.28"
}
diff --git a/patches/README b/patches/README
deleted file mode 100644
index f6817fed..00000000
--- a/patches/README
+++ /dev/null
@@ -1,4 +0,0 @@
-This directory contains a useful mercurial patch queue.
-
-Note to patch queue maintainer: You need to manually copy from .hg/patches into this directory, after |qrefresh|ing the patch.
-
diff --git a/patches/series b/patches/series
deleted file mode 100644
index 04f16d03..00000000
--- a/patches/series
+++ /dev/null
@@ -1,2 +0,0 @@
-sauer
-
diff --git a/src/headlessCanvas.js b/src/headlessCanvas.js
index 4bd17a7b..1eefe48e 100644
--- a/src/headlessCanvas.js
+++ b/src/headlessCanvas.js
@@ -598,7 +598,9 @@ function headlessCanvas() {
});
},
exitPointerLock: function(){},
- style: {},
+ style: {
+ setProperty: function(){}
+ },
eventListeners: {},
addEventListener: function(){},
removeEventListener: function(){},
diff --git a/src/library_browser.js b/src/library_browser.js
index 47b3b2f9..03da394e 100644
--- a/src/library_browser.js
+++ b/src/library_browser.js
@@ -1,7 +1,6 @@
//"use strict";
// Utilities for browser environments
-
mergeInto(LibraryManager.library, {
$Browser__deps: ['$PATH'],
$Browser__postset: 'Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas) { Browser.requestFullScreen(lockPointer, resizeCanvas) };\n' + // exports
@@ -1011,8 +1010,11 @@ mergeInto(LibraryManager.library, {
var callbackId = msg.data['callbackId'];
var callbackInfo = info.callbacks[callbackId];
if (!callbackInfo) return; // no callback or callback removed meanwhile
- info.awaited--;
- info.callbacks[callbackId] = null; // TODO: reuse callbackIds, compress this
+ // Don't trash our callback state if we expect additional calls.
+ if (msg.data['finalResponse']) {
+ info.awaited--;
+ info.callbacks[callbackId] = null; // TODO: reuse callbackIds, compress this
+ }
var data = msg.data['data'];
if (data) {
if (!data.byteLength) data = new Uint8Array(data);
@@ -1059,12 +1061,23 @@ mergeInto(LibraryManager.library, {
});
},
+ emscripten_worker_respond_provisionally: function(data, size) {
+ if (!inWorkerCall) throw 'not in worker call!';
+ if (workerResponded) throw 'already responded with final response!';
+ postMessage({
+ 'callbackId': workerCallbackId,
+ 'finalResponse': false,
+ 'data': data ? new Uint8Array({{{ makeHEAPView('U8', 'data', 'data + size') }}}) : 0 // XXX copy to a new typed array as a workaround for chrome bug 169705
+ });
+ },
+
emscripten_worker_respond: function(data, size) {
if (!inWorkerCall) throw 'not in worker call!';
- if (workerResponded) throw 'already responded!';
+ if (workerResponded) throw 'already responded with final response!';
workerResponded = true;
postMessage({
'callbackId': workerCallbackId,
+ 'finalResponse': true,
'data': data ? new Uint8Array({{{ makeHEAPView('U8', 'data', 'data + size') }}}) : 0 // XXX copy to a new t