[Laszlo-dev] [Laszlo-checkins] r5910 - in openlaszlo/branches/wafflecone/WEB-INF/lps/lfc: core events services

P T Withington ptw at openlaszlo.org
Thu Aug 2 18:51:55 PDT 2007


Well I still feel you cannot just eliminate an interface without first  
deprecating it.  Is there any reason not to use the solution I proposed?

On Aug 2, 2007, at 9:45 PM, Max Carlson <max at openlaszlo.org> wrote:

> I grepped the entire source tree (with diamond) and didn't find any  
> calls to super.constructWithArgs().  The only declaration is in WEB- 
> INF/lps/lfc/data/LzReplicationManager.lzs:
>
> /**
>  * @access private
>  */
> function constructWithArgs ( args ){
>    this.__LZHandleMultiNodes( this.initialnodes );
>    delete this.initialnodes;
>    if ( this.visible == false ){
>        this.setVisible( false );
>    }
> }
>
> P T Withington wrote:
>> I'm concerned about the change to constructWithArgs.  Since this is  
>> a defined method, there could be overrides out there that will  
>> attempt to call super from their method -- that will bomb now.  If  
>> you want to avoid this call, then you could say:
>>  if (this.constructWithArgs !== LzNode.prototype.constructWithArgs) {
>>    this.constructWithArgs(parent, args);
>>  }
>> and not remove the default method.
>> On 2007-08-02, at 13:18 EDT, max at openlaszlo.org wrote:
>>> Author: max
>>> Date: 2007-08-02 10:18:46 -0700 (Thu, 02 Aug 2007)
>>> New Revision: 5910
>>>
>>> Modified:
>>>   openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/core/LzNode.lzs
>>>   openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/events/ 
>>> LaszloEvents.lzs
>>>   openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/services/ 
>>> LzCSSStyle.js
>>> Log:
>>> 20070801-maxcarlson-V by maxcarlson at plastik on 2007-08-01 20:51:00  
>>> PDT
>>>    in /Users/maxcarlson/openlaszlo/wafflecone
>>>    for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone
>>>
>>> Summary: More optimization of LFC
>>>
>>> New Features:
>>>
>>> Bugs Fixed: LPP-4414 - Improve startup performance (partial)
>>>
>>> Technical Reviewer: promanik
>>> QA Reviewer: ben
>>> Doc Reviewer: (pending)
>>>
>>> Documentation:
>>>
>>> Release Notes:
>>>
>>> Details: LzCSSStyle.js - Cache getPropertyValueFor() calls.  Only  
>>> call _selectorApplies() for compound css statements.
>>>
>>> LzNode.lzs - Only call constructWithArgs() if it exists.
>>>
>>> LaszloEvents.lzs - Check for null reference.
>>>
>>>
>>> Tests: ...silver/main.lzx?lzr=dhtml&lzt=html shows ~24029 fewer  
>>> total calls (252524 total before, 228495 now).  http://localhost:8080/wafflecone/test/style/constraints/main.lzx?lzr=swf8 
>>>  passes as before, shows 405ms for lookup test.
>>>
>>>
>>>
>>> Modified: openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/core/ 
>>> LzNode.lzs
>>> ===================================================================
>>> --- openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/core/ 
>>> LzNode.lzs    2007-08-02 16:46:55 UTC (rev 5909)
>>> +++ openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/core/ 
>>> LzNode.lzs    2007-08-02 17:18:46 UTC (rev 5910)
>>> @@ -180,7 +180,11 @@
>>>             this.__LZstyleConstraints = this.__LZapplyStyleMap 
>>> ( styleMap, attrs );
>>>         }
>>>
>>> -        this.constructWithArgs( maskedargs );
>>> +        /**
>>> +          * @todo 2006-05-24 ptw Adam says this is a hack that we  
>>> should get
>>> +          * rid of.
>>> +          */
>>> +        if (this.constructWithArgs) this.constructWithArgs 
>>> ( maskedargs );
>>>
>>>         delete this.__LZdeferDelegates;
>>>         if (qpos != LzDelegate.__LZdelegatesQueue.length) {
>>> @@ -641,13 +645,6 @@
>>> }
>>>
>>> /**
>>> -  * @access private
>>> -  * @todo 2006-05-24 ptw Adam says this is a hack that we should  
>>> get
>>> -  * rid of.
>>> -  */
>>> -function constructWithArgs ( parent , args ){}
>>> -
>>> -/**
>>>   * Called at the same time that the node sends its oninit event  
>>> -- usually
>>>   * when the node's siblings are instantiated, and always after  
>>> the node's
>>>   * children are instantiated.
>>> @@ -1967,10 +1964,4 @@
>>>   this.makeChild( dpobj , true);
>>> }
>>>
>>> -
>>> -/**
>>> -  * @access private
>>> -  */
>>> -function constructWithArgs ( parent , args ){}
>>> -
>>> } // End of LzNode
>>>
>>> Modified: openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/events/ 
>>> LaszloEvents.lzs
>>> ===================================================================
>>> --- openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/events/ 
>>> LaszloEvents.lzs    2007-08-02 16:46:55 UTC (rev 5909)
>>> +++ openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/events/ 
>>> LaszloEvents.lzs    2007-08-02 17:18:46 UTC (rev 5910)
>>> @@ -215,7 +215,7 @@
>>>       }
>>>       */
>>>       // d.execute( sd ); inlined
>>> -      d.c[d.f]( sd );
>>> +      if (d.c[d.f]) d.c[d.f]( sd );
>>>       i+=2;
>>>     }
>>>     evq.length = pos;
>>>
>>> Modified: openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/services/ 
>>> LzCSSStyle.js
>>> ===================================================================
>>> --- openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/services/ 
>>> LzCSSStyle.js    2007-08-02 16:46:55 UTC (rev 5909)
>>> +++ openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/services/ 
>>> LzCSSStyle.js    2007-08-02 17:18:46 UTC (rev 5910)
>>> @@ -70,6 +70,7 @@
>>>     return 1 ;
>>> }
>>>
>>> +LzCSSStyleRule.prototype.__pvcache = {};
>>>
>>> var LzCSSStyle = {};
>>>
>>> @@ -90,6 +91,8 @@
>>>     //var t = getTimer();
>>>     if (!node) return;
>>>     var uid = node.getUID();
>>> +    var val = LzCSSStyleRule.prototype.__pvcache[uid + pname];
>>> +    if (val) return val;
>>>     var rules = this.__LZRuleCache[ uid ];
>>>     if ( !rules ) {
>>>         rules = new Array();
>>> @@ -102,7 +105,7 @@
>>>                  (rp.type == 3 && (((rp.classname in lz) && (node  
>>> instanceof lz[ rp.classname ])) || ( (rp.classname in global) &&  
>>> (node instanceof global[ rp.classname ])))) ||
>>>                  (rp.type == 5 && node[ rp.attrname ] ==  
>>> rp.attrvalue) ||
>>>                  (rp.type == 6 && node[ rp.attrname ] ==  
>>> rp.attrvalue && (((rp.classname in lz) && (node instanceof lz 
>>> [ rp.classname ])) || ( (rp.classname in global) && (node  
>>> instanceof global[ rp.classname ])))) ||
>>> -                 this._selectorApplies( r, rp, node ) ){
>>> +                 (rp.type == 4 && this._selectorApplies( r, rp,  
>>> node ))){
>>>                 rules.push(r);
>>>             }
>>>         }
>>> @@ -124,7 +127,7 @@
>>>                  (rp.type == 3 && (((rp.classname in lz) && (node  
>>> instanceof lz[ rp.classname ])) || ( (rp.classname in global) &&  
>>> (node instanceof global[ rp.classname ])))) ||
>>>                  (rp.type == 5 && node[ rp.attrname ] ==  
>>> rp.attrvalue) ||
>>>                  (rp.type == 6 && node[ rp.attrname ] ==  
>>> rp.attrvalue && (((rp.classname in lz) && (node instanceof lz 
>>> [ rp.classname ])) || ( (rp.classname in global) && (node  
>>> instanceof global[ rp.classname ])))) ||
>>> -                 this._selectorApplies( r, rp, node ) ){
>>> +                 (rp.type == 4 && this._selectorApplies( r, rp,  
>>> node ))){
>>>                     rules.push(r);
>>>                 }
>>>             }
>>> @@ -148,7 +151,11 @@
>>>     var i = 0;
>>>     while ( i < l ) {
>>>         var props = rules[i++].properties;
>>> -        if (pname in props) { return props[pname]; }
>>> +        if (pname in props) {
>>> +            var v = props[pname];
>>> +            LzCSSStyleRule.prototype.__pvcache[uid + pname] = v
>>> +            return v;
>>> +        }
>>>     }
>>>
>>>     ////this.time1 += getTimer() - t;
>>> @@ -316,7 +323,7 @@
>>>                                 (inrp.type == 3 &&  
>>> (((inrp.classname in lz) && (icurnode instanceof lz 
>>> [ inrp.classname ])) || ( (inrp.classname in global) && (icurnode  
>>> instanceof global[ inrp.classname ])))) ||
>>>                                 (inrp.type == 5 && icurnode 
>>> [ inrp.attrname ] == inrp.attrvalue) ||
>>>                                 (inrp.type == 6 && icurnode 
>>> [ inrp.attrname ] == inrp.attrvalue && (((inrp.classname in lz) &&  
>>> (icurnode instanceof lz[ inrp.classname ])) || ( (inrp.classname  
>>> in global) && (icurnode instanceof global[ inrp.classname ])))) ||
>>> -                                this._selectorApplies( rule,  
>>> inrp, icurnode )){
>>> +                                (inrp.type == 4 &&  
>>> this._selectorApplies( rule, inrp, icurnode ))){
>>>                                 if ( sindex-- == 0 ){
>>>                                     iresult = true;
>>>                                     break;
>>>
>>>
>>> _______________________________________________
>>> Laszlo-checkins mailing list
>>> Laszlo-checkins at openlaszlo.org
>>> http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins
>
> -- 
> Regards,
> Max Carlson
> OpenLaszlo.org


More information about the Laszlo-dev mailing list