rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
Fri, 27 Feb 2015 12:06:58 +0100 V8 has problems optimizing try/catch. Putting such construct into methods that is always called was certainly not the brightest idea.
Fri, 27 Feb 2015 10:52:26 +0100 Flush mapper before pushing back a result of (virtual) method invocation. The static method call was already doing that.
Tue, 24 Feb 2015 11:12:53 +0100 Using year range 2012-2015 in copyright header
Mon, 09 Feb 2015 21:30:04 +0100 Use shorter access to own class
Mon, 09 Feb 2015 20:36:12 +0100 Support for updaters updating field in the same class that defines them
Tue, 20 Jan 2015 17:23:12 +0100 Generate the ClassCastException via java.lang.Class as that one is always known to be exported
Tue, 20 Jan 2015 12:26:35 +0100 #6658: Need to addReference when accessing non-static field
Mon, 22 Dec 2014 20:33:44 +0100 String is like a primitive type. Keep its signature.
Sun, 23 Nov 2014 21:55:46 +0100 Class.getInterfaces works
Sun, 23 Nov 2014 17:05:32 +0100 Looks like package-info classes have too old classfile version, but we can accept them as they don't contain any code (the only reason why we require 1.6 target).
Sun, 09 Nov 2014 10:36:08 +0100 Don't initialize @JavaScriptBody resources sooner than their methods are called.
Fri, 26 Sep 2014 09:21:49 +0200 If class initializer is defined via Object.defineProperty call it by name
Thu, 25 Sep 2014 23:48:41 +0200 Store just defined member in variable m and use it to assign access, cls and export the member
Tue, 23 Sep 2014 21:52:27 +0200 for (var x in array) should return only expected values
Sun, 14 Sep 2014 22:33:35 +0200 Fail the build if invokeDynamic instruction remains un-preprocessed
Sat, 13 Sep 2014 18:33:05 +0200 Lambda's work OK in AOT mode. Defender methods work OK. Merging.
Sat, 13 Sep 2014 18:14:55 +0200 Only define defender methods if they are not already defined
Sun, 31 Aug 2014 22:36:54 +0200 Adopting to new names of SPI packages to be introduced by version 1.0 of html4j API
Sun, 17 Aug 2014 19:58:05 +0200 1st implementation of interface extender methods
Mon, 11 Aug 2014 20:10:46 +0200 Merging the latest changes on default branch
Mon, 11 Aug 2014 18:17:47 +0200 Merging two heads on default branch
Mon, 11 Aug 2014 18:17:18 +0200 i2c needs to get down to 16-bits
Mon, 11 Aug 2014 17:52:23 +0200 Initial attempt to provide proper 3rd parameter to bootmethod
Sun, 10 Aug 2014 11:39:36 +0200 Name of boot method is properly provided
Sun, 10 Aug 2014 11:32:38 +0200 1st parameter of bootstrap method - the Lookup - is correct
Sun, 10 Aug 2014 10:37:23 +0200 Managed to call the bootstrap method. Just with wrong arguments.
Sun, 10 Aug 2014 08:57:22 +0200 A bit more debug statements
Sun, 10 Aug 2014 07:52:49 +0200 All modules, except the one that deals with invokeDynamic pass OK
Wed, 16 Jul 2014 07:57:22 +0200 Keeping and printing the information about bootmethods
Thu, 10 Jul 2014 08:11:53 +0200 First steps towards parsing invokeDynamic
Thu, 26 Jun 2014 23:54:17 +0200 Can parse JDK8 generated bytecode
Mon, 23 Jun 2014 19:35:22 +0200 We need to swallow the wait4js attribute
Sun, 22 Jun 2014 17:19:16 +0200 Making sure no enumerable methods are on plain Object
Sun, 22 Jun 2014 00:09:56 +0200 Using Object.defineProperty to hide attributes from list of enumerable properties
Thu, 29 May 2014 09:57:01 +0200 Lowering number of actions in invoker by half
Mon, 26 May 2014 14:33:11 +0200 Need to flush the stack before destroying it with return value of a function
Thu, 22 May 2014 15:29:40 +0200 Tests pass OK in full obfuscation mode
Tue, 13 May 2014 13:34:14 +0200 Use string names for annotation properties and exported methods to define enums
Sun, 11 May 2014 23:06:45 +0200 Full obfuscation of libraries works OK
Wed, 07 May 2014 11:41:41 +0200 Encode package-info into package_0002dinfo
Wed, 07 May 2014 10:01:54 +0200 Shortening constructor calls and access to arrays
Tue, 06 May 2014 11:12:40 +0200 Storing constructor function in last element of multidimensional array
Tue, 06 May 2014 10:08:42 +0200 2nd step in eliminating need for Class.forName when dealing with arrays
Tue, 06 May 2014 08:36:54 +0200 1st step in eliminating Class.forName when working with array types. Class.getComponentType on directly allocated arrays does not need that.
Sun, 04 May 2014 12:02:57 +0200 Exporting widely used methods via Class, which is guaranteed to be available, rather than Throwable
Thu, 01 May 2014 13:43:36 +0200 Don't reference Fn
Wed, 30 Apr 2014 15:57:56 +0200 Mangling class names, so UnderTest passes
Wed, 30 Apr 2014 15:04:10 +0200 Merging from default branch and resolving conflicts. mvn install -DskipTests passes OK.
Tue, 29 Apr 2014 16:28:06 +0200 Decreasing the number of lines of core bck2brwsr.js to be under 65636. Should help debugging on Nashorn as it has problems with lines numbers over 16-bit numbers.
Tue, 29 Apr 2014 16:22:23 +0200 Making ByteCodeToJavaScript an Appendable to track when something is generated
Thu, 24 Apr 2014 18:05:21 +0200 Backporting da9e5973e699 to make sure we run on Nashorn (at least a bit)
Tue, 18 Feb 2014 22:29:25 +0100 Shortening the generated code by providing shorter new array methods
Tue, 18 Feb 2014 22:20:50 +0100 More effective replaces on stack
Tue, 18 Feb 2014 10:02:46 +0100 Don't generate String constants either
Mon, 17 Feb 2014 17:41:00 +0100 No need to generate primitive final fields as their values get inlined in the classfiles anyway
Mon, 17 Feb 2014 15:39:34 +0100 15KB less from 1.4MB by eliminating empty for operations
Mon, 17 Feb 2014 14:26:55 +0100 Another if statements to flush stack before generating them
Mon, 17 Feb 2014 07:54:35 +0100 Don't clear the stack mapping when doing a cast
Sun, 16 Feb 2014 23:56:01 +0100 One less ;
Sun, 16 Feb 2014 23:33:57 +0100 Use normal constants and only wrap them before calling an operation on them