Lines Matching refs:__

78 #define __ ACCESS_MASM(masm_)  macro
95 __ jmp(&entry_label_); // We'll write the entry code later. in RegExpMacroAssemblerIA32()
96 __ bind(&start_label_); // And then continue from here. in RegExpMacroAssemblerIA32()
120 __ add(edi, Immediate(by * char_size())); in AdvanceCurrentPosition()
129 __ add(register_location(reg), Immediate(by)); in AdvanceRegister()
138 __ add(ebx, Immediate(masm_->CodeObject())); in Backtrack()
139 __ jmp(ebx); in Backtrack()
144 __ bind(label); in Bind()
149 __ cmp(current_character(), c); in CheckCharacter()
155 __ cmp(current_character(), limit); in CheckCharacterGT()
161 __ lea(eax, Operand(edi, -char_size())); in CheckAtStart()
162 __ cmp(eax, Operand(ebp, kStringStartMinusOne)); in CheckAtStart()
169 __ lea(eax, Operand(edi, -char_size() + cp_offset * char_size())); in CheckNotAtStart()
170 __ cmp(eax, Operand(ebp, kStringStartMinusOne)); in CheckNotAtStart()
176 __ cmp(current_character(), limit); in CheckCharacterLT()
183 __ cmp(edi, Operand(backtrack_stackpointer(), 0)); in CheckGreedyLoop()
184 __ j(not_equal, &fallthrough); in CheckGreedyLoop()
185 __ add(backtrack_stackpointer(), Immediate(kPointerSize)); // Pop. in CheckGreedyLoop()
187 __ bind(&fallthrough); in CheckGreedyLoop()
194 __ mov(edx, register_location(start_reg)); // Index of start of capture in CheckNotBackReferenceIgnoreCase()
195 __ mov(ebx, register_location(start_reg + 1)); // Index of end of capture in CheckNotBackReferenceIgnoreCase()
196 __ sub(ebx, edx); // Length of capture. in CheckNotBackReferenceIgnoreCase()
201 __ j(equal, &fallthrough); in CheckNotBackReferenceIgnoreCase()
205 __ mov(eax, Operand(ebp, kStringStartMinusOne)); in CheckNotBackReferenceIgnoreCase()
206 __ add(eax, ebx); in CheckNotBackReferenceIgnoreCase()
207 __ cmp(edi, eax); in CheckNotBackReferenceIgnoreCase()
210 __ mov(eax, edi); in CheckNotBackReferenceIgnoreCase()
211 __ add(eax, ebx); in CheckNotBackReferenceIgnoreCase()
220 __ push(edi); in CheckNotBackReferenceIgnoreCase()
221 __ push(backtrack_stackpointer()); in CheckNotBackReferenceIgnoreCase()
224 __ add(edx, esi); // Start of capture in CheckNotBackReferenceIgnoreCase()
225 __ add(edi, esi); // Start of text to match against capture. in CheckNotBackReferenceIgnoreCase()
227 __ sub(edi, ebx); // Offset by length when matching backwards. in CheckNotBackReferenceIgnoreCase()
229 __ add(ebx, edi); // End of text to match against capture. in CheckNotBackReferenceIgnoreCase()
232 __ bind(&loop); in CheckNotBackReferenceIgnoreCase()
233 __ movzx_b(eax, Operand(edi, 0)); in CheckNotBackReferenceIgnoreCase()
234 __ cmpb_al(Operand(edx, 0)); in CheckNotBackReferenceIgnoreCase()
235 __ j(equal, &loop_increment); in CheckNotBackReferenceIgnoreCase()
238 __ or_(eax, 0x20); // Convert match character to lower-case. in CheckNotBackReferenceIgnoreCase()
239 __ lea(ecx, Operand(eax, -'a')); in CheckNotBackReferenceIgnoreCase()
240 __ cmp(ecx, static_cast<int32_t>('z' - 'a')); // Is eax a lowercase letter? in CheckNotBackReferenceIgnoreCase()
242 __ j(below_equal, &convert_capture); // In range 'a'-'z'. in CheckNotBackReferenceIgnoreCase()
244 __ sub(ecx, Immediate(224 - 'a')); in CheckNotBackReferenceIgnoreCase()
245 __ cmp(ecx, Immediate(254 - 224)); in CheckNotBackReferenceIgnoreCase()
246 __ j(above, &fail); // Weren't Latin-1 letters. in CheckNotBackReferenceIgnoreCase()
247 __ cmp(ecx, Immediate(247 - 224)); // Check for 247. in CheckNotBackReferenceIgnoreCase()
248 __ j(equal, &fail); in CheckNotBackReferenceIgnoreCase()
249 __ bind(&convert_capture); in CheckNotBackReferenceIgnoreCase()
251 __ movzx_b(ecx, Operand(edx, 0)); in CheckNotBackReferenceIgnoreCase()
252 __ or_(ecx, 0x20); in CheckNotBackReferenceIgnoreCase()
254 __ cmp(eax, ecx); in CheckNotBackReferenceIgnoreCase()
255 __ j(not_equal, &fail); in CheckNotBackReferenceIgnoreCase()
257 __ bind(&loop_increment); in CheckNotBackReferenceIgnoreCase()
259 __ add(edx, Immediate(1)); in CheckNotBackReferenceIgnoreCase()
260 __ add(edi, Immediate(1)); in CheckNotBackReferenceIgnoreCase()
262 __ cmp(edi, ebx); in CheckNotBackReferenceIgnoreCase()
263 __ j(below, &loop); in CheckNotBackReferenceIgnoreCase()
264 __ jmp(&success); in CheckNotBackReferenceIgnoreCase()
266 __ bind(&fail); in CheckNotBackReferenceIgnoreCase()
268 __ pop(backtrack_stackpointer()); in CheckNotBackReferenceIgnoreCase()
269 __ pop(edi); in CheckNotBackReferenceIgnoreCase()
272 __ bind(&success); in CheckNotBackReferenceIgnoreCase()
274 __ pop(backtrack_stackpointer()); in CheckNotBackReferenceIgnoreCase()
276 __ add(esp, Immediate(kPointerSize)); in CheckNotBackReferenceIgnoreCase()
278 __ sub(edi, esi); in CheckNotBackReferenceIgnoreCase()
281 __ add(edi, register_location(start_reg)); in CheckNotBackReferenceIgnoreCase()
282 __ sub(edi, register_location(start_reg + 1)); in CheckNotBackReferenceIgnoreCase()
287 __ push(esi); in CheckNotBackReferenceIgnoreCase()
288 __ push(edi); in CheckNotBackReferenceIgnoreCase()
289 __ push(backtrack_stackpointer()); in CheckNotBackReferenceIgnoreCase()
290 __ push(ebx); in CheckNotBackReferenceIgnoreCase()
293 __ PrepareCallCFunction(argument_count, ecx); in CheckNotBackReferenceIgnoreCase()
302 __ mov(Operand(esp, 3 * kPointerSize), in CheckNotBackReferenceIgnoreCase()
305 __ mov(Operand(esp, 2 * kPointerSize), ebx); in CheckNotBackReferenceIgnoreCase()
309 __ add(edi, esi); in CheckNotBackReferenceIgnoreCase()
311 __ sub(edi, ebx); // Offset by length when matching backwards. in CheckNotBackReferenceIgnoreCase()
313 __ mov(Operand(esp, 1 * kPointerSize), edi); in CheckNotBackReferenceIgnoreCase()
316 __ add(edx, esi); in CheckNotBackReferenceIgnoreCase()
317 __ mov(Operand(esp, 0 * kPointerSize), edx); in CheckNotBackReferenceIgnoreCase()
323 __ CallCFunction(compare, argument_count); in CheckNotBackReferenceIgnoreCase()
326 __ pop(ebx); in CheckNotBackReferenceIgnoreCase()
327 __ pop(backtrack_stackpointer()); in CheckNotBackReferenceIgnoreCase()
328 __ pop(edi); in CheckNotBackReferenceIgnoreCase()
329 __ pop(esi); in CheckNotBackReferenceIgnoreCase()
332 __ or_(eax, eax); in CheckNotBackReferenceIgnoreCase()
336 __ sub(edi, ebx); in CheckNotBackReferenceIgnoreCase()
338 __ add(edi, ebx); in CheckNotBackReferenceIgnoreCase()
341 __ bind(&fallthrough); in CheckNotBackReferenceIgnoreCase()
353 __ mov(edx, register_location(start_reg)); in CheckNotBackReference()
354 __ mov(eax, register_location(start_reg + 1)); in CheckNotBackReference()
355 __ sub(eax, edx); // Length to check. in CheckNotBackReference()
360 __ j(equal, &fallthrough); in CheckNotBackReference()
364 __ mov(ebx, Operand(ebp, kStringStartMinusOne)); in CheckNotBackReference()
365 __ add(ebx, eax); in CheckNotBackReference()
366 __ cmp(edi, ebx); in CheckNotBackReference()
369 __ mov(ebx, edi); in CheckNotBackReference()
370 __ add(ebx, eax); in CheckNotBackReference()
375 __ push(backtrack_stackpointer()); in CheckNotBackReference()
378 __ add(edx, esi); // Start of capture. in CheckNotBackReference()
379 __ lea(ebx, Operand(esi, edi, times_1, 0)); // Start of match. in CheckNotBackReference()
381 __ sub(ebx, eax); // Offset by length when matching backwards. in CheckNotBackReference()
383 __ lea(ecx, Operand(eax, ebx, times_1, 0)); // End of match in CheckNotBackReference()
386 __ bind(&loop); in CheckNotBackReference()
388 __ movzx_b(eax, Operand(edx, 0)); in CheckNotBackReference()
389 __ cmpb_al(Operand(ebx, 0)); in CheckNotBackReference()
392 __ movzx_w(eax, Operand(edx, 0)); in CheckNotBackReference()
393 __ cmpw_ax(Operand(ebx, 0)); in CheckNotBackReference()
395 __ j(not_equal, &fail); in CheckNotBackReference()
397 __ add(edx, Immediate(char_size())); in CheckNotBackReference()
398 __ add(ebx, Immediate(char_size())); in CheckNotBackReference()
400 __ cmp(ebx, ecx); in CheckNotBackReference()
401 __ j(below, &loop); in CheckNotBackReference()
402 __ jmp(&success); in CheckNotBackReference()
404 __ bind(&fail); in CheckNotBackReference()
406 __ pop(backtrack_stackpointer()); in CheckNotBackReference()
409 __ bind(&success); in CheckNotBackReference()
411 __ mov(edi, ecx); in CheckNotBackReference()
412 __ sub(edi, esi); in CheckNotBackReference()
415 __ add(edi, register_location(start_reg)); in CheckNotBackReference()
416 __ sub(edi, register_location(start_reg + 1)); in CheckNotBackReference()
419 __ pop(backtrack_stackpointer()); in CheckNotBackReference()
421 __ bind(&fallthrough); in CheckNotBackReference()
427 __ cmp(current_character(), c); in CheckNotCharacter()
436 __ test(current_character(), Immediate(mask)); in CheckCharacterAfterAnd()
438 __ mov(eax, mask); in CheckCharacterAfterAnd()
439 __ and_(eax, current_character()); in CheckCharacterAfterAnd()
440 __ cmp(eax, c); in CheckCharacterAfterAnd()
450 __ test(current_character(), Immediate(mask)); in CheckNotCharacterAfterAnd()
452 __ mov(eax, mask); in CheckNotCharacterAfterAnd()
453 __ and_(eax, current_character()); in CheckNotCharacterAfterAnd()
454 __ cmp(eax, c); in CheckNotCharacterAfterAnd()
466 __ lea(eax, Operand(current_character(), -minus)); in CheckNotCharacterAfterMinusAnd()
468 __ test(eax, Immediate(mask)); in CheckNotCharacterAfterMinusAnd()
470 __ and_(eax, mask); in CheckNotCharacterAfterMinusAnd()
471 __ cmp(eax, c); in CheckNotCharacterAfterMinusAnd()
481 __ lea(eax, Operand(current_character(), -from)); in CheckCharacterInRange()
482 __ cmp(eax, to - from); in CheckCharacterInRange()
491 __ lea(eax, Operand(current_character(), -from)); in CheckCharacterNotInRange()
492 __ cmp(eax, to - from); in CheckCharacterNotInRange()
500 __ mov(eax, Immediate(table)); in CheckBitInTable()
503 __ mov(ebx, kTableSize - 1); in CheckBitInTable()
504 __ and_(ebx, current_character()); in CheckBitInTable()
507 __ cmpb(FieldOperand(eax, index, times_1, ByteArray::kHeaderSize), 0); in CheckBitInTable()
522 __ cmp(current_character(), ' '); in CheckSpecialCharacterClass()
523 __ j(equal, &success, Label::kNear); in CheckSpecialCharacterClass()
525 __ lea(eax, Operand(current_character(), -'\t')); in CheckSpecialCharacterClass()
526 __ cmp(eax, '\r' - '\t'); in CheckSpecialCharacterClass()
527 __ j(below_equal, &success, Label::kNear); in CheckSpecialCharacterClass()
529 __ cmp(eax, 0x00a0 - '\t'); in CheckSpecialCharacterClass()
531 __ bind(&success); in CheckSpecialCharacterClass()
540 __ lea(eax, Operand(current_character(), -'0')); in CheckSpecialCharacterClass()
541 __ cmp(eax, '9' - '0'); in CheckSpecialCharacterClass()
546 __ lea(eax, Operand(current_character(), -'0')); in CheckSpecialCharacterClass()
547 __ cmp(eax, '9' - '0'); in CheckSpecialCharacterClass()
552 __ mov(eax, current_character()); in CheckSpecialCharacterClass()
553 __ xor_(eax, Immediate(0x01)); in CheckSpecialCharacterClass()
555 __ sub(eax, Immediate(0x0b)); in CheckSpecialCharacterClass()
556 __ cmp(eax, 0x0c - 0x0b); in CheckSpecialCharacterClass()
562 __ sub(eax, Immediate(0x2028 - 0x0b)); in CheckSpecialCharacterClass()
563 __ cmp(eax, 0x2029 - 0x2028); in CheckSpecialCharacterClass()
571 __ cmp(current_character(), Immediate('z')); in CheckSpecialCharacterClass()
576 __ test_b(current_character(), in CheckSpecialCharacterClass()
585 __ cmp(current_character(), Immediate('z')); in CheckSpecialCharacterClass()
586 __ j(above, &done); in CheckSpecialCharacterClass()
590 __ test_b(current_character(), in CheckSpecialCharacterClass()
594 __ bind(&done); in CheckSpecialCharacterClass()
605 __ mov(eax, current_character()); in CheckSpecialCharacterClass()
606 __ xor_(eax, Immediate(0x01)); in CheckSpecialCharacterClass()
608 __ sub(eax, Immediate(0x0b)); in CheckSpecialCharacterClass()
609 __ cmp(eax, 0x0c - 0x0b); in CheckSpecialCharacterClass()
619 __ sub(eax, Immediate(0x2028 - 0x0b)); in CheckSpecialCharacterClass()
620 __ cmp(eax, 1); in CheckSpecialCharacterClass()
622 __ bind(&done); in CheckSpecialCharacterClass()
636 __ Move(eax, Immediate(FAILURE)); in Fail()
638 __ jmp(&exit_label_); in Fail()
648 __ bind(&entry_label_); in GetCode()
655 __ push(ebp); in GetCode()
656 __ mov(ebp, esp); in GetCode()
659 __ push(esi); in GetCode()
660 __ push(edi); in GetCode()
661 __ push(ebx); // Callee-save on MacOS. in GetCode()
662 __ push(Immediate(0)); // Number of successful matches in a global regexp. in GetCode()
663 __ push(Immediate(0)); // Make room for "string start - 1" constant. in GetCode()
671 __ mov(ecx, esp); in GetCode()
672 __ sub(ecx, Operand::StaticVariable(stack_limit)); in GetCode()
674 __ j(below_equal, &stack_limit_hit); in GetCode()
677 __ cmp(ecx, num_registers_ * kPointerSize); in GetCode()
678 __ j(above_equal, &stack_ok); in GetCode()
681 __ mov(eax, EXCEPTION); in GetCode()
682 __ jmp(&return_eax); in GetCode()
684 __ bind(&stack_limit_hit); in GetCode()
686 __ or_(eax, eax); in GetCode()
688 __ j(not_zero, &return_eax); in GetCode()
690 __ bind(&stack_ok); in GetCode()
692 __ mov(ebx, Operand(ebp, kStartIndex)); in GetCode()
695 __ sub(esp, Immediate(num_registers_ * kPointerSize)); in GetCode()
697 __ mov(esi, Operand(ebp, kInputEnd)); in GetCode()
699 __ mov(edi, Operand(ebp, kInputStart)); in GetCode()
701 __ sub(edi, esi); in GetCode()
705 __ neg(ebx); in GetCode()
707 __ lea(eax, Operand(edi, ebx, times_2, -char_size())); in GetCode()
709 __ lea(eax, Operand(edi, ebx, times_1, -char_size())); in GetCode()
713 __ mov(Operand(ebp, kStringStartMinusOne), eax); in GetCode()
723 __ mov(register_location(i), eax); // One write every page. in GetCode()
729 __ cmp(Operand(ebp, kStartIndex), Immediate(0)); in GetCode()
730 __ j(not_equal, &load_char_start_regexp, Label::kNear); in GetCode()
731 __ mov(current_character(), '\n'); in GetCode()
732 __ jmp(&start_regexp, Label::kNear); in GetCode()
735 __ bind(&load_char_start_regexp); in GetCode()
738 __ bind(&start_regexp); in GetCode()
746 __ mov(ecx, kRegisterZero); in GetCode()
748 __ bind(&init_loop); in GetCode()
749 __ mov(Operand(ebp, ecx, times_1, 0), eax); in GetCode()
750 __ sub(ecx, Immediate(kPointerSize)); in GetCode()
751 __ cmp(ecx, kRegisterZero - num_saved_registers_ * kPointerSize); in GetCode()
752 __ j(greater, &init_loop); in GetCode()
755 __ mov(register_location(i), eax); in GetCode()
761 __ mov(backtrack_stackpointer(), Operand(ebp, kStackHighEnd)); in GetCode()
763 __ jmp(&start_label_); in GetCode()
768 __ bind(&success_label_); in GetCode()
771 __ mov(ebx, Operand(ebp, kRegisterOutput)); in GetCode()
772 __ mov(ecx, Operand(ebp, kInputEnd)); in GetCode()
773 __ mov(edx, Operand(ebp, kStartIndex)); in GetCode()
774 __ sub(ecx, Operand(ebp, kInputStart)); in GetCode()
776 __ lea(ecx, Operand(ecx, edx, times_2, 0)); in GetCode()
778 __ add(ecx, edx); in GetCode()
781 __ mov(eax, register_location(i)); in GetCode()
784 __ mov(edx, eax); in GetCode()
787 __ add(eax, ecx); in GetCode()
789 __ sar(eax, 1); // Convert byte index to character index. in GetCode()
791 __ mov(Operand(ebx, i * kPointerSize), eax); in GetCode()
798 __ inc(Operand(ebp, kSuccessfulCaptures)); in GetCode()
801 __ mov(ecx, Operand(ebp, kNumOutputRegisters)); in GetCode()
802 __ sub(ecx, Immediate(num_saved_registers_)); in GetCode()
804 __ cmp(ecx, Immediate(num_saved_registers_)); in GetCode()
805 __ j(less, &exit_label_); in GetCode()
807 __ mov(Operand(ebp, kNumOutputRegisters), ecx); in GetCode()
809 __ add(Operand(ebp, kRegisterOutput), in GetCode()
813 __ mov(eax, Operand(ebp, kStringStartMinusOne)); in GetCode()
818 __ cmp(edi, edx); in GetCode()
820 __ j(not_equal, &load_char_start_regexp); in GetCode()
822 __ test(edi, edi); in GetCode()
823 __ j(zero, &exit_label_, Label::kNear); in GetCode()
826 __ add(edi, Immediate(2)); in GetCode()
828 __ inc(edi); in GetCode()
832 __ jmp(&load_char_start_regexp); in GetCode()
834 __ mov(eax, Immediate(SUCCESS)); in GetCode()
838 __ bind(&exit_label_); in GetCode()
841 __ mov(eax, Operand(ebp, kSuccessfulCaptures)); in GetCode()
844 __ bind(&return_eax); in GetCode()
846 __ lea(esp, Operand(ebp, kBackup_ebx)); in GetCode()
848 __ pop(ebx); in GetCode()
849 __ pop(edi); in GetCode()
850 __ pop(esi); in GetCode()
852 __ pop(ebp); in GetCode()
853 __ ret(0); in GetCode()
857 __ bind(&backtrack_label_); in GetCode()
867 __ push(backtrack_stackpointer()); in GetCode()
868 __ push(edi); in GetCode()
871 __ or_(eax, eax); in GetCode()
874 __ j(not_zero, &return_eax); in GetCode()
876 __ pop(edi); in GetCode()
877 __ pop(backtrack_stackpointer()); in GetCode()
879 __ mov(esi, Operand(ebp, kInputEnd)); in GetCode()
890 __ push(esi); in GetCode()
891 __ push(edi); in GetCode()
895 __ PrepareCallCFunction(num_arguments, ebx); in GetCode()
896 __ mov(Operand(esp, 2 * kPointerSize), in GetCode()
898 __ lea(eax, Operand(ebp, kStackHighEnd)); in GetCode()
899 __ mov(Operand(esp, 1 * kPointerSize), eax); in GetCode()
900 __ mov(Operand(esp, 0 * kPointerSize), backtrack_stackpointer()); in GetCode()
903 __ CallCFunction(grow_stack, num_arguments); in GetCode()
906 __ or_(eax, eax); in GetCode()
907 __ j(equal, &exit_with_exception); in GetCode()
909 __ mov(backtrack_stackpointer(), eax); in GetCode()
911 __ pop(edi); in GetCode()
912 __ pop(esi); in GetCode()
918 __ bind(&exit_with_exception); in GetCode()
920 __ mov(eax, EXCEPTION); in GetCode()
921 __ jmp(&return_eax); in GetCode()
943 __ cmp(register_location(reg), Immediate(comparand)); in IfRegisterGE()
951 __ cmp(register_location(reg), Immediate(comparand)); in IfRegisterLT()
958 __ cmp(edi, register_location(reg)); in IfRegisterEqPos()
992 __ mov(register_location(register_index), eax); in PopRegister()
1009 __ mov(eax, register_location(register_index)); in PushRegister()
1016 __ mov(edi, register_location(reg)); in ReadCurrentPositionFromRegister()
1021 __ mov(backtrack_stackpointer(), register_location(reg)); in ReadStackPointerFromRegister()
1022 __ add(backtrack_stackpointer(), Operand(ebp, kStackHighEnd)); in ReadStackPointerFromRegister()
1027 __ cmp(edi, -by * char_size()); in SetCurrentPositionFromEnd()
1028 __ j(greater_equal, &after_position, Label::kNear); in SetCurrentPositionFromEnd()
1029 __ mov(edi, -by * char_size()); in SetCurrentPositionFromEnd()
1034 __ bind(&after_position); in SetCurrentPositionFromEnd()
1040 __ mov(register_location(register_index), Immediate(to)); in SetRegister()
1045 __ jmp(&success_label_); in Succeed()
1053 __ mov(register_location(reg), edi); in WriteCurrentPositionToRegister()
1055 __ lea(eax, Operand(edi, cp_offset * char_size())); in WriteCurrentPositionToRegister()
1056 __ mov(register_location(reg), eax); in WriteCurrentPositionToRegister()
1063 __ mov(eax, Operand(ebp, kStringStartMinusOne)); in ClearRegisters()
1065 __ mov(register_location(reg), eax); in ClearRegisters()
1071 __ mov(eax, backtrack_stackpointer()); in WriteStackPointerToRegister()
1072 __ sub(eax, Operand(ebp, kStackHighEnd)); in WriteStackPointerToRegister()
1073 __ mov(register_location(reg), eax); in WriteStackPointerToRegister()
1081 __ PrepareCallCFunction(num_arguments, scratch); in CallCheckStackGuardState()
1083 __ mov(Operand(esp, 2 * kPointerSize), ebp); in CallCheckStackGuardState()
1085 __ mov(Operand(esp, 1 * kPointerSize), Immediate(masm_->CodeObject())); in CallCheckStackGuardState()
1087 __ lea(eax, Operand(esp, -kPointerSize)); in CallCheckStackGuardState()
1088 __ mov(Operand(esp, 0 * kPointerSize), eax); in CallCheckStackGuardState()
1091 __ CallCFunction(check_stack_guard, num_arguments); in CallCheckStackGuardState()
1133 __ cmp(edi, -cp_offset * char_size()); in CheckPosition()
1136 __ lea(eax, Operand(edi, cp_offset * char_size())); in CheckPosition()
1137 __ cmp(eax, Operand(ebp, kStringStartMinusOne)); in CheckPosition()
1150 __ jmp(to); in BranchOrBacktrack()
1154 __ j(condition, &backtrack_label_); in BranchOrBacktrack()
1157 __ j(condition, to); in BranchOrBacktrack()
1163 __ push(Immediate::CodeRelativeOffset(&return_to)); in SafeCall()
1164 __ jmp(to); in SafeCall()
1165 __ bind(&return_to); in SafeCall()
1170 __ pop(ebx); in SafeReturn()
1171 __ add(ebx, Immediate(masm_->CodeObject())); in SafeReturn()
1172 __ jmp(ebx); in SafeReturn()
1177 __ bind(name); in SafeCallTarget()
1184 __ sub(backtrack_stackpointer(), Immediate(kPointerSize)); in Push()
1185 __ mov(Operand(backtrack_stackpointer(), 0), source); in Push()
1191 __ sub(backtrack_stackpointer(), Immediate(kPointerSize)); in Push()
1192 __ mov(Operand(backtrack_stackpointer(), 0), value); in Push()
1198 __ mov(target, Operand(backtrack_stackpointer(), 0)); in Pop()
1200 __ add(backtrack_stackpointer(), Immediate(kPointerSize)); in Pop()
1209 __ cmp(esp, Operand::StaticVariable(stack_limit)); in CheckPreemption()
1210 __ j(above, &no_preempt); in CheckPreemption()
1214 __ bind(&no_preempt); in CheckPreemption()
1222 __ cmp(backtrack_stackpointer(), Operand::StaticVariable(stack_limit)); in CheckStackLimit()
1223 __ j(above, &no_stack_overflow); in CheckStackLimit()
1227 __ bind(&no_stack_overflow); in CheckStackLimit()
1235 __ mov(current_character(), Operand(esi, edi, times_1, cp_offset)); in LoadCurrentCharacterUnchecked()
1237 __ movzx_w(current_character(), Operand(esi, edi, times_1, cp_offset)); in LoadCurrentCharacterUnchecked()
1240 __ movzx_b(current_character(), Operand(esi, edi, times_1, cp_offset)); in LoadCurrentCharacterUnchecked()
1245 __ mov(current_character(), in LoadCurrentCharacterUnchecked()
1249 __ movzx_w(current_character(), in LoadCurrentCharacterUnchecked()
1256 #undef __