Lines Matching refs:op
405 int32_t op = (int32_t)fRXPat->fCompiledPat->elementAti(savePosition);
406 U_ASSERT(URX_TYPE(op) == URX_NOP); // original contents of reserved location
407 op = URX_BUILD(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+1);
408 fRXPat->fCompiledPat->setElementAt(op, savePosition);
413 op = URX_BUILD(URX_JMP, 0);
414 fRXPat->fCompiledPat->addElement(op, *fStatus);
416 // Push the position of the newly added JMP op onto the parentheses stack.
548 int32_t op = URX_BUILD(URX_LA_START, dataLoc);
549 fRXPat->fCompiledPat->addElement(op, *fStatus);
551 op = URX_BUILD(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+ 2);
552 fRXPat->fCompiledPat->addElement(op, *fStatus);
554 op = URX_BUILD(URX_JMP, fRXPat->fCompiledPat->size()+ 3);
555 fRXPat->fCompiledPat->addElement(op, *fStatus);
557 op = URX_BUILD(URX_LA_END, dataLoc);
558 fRXPat->fCompiledPat->addElement(op, *fStatus);
560 op = URX_BUILD(URX_BACKTRACK, 0);
561 fRXPat->fCompiledPat->addElement(op, *fStatus);
563 op = URX_BUILD(URX_NOP, 0);
564 fRXPat->fCompiledPat->addElement(op, *fStatus);
565 fRXPat->fCompiledPat->addElement(op, *fStatus);
591 int32_t op = URX_BUILD(URX_LA_START, dataLoc);
592 fRXPat->fCompiledPat->addElement(op, *fStatus);
594 op = URX_BUILD(URX_STATE_SAVE, 0); // dest address will be patched later.
595 fRXPat->fCompiledPat->addElement(op, *fStatus);
597 op = URX_BUILD(URX_NOP, 0);
598 fRXPat->fCompiledPat->addElement(op, *fStatus);
637 int32_t op = URX_BUILD(URX_LB_START, dataLoc);
638 fRXPat->fCompiledPat->addElement(op, *fStatus);
641 op = URX_BUILD(URX_LB_CONT, dataLoc);
642 fRXPat->fCompiledPat->addElement(op, *fStatus);
647 op = URX_BUILD(URX_NOP, 0);
648 fRXPat->fCompiledPat->addElement(op, *fStatus);
649 fRXPat->fCompiledPat->addElement(op, *fStatus);
690 int32_t op = URX_BUILD(URX_LB_START, dataLoc);
691 fRXPat->fCompiledPat->addElement(op, *fStatus);
694 op = URX_BUILD(URX_LBN_CONT, dataLoc);
695 fRXPat->fCompiledPat->addElement(op, *fStatus);
701 op = URX_BUILD(URX_NOP, 0);
702 fRXPat->fCompiledPat->addElement(op, *fStatus);
703 fRXPat->fCompiledPat->addElement(op, *fStatus);
815 int32_t op = URX_BUILD(URX_STO_INP_LOC, frameLoc);
816 fRXPat->fCompiledPat->setElementAt(op, topLoc);
818 op = URX_BUILD(URX_JMP_SAV_X, topLoc+1);
819 fRXPat->fCompiledPat->addElement(op, *fStatus);
959 int32_t op = URX_BUILD(URX_STO_INP_LOC, dataLoc);
960 fRXPat->fCompiledPat->setElementAt(op, saveStateLoc+1);
968 // Put together the save state op store it into the compiled code.
1061 int32_t op = URX_BUILD(URX_STO_SP, varLoc);
1062 fRXPat->fCompiledPat->setElementAt(op, topLoc);
1070 op = URX_BUILD(URX_LD_SP, varLoc);
1071 fRXPat->fCompiledPat->addElement(op, *fStatus);
1106 int32_t op;
1108 op = URX_BUILD(URX_DOTANY_ALL, 0);
1110 op = URX_BUILD(URX_DOTANY_UNIX, 0);
1112 op = URX_BUILD(URX_DOTANY, 0);
1114 fRXPat->fCompiledPat->addElement(op, *fStatus);
1120 int32_t op = 0;
1122 op = URX_CARET;
1124 op = URX_CARET_M;
1126 op = URX_CARET; // Only testing true start of input.
1128 op = URX_CARET_M_UNIX;
1130 fRXPat->fCompiledPat->addElement(URX_BUILD(op, 0), *fStatus);
1136 int32_t op = 0;
1138 op = URX_DOLLAR;
1140 op = URX_DOLLAR_M;
1142 op = URX_DOLLAR_D;
1144 op = URX_DOLLAR_MD;
1146 fRXPat->fCompiledPat->addElement(URX_BUILD(op, 0), *fStatus);
1161 int32_t op = (fModeFlags & UREGEX_UWORD)? URX_BACKSLASH_BU : URX_BACKSLASH_B;
1162 fRXPat->fCompiledPat->addElement(URX_BUILD(op, 1), *fStatus);
1173 int32_t op = (fModeFlags & UREGEX_UWORD)? URX_BACKSLASH_BU : URX_BACKSLASH_B;
1174 fRXPat->fCompiledPat->addElement(URX_BUILD(op, 0), *fStatus);
1276 int32_t op;
1278 op = URX_BUILD(URX_BACKREF_I, groupNum);
1280 op = URX_BUILD(URX_BACKREF, groupNum);
1282 fRXPat->fCompiledPat->addElement(op, *fStatus);
1305 int32_t op = URX_BUILD(URX_STO_SP, stoLoc);
1306 fRXPat->fCompiledPat->setElementAt(op, topLoc);
1309 op = URX_BUILD(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+2);
1310 fRXPat->fCompiledPat->addElement(op, *fStatus);
1313 op = URX_BUILD(URX_JMP, topLoc+1);
1314 fRXPat->fCompiledPat->addElement(op, *fStatus);
1317 op = URX_BUILD(URX_LD_SP, stoLoc);
1318 fRXPat->fCompiledPat->addElement(op, *fStatus);
1340 int32_t op = URX_BUILD(URX_STO_SP, stoLoc);
1341 fRXPat->fCompiledPat->setElementAt(op, topLoc);
1345 op = URX_BUILD(URX_STATE_SAVE, L7);
1346 fRXPat->fCompiledPat->setElementAt(op, topLoc+1);
1349 op = URX_BUILD(URX_JMP, topLoc+1);
1350 fRXPat->fCompiledPat->addElement(op, *fStatus);
1353 op = URX_BUILD(URX_LD_SP, stoLoc);
1354 fRXPat->fCompiledPat->addElement(op, *fStatus);
1375 int32_t op = URX_BUILD(URX_STO_SP, stoLoc);
1376 fRXPat->fCompiledPat->setElementAt(op, topLoc);
1380 op = URX_BUILD(URX_STATE_SAVE, continueLoc);
1381 fRXPat->fCompiledPat->setElementAt(op, topLoc+1);
1384 op = URX_BUILD(URX_LD_SP, stoLoc);
1385 fRXPat->fCompiledPat->addElement(op, *fStatus);
1672 // Push the negation operator onto the set op stack.
1764 int32_t op; // An operation in the compiled pattern.
1772 op = (int32_t)fRXPat->fCompiledPat->lastElementi();
1773 opType = URX_TYPE(op);
1780 // Emit a OneChar op into the compiled pattern.
1788 op = (int32_t)fRXPat->fCompiledPat->lastElementi();
1789 opType = URX_TYPE(op);
1792 // If the most recently emitted op is a URX_ONECHAR,
1794 if (U16_IS_TRAIL(c) && U16_IS_LEAD(URX_VAL(op))) {
1795 // The most recently emitted op is a ONECHAR that was the first half
1798 c = U16_GET_SUPPLEMENTARY(URX_VAL(op), c);
1799 op = URX_BUILD(opType, c);
1801 fRXPat->fCompiledPat->setElementAt(op, patternLoc);
1805 // The most recently emitted op is a ONECHAR.
1806 // We've now received another adjacent char. Change the ONECHAR op
1807 // to a string op.
1808 fRXPat->fLiteralText.append(URX_VAL(op));
1811 op = URX_BUILD(URX_STRING_I, fStringOpStart);
1813 op = URX_BUILD(URX_STRING, fStringOpStart);
1816 fRXPat->fCompiledPat->setElementAt(op, patternLoc);
1817 op = URX_BUILD(URX_STRING_LEN, 0);
1818 fRXPat->fCompiledPat->addElement(op, *fStatus);
1827 op = URX_BUILD(URX_STRING_LEN, stringLen);
1829 fRXPat->fCompiledPat->setElementAt(op, patternLoc);
1836 // emitONE_CHAR emit a ONE_CHAR op into the generated code.
1842 int32_t op;
1847 op = URX_BUILD(URX_ONECHAR_I, c);
1851 op = URX_BUILD(URX_ONECHAR, c);
1853 fRXPat->fCompiledPat->addElement(op, *fStatus);
1873 int32_t op; // An op from/for the compiled pattern.
1892 op = (int32_t)fRXPat->fCompiledPat->lastElementi();
1893 opType = URX_TYPE(op);
1897 stringLen = URX_VAL(op);
1916 // and append a URX_ONECHAR op for the last char.
1918 op = URX_BUILD(URX_STRING_LEN, stringLen);
1919 fRXPat->fCompiledPat->setElementAt(op, fRXPat->fCompiledPat->size() -1);
1956 int32_t op = (int32_t)code->elementAti(loc);
1957 int32_t opType = URX_TYPE(op);
1958 int32_t opValue = URX_VAL(op);
1970 op = URX_BUILD(opType, opValue);
1971 code->setElementAt(op, loc);
2099 // Insert a End Capture op into the pattern.
2101 // start capture op and put it into the end-capture op.
2129 int32_t op = URX_BUILD(URX_LA_END, dataLoc);
2130 fRXPat->fCompiledPat->addElement(op, *fStatus);
2140 int32_t op = URX_BUILD(URX_LA_END, dataLoc);
2141 fRXPat->fCompiledPat->addElement(op, *fStatus);
2142 op = URX_BUILD(URX_BACKTRACK, 0);
2143 fRXPat->fCompiledPat->addElement(op, *fStatus);
2144 op = URX_BUILD(URX_LA_END, dataLoc);
2145 fRXPat->fCompiledPat->addElement(op, *fStatus);
2165 int32_t op = URX_BUILD(URX_LB_END, dataLoc);
2166 fRXPat->fCompiledPat->addElement(op, *fStatus);
2167 op = URX_BUILD(URX_LA_END, dataLoc);
2168 fRXPat->fCompiledPat->addElement(op, *fStatus);
2182 // Insert the min and max match len bounds into the URX_LB_CONT op that
2200 int32_t op = URX_BUILD(URX_LBN_END, dataLoc);
2201 fRXPat->fCompiledPat->addElement(op, *fStatus);
2215 // Insert the min and max match len bounds into the URX_LB_CONT op that
2222 op = URX_BUILD(URX_RELOC_OPRND, fRXPat->fCompiledPat->size());
2223 fRXPat->fCompiledPat->setElementAt(op, fMatchOpenParen-1);
2310 // The CTR_INIT op at the top of the block with the {n,m} quantifier takes
2322 int32_t op = URX_BUILD(InitOp, counterLoc);
2323 fRXPat->fCompiledPat->setElementAt(op, topOfBlock);
2330 op = URX_BUILD(URX_RELOC_OPRND, loopEnd);
2331 fRXPat->fCompiledPat->setElementAt(op, topOfBlock+1);
2337 // Apend the CTR_LOOP op. The operand is the location of the CTR_INIT op.
2339 op = URX_BUILD(LoopOp, topOfBlock);
2340 fRXPat->fCompiledPat->addElement(op, *fStatus);
2369 // The thing being repeated is not a single op, but some
2378 int32_t op = (int32_t)fRXPat->fCompiledPat->elementAti(topOfBlock);
2381 // will end, and set up the state save op that will be needed.
2393 // Loop, emitting the op for the thing being repeated each time.
2394 // Loop starts at 1 because one instance of the op already exists in the pattern,
2404 fRXPat->fCompiledPat->addElement(op, *fStatus);
2418 // op where the min match coming in is zero, add that ops possible
2428 int32_t loc; // Location in the pattern of the current op being processed.
2429 int32_t op; // The op being processed
2430 int32_t opType; // The opcode type of the op
2451 op = (int32_t)fRXPat->fCompiledPat->elementAti(loc);
2452 opType = URX_TYPE(op);
2455 // If the op we are now at was the destination of a branch in the pattern,
2506 fRXPat->fInitialChars->add(URX_VAL(op));
2516 int32_t sn = URX_VAL(op);
2530 int32_t sn = URX_VAL(op);
2553 int32_t sn = URX_VAL(op);
2567 int32_t sn = URX_VAL(op);
2585 if (URX_VAL(op) != 0) {
2599 UChar32 c = URX_VAL(op);
2638 int32_t jmpDest = URX_VAL(op);
2674 int32_t jmpDest = URX_VAL(op);
2697 int32_t stringStartIdx = URX_VAL(op);
2726 int32_t stringStartIdx = URX_VAL(op);
2792 op = (int32_t)fRXPat->fCompiledPat->elementAti(loc);
2793 if (URX_TYPE(op) == URX_LA_START) {
2796 if (URX_TYPE(op) == URX_LB_START) {
2799 if (URX_TYPE(op) == URX_LA_END || URX_TYPE(op)==URX_LBN_END) {
2805 if (URX_TYPE(op) == URX_STATE_SAVE) {
2808 int32_t jmpDest = URX_VAL(op);
2913 int32_t op;
2930 op = (int32_t)fRXPat->fCompiledPat->elementAti(loc);
2931 opType = URX_TYPE(op);
2934 // If the op we are now at was the destination of a branch in the pattern,
2997 int32_t jmpDest = URX_VAL(op);
3025 int32_t jmpDest = URX_VAL(op);
3090 op = (int32_t)fRXPat->fCompiledPat->elementAti(loc);
3091 if (URX_TYPE(op) == URX_LA_START) {
3096 if (URX_TYPE(op) == URX_LB_START) {
3099 if (URX_TYPE(op) == URX_LA_END) {
3105 if (URX_TYPE(op)==URX_LBN_END) {
3111 if (URX_TYPE(op) == URX_STATE_SAVE) {
3114 int32_t jmpDest = URX_VAL(op);
3173 int32_t op;
3184 op = (int32_t)fRXPat->fCompiledPat->elementAti(loc);
3185 opType = URX_TYPE(op);
3188 // If the op we are now at was the destination of a branch in the pattern,
3254 if (URX_VAL(op) > 0x10000) {
3266 int32_t jmpDest = URX_VAL(op);
3293 int32_t jmpDest = URX_VAL(op);
3340 // the URX_LA_START op.
3351 op = (int32_t)fRXPat->fCompiledPat->elementAti(loc);
3352 if (URX_TYPE(op) == URX_LA_START || URX_TYPE(op) == URX_LB_START) {
3355 if (URX_TYPE(op) == URX_LA_END || URX_TYPE(op)==URX_LBN_END) {
3414 int32_t op = (int32_t)fRXPat->fCompiledPat->elementAti(loc);
3415 if (URX_TYPE(op) == URX_NOP) {
3430 int32_t op = (int32_t)fRXPat->fCompiledPat->elementAti(src);
3431 int32_t opType = URX_TYPE(op);
3446 int32_t operandAddress = URX_VAL(op);
3449 op = URX_BUILD(opType, fixedOperandAddress);
3450 fRXPat->fCompiledPat->setElementAt(op, dst);
3457 UChar32 c = URX_VAL(op);
3461 op = URX_BUILD(URX_ONECHAR_I, c);
3464 fRXPat->fCompiledPat->setElementAt(op, dst);
3470 op = URX_BUILD(URX_STRING_I, URX_VAL(op)+stringDelta);
3475 caseStringBuffer.setTo(fRXPat->fLiteralText, URX_VAL(op), URX_VAL(lengthOp));
3481 fRXPat->fLiteralText.replace(URX_VAL(op), newLen, caseStringBuffer);
3484 fRXPat->fLiteralText.replace(URX_VAL(op), URX_VAL(lengthOp), caseStringBuffer);
3489 fRXPat->fCompiledPat->setElementAt(op, dst);
3497 int32_t where = URX_VAL(op);
3503 op = URX_BUILD(opType, where);
3504 fRXPat->fCompiledPat->setElementAt(op, dst);
3511 op = URX_BUILD(URX_STRING, URX_VAL(op)+stringDelta);
3557 fRXPat->fCompiledPat->setElementAt(op, dst);
3562 // Some op is unaccounted for.
4316 void RegexCompile::setPushOp(int32_t op) {
4317 setEval(op);
4318 fSetOpStack.push(op, *fStatus);