Commit Graph

492 Commits

Author SHA1 Message Date
konsoletyper
8c4514a200 Refactoring. Adds devirtualization optimization 2014-02-12 23:41:17 +04:00
konsoletyper
99333f2370 Speed-up MULTIANEWARRAY. Temporarily disable typed arrays as they make
benchmark to pass slower
2014-02-11 12:28:37 +04:00
konsoletyper
e094fe4192 Adds emulation of Integer.parseInt 2014-02-10 16:34:40 +04:00
konsoletyper
8055edd547 Fixes issue with JSFunctor-annotated classes 2014-02-10 12:43:23 +04:00
konsoletyper
67bc76f89a Adds java.lang.Boolean emulation. Adds emulation of some of
java.lang.String methods. Fixes bug in register allocator.
2014-02-10 12:25:17 +04:00
Alexey Andreev
8a423c0d4f Adds support of *functors*. Adds benchmark from bck2brwsr 2014-02-09 14:27:32 +04:00
Alexey Andreev
48265c446f Adds possibility to implement JSObject ant pass it as a callback to a
method of another JSObject
2014-02-07 23:30:31 +04:00
konsoletyper
c9f78c5cdf Introduces concept of an *injector*. Uses injectors to make generated
JavaScript code neat.
2014-02-07 00:44:06 +04:00
konsoletyper
ae2e669ec3 Adds support of native JavaScript interaction 2014-02-06 17:51:51 +04:00
konsoletyper
b621b0524b Adds a skeleton of a new native interface to JavaScript 2014-02-06 13:00:46 +04:00
konsoletyper
6a626ec493 Renamings 2014-02-02 20:35:12 +04:00
konsoletyper
4c03e7d3cb Returns back old variable substitution 2014-01-31 22:25:24 +04:00
konsoletyper
ce0859beac AST optimizations and output code minification 2014-01-31 14:03:29 +04:00
konsoletyper
bc68602dae Remove .$class property and use built-in .constructor instead 2014-01-31 10:49:01 +04:00
konsoletyper
4c70cf6828 Fixes error generating minfied JS 2014-01-30 17:44:47 +04:00
konsoletyper
3496907f0e While eliminator 2014-01-30 17:36:56 +04:00
konsoletyper
692bfdd731 Fixes issues in if statement AST optimizer 2014-01-30 17:13:24 +04:00
konsoletyper
16d11909ea New AST optimization algorithm 2014-01-29 17:35:27 +04:00
konsoletyper
d93883296e Slightly improves AST optimizer 2014-01-28 17:29:36 +04:00
konsoletyper
24921c6e80 Support of multithreaded execution. Performance optimizations. 2014-01-28 16:46:40 +04:00
konsoletyper
0c240f5636 Refactoring of model to allow multithreaded optimization 2014-01-28 14:13:12 +04:00
konsoletyper
619c50729b Further optimization for multiple threads 2014-01-27 17:35:42 +04:00
konsoletyper
915add4d97 Multithreading support refactoring 2014-01-27 17:15:28 +04:00
konsoletyper
c9a891d9cd All tests pass with register allocation 2014-01-27 16:02:23 +04:00
konsoletyper
94fe8a0acf Fixes minor decompilation issues 2014-01-27 12:36:35 +04:00
konsoletyper
0eb4e54e51 Fixes register allocation bugs 2014-01-27 11:34:55 +04:00
konsoletyper
b7917f2511 Register allocator almost complete 2014-01-24 17:26:03 +04:00
konsoletyper
73884794a4 Bugfixes. Start to implement phi eliminator through interting copies for
all phi arguments and then coalescing.
2014-01-23 17:19:36 +04:00
konsoletyper
e5a083b4c7 Trying to implement register allocator with phi function elimination 2014-01-23 16:10:42 +04:00
konsoletyper
24d40c3c41 Fixes register allocator 2014-01-23 13:16:20 +04:00
konsoletyper
ba67c34b20 Adds interference graph builder 2014-01-22 16:43:36 +04:00
konsoletyper
161eb2b9c0 Removes "representative" property of variables in SSA form 2014-01-22 13:02:27 +04:00
konsoletyper
d704e503ee Adds representative attribute to variables in SSA form. Adds program
bytecode logging
2014-01-20 18:17:58 +04:00
konsoletyper
c704956ca1 Complete liveness analyzer (not tested) 2014-01-15 17:38:14 +04:00
konsoletyper
c8ac2a8b98 Adds liveness analyzer (incomplete) 2014-01-10 17:10:58 +04:00
konsoletyper
ca29e10aeb Fixes threading issue in DependencyChecker 2014-01-10 15:30:41 +04:00
konsoletyper
2214433d6c Adds variable usage extractor and phi eliminator (incomplete) 2014-01-09 17:30:39 +04:00
konsoletyper
559cf989ba Adds method to copy program 2014-01-09 15:26:31 +04:00
konsoletyper
a5ff1cf5a8 Merge remote-tracking branch 'origin/master' 2014-01-08 18:48:20 +04:00
konsoletyper
93e2f5d284 Fixes issues with dependency checking 2014-01-08 17:48:54 +04:00
konsoletyper
111b3d9076 Applies apache license 2013-12-20 12:45:28 +04:00
konsoletyper
56991af700 Adds fixes to make `samples' project to work properly 2013-12-19 12:13:31 +04:00
konsoletyper
eb6627c532 Adds a minimal code to support HelloWorld application 2013-12-18 15:04:11 +04:00
konsoletyper
6eb145e1d0 Adds maven plugin. Switches class library test generation from main
class to maven goal
2013-12-17 12:03:27 +04:00
konsoletyper
e5cb7a20d3 Adds JavascriptBuilder - a facade for building whole JavaScript files 2013-12-16 17:48:38 +04:00
konsoletyper
a736359a07 Code size optimization 2013-12-16 16:33:28 +04:00
Alexey Andreev
808b0d9468 Fixes bugs 2013-12-13 17:28:30 +04:00
konsoletyper
5ab0036564 Common subexpression elimination now works 2013-12-12 20:59:05 +04:00
Alexey Andreev
9faf252a8d Adds common subexpression elimination prototype 2013-12-12 17:37:18 +04:00
Alexey Andreev
d9b7a87784 Fixes dependency checker bugs 2013-12-12 16:35:12 +04:00
konsoletyper
d100654b93 JUnit tests now compiled each in a separate file 2013-12-11 22:16:27 +04:00
konsoletyper
18fd80be56 Fixes bugs in minifier 2013-12-10 21:28:11 +04:00
Alexey Andreev
62df1018cc Improves minification 2013-12-10 17:24:19 +04:00
Alexey Andreev
029f655b55 Merge remote-tracking branch 'origin/master'
Conflicts:
	teavm-core/src/main/java/org/teavm/javascript/Renderer.java
2013-12-10 16:52:43 +04:00
Alexey Andreev
10c1e2f528 Adds minification 2013-12-10 16:47:41 +04:00
konsoletyper
82ef14fc07 Adds support of JVM class initialization 2013-12-09 22:04:04 +04:00
konsoletyper
d948d8d8b0 Adds long division emulation 2013-12-09 21:45:47 +04:00
Alexey Andreev
bb7053cfa4 Improvements 2013-12-06 17:16:56 +04:00
Alexey Andreev
3f1a44eccb Fixes casting between integer values. Fixes naming generation of
methods. Adds more informative exception trace when no method was found
during rendering
2013-12-04 11:46:17 +04:00
konsoletyper
d3063e7811 Fixes class methods errors. Adds string tests 2013-12-03 22:29:50 +04:00
Alexey Andreev
620d2cef62 Adds some more support of reflection 2013-12-03 19:30:53 +04:00
Alexey Andreev
b3fe2f6a29 Fixes a bug with Object.getClass() behaviour. Improves JUnit emulation 2013-12-03 19:07:53 +04:00
Alexey Andreev
167e1a52c8 Merge remote-tracking branch 'origin/master' 2013-12-03 10:06:30 +04:00
konsoletyper
06e466b01b Fixes a little optimization bug 2013-12-02 20:54:06 +04:00
konsoletyper
601fcf0824 Adds unused variable elimination 2013-12-02 20:51:04 +04:00
Alexey Andreev
c8528ef91a More tests added 2013-12-02 17:28:48 +04:00
konsoletyper
ac0df0ca6b Refactoring of array generation 2013-12-01 21:57:41 +04:00
Alexey Andreev
ce56214ed5 Adds some JVM class library implementation 2013-11-29 19:07:39 +04:00
Alexey Andreev
f6927a72af Fixes some bugs 2013-11-28 17:42:06 +04:00
Alexey Andreev
e32da9316f Improves dependency checking. Adds some core runtime functions 2013-11-27 17:30:16 +04:00
Alexey Andreev
c244c596c9 Implements some of JVM class library 2013-11-27 10:11:21 +04:00
Alexey Andreev
1355e211e3 Implementing class library emulation 2013-11-25 17:41:18 +04:00
Alexey Andreev
18e35b80e6 Adds some JVM classes. 2013-11-22 17:19:51 +04:00
Alexey Andreev
04e12562a0 Adds class preordering. Fixes concurrency issues 2013-11-20 18:16:48 +04:00
Alexey Andreev
f88b868c39 Dependency checker now cuts off unused methods 2013-11-18 17:28:02 +04:00
Alexey Andreev
6efbb75783 Instructions, that have separate class name and field/method name now
use FieldReference and MethodReference instead
2013-11-17 16:45:35 +04:00
Alexey Andreev
91a50605bc Dependency plugin support added 2013-11-17 16:20:23 +04:00
Alexey Andreev
59358dcd8d Dependency checker complete 2013-11-17 15:43:03 +04:00
Alexey Andreev
7e7cdc5b78 Working on dependency checker 2013-11-15 17:31:11 +04:00
Alexey Andreev
93798a335c Merge remote-tracking branch 'origin/master' 2013-11-11 19:08:47 +04:00
Alexey Andreev
3e7dc295a1 Type analyzer complete 2013-11-11 19:06:01 +04:00
Alexey Andreev
958592a4b0 Adds generator of HTML page, running junit test cases 2013-11-10 22:49:56 +04:00
Alexey Andreev
50a8c85cd1 java.lang.Object constructor generated properly 2013-11-10 19:56:17 +04:00
konsoletyper
ee10986d05 Class renaming now works 2013-11-06 19:46:54 +04:00
Alexey Andreev
9c83d63c86 Class components renamer 2013-11-06 17:31:08 +04:00
konsoletyper
5641a09a0a Fixes native method decompilation. Refactoring 2013-11-04 19:29:07 +04:00
konsoletyper
d63171e935 Adds annotation parsing. Adds native method generation 2013-10-28 22:59:56 +04:00
konsoletyper
df05104e3c Doing a lot of things 2013-10-27 12:16:07 +04:00
konsoletyper
3d12aed446 Adds phi instruction eliminator 2013-10-01 22:10:25 +04:00
konsoletyper
4e4d0cfe9e Adds JavaScript AST optimizer. 2013-10-01 21:45:19 +04:00
konsoletyper
3445910866 Ignores eclipse files 2013-09-24 00:11:28 +04:00
konsoletyper
69dd04668e Adds initial files 2013-09-24 00:09:15 +04:00