Commit Graph

260 Commits

Author SHA1 Message Date
konsoletyper
281d4b8e05 Adds ability to build JavaScript tests against custom adapters. Adds
optional dependency scanning for tests. Adds test inclusion by
wildcards. Adds TCK test generator.
2014-02-19 20:46:17 +04:00
konsoletyper
b48cbc98a4 Introduces TestAdapter to make maven plugin be aware of different test
frameworks
2014-02-19 17:52:07 +04:00
konsoletyper
301d14e1ab Most of JavaScriptBody TCK tests pass 2014-02-19 13:44:27 +04:00
konsoletyper
8988d4fc64 Removes unecessary dependency error when building JavaScriptBody support 2014-02-19 11:40:02 +04:00
konsoletyper
2c08f75b0a Alters JUnit plugin. Now it doesn't stop when dependency problems found,
but puts warning into log and into execution report of test
2014-02-19 11:15:22 +04:00
konsoletyper
be89d16e88 Further refactoring of dependency checker 2014-02-19 10:43:13 +04:00
konsoletyper
da35fbc2a9 Dependency checker refactoring 2014-02-18 23:50:54 +04:00
konsoletyper
5b76001a34 Adds json-tck tests 2014-02-18 17:53:55 +04:00
konsoletyper
ee28309008 Adds displaying of full dependency stack for each missing item 2014-02-18 14:20:48 +04:00
konsoletyper
6c903a916c Fixes illegal processing of DUP2, DUP_X1, DUP_X2m, DUP2_X2 instructions.
Makes more fancy list of missing items
2014-02-18 12:52:29 +04:00
konsoletyper
53e1ea3627 When missing some classes/methods/fields dependency checker throws
exception after checking, providing the full list of missing items.
2014-02-17 21:02:47 +04:00
konsoletyper
169ecb18c8 Adds integer conversion 2014-02-17 17:05:17 +04:00
konsoletyper
ae2ca37ee0 Adds type conversion from Java array and integer to JS array and number 2014-02-17 08:15:06 +04:00
konsoletyper
d310409db3 Fixes dependency checking of arrays 2014-02-14 16:19:51 +04:00
konsoletyper
cc3a89ebf7 Makes `started' dependency event to be emitted before any dependency
checking. Suppresses repeated ClassHolder transformation
2014-02-14 00:37:14 +04:00
konsoletyper
4dd9eaa1fd Adds a new dependency event that is emitted when dependency checker is
about to start. Adds ability to examine classes from generators.
2014-02-13 22:59:30 +04:00
konsoletyper
e5ea6b51a7 Moves JSObject and others into a separate project 2014-02-13 17:52:56 +04:00
konsoletyper
e13accc7e4 Adds pluggable system to extend TeaVM compiler 2014-02-13 17:22:25 +04:00
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