[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 10:33:18 PDT 2007


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



More information about the Laszlo-dev mailing list