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

Max Carlson max at openlaszlo.org
Thu Aug 2 18:45:03 PDT 2007


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