• Home
  • Raw
  • Download

Lines Matching refs:pandaGen

133     private pandaGen: PandaGen;  property in Compiler
140 …constructor(node: ts.SourceFile | ts.FunctionLikeDeclaration, pandaGen: PandaGen, compilerDriver: …
142 this.pandaGen = pandaGen;
145 this.funcBuilder = new FunctionBuilder(pandaGen);
149 this.scope = this.pandaGen.getScope()!;
153 this.pandaGen.getVregForVariable(parameters[i]);
157 getVregisterCache(this.pandaGen, CacheList.LEXENV);
159 this.pandaGen.loadAccFromArgs(this.rootNode);
195 this.pandaGen.loadAccumulator(NodeKind.FIRST_NODE_OF_FUNCTION,
196 getVregisterCache(this.pandaGen, CacheList.FUNC));
197 … this.pandaGen.storeAccToLexEnv(NodeKind.FIRST_NODE_OF_FUNCTION, v.scope, v.level, v.v, true);
227 let vreg = arg === MandatoryFuncObj ? getVregisterCache(this.pandaGen, CacheList.FUNC) :
228 this.pandaGen.getVregForVariable(v);
229 this.pandaGen.storeLexicalVar(this.rootNode, 0, v.lexIndex(), vreg);
259 let pandaGen = this.pandaGen;
268 let retValue = pandaGen.getTemp();
269 pandaGen.storeAccumulator(body, retValue);
273 pandaGen.return(NodeKind.INVALID);
275 pandaGen.loadAccumulator(body, retValue);
277 pandaGen.freeTemps(retValue);
278 pandaGen.return(NodeKind.INVALID);
285 let pandaGen = this.pandaGen;
300 let paramReg = pandaGen.getVregForVariable(variable!);
302 let scope = this.pandaGen.getScope();
306 pandaGen.copyRestArgs(param, index);
307 pandaGen.storeAccumulator(param, paramReg);
313 pandaGen.loadAccumulator(decl, paramReg);
314 pandaGen.condition(
317 getVregisterCache(pandaGen, CacheList.UNDEFINED),
320 pandaGen.storeAccumulator(param, paramReg);
321 pandaGen.label(decl, endLabel);
326 pandaGen.loadAccumulator(param, paramReg);
333 let pandaGen = this.pandaGen;
340 return new AsyncGeneratorFunctionBuilder(pandaGen, this);
342 return new AsyncFunctionBuilder(pandaGen);
349 return new GeneratorFunctionBuilder(pandaGen, this);
352 return new FunctionBuilder(pandaGen);
356 let pandaGen = this.pandaGen;
370 (<VariableScope>pandaGen.getScope()!).addFuncName(funcName);
386 this.pandaGen.setFirstStmt(stmt);
442 this.pandaGen.debugger(stmt);
469 hoistFunctionInBlock(this.scope, this.pandaGen, isStrictMode(block), this);
495 … this.pandaGen.loadAccumulator(decl, getVregisterCache(this.pandaGen, CacheList.UNDEFINED));
509 this.pandaGen.branch(DebugInfo.getLastNode(), ifEndLabel);
510 this.pandaGen.label(stmt, ifElseLabel);
513 this.pandaGen.label(stmt, ifEndLabel);
519 this.pandaGen.popLexicalEnv(node);
570 this.pandaGen.branch(stmt, continueLabelTarget.getContinueTargetLabel()!);
587 this.pandaGen.branch(stmt, breakLabelTarget.getBreakTargetLabel());
607 this.pandaGen.label(stmt, blockEndLabel);
616 let pandaGen = this.pandaGen;
627 pandaGen.throw(stmt);
645 this.pandaGen.label(startTry.getStatement(), inlineFinallyBegin);
647 this.pandaGen.label(startTry.getStatement(), inlineFinallyEnd);
678 let pandaGen = this.pandaGen;
685 pandaGen,
690 pandaGen.label(node, tryBeginLabel);
692 pandaGen.label(node, tryEndLabel);
700 pandaGen.popLexicalEnv(node);
703 pandaGen.branch(node, catchEndLabel);
706 pandaGen.label(node, catchBeginLabel);
709 pandaGen.label(node, catchEndLabel);
721 let tryBuilder = new TryBuilder(this, this.pandaGen, stmt);
737 … let defaultV: ModuleVariable = <ModuleVariable>(this.pandaGen.getScope().findLocal("*default*"));
738 this.pandaGen.storeModuleVariable(stmt, defaultV);
742 let pandaGen = this.pandaGen;
760 let lhs = pandaGen.getTemp();
762 pandaGen.storeAccumulator(binExpr, lhs);
764 pandaGen.condition(binExpr, binExpr.operatorToken.kind, lhs, ifFalseLabel);
765 pandaGen.freeTemps(lhs);
770 pandaGen.jumpIfFalse(binExpr, ifFalseLabel);
772 pandaGen.jumpIfFalse(binExpr, ifFalseLabel);
778 pandaGen.jumpIfTrue(binExpr, endLabel);
780 pandaGen.jumpIfFalse(binExpr, ifFalseLabel);
781 pandaGen.label(binExpr, endLabel);
791 pandaGen.jumpIfFalse(expr, ifFalseLabel);
799 compileNumericLiteral(this.pandaGen, <ts.NumericLiteral>expr);
802 compileBigIntLiteral(this.pandaGen, <ts.BigIntLiteral>expr);
805 compileStringLiteral(this.pandaGen, <ts.StringLiteral>expr);
821 … this.pandaGen.loadAccumulator(expr, getVregisterCache(this.pandaGen, CacheList.NULL));
921 let pandaGen = this.pandaGen;
925 pandaGen.loadAccumulator(id, getVregisterCache(this.pandaGen, CacheList.NAN));
928 pandaGen.loadAccumulator(id, getVregisterCache(this.pandaGen, CacheList.INFINITY));
931 pandaGen.loadAccumulator(id, getVregisterCache(this.pandaGen, CacheList.GLOBAL));
934 pandaGen.loadAccumulator(id, getVregisterCache(this.pandaGen, CacheList.UNDEFINED));
941 pandaGen.loadByNameViaDebugger(id, name, CacheList.FALSE) :
942pandaGen.loadObjProperty(id, getVregisterCache(pandaGen, CacheList.GLOBAL), name);
944 pandaGen.tryLoadGlobalByName(id, name);
953 this.pandaGen.loadAccumulator(lit, getVregisterCache(this.pandaGen, CacheList.TRUE));
955 this.pandaGen.loadAccumulator(lit, getVregisterCache(this.pandaGen, CacheList.FALSE));
972 … this.pandaGen.loadAccumulator(expr, getVregisterCache(this.pandaGen, CacheList.GLOBAL));
982 let pandaGen = this.pandaGen;
994 pandaGen.loadByNameViaDebugger(node, MandatoryThis, CacheList.TRUE);
998 pandaGen.loadAccFromLexEnv(node, scope!, level, v);
1007 this.pandaGen.defineFunction(expr, expr, internalName);
1011 let pandaGen = this.pandaGen;
1024 objReg = getVregisterCache(pandaGen, CacheList.GLOBAL);
1025 pandaGen.loadAccumulatorString(unaryExpr, name);
1026 pandaGen.deleteObjProperty(expr, objReg);
1030pandaGen.loadAccumulator(unaryExpr, getVregisterCache(pandaGen, CacheList.FALSE));
1036 objReg = pandaGen.getTemp();
1037 propReg = pandaGen.getTemp();
1040 pandaGen.throwDeleteSuperProperty(unaryExpr);
1041 pandaGen.freeTemps(objReg, propReg);
1048 pandaGen.loadAccumulatorString(expr, prop);
1051 pandaGen.loadAccumulatorInt(expr, prop);
1054 pandaGen.loadAccumulator(expr, prop);
1058 pandaGen.deleteObjProperty(expr, objReg);
1059 pandaGen.freeTemps(objReg, propReg);
1066 pandaGen.loadAccumulator(expr, getVregisterCache(pandaGen, CacheList.TRUE));
1074 this.pandaGen.typeOf(expr);
1078 let pandaGen = this.pandaGen;
1082 pandaGen.loadAccumulator(expr, getVregisterCache(pandaGen, CacheList.UNDEFINED));
1086 let pandaGen = this.pandaGen;
1096 pandaGen.loadAccumulator(expr, getVregisterCache(pandaGen, CacheList.UNDEFINED));
1102 let pandaGen = this.pandaGen;
1103 let operandReg = pandaGen.getTemp();
1111 pandaGen.storeAccumulator(expr, operandReg);
1112 pandaGen.unary(expr, expr.operator, operandReg);
1121 pandaGen.storeAccumulator(expr, operandReg);
1122 pandaGen.unary(expr, expr.operator, operandReg);
1128 pandaGen.freeTemps(operandReg);
1132 let pandaGen = this.pandaGen;
1133 let operandReg = pandaGen.getTemp();
1138 pandaGen.storeAccumulator(expr, operandReg);
1143 pandaGen.unary(expr, expr.operator, operandReg);
1151 pandaGen.toNumeric(expr, operandReg);
1152 pandaGen.freeTemps(operandReg);
1156 let pandaGen = this.pandaGen;
1157 let lhs = pandaGen.getTemp();
1165 pandaGen.storeAccumulator(expr, lhs);
1166 pandaGen.jumpIfFalse(expr, leftFalseLabel);
1170 pandaGen.branch(expr, endLabel);
1173 pandaGen.label(expr, leftFalseLabel);
1174 pandaGen.loadAccumulator(expr, lhs);
1175 pandaGen.label(expr, endLabel);
1184 pandaGen.storeAccumulator(expr, lhs);
1185 pandaGen.jumpIfTrue(expr, leftTrueLabel);
1189 pandaGen.branch(expr, endLabel);
1192 pandaGen.label(expr, leftTrueLabel);
1193 pandaGen.loadAccumulator(expr, lhs);
1194 pandaGen.label(expr, endLabel);
1202 pandaGen.storeAccumulator(expr, lhs);
1204pandaGen.condition(expr, ts.SyntaxKind.ExclamationEqualsEqualsToken, getVregisterCache(pandaGen, C…
1206 pandaGen.loadAccumulator(expr.left, lhs);
1207pandaGen.condition(expr, ts.SyntaxKind.ExclamationEqualsEqualsToken, getVregisterCache(pandaGen, C…
1209 pandaGen.loadAccumulator(expr, lhs);
1210 pandaGen.branch(expr, endLabel);
1211 pandaGen.label(expr, leftNullishLabel);
1213 pandaGen.label(expr, endLabel);
1219 pandaGen.freeTemps(lhs);
1235 let pandaGen = this.pandaGen;
1236 let lhs = pandaGen.getTemp();
1238 pandaGen.storeAccumulator(expr, lhs);
1242 pandaGen.binary(expr, expr.operatorToken.kind, lhs);
1245 pandaGen.freeTemps(lhs);
1254 this.pandaGen.branch(expr, endLabel);
1255 this.pandaGen.label(expr, falseLabel);
1257 this.pandaGen.label(expr, endLabel);
1262 this.pandaGen.defineFunction(expr, expr, internalName);
1269 let lrh = this.pandaGen.getTemp();
1273 this.pandaGen.storeAccumulator(expr, lrh);
1274 this.pandaGen.loadAccumulatorString(expr, text);
1275 this.pandaGen.binary(expr, ts.SyntaxKind.PlusToken, lrh);
1278 this.pandaGen.freeTemps(lrh);
1282 let pandaGen = this.pandaGen;
1286 let lrh = pandaGen.getTemp();
1287 pandaGen.loadAccumulatorString(expr, head.text);
1291 pandaGen.storeAccumulator(expr, lrh);
1293 pandaGen.binary(expr, ts.SyntaxKind.PlusToken, lrh);
1297 pandaGen.freeTemps(lrh);
1302 this.pandaGen.loadAccumulatorString(expr, text);
1306 let pandaGen = this.pandaGen;
1313 getTemplateObject(pandaGen, expr);
1314 let templateObj = pandaGen.getTemp();
1315 pandaGen.storeAccumulator(expr, templateObj);
1320 let exprReg = pandaGen.getTemp();
1322 pandaGen.storeAccumulator(spanExp, exprReg);
1327 pandaGen.call(expr, argRegs, passThis);
1328 pandaGen.freeTemps(...argRegs);
1337 let lhsVreg = this.pandaGen.getTemp();
1340 this.pandaGen.storeAccumulator(lhs, lhsVreg);
1342 this.pandaGen.binary(lhs.parent, operator, lhsVreg);
1343 this.pandaGen.freeTemps(lhsVreg);
1355 DebugInfo.addDebugIns(scope, this.pandaGen, true);
1360 DebugInfo.addDebugIns(this.scope, this.pandaGen, false);
1369 let pandaGen = this.pandaGen;
1376 pandaGen.loadLexicalVar(node, level, slot);
1377 pandaGen.storeAccumulator(node, res);
1379 pandaGen.moveVreg(node, res, pandaGen.getVregForVariable(v));
1384 let pandaGen = this.pandaGen;
1389 let value = pandaGen.getTemp();
1390 pandaGen.storeAccumulator(node, value);
1391 pandaGen.storeLexicalVar(node, thisInfo.level, slot, value);
1392 pandaGen.freeTemps(value);
1394 pandaGen.storeAccumulator(node, pandaGen.getVregForVariable(<Variable>thisInfo.v));
1399 return this.pandaGen;
1426 this.pandaGen.stLetOrClassToGlobalRecord(node, variable.v.getName());
1428 this.pandaGen.stConstToGlobalRecord(node, variable.v.getName());
1435 this.pandaGen.tryStoreGlobalByName(node, variable.v.getName());
1439 … this.pandaGen.storeAccToLexEnv(node, variable.scope!, variable.level, variable.v, isDeclaration);
1442 this.pandaGen.tryStoreGlobalByName(node, variable.v.getName());
1444 this.pandaGen.storeGlobalVar(node, variable.v.getName());
1449 let nameReg = this.pandaGen.getTemp();
1450 this.pandaGen.loadAccumulatorString(node, variable.v.getName());
1451 this.pandaGen.storeAccumulator(node, nameReg);
1452 this.pandaGen.throwConstAssignment(node, nameReg);
1453 this.pandaGen.freeTemps(nameReg);
1462 let valueReg = this.pandaGen.getTemp();
1463 this.pandaGen.storeAccumulator(node, valueReg);
1464 this.pandaGen.loadModuleVariable(node, variable.v, true);
1465 this.pandaGen.throwUndefinedIfHole(node, variable.v.getName());
1466 this.pandaGen.loadAccumulator(node, valueReg);
1467 this.pandaGen.freeTemps(valueReg);
1470 this.pandaGen.storeModuleVariable(node, variable.v);
1480 this.pandaGen.tryLoadGlobalByName(node, variable.v.getName());
1485 …this.pandaGen.loadAccFromLexEnv(node, variable.scope!, variable.level, (<LocalVariable>variable.v)…
1491 … this.pandaGen.loadByNameViaDebugger(node, variable.v.getName(), CacheList.FALSE) :
1492 … this.pandaGen.loadObjProperty(node, getVregisterCache(this.pandaGen, CacheList.GLOBAL),
1495 this.pandaGen.tryLoadGlobalByName(node, variable.v.getName());
1498 this.pandaGen.loadGlobalVar(node, variable.v.getName());
1502 this.pandaGen.loadModuleVariable(node, variable.v, isLocal);
1504 this.pandaGen.throwUndefinedIfHole(node, variable.v.getName());