Commit Graph

495 Commits

Author SHA1 Message Date
konsoletyper
58606d8aa6 Remote System.out.println 2014-09-13 20:51:03 +04:00
konsoletyper
dc3faa1727 Fix invalid call sites in debug information for INVOKEVIRTUAL 2014-09-13 19:38:04 +04:00
konsoletyper
ce78bdb07f Refactor Eclipse plugin 2014-09-13 16:45:04 +04:00
konsoletyper
50a65c27e3 Fix minor issues 2014-09-11 17:12:53 +04:00
konsoletyper
b0b9287659 Fix NPE that is sometimes thrown when generating debug information.
Enable debug information for html4j TCK
2014-09-11 10:49:22 +04:00
konsoletyper
64847c3888 Add debug information and source maps to unit test builder 2014-09-11 07:58:20 +04:00
konsoletyper
5fc3574aad Fixes incremental build when running through CLI 2014-09-10 21:23:22 +04:00
konsoletyper
df49ead369 Adds support of incremental build into tools 2014-09-10 21:12:11 +04:00
konsoletyper
e28771ad48 Fix bugs in ProgramIO and AstIO 2014-09-10 20:02:48 +04:00
konsoletyper
fb424e6741 Complete incremental build 2014-09-10 17:43:07 +04:00
konsoletyper
f1249be6dc Add statement reader 2014-09-10 10:53:21 +04:00
konsoletyper
04d1c28df0 Add test for ProgramIO 2014-09-10 10:14:41 +04:00
konsoletyper
0d1a59c03b Add incomplete implementation of AST disk cache 2014-09-09 17:52:27 +04:00
konsoletyper
a7d3f26447 Add AST writer 2014-09-09 14:41:03 +04:00
konsoletyper
7de36a6d33 Disk cached classes and programs 2014-09-09 13:35:43 +04:00
konsoletyper
13b64fd4c1 Fixes problems with reading and writing a program 2014-09-09 12:18:46 +04:00
konsoletyper
e6ce22b960 Complete disk cached class source 2014-09-08 18:08:23 +04:00
konsoletyper
c79519f72a Add writing class to disk 2014-09-08 17:28:37 +04:00
konsoletyper
31204491fc Complete program IO. Add caching of classes on disk 2014-09-07 19:53:20 +04:00
konsoletyper
aa9a042360 Add read support of several instructions 2014-09-07 14:35:17 +04:00
konsoletyper
054d32c48f Add reader of a program 2014-09-06 22:53:34 +04:00
konsoletyper
7a3aab998b Add method that writes program to file 2014-09-05 21:27:59 +04:00
konsoletyper
13ee74965e Add cache package for input/output of symbol table, SSA and AST 2014-09-05 18:10:16 +04:00
konsoletyper
5276680582 Merge remote-tracking branch 'origin/incremental' into incremental 2014-09-05 11:26:32 +04:00
konsoletyper
b4a172b8f7 Cache optimized programs with allocated registers 2014-09-05 11:26:19 +04:00
konsoletyper
9fe66c4f2e Fixes bug in GVN 2014-09-04 19:58:09 +04:00
konsoletyper
520008913e Adds AST caching 2014-09-04 18:21:09 +04:00
konsoletyper
f740782881 Fixes small bugs. Introduces a new class source that does a slight
optimization before providing classes.
2014-09-04 17:18:22 +04:00
konsoletyper
89d6a453ec Speed-up dependency checker
=
2014-09-04 13:24:39 +04:00
konsoletyper
ec9e927701 Merge remote-tracking branch 'origin/incremental' into incremental
Conflicts:
	teavm-core/src/main/java/org/teavm/dependency/DependencyChecker.java
