Jukka Jylänki
d2819e0594
Fix validate_asmjs.py to print a better error message when spidermonkey shell is not found.
2014-12-05 11:47:08 -08:00
Alon Zakai
f88137c06d
emit another newline in native optimizer, to match uglify
2014-12-04 18:38:40 -08:00
Mark Logan
60287e220e
Do not allocate redundant storage for identical strings.
2014-12-04 15:37:19 -08:00
Alon Zakai
74e940dff4
start to emit js in native optimizer
2014-12-03 17:14:24 -08:00
Alon Zakai
7bfa91b337
update cashew
2014-12-03 16:51:14 -08:00
Alon Zakai
8cc92925e8
enable asmLastOpts to native optimizer
2014-11-30 14:04:00 -08:00
Alon Zakai
2a856083e4
update cashew
2014-11-30 14:01:09 -08:00
Alon Zakai
658a5a1381
asmLastOpts fixes
2014-11-30 12:58:04 -08:00
Alon Zakai
18429918f2
add test for asmLastOpts without last
2014-11-30 12:14:19 -08:00
Alon Zakai
dae2a92aa8
convert asmLastOpts to native optimizer
2014-11-30 12:08:33 -08:00
Alon Zakai
5a4593e35f
accept 'cleanup' as a native optimizer-friendly pass
2014-11-30 10:36:19 -08:00
Alon Zakai
c4892e2172
update cashew
2014-11-29 20:34:48 -08:00
Alon Zakai
f63849ea7c
use native optimizer parsing
2014-11-28 21:47:11 -08:00
Alon Zakai
36f16e1c0b
update cashew
2014-11-28 21:47:11 -08:00
Alon Zakai
a6adc76553
update cashew; other.test_js_optimizer now passes with native parsing
2014-11-28 20:34:42 -08:00
Alon Zakai
0c4d4b7304
update cashew
2014-11-28 12:23:49 -08:00
Alon Zakai
56e4253ded
update cashew
2014-11-28 11:02:24 -08:00
Alon Zakai
4364027d20
remove more non-asm code from asm testcase
2014-11-28 11:02:24 -08:00
Alon Zakai
dcc248d44e
fix extraInfo parsing
2014-11-28 11:02:24 -08:00
Alon Zakai
d29d655aac
remove invalid code from asm testcase
2014-11-28 11:02:24 -08:00
Alon Zakai
0f71709f0d
prepare to parse JS in optimizer
2014-11-28 11:02:23 -08:00
Alon Zakai
24a6676c0c
do not hide stderr when building native optimizer, and option parsing improvements
2014-11-28 11:02:23 -08:00
Alon Zakai
d05d1b20a6
use cashew in native optimizer
2014-11-27 21:04:39 -08:00
Alon Zakai
d78db16ed4
make clang version checking more robust; fixes #3011
2014-11-24 10:06:44 -08:00
Alon Zakai
308d916b9d
update to llvm 3.4 ; 1.27.1
2014-11-19 16:51:05 -08:00
Alon Zakai
c21e7f05b7
actually try different compilers when building optimizer; #2997
2014-11-17 09:40:15 -08:00
Alon Zakai
c4904a8c63
try to use a system compiler if using our clang fails to build the native optimizer; fixes #2997
2014-11-16 16:47:12 -08:00
Alon Zakai
a5d95d90c6
move some included headers in optimizer from c to c++
2014-11-15 22:42:53 -08:00
Alon Zakai
1205ecc101
avoid using sys/stat.h in optimizer
2014-11-15 16:50:52 -08:00
Alon Zakai
7e3f14f749
enable native optimizer on minified output
2014-11-14 16:57:10 -08:00
Alon Zakai
2a7ffe1275
detect function names in json input in minifier
2014-11-14 13:14:50 -08:00
Alon Zakai
31b429f38a
log out when using native optimizer
2014-11-13 16:04:38 -08:00
Alon Zakai
98273eb6a2
Merge branch 'incoming' into cpp_optimizer
...
Conflicts:
tests/test_other.py
tools/js_optimizer.py
2014-11-13 15:59:42 -08:00
Alon Zakai
3e0030c615
put native optimizer behind env var
2014-11-13 15:58:16 -08:00
Alon Zakai
e900594be7
refactor decision to run in native optimizer
2014-11-13 15:56:04 -08:00
Alon Zakai
f8750120dc
fix and enable minifyNames in native optimizer
2014-11-13 15:38:39 -08:00
Alon Zakai
e6ff252953
minifyLocals fixes
2014-11-13 15:01:19 -08:00
Alon Zakai
92fbdce521
initial port of minifyLocals
2014-11-13 14:39:56 -08:00
Alon Zakai
2d53599913
support for JSON objects and extraInfo in optimizer
2014-11-13 13:47:27 -08:00
Alon Zakai
68873d79a2
fix chunkification on large json input
2014-11-13 13:10:27 -08:00
Alon Zakai
f6e3a9c230
make array accesses non-tolerant
2014-11-13 11:28:30 -08:00
Alon Zakai
b2d3cadf15
optimizer fixes
2014-11-12 17:53:31 -08:00
Alon Zakai
582ce2a550
fix oob read on vector in registerize
2014-11-12 17:29:19 -08:00
Alon Zakai
fd738c6754
remove side-effect-free nodes in registerize; enable registerize in native optimizer
2014-11-12 17:02:50 -08:00
Alon Zakai
91a0d820c0
fix some registerize porting bugs
2014-11-12 16:48:04 -08:00
Alon Zakai
aff6780ade
fix some registerize crashes
2014-11-12 16:15:35 -08:00
Alon Zakai
f418b5f550
initial work to port registerize
2014-11-12 14:47:33 -08:00
Alon Zakai
68b550a8d1
additional small traversal opts
2014-11-12 13:06:47 -08:00
Alon Zakai
eb8b83c583
optimize traversePre with a stack-based stack
2014-11-12 13:00:33 -08:00
Alon Zakai
e75930d8aa
little optimization on traversePre
2014-11-12 11:24:12 -08:00
Alon Zakai
69529d09c2
no need for exceptions or rtti in cpp optimizer
2014-11-12 11:23:53 -08:00
Alon Zakai
a6af6aa258
fix bug with removing a param as if it were a var
2014-11-11 17:53:45 -08:00
Alon Zakai
0b54b3d3f2
enable eliminate and eliminateMemSafe passes in native optimizer
2014-11-11 17:23:14 -08:00
Alon Zakai
abb4573d3d
finish eliminator port
2014-11-11 17:22:39 -08:00
Alon Zakai
05faca9b34
eliminate fixes
2014-11-11 17:06:43 -08:00
Alon Zakai
d97b1c6384
get all of ported eliminator to build
2014-11-11 16:36:45 -08:00
Alon Zakai
88d8f9687d
eliminator fixes
2014-11-11 15:25:23 -08:00
Alon Zakai
3d6d6ed1ef
fix Ref not operator
2014-11-11 15:24:59 -08:00
Alon Zakai
a66b203746
fix bug in asm-eliminator test
2014-11-11 15:24:33 -08:00
Alon Zakai
e5de2cd5e5
initial porting of eliminator to native optimizer
2014-11-11 14:17:58 -08:00
Alon Zakai
be68d22ae9
fix missing var in js optimizer
2014-11-11 14:17:33 -08:00
Alon Zakai
767b573f9f
asmData.deleteVar
2014-11-11 13:33:28 -08:00
Alon Zakai
220b8b3301
do not assume all JS engine variables exist
2014-11-10 17:50:56 -08:00
Alon Zakai
940f2ea6a8
Merge pull request #2981 from aidanhs/aphs-fix-test-llvm-lit-path
...
Fix llvm lit path test getting stuck in a loop
2014-11-10 17:42:48 -08:00
Aidan Hobson Sayers
82e068c507
Fix finding llvm src dir for current emsdk layout
2014-11-11 01:36:35 +00:00
Aidan Hobson Sayers
31df184c45
Centralise location of llvm source
2014-11-11 01:36:28 +00:00
Alon Zakai
7827f7c782
fix simplifyNotComps
2014-11-10 17:34:35 -08:00
Aidan Hobson Sayers
edc96afdc4
Only support spidermonkey engine set in ~/.emscripten
2014-11-11 01:10:24 +00:00
Alon Zakai
c930b4941f
fix double to int conversions
2014-11-10 16:46:07 -08:00
Alon Zakai
f5c48bab27
fix bisect_pair on programs not returning 0
2014-11-10 16:45:21 -08:00
Alon Zakai
65abc91825
remove two super-heavy asserts
2014-11-10 15:28:07 -08:00
Alon Zakai
862f81bd58
use IString everywhere
2014-11-10 15:20:31 -08:00
Alon Zakai
97d68a3420
intern all common strings
2014-11-10 14:29:29 -08:00
Alon Zakai
89b200bb02
remove unneeded include
2014-11-10 13:46:58 -08:00
Alon Zakai
2c68e408ad
initial work on string interning, and reusing the input for all strings
2014-11-10 13:40:47 -08:00
Aidan Hobson Sayers
99b67c963a
Convert js engine cfs to lists immediately after config read
2014-11-09 15:40:57 +00:00
Alon Zakai
0032c42675
remove traverseChildren, which forces recursion
2014-11-08 12:38:48 -08:00
Alon Zakai
26271c5318
derecurse traversePre|Post
2014-11-08 11:03:00 -08:00
Alon Zakai
5eb2cedc7d
remove rapidjson
2014-11-08 10:40:35 -08:00
Alon Zakai
0163724aff
fix comment
2014-11-07 18:28:58 -08:00
Alon Zakai
e61991b2a4
use arena allocator
2014-11-07 17:42:17 -08:00
Alon Zakai
cbc5fc1263
never free Values, leave them all alive until process exit
2014-11-07 17:32:00 -08:00
Alon Zakai
d6d4a81839
use unordered_map
2014-11-06 20:32:54 -08:00
Alon Zakai
46f5621115
comment about debugging/profiling flags
2014-11-06 20:32:36 -08:00
Alon Zakai
a3298c6205
update optimizer build flags
2014-11-06 18:34:15 -08:00
Alon Zakai
d85213d9cc
fix missing getNumber bug
2014-11-06 13:35:37 -08:00
Alon Zakai
55c7bd0a6f
emitJSON/receiveJSON fixes
2014-11-06 13:15:28 -08:00
Alon Zakai
19340e803b
fix fround var defs
2014-11-06 11:51:11 -08:00
Alon Zakai
54e16823d7
refactor AsmData
2014-11-06 10:52:05 -08:00
Alon Zakai
3442f0c542
avoid strncmp
2014-11-05 18:02:50 -08:00
Alon Zakai
e703658c7e
do not emit params as vars
2014-11-05 17:54:33 -08:00
Alon Zakai
b3973ded6c
enable simplifyNotComps
2014-11-05 17:51:19 -08:00
Alon Zakai
12a8cd9443
enable more parts of simplifyExpressions
2014-11-05 17:47:05 -08:00
Alon Zakai
f54abf922b
enable more parts of simplifyExpressions, and use Value == when comparing Refs
2014-11-05 17:40:38 -08:00
Alon Zakai
4303279317
initial work to convert simplifyExpressions to new optimizer
2014-11-05 17:03:00 -08:00
Alon Zakai
db463c7fed
unify decisions on whether to run natively, and take into account source maps, which native cannot do
2014-11-04 17:11:11 -08:00
Alon Zakai
d26fcc824e
avoid isspace
2014-11-04 16:59:46 -08:00
Alon Zakai
f036f6813e
fix js_optimizer.py decision when to use the native optimizer
2014-11-04 15:58:45 -08:00
Alon Zakai
1bb13aade5
fix optimizeFrounds and fix js_optimizer testing for native passes to only run where possible, adding an frounds-only pass so that is tested
2014-11-04 15:51:32 -08:00
Alon Zakai
b45294cd5a
some optimizer fixes
2014-11-04 15:30:11 -08:00
Alon Zakai
128cb505e8
emit full float precision when stringifying
2014-11-04 15:17:40 -08:00
Alon Zakai
8ba3dca6a4
get detectType on num
2014-11-04 14:54:28 -08:00
Alon Zakai
436500292c
make Value[] tolerant, return Null on out of bounds
2014-11-04 14:54:06 -08:00
Alon Zakai
d8b4d111a2
add pretty-printing and an assert
2014-11-04 14:44:07 -08:00
Alon Zakai
c9ccab8194
final fixes for simplifyIfs
2014-11-04 14:21:34 -08:00
Alon Zakai
971b76804b
fix deepCompare
2014-11-04 13:29:03 -08:00
Alon Zakai
9ef8a77e98
simplifyIfs porting error fixes
2014-11-04 12:14:39 -08:00
Alon Zakai
5cedfc6045
simplifyIfs fixes
2014-11-04 11:39:37 -08:00
Alon Zakai
553404f0d0
fix up shallow and deep compares
2014-11-04 11:39:22 -08:00
Alon Zakai
7bc309cd2b
fix Number parsing
2014-11-04 11:26:35 -08:00
Alon Zakai
ac6a40261e
get optimizer building and running without crashes
2014-11-04 11:11:40 -08:00
Alon Zakai
e037505db7
misc fixes
2014-11-03 17:49:42 -08:00
Alon Zakai
048cc5b9b9
get most of optimizer building on new minijson.h
2014-11-03 17:32:38 -08:00
Alon Zakai
2076afb706
minijson.h
2014-11-03 16:09:28 -08:00
Alon Zakai
0379c53dbc
end of the road for rapidjson attempt
2014-11-03 14:29:49 -08:00
Alon Zakai
45941ecb0d
set up infrastructure to test native optimizer in other.test_js_optimizer
2014-10-31 11:16:40 -07:00
Alon Zakai
b01e144487
enable optimizeFrounds as a native optimizer pass
2014-10-30 17:28:47 -07:00
Alon Zakai
525a17d2c0
error detection and comments handling in optimizer
2014-10-30 16:57:01 -07:00
Alon Zakai
b483837914
optimizer fixes
2014-10-30 16:45:32 -07:00
Alon Zakai
3320eacb14
fix detection of filename in js optimizer running on chunk
2014-10-30 16:31:06 -07:00
Alon Zakai
f841398e9c
infrastructure to build and use native optimizer
2014-10-30 16:14:17 -07:00
Alon Zakai
1ff2cd29e1
avoid copy in Cache.get if already in the right place
2014-10-30 16:13:54 -07:00
Alon Zakai
c311e0db69
Merge pull request #2944 from aidanhs/aphs-remove-calledprocesserror
...
Use a plain exception rather than CalledProcessError
2014-10-30 15:57:49 -07:00
Aidan Hobson Sayers
caa2cc0978
Use a plain exception rather than CalledProcessError
...
Because of http://bugs.python.org/issue9400 , unpickling of exceptions with
required arguments doesn't work. This includes CalledProcessError and
means nonzero exit codes are masked by an opaque error message about
arguments to __init__ and the test doesn't abort as it should.
2014-10-30 22:35:01 +00:00
Alon Zakai
8ba0aecb2a
write code to bridge js and native optimizers, serializing to json between then
2014-10-30 14:46:15 -07:00
Alon Zakai
968d27db26
use global singletons for common strings
2014-10-30 14:02:30 -07:00
Alon Zakai
0221c5a556
sdl_image version 3
2014-10-30 13:16:15 -07:00
Alon Zakai
38f11ca42c
compiling early version of optimizer.cpp
2014-10-30 10:30:58 -07:00
Alon Zakai
64db81a58f
add rapidjson
2014-10-29 17:16:31 -07:00
Alon Zakai
d594ae6894
experimental option to emit JSON in EMCC_DEBUG=2 interim phases
2014-10-29 13:53:30 -07:00
Alon Zakai
0681d35510
option to use zlib from ports
2014-10-28 17:30:56 -07:00
Alon Zakai
1bc77f0fbf
handle some corner cases in EMULATE_FUNCTION_POINTER_CASTS, and add testing
2014-10-23 13:47:52 -07:00
Alon Zakai
4a045e5c8a
fix nm scanning; notice only U, C, T
2014-10-23 13:12:10 -07:00
Alon Zakai
11f1c63099
bump sdl and sdl-image port versions
2014-10-23 11:26:07 -07:00
Alon Zakai
28a06c8842
fix ports upgrades due to version changes
2014-10-23 11:25:58 -07:00
Alon Zakai
5ae8b07f24
check for a missing directory in check_version in ports support code
2014-10-22 17:00:34 -07:00
Alon Zakai
90324df5b9
disable clang warnings when building sdl2 and sdl2-image
2014-10-22 16:55:06 -07:00
Alon Zakai
27b56d76b1
if port version file does not exist, retrieve the latest
2014-10-22 11:33:55 -07:00
Alon Zakai
eb2b151090
clear sdl2-image when building sdl2, and improve logging
2014-10-22 11:18:45 -07:00
Alon Zakai
3ab16c70ef
avoid configure step in sdl2 port
2014-10-22 11:15:06 -07:00
Alon Zakai
95c2ec8fc6
mention license in ports
2014-10-21 13:43:10 -07:00
Alon Zakai
a7659ccb60
add emcc --show-ports
2014-10-21 13:17:27 -07:00
Alon Zakai
1d881c7d93
allow --clear-cache and --clear-ports in the same command
2014-10-21 11:21:22 -07:00
Alon Zakai
6db79ca041
add versioning logic to ports
2014-10-21 11:16:51 -07:00
Alon Zakai
0a33856f60
Merge pull request #2903 from juj/fix_emterpretify_fork_bomb
...
Fix emterpretify.py fork bomb.
2014-10-20 14:32:11 -07:00
Jukka Jylanki
70ed4b97df
Make tools/emterpretify.py import-safe by only executing itself "if __name__ == '__main__':". On Windows when using Python multiprocessing, the child processes will import the main module at launch. This means that any module that uses multiprocessing needs to be importable as a library without executing its 'task'. For reference, see http://stackoverflow.com/questions/18204782/runtimeerror-on-windows-trying-python-multiprocessing . Fixes a bug where a Windows system would hang when running emterpretify.py due to creating an avalanche of thousands of python processes.
2014-10-21 00:08:22 +03:00
Alon Zakai
a616a3ca86
mention each port once in each process
2014-10-20 13:27:35 -07:00
Alon Zakai
3dde03e924
sdl_image integration
2014-10-20 13:24:04 -07:00
Alon Zakai
4635342807
emcc --clear-ports option
2014-10-20 11:12:57 -07:00
Alon Zakai
f2cf6b6d33
fix port includes handling in sdl2, and make them accessible at SDL2/
2014-10-19 20:05:33 -07:00