Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins
2012-07-15
| ||
22:24 | Add licensing boilerplate. Leaf check-in: 9b75a64e3d user: dg tags: trunk, release-0.1 | |
22:24 | Go for a more vanilla test setup. check-in: 4b1a509c2b user: dg tags: trunk | |
22:14 | Added a basic README. check-in: e9482f555d user: dg tags: trunk | |
22:04 | Added license files for Harmony and Soot. check-in: 5ab0067e4f user: dg tags: trunk | |
21:42 | Added cowjac license file. check-in: 99c2c085af user: dg tags: trunk | |
21:16 | Added System.out and System.err, for convenience. check-in: 4d7addc10c user: dg tags: trunk | |
21:02 | String constants, proper array copying, a few bugfixes (all operations on small ints are done with actual *ints*, to match the JVM), and a bit of extra Java-side functionality. 'Hello, world' runs! check-in: 517392348d user: dg tags: trunk | |
19:28 | Baby steps towards a working arraycopy. check-in: 27c41a421c user: dg tags: trunk | |
14:31 | Did enough backend functionality that trying to do basic file system operations now links --- doesn't run, though. check-in: ce30502c28 user: dg tags: trunk | |
2012-07-14
| ||
23:28 | Added LookupSwitchStatement. Library update now compiles with cowjac (haven't tried the C++ compiler yet). check-in: 422f786b84 user: dg tags: trunk | |
23:23 | Fixed oddity where occasionally we get local variables of type 'null'. (These presumably represent nulls which are loaded onto the stack and then never used, so Soot can't infer a type for them.) check-in: a92e8504ac user: dg tags: trunk | |
23:11 | Added table-based switch. check-in: c2528a4a89 user: dg tags: trunk | |
22:39 | Added another huge great wodge of Harmony library: it compiles with javac, but currently kills cowjac. check-in: c2a46d10cb user: dg tags: trunk | |
20:41 | Ensure that all object memory is zero-initialised. check-in: b5ef516662 user: dg tags: trunk | |
20:31 | Arrays and array classes now work well enough that HashMap seems to work. check-in: d1152dd45c user: dg tags: trunk | |
10:15 | Create class field GC markers on-the-fly, to make it easier for the compiler to do dead code elimination. check-in: f7f7a6bcbb user: dg tags: trunk | |
2012-07-13
| ||
23:48 | Added a very basic RTL. Now compiles *and runs*! check-in: d5f93d49d5 user: dg tags: trunk | |
23:48 | Don't emit trampolines for abstract methods. Check in missing file from last commit... check-in: 9d3c47f449 user: dg tags: trunk | |
23:46 | Don't check in object files. check-in: 9c56cc6158 user: dg tags: trunk | |
22:21 | Don't emit files with a $ in the name, because they're simply a PITA. Check overridden methods for a @Native annotation. check-in: 7bd39f32e8 user: dg tags: trunk | |
20:47 | Add GC marking for objects. check-in: b68911df8a user: dg tags: trunk | |
19:55 | Moved DependencyAnalayser into SootExtensions. check-in: a599b3c392 user: dg tags: trunk | |
19:51 | Adjust compilation options. check-in: cb5f01bdfe user: dg tags: trunk | |
19:47 | Class initialisation and GC marking should now work. check-in: 2a62736c34 user: dg tags: trunk | |
19:01 | Project metadata update. check-in: f9ace3319f user: dg tags: trunk | |
17:59 | Made a bit less verbose. check-in: a4e1fd4c3c user: dg tags: trunk | |
17:59 | Project metadata update. check-in: e100205a55 user: dg tags: trunk | |
2012-07-12
| ||
22:42 | Add trampolines for the rare but very real case where Java will declare a method in a superclass, and then add an interface that declares it in a subclass with no implementation: C++ doesn't allow this, so we have to compile in a shim in the subclass which proxies to the superclass. Joy. check-in: e0a5157184 user: dg tags: trunk | |
20:48 | Split arrays into scalar arrays and object arrays; object arrays always store basic Java objects and are all type compatible (at the expense of needing a dynamic_cast<> whenever we read from them). check-in: 4062ca354b user: dg tags: trunk | |
16:02 | Fix the sense of the cmpg and cmpl operations. check-in: ec03ce7180 user: dg tags: trunk | |
16:02 | Object::clone is protected, not public. check-in: e2acab5382 user: dg tags: trunk | |
2012-07-10
| ||
22:33 | Added cheap and nasty makefile for doing test builds of the translated code. check-in: 0826cbdc0a user: dg tags: trunk | |
22:27 | Lose protected (as it doesn't match the Java sense; inner classes need to be able to access protected outer members). More C++ parsing bug workarounds. check-in: 4ccbc7ac96 user: dg tags: trunk | |
22:23 | Attempt to sort out virtual inheritance issues. check-in: e428c986d8 user: dg tags: trunk | |
22:23 | Implement cmp operations. check-in: 85bf53d4d2 user: dg tags: trunk | |
20:49 | Interfaces now interface; fixed various type issues. Stuff compiles! check-in: 03370bdea8 user: dg tags: trunk | |
20:26 | Empty stack frames work. Correctly calculate mangled method names. check-in: bce8fce13a user: dg tags: trunk | |
20:13 | Getting the length of arrays works. check-in: 4e8bdfaf20 user: dg tags: trunk | |
20:11 | Changed to New Way of storing stack frames. Add caughtexception. check-in: 6e889508be user: dg tags: trunk | |
2012-07-09
| ||
22:35 | Be more accurate about what headers we import --- scan the class for field references and static invokes. check-in: c1841a4107 user: dg tags: trunk | |
22:25 | instanceof; worked around a hideous C++ parser ambiguity when declaring fields. check-in: ca1b318817 user: dg tags: trunk | |
22:10 | Even better numeric constants; unsigned shifts; arrays now compile. check-in: 7dd2374ad0 user: dg tags: trunk | |
21:59 | More array support. check-in: e777ce5047 user: dg tags: trunk | |
21:34 | Add casting. Emit numeric constants more correctly. check-in: 5def66b265 user: dg tags: trunk | |
21:07 | Mangle Java method names to become C++ names. Add a way to annotate a Java method to have a certain C++ name. check-in: 7c94a86d39 user: dg tags: trunk | |
17:47 | Ensure that the compiler bin directory is created during a build. check-in: ecaf0a0085 user: dg tags: trunk | |
2012-07-08
| ||
23:30 | First pass at string constants. BROKEN: turns out that the overloading behaviour of Java methods is different to C++'s, so I'm going to have to mangle all method names to prevent conflicts. Sigh. check-in: e28458f13d user: dg tags: trunk | |
21:07 | Change the way output is written to allow for more sections. check-in: 77edd2f72d user: dg tags: trunk | |
19:30 | Implement ClassConstants. Did some pretty basic work on class initialisation. check-in: 2b4553407e user: dg tags: trunk | |
19:10 | Tag C++ members with the kind of Java value; turns on the namespace rules are different and symbols collide in C++ that don't in Java. check-in: b8424781ef user: dg tags: trunk | |