{"ScriptPreparationCode":"const QUEUE_1 = new Map([\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}]\r\n]);\r\nconst QUEUE_2 = new Map([\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}]\r\n]);\r\n\r\nlet BUFFER = -1;\r\n\r\nfunction run() {\r\n QUEUE_1.clear();\r\n QUEUE_2.clear();\r\n}\r\n\r\nconst cancel = window.cancelAnimationFrame;\r\nconst request = window.requestAnimationFrame;\r\n\r\nvar OBJECT = {\r\n _buffer: -1,\r\n _queue1: new Map([\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}]\r\n ]),\r\n _queue2: new Map([\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}],\r\n [{}, {}]\r\n ]),\r\n runGlobal() {\r\n cancelAnimationFrame(BUFFER);\r\n BUFFER = requestAnimationFrame(run);\r\n },\r\n runBoundOwn() {\r\n cancelAnimationFrame(this._buffer);\r\n this._buffer = requestAnimationFrame(this._run);\r\n },\r\n runGlobalRafCached() {\r\n cancel(BUFFER);\r\n BUFFER = request(run);\r\n },\r\n runBoundOwnRafCached() {\r\n cancel(this._buffer);\r\n this._buffer = request(this._run);\r\n },\r\n _run() {\r\n this._queue1.clear();\r\n this._queue2.clear();\r\n }\r\n};\r\n\r\nOBJECT._run.bind(OBJECT);","TestCases":[{"Name":"global method lookup","Code":"OBJECT.runGlobal();","IsDeferred":false},{"Name":"bound own method","Code":"OBJECT.runBoundOwn();","IsDeferred":false},{"Name":"global method lookup w/cache","Code":"OBJECT.runGlobalRafCached();","IsDeferred":false},{"Name":"bound own method w/cache","Code":"OBJECT.runBoundOwnRafCached();","IsDeferred":false}]}