2014-09-04 11:34:20 +04:00
konsoletyper
7a36799b99 Removes threading 2014-09-04 11:25:39 +04:00
konsoletyper
4f941e0a0a Refactor dependency checker 2014-09-03 21:08:19 +04:00
konsoletyper
e60be5d518 Start refactoring dependency checker to make it partially incremental 2014-09-03 18:20:31 +04:00
konsoletyper
0ff2b2a1dc Fixes small bugs that were found by html4j TCK 2014-09-02 18:25:43 +04:00
konsoletyper
491f7ab962 When exloring JS stack frame from Java thread, Eclipse opens JS source 2014-09-01 17:53:59 +04:00
konsoletyper
351d14e275 Minor improvements of Eclipse debugger UI 2014-08-31 00:14:51 +04:00
konsoletyper
45181bece7 Refactoring 2014-08-30 23:37:48 +04:00
konsoletyper
b51d8fe452 Refactoring and bugfixes 2014-08-30 23:29:24 +04:00
konsoletyper
1aca1d5a1e Get "step in" back to work 2014-08-30 21:28:10 +04:00
konsoletyper
31b5895640 Refactoring of debug information reader/writer 2014-08-30 19:13:14 +04:00
konsoletyper
deea4e995a Further refactoring of debugger 2014-08-29 18:01:52 +04:00
konsoletyper
45c336ebb8 Refactoring of debug information 2014-08-28 17:54:02 +04:00
konsoletyper
88c47095a6 Start refactoring of debug information 2014-08-27 22:49:28 +04:00
konsoletyper
7e1ff76c5d Introduces another approach for setting temporary breakpoints at
methods' start lines when stepping in, due to bug in google chrome:
http://code.google.com/p/chromium/issues/detail?id=407105
2014-08-27 18:05:38 +04:00
konsoletyper
7cb3ce70c3 Adds source maps generation 2014-08-26 17:48:32 +04:00
Alexey Andreev
5b0506d158 Makes more accurate callsite generation 2014-08-24 22:40:53 +04:00
Alexey Andreev
86003b45ca Fixes generation of CFG debug information 2014-08-24 17:37:57 +04:00
Alexey Andreev
97e107635b Fixes bugs related to stepping 2014-08-24 16:02:21 +04:00
Alexey Andreev
6272c3a79a Fixes bug with stepping 2014-08-24 13:52:57 +04:00
Alexey Andreev
3bc8887e4f Adds reordering of call sites to achieve natural stepping in call
hierarchy.
2014-08-22 23:01:19 +04:00
konsoletyper
0f81841cf5 Adds RecordArray that generalizes several tasks performed by debugger. 2014-08-22 17:38:41 +04:00
konsoletyper
fed5637d4d Fixes bugs in stepping 2014-08-20 12:51:28 +04:00
konsoletyper
0c708868a5 Implements step into and fixes bugs 2014-08-19 17:53:28 +04:00
konsoletyper
2c8902e94a Adds several mappings to debug information 2014-08-18 21:10:17 +04:00
konsoletyper
7153a8e2c9 Adds call sites to debug information 2014-08-17 15:39:48 +04:00
konsoletyper
497d2424bb Changes debug information format for more compact size of bytecode CFG 2014-08-16 10:48:23 +04:00
konsoletyper
95f532aca6 Minor fixes & refactoring 2014-08-14 12:20:23 +04:00
konsoletyper
14fdf9b797 Adds attribute, indicating that breakpoint was installed in TeaVM 2014-08-13 21:34:46 +04:00
konsoletyper
c0dc459f22 Fixes bugs in stepping over 2014-08-13 16:06:43 +04:00
konsoletyper
4115785823 Great progress toward "step over" operation 2014-08-12 14:30:47 +04:00
konsoletyper
b05d1a7524 Adds line CFG to debug information 2014-08-11 18:26:25 +04:00
konsoletyper
fa1a620fdb Small improvements 2014-08-08 18:02:43 +04:00
konsoletyper
befde46ca2 Adds latest debugger's features to Eclipse plugin 2014-08-07 15:28:47 +04:00
konsoletyper
569d6fa3e8 Multiple small improvements 2014-08-07 14:12:08 +04:00
konsoletyper
1b374c7466 Fixes variable mapping 2014-08-07 12:23:47 +04:00
konsoletyper
2b52bbedf8 Repair maven build 2014-08-07 07:41:07 +04:00
konsoletyper
461528b51f Adds support of object's fields in debugger watches 2014-08-06 23:03:50 +04:00
konsoletyper
8d0432dd5e First correct local variable mapping 2014-08-06 20:56:33 +04:00
konsoletyper
36d76885a7 Fixes bugs with variable debug information tracking 2014-08-06 18:12:50 +04:00
konsoletyper
cbe2ccb499 Fixes bugs with variable mapping 2014-08-05 18:08:13 +04:00
konsoletyper
bc911a661a Begin to implement variable mapping 2014-08-04 23:22:41 +04:00
konsoletyper
c490e2f9f8 Improvement of debugger plugin. Debugger itself became multithreaded 2014-07-31 21:38:32 +04:00
konsoletyper
930d2087ab First working prototype of eclipse plugin 2014-07-31 20:01:56 +04:00
konsoletyper
4b43cbce55 First attempt to create a TeaVM eclipse plugin 2014-07-30 23:32:42 +04:00
konsoletyper
25789825fc Refactoring 2014-07-30 21:51:21 +04:00
konsoletyper
c2eecaefca First working prototype of debugger 2014-07-30 17:46:41 +04:00
konsoletyper
f6853eda80 Refactor Debugger interface for attaching/detaching. Fix bugs with line
mapping generation
2014-07-30 14:43:36 +04:00
Alexey Andreev
81fff7a4a6 Bugfixes 2014-07-29 17:13:29 +04:00
Alexey Andreev
ba9f6ef718 Complete implementation of Google Chrome RDP backend. Add Google Chrome
extension
2014-07-29 13:26:21 +04:00
Alexey Andreev
0cb0bd469b Begin implementation of google chrome debugger backend 2014-07-28 23:54:33 +04:00
Alexey Andreev
444c599b17 Refactoring of DebugInformation. Reduce memory consumption and debug
file size. Add debug information reader
2014-07-28 16:17:21 +04:00
Alexey Andreev
62281f696c Fixes bugs in debug information generator and writer 2014-07-27 23:39:56 +04:00
Alexey Andreev
94b9b001cd Adds debugging information file generation 2014-07-27 19:13:39 +04:00
Alexey Andreev
3b939d0853 Debug information construction 2014-07-27 15:23:01 +04:00
Alexey Andreev
71415e71e1 Adds prototype of debugger 2014-07-25 20:55:36 +04:00
konsoletyper
43670ed3ca Adds string pool 2014-07-07 18:00:22 +04:00
konsoletyper
a32d6d037b Minor optimizations 2014-07-07 17:35:30 +04:00
konsoletyper
fb4ec191d9 Fixes some tests 2014-07-03 18:09:00 +04:00
konsoletyper
eb4b70187b Fixes incorrect inclusion of temporary variable inside loop condition 2014-07-03 16:13:24 +04:00
konsoletyper
81ac1568bf Fixes bugs and formatting 2014-07-03 14:06:14 +04:00
konsoletyper
08fc4c5f23 Fixes long arithmetics bug 2014-07-02 17:42:21 +04:00
konsoletyper
cf64364716 Fixes long division 2014-06-28 13:51:39 +04:00
konsoletyper
45d0a10c8d Disables loop invariant motion for arrays 2014-06-28 11:20:38 +04:00
konsoletyper
084de3374e Fixes some bugs 2014-06-28 00:03:12 +04:00
konsoletyper
b21e1b4dd5 Fixes exception with Long.toString method. Fixes incorrect getMessage
invocation from unit test runner.
2014-06-27 23:03:58 +04:00
konsoletyper
87262f2e97 Fixes incorrect handling of one-block loops. Fixes infinite loop
generation.
2014-06-27 22:44:16 +04:00
konsoletyper
2aa1774b25 Tries to avoid problem with single-block loop 2014-06-27 18:28:34 +04:00
konsoletyper
b94d711732 Completes DateTimeFormat support 2014-06-26 18:06:31 +04:00
konsoletyper
c0909c7cce Merge branch 'cli' into date2
Conflicts:
	pom.xml
