Alon Zakai
eb66a7f218
only forward GLOBAL_BASE when needed
2012-12-07 14:23:21 -08:00
Alon Zakai
c854ced309
forward GLOBAL_BASE to asm
2012-12-07 14:23:21 -08:00
Alon Zakai
b6b3d43b61
forward ABORT to asm
2012-12-07 14:23:21 -08:00
Alon Zakai
2617ac81a9
commented out preparation for more runtime forwarding into asm
2012-12-07 14:23:21 -08:00
Alon Zakai
b8e8298f3d
fix testing closure
2012-12-07 14:23:21 -08:00
Alon Zakai
518597ee2b
expose tempDoublePtr to asm
2012-12-07 14:23:21 -08:00
Alon Zakai
41359b3568
move stack manipulation into asm
2012-12-07 14:23:21 -08:00
Alon Zakai
60a3fd1bcd
enclose asm.js to prevent Function code from seeing the global scope, for testing purposes
2012-12-07 14:23:21 -08:00
Alon Zakai
5ff4af4293
use toSource on asm module to prevent access outside the module for testing purposes
2012-12-07 14:23:21 -08:00
Alon Zakai
e078423315
do not pass globals into asm when they are unnamed
2012-12-07 14:23:20 -08:00
Alon Zakai
f80d277fd8
fix ctors crash
2012-12-07 14:23:20 -08:00
Alon Zakai
e944bb4580
export global constructors from asm.js and get them dynamically in the outside scope
2012-12-07 14:23:20 -08:00
Alon Zakai
80ef086309
send abort and assert to asm
2012-12-07 14:23:19 -08:00
Alon Zakai
861346ff36
global vars in asm.js module
2012-12-07 14:23:19 -08:00
Alon Zakai
90288fb4ad
export function tables
2012-12-07 14:23:19 -08:00
Alon Zakai
19d06326b6
move asm.js function tables into asm
2012-12-07 14:23:19 -08:00
Alon Zakai
ed00768f16
put library signatures in separate storage instead of reusing libraryFunctions
2012-12-07 14:23:19 -08:00
Alon Zakai
709d9bf788
export asm.js exports to outside scope
2012-12-07 14:23:19 -08:00
Alon Zakai
98e48e462b
function table fixes
2012-12-07 14:23:18 -08:00
Alon Zakai
26e9eba5aa
generate separate type-specific function tables
2012-12-07 14:23:18 -08:00
Alon Zakai
df6018759a
add asm imports and exports, hello world works
2012-12-07 14:23:18 -08:00
Alon Zakai
6cf30ed095
export is reserved
2012-12-07 14:23:18 -08:00
Alon Zakai
f243434a3e
export implementedFunctions when necessary for asm.js
2012-12-07 14:23:18 -08:00
Alon Zakai
ec66ae0de4
only export asm functions from asm, not library functions
2012-12-07 14:23:18 -08:00
Alon Zakai
3c38471a75
work towards exports
2012-12-07 14:23:18 -08:00
Alon Zakai
2e28a4acfa
remove irrelevant code from asm module
2012-12-07 14:23:18 -08:00
Alon Zakai
b140e7ee73
set up asm.js 'module'
2012-12-07 14:23:18 -08:00
Alon Zakai
01082cf68a
don't emit debug info that confuses o2.test_openjpeg
2012-11-22 19:42:29 +01:00
Alon Zakai
7ca37d12de
add timing info in emscript
2012-11-22 16:27:04 +01:00
Alon Zakai
09c376afee
fix ll func identifying for chunking purposes, and add testing of jcache on a large program
2012-11-22 15:15:00 +01:00
Alon Zakai
f725733b14
save only strings in jcache
2012-11-22 13:54:35 +01:00
Alon Zakai
cbfcb2e9f1
fix emscript funcs caching and add testing
2012-11-21 20:47:02 +01:00
Alon Zakai
3a048d9e58
cache emscript function chunks
2012-11-21 20:47:02 +01:00
Alon Zakai
6f679ca7e7
return chunks of text in chunkify to simplify the ap-iy
2012-11-21 20:47:02 +01:00
Alon Zakai
60a11cfaec
improve chunkify to consider previous chunkings when caching
2012-11-21 20:47:02 +01:00
Alon Zakai
a2b241e70b
refactor chunking code and add function ident information
2012-11-21 20:47:02 +01:00
Alon Zakai
19f97a1e74
make emscript chunks lists of functions, to make it easier later to load them separately from jcache
2012-11-21 20:47:01 +01:00
Alon Zakai
c115a4fee6
fix bug with ignore label comments inside functions
2012-11-21 20:47:01 +01:00
Alon Zakai
e4aa21f08a
fix and test pre caching
2012-11-21 20:47:01 +01:00
Alon Zakai
8fce64dd18
basic jcache on pre with files+cPickle
2012-11-21 20:47:01 +01:00
Alon Zakai
6af60b7137
add more caching logic including short vs full keys
2012-11-21 20:47:01 +01:00
Alon Zakai
58e00ebddf
basic logic and stubs for caching pre phase
2012-11-21 20:47:01 +01:00
Alon Zakai
f199880bb1
set up parameter passing for jcache
2012-11-21 20:47:01 +01:00
Alon Zakai
813f86354c
emit libraries and globals in pre phase, which needs to parse globals anyhow, and avoid overhead of libraries in func phases
2012-11-15 16:10:23 -08:00
Alon Zakai
dfce473f4e
adjust emscrip parallelization heuristics
2012-11-14 14:58:08 -08:00
Alon Zakai
3b249f8289
optimize writing in emscripten.py
2012-11-13 18:19:34 -08:00
Alon Zakai
4127726504
clean up temp .ll files in child processes
2012-11-13 14:54:40 -08:00
Alon Zakai
acbf809a3c
bootstrap relooperautomatically
2012-11-10 14:37:15 -08:00
Alon Zakai
563f6ad6d9
improve emscripten temp file storage
2012-11-10 11:26:23 -08:00
Alon Zakai
c6144aa6e2
fix handling of splitting in emscript with just one core
2012-11-07 18:57:43 -08:00
Alon Zakai
c0b90255c1
take into account forwarded data in chunk sizes in emscript
2012-11-07 18:19:15 -08:00
Alon Zakai
4a6e77e048
test coverage for splitting each function out into an emscript chunk
2012-11-07 09:59:35 -08:00
Alon Zakai
43337adaec
allow setting the js compiler in emscripten.py, for people that don't use emcc and ~/.emscripten
2012-11-06 21:11:18 -08:00
Alon Zakai
574156229c
emscripten profiling cleanup
2012-11-06 17:27:27 -08:00
Alon Zakai
82dbac5060
optimize emscript indexize using python re
2012-11-06 17:15:28 -08:00
Alon Zakai
8547bf5788
run emscript func chunks in parallel
2012-11-06 17:05:45 -08:00
Alon Zakai
50cb6c73f5
refactor emscript chunking code
2012-11-06 16:29:33 -08:00
Alon Zakai
e5afadc45c
cleanup
2012-11-06 16:01:47 -08:00
Alon Zakai
b87d2cb0b9
fix chunking bug
2012-11-06 15:48:26 -08:00
Alon Zakai
939e129f0f
chunk funcs pass in emscript
2012-11-06 15:43:24 -08:00
Alon Zakai
f212e44648
cleanup
2012-11-06 14:46:25 -08:00
Alon Zakai
6942df9f2d
generate indexedFunctions in pre, and give it the information to do so
2012-11-06 14:24:35 -08:00
Alon Zakai
ef4003eadf
fix debug metadata
2012-11-06 13:58:45 -08:00
Alon Zakai
f1341adb34
process each function separately in emscript
2012-11-06 13:51:48 -08:00
Alon Zakai
d1ae32fba5
optimize line splitting in emscript
2012-11-06 11:14:29 -08:00
Alon Zakai
d08456de43
emscript profiling
2012-11-06 10:46:04 -08:00
Alon Zakai
8b621ba1df
cleanup
2012-11-06 10:36:23 -08:00
Alon Zakai
33cdfe5819
split js compiler into three passes, to facilitate future parallization
2012-11-06 10:26:10 -08:00
Chad Austin
58fa53cd1b
remove some unused command line arguments
2012-07-03 18:33:24 -07:00
Alon Zakai
7750e1c501
better hashbang in emscripten.py
2012-04-24 14:47:33 -07:00
Alon Zakai
b5e53f4e17
--js-library option to make it easy to add additional library_*.js files
2012-04-13 18:57:41 -07:00
Alon Zakai
b8352dc221
show warning if using emscripten.py directly
2012-02-05 10:37:40 -08:00
Alon Zakai
61e4b6b9d4
do not generate annotations when disassembling bitcode
2012-01-21 17:16:50 -08:00
Alon Zakai
3a10fea5e7
remove --optimize and --malloc from emscripten.py, since they are obsoleted by emcc options
2012-01-21 10:08:37 -08:00
Alon Zakai
af942f1c89
fix and optimize cached header handling in test runner
2012-01-08 11:19:33 -08:00
Alon Zakai
b1ee96ba0d
refactor run_js and an additional emcc test
2011-12-11 18:31:10 -08:00
Alon Zakai
d13c1e87d5
refactor temp files handling code, and first passing compilation test for emcc
2011-12-11 15:24:04 -08:00
Alon Zakai
cd536b75c1
fix broken --optimize
2011-12-06 20:36:20 -08:00
Alon Zakai
316ac8372e
rename OPTIMIZE to MICRO_OPTS
2011-11-18 10:16:47 -08:00
LCID Fire
c77c200fba
Remove muting or std outputting stderr.
2011-11-17 20:08:28 +01:00
Alon Zakai
8f80bc5120
comment on .ll input
2011-10-13 11:40:46 -07:00
Alon Zakai
e917be49a0
warning in emscripten.py
2011-10-09 14:48:29 -07:00
Alon Zakai
417d47d048
path fixes
2011-10-05 11:12:45 -07:00
Alon Zakai
3b7e914142
fix merge conflicts
2011-10-05 09:55:48 -07:00
Alon Zakai
fea282c5d4
fix langinfo
2011-10-02 17:44:32 +02:00
Alon Zakai
80e2f0333d
fix header parsing bug and unistd.h header; fixes unistd_confstr
2011-09-25 18:56:58 -07:00
Alon Zakai
2c342b0b0a
fix bug with no headers passed to emscripten.py
2011-09-25 10:33:17 -07:00
Alon Zakai
f0ba90f7e5
parse C1|C2 in headers; properly fixes fcntl
2011-09-25 10:28:19 -07:00
Alon Zakai
3b21d884fb
improve header constant parsing
2011-09-25 01:20:34 -07:00
Alon Zakai
008137390b
emscripten.py option to expose header #defines to library. fixes fcntl
2011-09-24 23:26:59 -07:00
Alon Zakai
2f11f2e153
start to include system headers (tests broken)
2011-09-24 18:21:58 -07:00
Alon Zakai
8643df88d3
harmonize use of COMPILER_ARGS
2011-09-23 17:23:22 -07:00
SiggyBar
3d07ab5d9f
Edited emscripten.py via GitHub
2011-09-23 13:43:03 +03:00
Alon Zakai
ff8ea20b9b
always use clang in emscripten.py; fixes python test
2011-09-04 10:20:02 -07:00
Alon Zakai
3268d11056
fix for running emscripten on a file in the local directory
2011-07-30 10:43:43 -07:00
Alon Zakai
f6e02c614a
workarounds for js engine bugs
2011-07-30 10:26:30 -07:00
max99x
9ee300c190
Switched from argparse to optparse in emscripten.py, for older Python.
2011-07-13 22:30:29 +03:00
max99x
11e404d7a8
Polish for emscripten.py and its tests.
2011-07-09 20:14:00 +03:00
max99x
b37b05b1a0
Reverted hashbang from /usr/bin/python2 to /usr/bin/python.
2011-07-08 08:53:47 +03:00
max99x
1bd1893888
* Added support for automatically determining llvm-gcc/clang data layout in emscripten.py.
...
* Added a dlmalloc linking test.
* Fixed double-evaling of JSON in emscripten.py when --dlmalloc is passed.
2011-07-08 08:39:31 +03:00
max99x
cfbdf06310
Moved cleanup into a `finally` block.
2011-07-08 07:38:42 +03:00
max99x
eef9e588e0
Cleaning up temporary files in emscripten.py.
2011-07-08 07:10:13 +03:00
max99x
f0bb154229
* Moved pick_llvm_opts() to tools/shared.py.
...
* Using pick_llvm_opts() instead of hardcoding -O3 in emscripten.py.
* Reassembling only when needed in emscripten.py.
2011-07-08 07:04:38 +03:00
max99x
7dcdb044d3
Rewrite of emscripten.py:
...
* Uses option arguments instead of positional ones.
* Allows linking to dlmalloc.
* Accepts both .bc and .ll files and takes care of annotations.
* Allows running the LLVM optimization pass automatically.
* Updated test runner to use the new emscripten.py interface.
Refactoring:
* Moved settings.py to root folder. It no longer applies just to tests.
* Updated references to settings.py.
* Added an __init__.py to tools, so we don't have to hack around imports.
2011-07-07 12:24:09 +03:00
Alon Zakai
1be1268669
remove compiler argument to emscripten.py - use ~/.emscripten instead
2011-05-15 19:07:12 -07:00
Alon Zakai
ae5aa84484
write to file directly in emscripten.py
2011-03-16 15:31:12 -07:00
Alon Zakai
443107fc61
use proper constant in emscripten.py
2011-03-12 13:37:42 -08:00
Alon Zakai
1f3de5c76e
libcxx test; support for linking in test runner; failure in clang_0_1.test_libcxx
2011-01-17 15:36:26 -08:00
Alon Zakai
9d209878f9
refactor shared components of python tools, and add emmaken.py
2011-01-14 22:44:52 -08:00
alon@honor
d16c1a6c06
misc minor fixes
2010-10-17 20:59:50 -07:00
alon@honor
7ffcdba839
beginnings of SDL support; minor fixes for SDL; raytrace web demo
2010-09-26 15:59:54 -07:00
alon@honor
fea809cb09
refactor into files
...
--HG--
rename : src/parser.js => src/compiler.js
2010-09-20 18:59:15 -07:00
alon@honor
a8d7622f69
allow emscripten.py to read ~/.emscripten for settings
2010-09-12 15:11:43 -07:00
alon@honor
ade3a58044
docs in emscripten.py
2010-09-11 23:14:16 -07:00
alon@honor
325fa82fa0
enable sauer test (with RELOOPING=0)
2010-09-09 23:36:52 -07:00
alon@honor
a224d9f4cc
Allow overriding compiler settings.js
2010-09-09 23:22:10 -07:00
alon@honor
a523ad539c
emscripten.py
2010-09-09 20:03:24 -07:00