Change 20100419-hqm-0 by [email protected] on 2010-04-19 18:06:15 EDT
in /Users/hqm/openlaszlo/trunk1
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: fixes for swf10 incremental compilation
New Features:
Bugs Fixed: LPP-8911 fix swf10 incremental mode
Technical Reviewer: ptw
QA Reviewer: max
Doc Reviewer: (pending)
Documentation:
Release Notes:
Overview:
Makes it possible to do faster rebuilds of the LFC.
+ Refactored the code that names the temp as3 files working dir, so that
"lzsc" can locate it.
+ Conditionalized a cache in GenericVisitor, so it would not get used when
the scache is disabled.
Details:
WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9External.java:
+ For incremental compiling, we need to make the directory where the
intermediate .as files go be a known location.
Made createCompilationWorkDir() callable externally (to allow calling from lzsc)
WEB-INF/lps/server/src/org/openlaszlo/sc/lzsc.java:
+ create new "persist" flag, to run the top level interactive read
loop, independent of "incremental" flag.
+ put tmp as3 working directory in a known location, so we can reuse
it for incremental recompile
WEB-INF/lps/server/src/org/openlaszlo/sc/GenericVisitor.java:
+ don't use Compiler.CachedParses, if compiler.scache.enabled is false
And here are some changes that I forgot in last changeset, to make
Locale-independent string comparsions
WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java
WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java
WEB-INF/lps/server/src/org/openlaszlo/sc/JavascriptCompressor.java
WEB-INF/lps/server/src/org/openlaszlo/sc/GenericVisitor.java
WEB-INF/lps/server/src/org/openlaszlo/servlets/responders/ResponderSETCACHESIZE.java
WEB-INF/lps/server/src/org/openlaszlo/servlets/LZServlet.java
+ use our own version of equalsIgnoreCase
Tests:
Compile the LFC incrementally, using the flags below:
[Note: Right now incremental compilation for the LFC only works
properly when compiling with "debug" or "backtrace" options. This is
because only in debug mode are source filename annotations added to
the javascript, which is needed to check source file modification
times against the last time the corresponding as3 file was written.]
You can compile the debug mode LFC incrementally fastest with these args
# do this first to initialize initial the intermediate as3 files properly
# with the desired compilation options (e.g., debug )
./buildlfcdebug --runtime=swf10
# then do this to get incremental mode
./buildlfcdebug --runtime=swf10 --incremental --persist
Files:
M WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9External.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/lzsc.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/JavascriptCompressor.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/GenericVisitor.java
M
WEB-INF/lps/server/src/org/openlaszlo/servlets/responders/ResponderSETCACHESIZE.java
M WEB-INF/lps/server/src/org/openlaszlo/servlets/LZServlet.java
Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20100419-hqm-0.tar