Thanks for the feedback.

On 2009-09-02, at 16:13, André Bargull wrote:

> I haven't tested your change, but I wonder how compiler/Class.lzs  
> can access Debug.FUNCTION_NAME before compiler/ 
> LzBootstrapDebugService.lzs, which defines these constants, is  
> loaded? And why did you use the bracket notation also in the Java  
> classes, e.g. here:

Oops.  I had these in the pre-bootstrap debugger too (in LzRuntime),  
but I seem to have backed that out thinking it was unnecessary.   
Clearly not.  It seems all those references are protected by an `if  
($profile)` clause.  Guess I'll put the copies back in LzRuntime.

>> -      getname = "arguments.callee._dbg_name";
>> +      getname = "arguments.callee['" + Function.FUNCTION_NAME +  
>> "']";
> Why don't you use:
>> getname = "arguments.callee." +  Function.FUNCTION_NAME;

The reason I did that is in case the actual name that gets picked as a  
standard ends up not being a valid symbol or something.  I was just  
being conservative.  (I'm pretty sure all script engines compile `[''] 
` just as efficiently as `.`.

> On 9/2/2009 9:28 PM, P T Withington wrote:
>> Change 20090902-ptw-Q by [email protected] on 2009-09-02 13:13:42 EDT
>>     in /Users/ptw/OpenLaszlo/trunk-2
>>     for http://svn.openlaszlo.org/openlaszlo/trunk
>>
>> Summary: Don't emit named function expressions in Javascript  
>> because  IE is brain-dead
>>
>> Bugs Fixed: LPP-8431 IE7 DHTML getting global properties clobbered   
>> (partial)
>>
>> Technical Reviewer: hminsky (pending)
>> QA Reviewer: max (pending)
>>
>> Details:
>>     Because IE is brain-dead, and we don't want to have to generate
>>     different code for different browsers, we don't emit named
>>     function expressions any more.  To partially recoup the loss of
>>     Javascript debuggability, I made the property that we store debug
>>     function names on be a configurable constant and set it to the
>>     name that the Firefox and Webkit debuggers use (displayName).
>>     This means that at least those two browsers should continue to
>>     give useful backtraces and profile output.
>>
>>     This change means we no longer need the 'simple' versions of the
>>     debug LFC, so I have removed them and the supporting machinery  
>> and
>>     builds.
>>
>> Tests:
>>     Inspection of compiler javascript output.  Can right-click on the
>>     canvas in DHTML without an error.  Debugger still can print
>>     method names.  Webkit profiler knows method names (in debug  
>> mode).
>>
>> Files:
>> M      WEB-INF/lps/lfc/services/LzCSSStyle.lzs
>> M      WEB-INF/lps/lfc/debugger/LzInit.lzs
>> M      WEB-INF/lps/lfc/debugger/LzMessage.lzs
>> M      WEB-INF/lps/lfc/debugger/LzDebug.lzs
>> M      WEB-INF/lps/lfc/debugger/platform/swf/LzDebug.as
>> M      WEB-INF/lps/lfc/debugger/platform/dhtml/LzDebug.js
>> M      WEB-INF/lps/lfc/debugger/LzBacktrace.lzs
>> M      WEB-INF/lps/lfc/core/LzEventable.lzs
>> M      WEB-INF/lps/lfc/build.xml
>> M      WEB-INF/lps/lfc/compiler/LzRuntime.lzs
>> M      WEB-INF/lps/lfc/compiler/LzBootstrapDebugService.lzs
>> M      WEB-INF/lps/lfc/compiler/Class.lzs
>> M      WEB-INF/lps/server/src/org/openlaszlo/sc/ 
>> JavascriptGenerator.java
>> M      WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9Generator.java
>> M      WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java
>> M      WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java
>> M      WEB-INF/lps/server/src/org/openlaszlo/sc/Function.java
>> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java
>> M      build.properties
>> M      lps/includes/source/embednew.js
>>
>> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20090902-ptw-Q.tar


_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to