'. '

Bck2Brwsr 0.9

From APIDesign

(Difference between revisions)
Jump to: navigation, search
(Bck2Brwsr 0.9 moved to Bck2Brwsr 0.8.1: Minor release 0.8.1 is out.)
Current revision (06:00, 24 October 2014) (edit) (undo)
 
(8 intermediate revisions not shown.)
Line 1: Line 1:
-
#REDIRECT [[Bck2Brwsr 0.8.1]]
+
[[Bck2Brwsr 0.9|Version 0.9]] eliminates useless stack assignments. Instead of doing
 +
 
 +
<source lang="javascript">
 +
var stI0 = lcI0;
 +
var stI1 = lcI1;
 +
var stI0 = stI0 + stI1;
 +
return stI0;
 +
</source>
 +
 
 +
the now generated code is
 +
 
 +
<source lang="javascript">
 +
return lcI0 + lcI1;
 +
</source>
 +
 
 +
which is shorter and more human readable. However I doubt the [[V8]] virtual machine sees any benefits - I think the final native code remains the same. But at least the [[debugger|debugging]] of the generated [[JavaScript]] code is now easier - there is less ''Step Over'' invocations and it mimics more closely the original [[Java]] source.
 +
 
 +
 
 +
Optimized the ahead-of-time compilation, so now the
 +
http://xelfi.cz/minesweeper/bck2brwsr/
 +
demo starts up instantly. I had to do it, because it was so embarrassing to see [[TeaVM]] to boot the same application so quickly: The initial delay is gone, and moreover it downloads necessary libraries in parallel and on background. Now we are ready for next step: share the libraries between different applications.
 +
 
 +
Can [[ObfuscatePerLibrary]] - e.g. each [[JAR]] gets compiled ahead-of-time into its own [[JavaScript]] file, which can be shared between many applications.

Current revision

Version 0.9 eliminates useless stack assignments. Instead of doing

var stI0 = lcI0;
var stI1 = lcI1;
var stI0 = stI0 + stI1;
return stI0;

the now generated code is

return lcI0 + lcI1;

which is shorter and more human readable. However I doubt the V8 virtual machine sees any benefits - I think the final native code remains the same. But at least the debugging of the generated JavaScript code is now easier - there is less Step Over invocations and it mimics more closely the original Java source.


Optimized the ahead-of-time compilation, so now the http://xelfi.cz/minesweeper/bck2brwsr/ demo starts up instantly. I had to do it, because it was so embarrassing to see TeaVM to boot the same application so quickly: The initial delay is gone, and moreover it downloads necessary libraries in parallel and on background. Now we are ready for next step: share the libraries between different applications.

Can ObfuscatePerLibrary - e.g. each JAR gets compiled ahead-of-time into its own JavaScript file, which can be shared between many applications.

Personal tools
buy