Alon Zakai
|
e2dca81bca
|
handle ['block'] in emterpretify
|
2015-01-28 13:52:23 -08:00 |
Alon Zakai
|
e22c24cd7b
|
parse expresions with no output register but with internal subeffects properly; fixes #3141
|
2015-01-20 11:30:24 -08:00 |
Alon Zakai
|
858f8900b5
|
notice async state in emterpreter trampolines; #3129
|
2015-01-19 12:16:43 -08:00 |
Alon Zakai
|
7433a4d621
|
profiling improvements in emterpreter
|
2015-01-16 16:32:43 -08:00 |
Alon Zakai
|
fa6c894c62
|
emit temporary stand-in emterpret() method, so that validation works in temp js files during compilation
|
2015-01-15 11:45:25 -08:00 |
Alon Zakai
|
49d1d23245
|
support saving and loading stack frames in emterpreter
|
2015-01-14 13:43:21 -08:00 |
Alon Zakai
|
cfa6246300
|
disable zero emterpreter by default
|
2015-01-13 14:25:56 -08:00 |
Ryan Kelly
|
de98482d68
|
Fix some typos/grammar in registerizeHarder comments
|
2014-12-15 12:02:18 +11:00 |
Alon Zakai
|
d8f7e899b0
|
run registerizeHarder in native optimizer, and fix a minor comparison bug in that pass in js
|
2014-12-12 15:52:00 -08:00 |
Alon Zakai
|
e7c01d9f84
|
registerizeHarder cleanups
|
2014-12-11 17:08:24 -08:00 |
Alon Zakai
|
71f5212672
|
fix some typos in registerizeHarder, and continue on conversion
|
2014-12-11 13:18:52 -08:00 |
Alon Zakai
|
11ca950e14
|
minor fixes to registerizeHarder, and progress on conversion to native optimizer
|
2014-12-11 12:17:23 -08:00 |
Alon Zakai
|
d7f3090f0d
|
handle dot in traverseChildrenInExecutionOrder
|
2014-12-09 16:33:43 -08:00 |
Alon Zakai
|
ec2b1148f9
|
check for null statements in traverseChildrenInExecutionOrder
|
2014-12-09 15:36:12 -08:00 |
Alon Zakai
|
a28d8d6f75
|
canonicalize some outliner generated nodes
|
2014-12-08 12:42:36 -08:00 |
Alon Zakai
|
90c35d2f59
|
fix some cases where js optimizer emits ['num', -string-]
|
2014-12-08 11:42:00 -08:00 |
Alon Zakai
|
be68d22ae9
|
fix missing var in js optimizer
|
2014-11-11 14:17:33 -08: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
|
d594ae6894
|
experimental option to emit JSON in EMCC_DEBUG=2 interim phases
|
2014-10-29 13:53:30 -07:00 |
Alon Zakai
|
3b656a8133
|
Merge branch 'incoming' into emterpreter
|
2014-10-17 10:55:47 -07:00 |
Alon Zakai
|
bb184a1d30
|
minor cleanups in minifyLocals
|
2014-10-15 15:31:59 -07:00 |
Alon Zakai
|
e084763951
|
Merge branch 'incoming' into emterpreter
Conflicts:
src/preamble.js
|
2014-10-15 13:28:00 -07:00 |
Alon Zakai
|
748020ae97
|
fix blacklist on blacklisted methods => emterpreted methods, add trampolines as needed
|
2014-10-10 13:05:35 -07:00 |
Alon Zakai
|
4fcace592c
|
make emterpreter optimization story more regular
|
2014-10-09 19:52:17 -07:00 |
Alon Zakai
|
52b42a7187
|
fix CSE bug with multiple adjacent replacements getting wrong indexes for the new vars
|
2014-10-09 16:42:21 -07:00 |
Alon Zakai
|
7db47afda9
|
avoid x - -1.0 turning into x--1.0, fixes #2869
|
2014-10-09 11:59:04 -07:00 |
Alon Zakai
|
cb1106ae3d
|
only emit trampolines we need, and other small fixes
|
2014-10-08 21:09:44 -07:00 |
Alon Zakai
|
3382b64a92
|
simple calculation of which variables need a zeroinit
|
2014-10-08 17:33:52 -07:00 |
Alon Zakai
|
ab78a6a180
|
implement INTCALL
|
2014-10-07 14:16:34 -07:00 |
Alon Zakai
|
2a3735d36e
|
refactor CALL into EXTCALL and INTCALL, in preparation for INTCALL
|
2014-10-07 12:05:37 -07:00 |
Alon Zakai
|
6c1fd06d3c
|
simplify emterpreter return ABI
|
2014-10-07 11:50:37 -07:00 |
Alon Zakai
|
e5bd854dde
|
remove statements that have no side effects
|
2014-10-07 10:52:43 -07:00 |
Alon Zakai
|
75766411a9
|
utility to get all functions in a table, and use that to determine which are all the external emterpreter functions
|
2014-10-06 17:42:07 -07:00 |
Alon Zakai
|
520c85124f
|
refactor to allow making trampolines optional
|
2014-10-06 17:13:14 -07:00 |
Alon Zakai
|
323583f542
|
comment
|
2014-10-06 16:47:12 -07:00 |
Alon Zakai
|
b8a4a285b5
|
only let leaves use zero stack offset, as otherwise hard to support setjmp, exceptions, etc.
|
2014-10-06 15:09:50 -07:00 |
Alon Zakai
|
7da4b18323
|
ensureLabelSet pass, and use it to avoid zeroing out all local vars in emterpreter
|
2014-10-06 12:18:15 -07:00 |
Alon Zakai
|
8c3d876823
|
todo
|
2014-10-05 14:05:57 -07:00 |
Alon Zakai
|
45c07d4f9e
|
always run emterpreters at stack frame 0
|
2014-10-05 12:32:09 -07:00 |
Alon Zakai
|
240d01e1d3
|
optimize condition+BRF=>condition+BRT
|
2014-10-04 15:05:20 -07:00 |
Alon Zakai
|
1f80947c8f
|
unify relative and absolute markers
|
2014-10-04 14:54:39 -07:00 |
Alon Zakai
|
2128f0043a
|
optimized condition+branch opcodes
|
2014-10-04 14:10:49 -07:00 |
Alon Zakai
|
a2deea81d4
|
use makeBranchIfTrue in makeDo
|
2014-10-04 14:02:31 -07:00 |
Alon Zakai
|
1900c4c958
|
use makeBranchIfFalse in makeWhile
|
2014-10-04 13:57:01 -07:00 |
Alon Zakai
|
53864a7164
|
optimize Math_imul
|
2014-10-03 21:41:22 -07:00 |
Alon Zakai
|
02a3285a7c
|
functions calling function pointers are not leaves
|
2014-10-03 15:07:07 -07:00 |
Alon Zakai
|
6efd84f0d2
|
use zero-based emterpreter for leaf funcs
|
2014-10-03 14:32:05 -07:00 |
Alon Zakai
|
36aa544631
|
decide which funcs will be emterpreted in python
|
2014-10-03 13:58:33 -07:00 |
Alon Zakai
|
67f056d48c
|
do not emit a void emterpreter, reuse the _i and drop the return value
|
2014-10-02 12:08:49 -07:00 |
Alon Zakai
|
46bfe3ad6f
|
optimize simple conditionals
|
2014-10-01 21:27:30 -07:00 |