Граф коммитов

736 Коммитов

Автор SHA1 Сообщение Дата
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