OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ | 5 #ifndef V8_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ |
6 #define V8_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ | 6 #define V8_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ |
7 | 7 |
8 #include "src/macro-assembler.h" | 8 #include "src/macro-assembler.h" |
9 | 9 |
10 #include "src/arm64/assembler-arm64.h" | 10 #include "src/arm64/assembler-arm64.h" |
11 #include "src/arm64/assembler-arm64-inl.h" | 11 #include "src/arm64/assembler-arm64-inl.h" |
12 | 12 |
13 namespace v8 { | 13 namespace v8 { |
14 namespace internal { | 14 namespace internal { |
15 | 15 |
16 | 16 |
17 #ifndef V8_INTERPRETED_REGEXP | 17 #ifndef V8_INTERPRETED_REGEXP |
18 class RegExpMacroAssemblerARM64: public NativeRegExpMacroAssembler { | 18 class RegExpMacroAssemblerARM64: public NativeRegExpMacroAssembler { |
19 public: | 19 public: |
20 RegExpMacroAssemblerARM64(Isolate* isolate, Zone* zone, Mode mode, | 20 RegExpMacroAssemblerARM64(Isolate* isolate, Zone* zone, Mode mode, |
21 int registers_to_save); | 21 int registers_to_save); |
22 virtual ~RegExpMacroAssemblerARM64(); | 22 virtual ~RegExpMacroAssemblerARM64(); |
| 23 virtual void AbortedCodeGeneration() { masm_->AbortedCodeGeneration(); } |
23 virtual int stack_limit_slack(); | 24 virtual int stack_limit_slack(); |
24 virtual void AdvanceCurrentPosition(int by); | 25 virtual void AdvanceCurrentPosition(int by); |
25 virtual void AdvanceRegister(int reg, int by); | 26 virtual void AdvanceRegister(int reg, int by); |
26 virtual void Backtrack(); | 27 virtual void Backtrack(); |
27 virtual void Bind(Label* label); | 28 virtual void Bind(Label* label); |
28 virtual void CheckAtStart(Label* on_at_start); | 29 virtual void CheckAtStart(Label* on_at_start); |
29 virtual void CheckCharacter(unsigned c, Label* on_equal); | 30 virtual void CheckCharacter(unsigned c, Label* on_equal); |
30 virtual void CheckCharacterAfterAnd(unsigned c, | 31 virtual void CheckCharacterAfterAnd(unsigned c, |
31 unsigned mask, | 32 unsigned mask, |
32 Label* on_equal); | 33 Label* on_equal); |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 Label check_preempt_label_; | 286 Label check_preempt_label_; |
286 Label stack_overflow_label_; | 287 Label stack_overflow_label_; |
287 }; | 288 }; |
288 | 289 |
289 #endif // V8_INTERPRETED_REGEXP | 290 #endif // V8_INTERPRETED_REGEXP |
290 | 291 |
291 | 292 |
292 }} // namespace v8::internal | 293 }} // namespace v8::internal |
293 | 294 |
294 #endif // V8_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ | 295 #endif // V8_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |