| 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 1280 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1414   __ ldr(pc, MemOperand(sp, stack_alignment, PostIndex)); | 1416   __ ldr(pc, MemOperand(sp, stack_alignment, PostIndex)); | 
| 1415 } | 1417 } | 
| 1416 | 1418 | 
| 1417 #undef __ | 1419 #undef __ | 
| 1418 | 1420 | 
| 1419 #endif  // V8_INTERPRETED_REGEXP | 1421 #endif  // V8_INTERPRETED_REGEXP | 
| 1420 | 1422 | 
| 1421 }}  // namespace v8::internal | 1423 }}  // namespace v8::internal | 
| 1422 | 1424 | 
| 1423 #endif  // V8_TARGET_ARCH_ARM | 1425 #endif  // V8_TARGET_ARCH_ARM | 
| OLD | NEW | 
|---|