Lines Matching refs:pandaGen
62 let pandaGen = compiler.getPandaGen();
68 let classReg = pandaGen.getTemp();
78 let tmpVreg = pandaGen.getTemp();
84 pandaGen.storeAccumulator(prop.getValue(), tmpVreg);
108 pandaGen.storeAccumulator(prop.getValue(), tmpVreg);
114 pandaGen.freeTemps(tmpVreg);
127 pandaGen.loadAccumulator(stmt, classReg);
133 let v: ModuleVariable = <ModuleVariable>(pandaGen.getScope().findLocal(className));
135 pandaGen.storeModuleVariable(stmt, v);
137 … let defaultV: ModuleVariable = <ModuleVariable>(pandaGen.getScope().findLocal("*default*"));
138 pandaGen.storeModuleVariable(stmt, defaultV);
146 pandaGen.stLetOrClassToGlobalRecord(stmt, className);
151 … let v: ModuleVariable = <ModuleVariable>(pandaGen.getScope().findLocal(className));
152 pandaGen.storeModuleVariable(stmt, v);
154 … pandaGen.storeAccToLexEnv(stmt, classInfo.scope!, classInfo.level, classInfo.v!, true);
162 pandaGen.freeTemps(classReg, baseVreg);
214 let pandaGen = compiler.getPandaGen();
224 … pandaGen.storeOwnProperty(prop.getValue().parent, classReg, <string | number>prop.getName());
230 let keyReg = pandaGen.getTemp();
232 pandaGen.storeAccumulator(prop.getValue(), keyReg);
236 setClassAccessor(pandaGen, compiler, classReg, prop);
245 let pandaGen = compiler.getPandaGen();
246 let proptoReg = pandaGen.getTemp();
247 let tmpReg = pandaGen.getTemp();
257 …pandaGen.storeOwnProperty(prop.getValue().parent, flag ? proptoReg : classReg, <string>prop.getNam…
258 pandaGen.freeTemps(proptoReg, tmpReg);
270 let pandaGen = compiler.getPandaGen();
272 pandaGen.defineClassWithBuffer(stmt, internalName, litId, parameterLength, vregs[0]);
273 pandaGen.storeAccumulator(stmt, vregs[1]);
277 let pandaGen = compiler.getPandaGen();
287 let thisReg: VReg = pandaGen.getTemp();
297 pandaGen.storeObjProperty(node, thisReg, prop);
302 let initVal: VReg = pandaGen.getTemp();
303 pandaGen.storeAccumulator(node, initVal);
305 prop = pandaGen.getTemp();
307 pandaGen.storeAccumulator(node, prop);
309 pandaGen.loadAccumulator(node, initVal);
310 pandaGen.storeObjProperty(node, thisReg, prop);
311 pandaGen.freeTemps(initVal, prop);
319 pandaGen.freeTemps(thisReg);
325 let pandaGen = compiler.getPandaGen();
331 let thisReg = pandaGen.getTemp();
333 pandaGen.loadAccumulator(node, thisReg);
337 pandaGen.return(node);
338 pandaGen.freeTemps(thisReg);
342 let pandaGen = compiler.getPandaGen();
360 let thisReg = pandaGen.getTemp();
363 pandaGen.loadAccumulator(node, thisReg);
366 pandaGen.return(node);
367 pandaGen.freeTemps(thisReg);
371 let pandaGen = compiler.getPandaGen();
374 let argArray = pandaGen.getTemp();
377 pandaGen.superCallSpread(node, argArray);
378 pandaGen.freeTemps(argArray);
382 … pandaGen.superCall(node, num, num ? args : [getVregisterCache(pandaGen, CacheList.UNDEFINED)]);
385 let tmpReg = pandaGen.getTemp();
386 pandaGen.storeAccumulator(node, tmpReg);
390 pandaGen.loadAccumulator(node, tmpReg);
391 pandaGen.freeTemps(tmpReg);
398 let pandaGen = compiler.getPandaGen();
405 pandaGen.loadAccumulator(node, getVregisterCache(pandaGen, CacheList.FUNC));
423 pandaGen.loadLexicalVar(node, level, funcObj.lexIndex());
482 let pandaGen = compiler.getPandaGen();
483 let baseVreg = pandaGen.getTemp();
489 pandaGen.storeAccumulator(exp.expression, baseVreg);
494 pandaGen.moveVreg(node, baseVreg, getVregisterCache(pandaGen, CacheList.HOLE));
632 let pandaGen = compiler.getPandaGen();
638 pandaGen.storeOwnProperty(prop.getValue(), classReg, keyReg);
643 let protoReg = pandaGen.getTemp();
644 let tmpReg = pandaGen.getTemp();
646 pandaGen.storeOwnProperty(prop.getValue(), flag ? protoReg : classReg, keyReg, true);
647 pandaGen.freeTemps(protoReg, tmpReg);
651 let accessorReg = pandaGen.getTemp();
652 let getProtoReg = pandaGen.getTemp();
655 … pandaGen.defineGetterSetterByValue(getter, getFlag ? getProtoReg : classReg, keyReg, accessorReg,
656 … getVregisterCache(pandaGen, CacheList.UNDEFINED), true);
657 pandaGen.freeTemps(accessorReg, getProtoReg);
661 let accesReg = pandaGen.getTemp();
663 let setProtoReg = pandaGen.getTemp();
665 pandaGen.defineGetterSetterByValue(setter, setFlag ? setProtoReg : classReg, keyReg,
666 … getVregisterCache(pandaGen, CacheList.UNDEFINED), accesReg, true);
667 pandaGen.freeTemps(accesReg, setProtoReg);
673 pandaGen.freeTemps(keyReg);
676 function setClassAccessor(pandaGen: PandaGen, compiler: Compiler, objReg: VReg, prop: Property): vo…
678 let getterReg = pandaGen.getTemp();
679 let setterReg = pandaGen.getTemp();
680 let propReg = pandaGen.getTemp();
682 let tmpVreg = pandaGen.getTemp();
697 pandaGen.loadAccumulatorString(accessor!, String(prop.getName()));
698 pandaGen.storeAccumulator(accessor!, propReg);
701 …pandaGen.defineGetterSetterByValue(accessor!, flag ? tmpVreg : objReg, propReg, getterReg, setterR…
703 …pandaGen.defineGetterSetterByValue(accessor, flag ? tmpVreg : objReg, propReg, getterReg, getVregi…
705 …pandaGen.defineGetterSetterByValue(accessor!, flag ? tmpVreg : objReg, propReg, getVregisterCache(…
708 pandaGen.freeTemps(getterReg, setterReg, propReg, tmpVreg);
713 let pandaGen = compiler.getPandaGen();
715 createMethodOrAccessor(pandaGen, compiler, classReg, node);
716 pandaGen.storeAccumulator(node, storeReg);
719 pandaGen.storeAccumulator(node, storeReg);
720 pandaGen.loadObjProperty(node, classReg, "prototype");
721 pandaGen.storeAccumulator(node, propReg);
722 pandaGen.loadAccumulator(node, storeReg);
723 createMethodOrAccessor(pandaGen, compiler, propReg, node);
724 pandaGen.storeAccumulator(node, storeReg);
747 let pandaGen = compiler.getPandaGen();
748 pandaGen.storeAccumulator(node, storeReg);
752 pandaGen.loadObjProperty(node, classReg, "prototype");
753 pandaGen.storeAccumulator(node, propReg);
754 pandaGen.loadAccumulator(node, storeReg);
801 let pandaGen = compiler.getPandaGen();
804 pandaGen.loadSuperProperty(expr, thisReg, prop);
808 let pandaGen = compiler.getPandaGen();
815 let thisReg = pandaGen.getTemp();
817 pandaGen.loadAccumulator(node, thisReg);
818 pandaGen.freeTemps(thisReg);
824 pandaGen.throwIfSuperNotCorrectCall(ctorNode, 0);
828 pandaGen.throwIfSuperNotCorrectCall(ctorNode, 1);