2014-06-23 13:25:22 +04:00
konsoletyper
0e8b3d23bb Adds CLI tool to run TeaVM 2014-06-22 22:31:09 +04:00
konsoletyper
c459f3779a Transfers much of BuildJavaScriptMojo logic to the common TeaVMTool. 2014-06-22 11:52:15 +04:00
konsoletyper
4866a6d52f Moves test generation logic from teavm-maven-plugin to teavm-core 2014-06-21 20:33:59 +04:00
konsoletyper
23726b8ea0 Fixes incorrect long to double conversion 2014-06-16 16:11:38 +04:00
konsoletyper
8e521c457f Adds service registration and retrieval infrastructure 2014-06-10 11:10:11 +04:00
konsoletyper
c3e30cc295 Dependency plugin receives DependencyAgent instead of DependencyChecker 2014-06-09 21:26:58 +04:00
Alexey Andreev
a5f9e4a0b4 Bugfixes 2014-06-08 11:38:51 +04:00
Alexey Andreev
6992c81e8d Makes all current metadata provider tests passing 2014-06-07 15:48:57 +04:00
konsoletyper
c6e7b30bed Adds tests for metadata generators 2014-06-06 18:18:52 +04:00
konsoletyper
3cf7991cfb Adds ResourceAccessor and its implementation. ResourceAccessor is to
access properties and methods of resource in rumtime.
2014-06-05 15:18:40 +04:00
konsoletyper
10a8e0261a Continues implementation of metadata providers 2014-06-04 16:30:42 +04:00
konsoletyper
f892748174 Fixes stack overflow in certain cases 2014-05-08 17:04:32 +04:00
konsoletyper
5de1b3877d Adds configuring method and class aliases in teavm-maven-plugin 2014-04-28 17:33:56 +04:00
konsoletyper
02f140ef30 Merge remote-tracking branch 'origin/master' 2014-04-12 12:24:34 +04:00
konsoletyper
efd5582f8d Fixes bug in dependency checker 2014-04-12 12:24:15 +04:00
konsoletyper
2421e6d46b Optimize runtime.js 2014-04-08 17:06:02 +04:00
konsoletyper
ad3fa3b531 Fixes bugs 2014-04-07 13:01:19 +04:00
konsoletyper
25f4ad4b45 Fixes bug that caused TeaVM compiler to freeze when compiling a certain
bytecode sequence
2014-04-04 11:10:29 +04:00
konsoletyper
0deb7ac4e6 Includes catch instruction into interference analysis 2014-03-31 15:26:20 +04:00
Alexey Andreev
f66233c6aa Prevents invariant constant motion 2014-03-27 22:24:37 +04:00
Alexey Andreev
b2c78948f5 Loop invariant motion now considers method arguments to be invariants of
any loop
2014-03-27 21:40:04 +04:00
Alexey Andreev
cfd0f3e998 JCL tests pass with loop invariant motion enabled 2014-03-27 21:19:55 +04:00
Alexey Andreev
b96c5038ce Adds loop invariant code motion optimization 2014-03-27 20:09:05 +04:00
Alexey Andreev
2f2985bb10 Removes inlining of variable's values into && and || expression, as it
sometimes can violate evaluation order. Fixes creation of arrays of
arrays of primitives.
2014-03-27 15:48:34 +04:00
Alexey Andreev
bf68cf4b7d Fixes bugs in JSO and building resources 2014-03-26 23:15:55 +04:00
Alexey Andreev
ae60a7b4a0 Refactoring that introduces ability to generate new classes from
dependency interceptors.
2014-03-24 15:40:56 +04:00
Alexey Andreev
00d160e92b First attempt to refactor dependency checker 2014-03-24 13:26:32 +04:00
konsoletyper
e43898e573 Most of java.util.BitSet test pass 2014-03-21 15:06:06 +04:00
konsoletyper
02dcf9caa8 Configure pom.xml files to automatically release into Sonatype OSS
repository
2014-03-20 10:59:12 +04:00
konsoletyper
cbdcfa8977 Switches to 0.2-SNAPSHOT version 2014-03-19 01:48:43 +04:00
konsoletyper
3d3b5abce8 Adds JavaDocs 2014-03-19 01:37:07 +04:00
Alexey Andreev
0ab1639821 Refactor pom files 2014-03-18 18:02:15 +04:00
konsoletyper
91a7a9ba22 Adds java.lang.String methods. Makes intern on all string constants. 2014-03-17 00:53:22 +04:00
konsoletyper
e35f9b54b5 Moves JCL report generator into separate package. Adds hack that allows
to obtain JavaCompiler (but yet it won't compile).
2014-03-16 01:54:47 +04:00
konsoletyper
aacc7e08d2 One more speed-up of register allocation 2014-03-15 14:58:27 +04:00
Alexey Andreev
8d0c412634 Removes some temporary code 2014-03-15 01:06:57 +04:00
Alexey Andreev
97dc66968e Speed-up interference graph builder. Simplify API 2014-03-15 00:43:13 +04:00
Alexey Andreev
45fe202740 Switch to asm4 2014-03-14 22:24:25 +04:00
Alexey Andreev
739f666c0a Fixes java.io.BufferedReader.skip method. Fixes multiplication of
negative long integers
2014-03-14 13:03:26 +04:00
konsoletyper
44264c7ea8 Fixes some bugs in JCL 2014-03-12 22:35:20 +04:00
konsoletyper
b85dfcd7a0 Fixes bug that caused JUnit not to throw assertions in certain cases. 2014-03-12 21:01:00 +04:00
konsoletyper
134196d401 Completes java.lang.StringBuilder|StringBuffer 2014-03-12 15:43:26 +04:00
konsoletyper
d870060187 Fixes bug in Java bytecode parser. Fixes bug in register allocator. Adds
java.util.Timer. Adds java.util.Collections.reverse
2014-03-11 15:49:47 +04:00
konsoletyper
d8477f1e9d Fixes devirtualization bug. Adds exception message displaying when test
fails. Fixes java.util.Arrays.deepToString
2014-03-11 10:41:59 +04:00
konsoletyper
4143e6c8d7 Repairs common subexpression elimination and renames it to global value
numbering, as it is really pessimistic GVN
2014-03-07 23:13:07 +04:00
konsoletyper
758c7c7966 Repairs implementation of bit manipulation in java.lang.Double. Disables
GVN due to bug
2014-03-07 12:02:07 +04:00
konsoletyper
688d6191fd Adds implementation of some JCL methods/classes 2014-03-06 13:47:24 +04:00
konsoletyper
43b41b3a66 Makes JCL compatibility report in HTML 2014-03-05 23:39:35 +04:00
konsoletyper
a29318668e Adds utility that checks which classes are implemented in JCL emulation
and produces JSON report
2014-03-05 17:47:47 +04:00
konsoletyper
d714e880d3 Adds checkstyle and findbugs into configuration of teavm-core 2014-03-05 12:54:26 +04:00
konsoletyper
226f4c2c8a Refactoring. JavascriptBuilder becomes TeaVM and goes to org.teavm.vm
package, as well as some other classes go to org.teavm.vm.spi. html4j
now supports generation of JavaScript that is completely compatible with
bck2brwsr without altering HTML page
2014-03-05 00:13:58 +04:00
konsoletyper
92d4078228 Fixes classpath bugs. Fixes internal analysis bug. Adds some JCL 2014-03-04 00:06:03 +04:00
konsoletyper
9c4f00c18a Adds most of java.lang.Character implementation. Adds integer stack to
avoid stack overflow when using fixed-sized array-based stack
2014-03-03 16:29:46 +04:00
konsoletyper
a2d9663901 Minimizes amount of generated code to represent virtual methods 2014-03-02 11:02:09 +04:00
konsoletyper
04de57627f Fixes dependency propagation of exceptions 2014-03-02 10:05:56 +04:00
konsoletyper
8541e40f36 Adds exception type propagation 2014-03-01 22:19:24 +04:00
konsoletyper
d68f78f77d Adds NullCheckInstruction 2014-03-01 19:01:27 +04:00
konsoletyper
4c36ab9db1 Reduces amount of generated code 2014-03-01 18:05:04 +04:00
konsoletyper
f4fd2d884f Fixes devirtualization optimization 2014-03-01 16:58:38 +04:00
konsoletyper
cc8d2b8903 TCK passes some more tests 2014-02-28 14:16:23 +04:00
konsoletyper
ce4f6dc5d5 Adds some JCL dependencies required by html4j 2014-02-28 13:40:55 +04:00
konsoletyper
5c613d2f7f Implements Double.parseDouble. Fixes bugs. Disabled devirtualization
optimization due to bugs
2014-02-27 16:06:22 +04:00
konsoletyper
b4347b4eb8 Adds optional support of throwing NPE when calling method on null
instance
2014-02-27 10:04:51 +04:00
konsoletyper
43acca8706 Fixes incorrect optimization of try/catch statements 2014-02-26 22:02:09 +04:00
konsoletyper
1f18148144 Removes exception handlers in a special case when exception handler is
exactly at the start of a protected block
2014-02-26 21:45:58 +04:00
konsoletyper
a4f477329d Fixes bugs in try/catch 2014-02-26 17:54:25 +04:00
konsoletyper
ea3e6adb64 Adds VM test that verifies that exceptions are caught 2014-02-26 17:14:08 +04:00
konsoletyper
62686878c6 Adds try/catch support in simple cases 2014-02-26 16:42:31 +04:00
konsoletyper
de245613c4 Parser supports try/catch blocks 2014-02-26 13:26:33 +04:00
konsoletyper
d5fac392d3 Adds try/catch block to model 2014-02-25 21:36:45 +04:00
konsoletyper
03bc2e2e07 Adds support of java.io.BufferedReader and java.io.StringReader 2014-02-25 12:41:00 +04:00
konsoletyper
8cbb6477cb Adds test coverage of InputStreamReader 2014-02-24 19:43:11 +04:00
konsoletyper
7782f1edb7 Small improvements 2014-02-24 15:00:30 +04:00
konsoletyper
0004babe65 Bugfixes and improvements, trying to launch Knockout4Java 2014-02-24 13:07:06 +04:00
konsoletyper
d34e26e970 Adds java.util.ServiceLoader support 2014-02-24 00:50:06 +04:00
konsoletyper
3195879467 Adds support of Class.getDeclaringClass method 2014-02-23 23:17:30 +04:00
konsoletyper
9cdc099b1a Adds simple support of Class.forName and class.newInstance 2014-02-23 21:14:10 +04:00
konsoletyper
5c03e7547f Avoids swap problem when eliminating phi functions and therefore gets
back global value numbering optimization
2014-02-22 23:20:30 +04:00
konsoletyper
7831ade3a6 Fixes infinite loop in dependency checker in some cases 2014-02-21 19:47:51 +04:00
konsoletyper
a353a05e23 Fixes dependency checker bug 2014-02-21 19:29:45 +04:00
konsoletyper
e2d872fa20 Fixes dependency checking when casting arrays 2014-02-21 17:34:49 +04:00
konsoletyper
90a077fc34 Fixes dependency checker bug 2014-02-21 17:10:28 +04:00
konsoletyper
31b9525309 Fixes bugs. Adds JCL implementation 2014-02-21 15:07:37 +04:00
konsoletyper
59e6095fef Adds linking phase that for each method invocation places a proper
reference, possibly inherited from superclass. Adds tests on ArrayList
2014-02-21 10:36:44 +04:00
konsoletyper
f63d0cd8d0 Adds complete enum support 2014-02-20 11:58:44 +04:00
konsoletyper
f3ae632786 Adds implementations of some JCL classes 2014-02-20 00:53:44 +04:00
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