Commit Graph

422 Commits

Author SHA1 Message Date
alexey-andreev
8188878488 Add support of new diagnostics API in Eclipse 2015-01-18 19:06:21 +04:00
Alexey Andreev
d55bd862d0 Missing native methods are reported through diagnostics. Better
rendering of problem stack trace.
2015-01-16 18:36:11 +04:00
Alexey Andreev
9154f4eff9 Add post-processor that reports references to missing items and replaces
these references with code that throws error.
2015-01-16 17:47:25 +04:00
Alexey Andreev
4299836ef4 First working version with new diagnostics API 2015-01-14 19:12:06 +04:00
Alexey Andreev
bdf4f7dbae Merge branch 'master' into diagnostics 2015-01-14 17:54:08 +04:00
Alexey Andreev
b3a41892a3 Fix Class.getName(). Fix https://github.com/konsoletyper/teavm/issues/43
Fix Eclipse plugin descriptor
2015-01-13 19:17:18 +04:00
Alexey Andreev
eeddfd1298 Fix bugs that were found by FindBugs. Fix
https://github.com/konsoletyper/teavm/issues/46
https://github.com/konsoletyper/teavm/issues/45
https://github.com/konsoletyper/teavm/issues/44
https://github.com/konsoletyper/teavm/issues/42
2015-01-13 18:25:15 +04:00
Alexey Andreev
1fff443c36 Dependency API supports multiple occurence of reaching events for
different location
2014-12-29 19:16:29 +04:00
Alexey Andreev
316850bbb5 Merge branch 'master' into diagnostics 2014-12-11 18:54:25 +04:00
Alexey Andreev
47f5943e8b Refactor TeaVM core for new diagnostics API 2014-12-11 18:54:15 +04:00
Alexey Andreev
0945c27f16 Further work on diagnostics API 2014-12-09 18:43:23 +04:00
Alexey Andreev
844da6760c Clean-up project 2014-12-09 16:21:14 +04:00
Alexey Andreev
30781bb16e Refuse from CallStack for complete CallGraph 2014-11-23 22:34:12 +03:00
konsoletyper
e736cf09d7 Start implementing diagnostics API 2014-11-05 22:14:41 +03:00
konsoletyper
9be6ce9bbf Fix https://github.com/konsoletyper/teavm/issues/32 2014-11-03 20:31:49 +03:00
konsoletyper
9bdd2f6020 Fix https://github.com/konsoletyper/teavm/issues/27 2014-10-25 13:20:41 +04:00
konsoletyper
3de49d6d54 Fix issues in strict mode 2014-10-19 11:02:56 +04:00
konsoletyper
5420ca89f6 Add support of strict mode 2014-10-18 15:32:43 +04:00
Alexey Andreev
581cae0ef4 Bugfixes: https://github.com/konsoletyper/teavm/issues/23
https://github.com/konsoletyper/teavm/issues/22
https://github.com/konsoletyper/teavm/issues/21
2014-10-12 18:05:31 +04:00
konsoletyper
9e09c247e6 Replace old code samples with new ones 2014-10-05 15:45:44 +04:00
konsoletyper
71343b910e Fix passing of some DukeScript tests 2014-10-04 17:54:56 +04:00
konsoletyper
7b4a7fc471 Add statement boundary mapping to debug information 2014-10-03 21:30:55 +04:00
konsoletyper
f628a996ac Attempt to make more accurate debug information 2014-10-01 12:08:13 +04:00
konsoletyper
b7754ea1a5 Minor improvements & bugfixes 2014-09-30 23:19:10 +04:00
Alexey Andreev
9d12bffc1b Add support of copying source files into Eclipse:
https://github.com/konsoletyper/teavm/issues/13
2014-09-27 19:23:05 +04:00
Alexey Andreev
6c05ec589a Add source copying in maven plugin:
https://github.com/konsoletyper/teavm/issues/13
2014-09-26 18:52:28 +04:00
Alexey Andreev
8696bff1cd Fix minor bugs 2014-09-25 18:22:16 +04:00
konsoletyper
700d50b110 Allow interruption during dependency and linking phases. Use buffered
writer to render final JavaScript
2014-09-16 21:47:32 +04:00
konsoletyper
b7c07886a6 Refactor dependency checker 2014-09-16 10:44:14 +04:00
konsoletyper
3a4aef6f5c Fix NPE in DependencyChecker 2014-09-16 07:56:16 +04:00
konsoletyper
f204c8cc4a Add markers against lines that contain missing elements 2014-09-15 21:21:25 +04:00
konsoletyper
a26522f959 Refactoring of dependency checker in order to achieve better diagnostics
in Eclipse plugin
2014-09-15 17:52:55 +04:00
konsoletyper
d9ea3764f8 Add a minimal TeaVM builder that simply works 2014-09-15 12:13:27 +04:00
konsoletyper
80899af284 Add progress reporting by TeaVM. Add interrupting of TeaVM. Add skeleton
of TeaVM builder for Eclipse.
2014-09-14 22:27:07 +04:00
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
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
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
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