{"ScriptPreparationCode":"var Foo = function() {};\r\nFoo.prototype._property = \u0027foo\u0027;\r\nFoo.prototype.propertyAccess = function(param) {\r\n var property = this._property;\r\n this.noCache(param);\r\n}\r\nFoo.prototype.noCache = function(param) {\r\n console.log(this._property \u002B \u0027\u0027 \u002B param);\r\n}\r\n\r\nvar Bar = function() {};\r\nBar.prototype._property = \u0027bar\u0027;\r\nBar.prototype.propertyAccess = function(param) {\r\n var property = this._property;\r\n this.cache(property, param);\r\n}\r\nBar.prototype.cache = function(property, param) {\r\n console.log(property \u002B \u0027 \u0027 \u002B param);\r\n}","TestCases":[{"Name":"Property access","Code":"var foo = new Foo(),\r\n i = 1000;\r\nwhile(i--) {\r\n foo.propertyAccess(i);\r\n}","IsDeferred":false},{"Name":"Cached value","Code":"var bar = new Bar(),\r\n i = 1000;\r\nwhile(i--) {\r\n bar.propertyAccess(i);\r\n}","IsDeferred":false}]}