aboutsummaryrefslogtreecommitdiff
path: root/src/compiler.js
AgeCommit message (Collapse)Author
2013-08-19Merge pull request #1528 from inolen/shared_lib_fixesAlon Zakai
re-enabled non-asm.js shared lib support
2013-08-19re-enabled non-asm.js shared lib supportAnthony Pesch
2013-08-16warn on VERBOSEAlon Zakai
2013-06-28disable BSS when SAFE_HEAPAlon Zakai
2013-05-09better error on shared libs being deprecatedAlon Zakai
2013-05-04make memory management sane: 0 is null, then static including globals, then ↵Alon Zakai
stack, then dynamic/sbrk. deprecate shared libs (BUILD_AS_SHARED_LIB)
2013-04-24auto-generate library stubs that abort for missing library functions, and ↵Alon Zakai
implement DEAD_FUNCTIONS that way
2013-04-23clear errors on calling dead functionsAlon Zakai
2013-04-11infrastructure for supporting exceptions in asm.js, by going through ↵Alon Zakai
invoke_* calls
2013-03-20improve error messageAlon Zakai
2013-03-12unique ids for aborts for dead functionsAlon Zakai
2013-03-12support -s KEY=@PATH in emcc, for very large settings valuesAlon Zakai
2013-03-10pgo for unused function detectionAlon Zakai
2013-03-04Delete the compiled relooper.js (but allow specification of an arbitrary ↵Chad Austin
relooper)
2013-03-03remove no-longer-needed INIT_STACKAlon Zakai
2013-03-03remove ASM_JS warning and add check for exception catching being off in it, ↵Alon Zakai
the last remaining issue for it
2013-02-26Add CHECK_HEAP_ALIGN to perform runtime alignment checksVladimir Vukicevic
Adds a much cheaper CHECK_HEAP_ALIGN option to do heap access alignment checks. Less extensive than SAFE_HEAP, but also much cheaper.
2013-02-17remove PROFILE option. It adds unacceptable overhead, and all browsers have ↵Alon Zakai
proper JS profilers these days - use those
2013-02-17remove PGO option. It is only relevant for non-ta2 builds, which are on the ↵Alon Zakai
way to deprecation, and it in the best case is not a precise optimization but an optimistic one
2013-01-17Implement exceptions in whitelistAleksander Guryanov
2012-12-31Merge branch 'incoming' into asm_jsAlon Zakai
Conflicts: src/library_browser.js
2012-12-28fix repeated compilationAlon Zakai
2012-12-27compile given ll in compiler.htmlAlon Zakai
2012-12-27option to provide raw ll to compiler.jsAlon Zakai
2012-12-27compile and run in compiler.htmlAlon Zakai
2012-12-27allow (unoptimal) single-phase compiler.js invocationAlon Zakai
2012-12-14must have named globals in shared libsAlon Zakai
2012-12-07emit warnings only in preAlon Zakai
2012-12-07default heap to 16MB, and make sure asm.js heaps are power-of-twoAlon Zakai
2012-12-07do not allow memory growth in asm.jsAlon Zakai
2012-11-08improve node detection in compilerAlon Zakai
2012-11-08initial hackingAlon Zakai
2012-11-06split js compiler into three passes, to facilitate future parallizationAlon Zakai
2012-11-03fix windows line endingsAlon Zakai
2012-09-25add workaround for older node versionsAlon Zakai
2012-09-25Support loading emscripten argument filenames with relative pathsChad Austin
2012-04-20make library and gl debug configurable at runtime, and share the pretty ↵Alon Zakai
printing code
2012-04-13--js-library option to make it easy to add additional library_*.js filesAlon Zakai
2012-03-20Misc fixes for Windows.Sigmund Vik
Most of these changes have to do with how python scripts are invoked. For Linux, 'Popen([EMCC] + args)' works because the first line in emcc is '#!/usr/bin/env python'. On Windows, the python interpreter has to be explicitly invoked, e.g. 'Popen(['python', EMCC] + args)'. Note that there is no harm in explicitly invoking the python interpreter on Linux, so this works on both platforms. For Windows, execvp() behaves differently than on Linux: http://mail.python.org/pipermail/python-list/2002-July/763863.html http://msdn.microsoft.com/en-us/library/3xw6zy53.aspx This causes many strange things to happen as the parent process terminated before its children. In this change the use of execvp() has been replaced with subprocess.call(). This change also fixes some code that assumed that the path separator always is '/', but for Windows it is '\'. And where the path module can be required, we use path.normalize() and path.resolve() to check if a filename is absolute in a platform agnostic manner.
2012-03-19refactor use of this[..] in shell.js to use Module[..]Alon Zakai
2012-03-10better handling of detection of scriptArgs and argumentsAlon Zakai
2012-02-29better fix for leaked globalsAlon Zakai
2012-02-29do not pollute global scope except for node (where we must)Alon Zakai
2012-02-26remove I64_MODE, it is equal to 1 in USE_TYPED_ARRAYS 2 and only thereAlon Zakai
2012-02-11only support i64 mode 1 in ta2Alon Zakai
2012-01-10commentAlon Zakai
2011-12-31override print() by default, to avoid errors when using the browser print() ↵Alon Zakai
(print to printer) if it hasn't been overridden. Overriding is now possible through Module.print
2011-12-17note that I64_MODE and DOUBLE_MODE can slow you downAlon Zakai
2011-12-15rewrite variable analysis code. eliminate unused variables without side ↵Alon Zakai
effects, and improve nativization logic.
2011-12-13comment on print() on the webAlon Zakai