[Laszlo-dev] For Review: Change 20090327-dda-z Summary: Turn off catcherrors for functions with no free references

Donald Anderson dda at ddanderson.com
Fri Mar 27 13:21:22 PDT 2009


Change 20090327-dda-z by dda at lester-2.local on 2009-03-27 13:47:17 EDT
     in /Users/dda/laszlo/src/svn/openlaszlo/trunk-b
     for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Turn off catcherrors for functions with no free references

New Features:

Bugs Fixed: LPP-7985: catcherrors needs optimization

Technical Reviewer: ptw (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
     As discussed in JIRA, we need a lighter weight implementation of  
catcherrors.
     This changeset turns off catcherrors for any function that has no  
free references.
     Such functions tend to be smaller, more self contained, and  
because of that much less
     likely to generate an exception.  We expect that this should give  
very close to the
     same results but with substantially less overhead.

     Catcherrors is implemented in the compiler by inserting extra  
statements into lists
     that hold statements for the prefix (before the try statement),  
the errors clause
     (the catch block) and the suffix (the finally block).

     This change moves the variable analyzer to run before the  
catcherrors statements are
     inserted.  Running the variable analyzer allows us to see if  
there are free variables,
     and if so (and catcherrors is enabled), then to insert the needed  
statements.

Tests:
     Same small tests as used for LPP-7824
     Modified tests to have functions that reference external  
variables and some without references.
     Examined generated code to verify that the expected functions  
have try/catch blocks.

     regression: swf9/swf8/dhtml x smokecheck/weather/lzpix

Files:
M      WEB-INF/lps/server/src/org/openlaszlo/sc/JavascriptGenerator.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20090327-dda-z.tar



--

Don Anderson
Java/C/C++, Berkeley DB, systems consultant

voice: 617-306-2057
email: dda at ddanderson.com
www: http://www.ddanderson.com





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.openlaszlo.org/pipermail/laszlo-dev/attachments/20090327/8fdf83e1/attachment.html


More information about the Laszlo-dev mailing list