OLD | NEW |
1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 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_REGEXP_MACRO_ASSEMBLER_TRACER_H_ | 5 #ifndef V8_REGEXP_MACRO_ASSEMBLER_TRACER_H_ |
6 #define V8_REGEXP_MACRO_ASSEMBLER_TRACER_H_ | 6 #define V8_REGEXP_MACRO_ASSEMBLER_TRACER_H_ |
7 | 7 |
8 namespace v8 { | 8 namespace v8 { |
9 namespace internal { | 9 namespace internal { |
10 | 10 |
11 // Decorator on a RegExpMacroAssembler that write all calls. | 11 // Decorator on a RegExpMacroAssembler that write all calls. |
12 class RegExpMacroAssemblerTracer: public RegExpMacroAssembler { | 12 class RegExpMacroAssemblerTracer: public RegExpMacroAssembler { |
13 public: | 13 public: |
14 RegExpMacroAssemblerTracer(Isolate* isolate, RegExpMacroAssembler* assembler); | 14 RegExpMacroAssemblerTracer(Isolate* isolate, RegExpMacroAssembler* assembler); |
15 virtual ~RegExpMacroAssemblerTracer(); | 15 virtual ~RegExpMacroAssemblerTracer(); |
| 16 virtual void AbortedCodeGeneration(); |
16 virtual int stack_limit_slack() { return assembler_->stack_limit_slack(); } | 17 virtual int stack_limit_slack() { return assembler_->stack_limit_slack(); } |
17 virtual bool CanReadUnaligned() { return assembler_->CanReadUnaligned(); } | 18 virtual bool CanReadUnaligned() { return assembler_->CanReadUnaligned(); } |
18 virtual void AdvanceCurrentPosition(int by); // Signed cp change. | 19 virtual void AdvanceCurrentPosition(int by); // Signed cp change. |
19 virtual void AdvanceRegister(int reg, int by); // r[reg] += by. | 20 virtual void AdvanceRegister(int reg, int by); // r[reg] += by. |
20 virtual void Backtrack(); | 21 virtual void Backtrack(); |
21 virtual void Bind(Label* label); | 22 virtual void Bind(Label* label); |
22 virtual void CheckAtStart(Label* on_at_start); | 23 virtual void CheckAtStart(Label* on_at_start); |
23 virtual void CheckCharacter(unsigned c, Label* on_equal); | 24 virtual void CheckCharacter(unsigned c, Label* on_equal); |
24 virtual void CheckCharacterAfterAnd(unsigned c, | 25 virtual void CheckCharacterAfterAnd(unsigned c, |
25 unsigned and_with, | 26 unsigned and_with, |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 virtual void ClearRegisters(int reg_from, int reg_to); | 75 virtual void ClearRegisters(int reg_from, int reg_to); |
75 virtual void WriteStackPointerToRegister(int reg); | 76 virtual void WriteStackPointerToRegister(int reg); |
76 | 77 |
77 private: | 78 private: |
78 RegExpMacroAssembler* assembler_; | 79 RegExpMacroAssembler* assembler_; |
79 }; | 80 }; |
80 | 81 |
81 }} // namespace v8::internal | 82 }} // namespace v8::internal |
82 | 83 |
83 #endif // V8_REGEXP_MACRO_ASSEMBLER_TRACER_H_ | 84 #endif // V8_REGEXP_MACRO_ASSEMBLER_TRACER_H_ |
OLD | NEW |