OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
465 __ cmp(r0, Operand(c)); | 465 __ cmp(r0, Operand(c)); |
466 BranchOrBacktrack(ne, on_not_equal); | 466 BranchOrBacktrack(ne, on_not_equal); |
467 } | 467 } |
468 | 468 |
469 | 469 |
470 void RegExpMacroAssemblerARM::CheckNotCharacterAfterMinusAnd( | 470 void RegExpMacroAssemblerARM::CheckNotCharacterAfterMinusAnd( |
471 uc16 c, | 471 uc16 c, |
472 uc16 minus, | 472 uc16 minus, |
473 uc16 mask, | 473 uc16 mask, |
474 Label* on_not_equal) { | 474 Label* on_not_equal) { |
475 ASSERT(minus < String::kMaxUC16CharCode); | 475 ASSERT(minus < String::kMaxUtf16CodeUnit); |
476 __ sub(r0, current_character(), Operand(minus)); | 476 __ sub(r0, current_character(), Operand(minus)); |
477 __ and_(r0, r0, Operand(mask)); | 477 __ and_(r0, r0, Operand(mask)); |
478 __ cmp(r0, Operand(c)); | 478 __ cmp(r0, Operand(c)); |
479 BranchOrBacktrack(ne, on_not_equal); | 479 BranchOrBacktrack(ne, on_not_equal); |
480 } | 480 } |
481 | 481 |
482 | 482 |
483 bool RegExpMacroAssemblerARM::CheckSpecialCharacterClass(uc16 type, | 483 bool RegExpMacroAssemblerARM::CheckSpecialCharacterClass(uc16 type, |
484 Label* on_no_match) { | 484 Label* on_no_match) { |
485 // Range checks (c in min..max) are generally implemented by an unsigned | 485 // Range checks (c in min..max) are generally implemented by an unsigned |
(...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1304 __ ldr(pc, MemOperand(sp, stack_alignment, PostIndex)); | 1304 __ ldr(pc, MemOperand(sp, stack_alignment, PostIndex)); |
1305 } | 1305 } |
1306 | 1306 |
1307 #undef __ | 1307 #undef __ |
1308 | 1308 |
1309 #endif // V8_INTERPRETED_REGEXP | 1309 #endif // V8_INTERPRETED_REGEXP |
1310 | 1310 |
1311 }} // namespace v8::internal | 1311 }} // namespace v8::internal |
1312 | 1312 |
1313 #endif // V8_TARGET_ARCH_ARM | 1313 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |