OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 * When calling as a non-direct call (i.e., from C++ code), the return address | 112 * When calling as a non-direct call (i.e., from C++ code), the return address |
113 * area is overwritten with the LR register by the RegExp code. When doing a | 113 * area is overwritten with the LR register by the RegExp code. When doing a |
114 * direct call from generated code, the return address is placed there by | 114 * direct call from generated code, the return address is placed there by |
115 * the calling code, as in a normal exit frame. | 115 * the calling code, as in a normal exit frame. |
116 */ | 116 */ |
117 | 117 |
118 #define __ ACCESS_MASM(masm_) | 118 #define __ ACCESS_MASM(masm_) |
119 | 119 |
120 RegExpMacroAssemblerARM::RegExpMacroAssemblerARM( | 120 RegExpMacroAssemblerARM::RegExpMacroAssemblerARM( |
121 Mode mode, | 121 Mode mode, |
122 int registers_to_save) | 122 int registers_to_save, |
123 : masm_(new MacroAssembler(Isolate::Current(), NULL, kRegExpCodeSize)), | 123 Zone* zone) |
| 124 : NativeRegExpMacroAssembler(zone), |
| 125 masm_(new MacroAssembler(Isolate::Current(), NULL, kRegExpCodeSize)), |
124 mode_(mode), | 126 mode_(mode), |
125 num_registers_(registers_to_save), | 127 num_registers_(registers_to_save), |
126 num_saved_registers_(registers_to_save), | 128 num_saved_registers_(registers_to_save), |
127 entry_label_(), | 129 entry_label_(), |
128 start_label_(), | 130 start_label_(), |
129 success_label_(), | 131 success_label_(), |
130 backtrack_label_(), | 132 backtrack_label_(), |
131 exit_label_() { | 133 exit_label_() { |
132 ASSERT_EQ(0, registers_to_save % 2); | 134 ASSERT_EQ(0, registers_to_save % 2); |
133 __ jmp(&entry_label_); // We'll write the entry code later. | 135 __ jmp(&entry_label_); // We'll write the entry code later. |
(...skipping 1270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1404 __ ldr(pc, MemOperand(sp, stack_alignment, PostIndex)); | 1406 __ ldr(pc, MemOperand(sp, stack_alignment, PostIndex)); |
1405 } | 1407 } |
1406 | 1408 |
1407 #undef __ | 1409 #undef __ |
1408 | 1410 |
1409 #endif // V8_INTERPRETED_REGEXP | 1411 #endif // V8_INTERPRETED_REGEXP |
1410 | 1412 |
1411 }} // namespace v8::internal | 1413 }} // namespace v8::internal |
1412 | 1414 |
1413 #endif // V8_TARGET_ARCH_ARM | 1415 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |