OLD | NEW |
1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 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 29 matching lines...) Expand all Loading... |
40 virtual void AdvanceRegister(int reg, int by); // r[reg] += by. | 40 virtual void AdvanceRegister(int reg, int by); // r[reg] += by. |
41 virtual void Backtrack(); | 41 virtual void Backtrack(); |
42 virtual void Bind(Label* label); | 42 virtual void Bind(Label* label); |
43 virtual void CheckBitmap(uc16 start, Label* bitmap, Label* on_zero); | 43 virtual void CheckBitmap(uc16 start, Label* bitmap, Label* on_zero); |
44 virtual void CheckCharacter(uc16 c, Label* on_equal); | 44 virtual void CheckCharacter(uc16 c, Label* on_equal); |
45 virtual void CheckCharacterGT(uc16 limit, Label* on_greater); | 45 virtual void CheckCharacterGT(uc16 limit, Label* on_greater); |
46 virtual void CheckCharacterLT(uc16 limit, Label* on_less); | 46 virtual void CheckCharacterLT(uc16 limit, Label* on_less); |
47 virtual void CheckCharacters( | 47 virtual void CheckCharacters( |
48 Vector<const uc16> str, | 48 Vector<const uc16> str, |
49 int cp_offset, | 49 int cp_offset, |
50 Label* on_failure); | 50 Label* on_failure, |
51 virtual void CheckCurrentPosition( | 51 bool check_end_of_string); |
52 int register_index, | 52 virtual void CheckGreedyLoop(Label* on_tos_equals_current_position); |
53 Label* on_equal); | |
54 virtual void CheckNotAtStart(Label* on_not_at_start); | 53 virtual void CheckNotAtStart(Label* on_not_at_start); |
55 virtual void CheckNotBackReference(int start_reg, Label* on_no_match); | 54 virtual void CheckNotBackReference(int start_reg, Label* on_no_match); |
56 virtual void CheckNotBackReferenceIgnoreCase(int start_reg, | 55 virtual void CheckNotBackReferenceIgnoreCase(int start_reg, |
57 Label* on_no_match); | 56 Label* on_no_match); |
58 virtual void CheckNotRegistersEqual(int reg1, int reg2, Label* on_not_equal); | 57 virtual void CheckNotRegistersEqual(int reg1, int reg2, Label* on_not_equal); |
59 virtual void CheckNotCharacter(uc16 c, Label* on_not_equal); | 58 virtual void CheckNotCharacter(uc16 c, Label* on_not_equal); |
60 virtual void CheckNotCharacterAfterOr(uc16 c, | 59 virtual void CheckNotCharacterAfterOr(uc16 c, |
61 uc16 or_with, | 60 uc16 or_with, |
62 Label* on_not_equal); | 61 Label* on_not_equal); |
63 virtual void CheckNotCharacterAfterMinusOr(uc16 c, | 62 virtual void CheckNotCharacterAfterMinusOr(uc16 c, |
64 uc16 minus_then_or_with, | 63 uc16 minus_then_or_with, |
65 Label* on_not_equal); | 64 Label* on_not_equal); |
66 virtual void DispatchByteMap( | 65 virtual void DispatchByteMap( |
67 uc16 start, | 66 uc16 start, |
68 Label* byte_map, | 67 Label* byte_map, |
69 const Vector<Label*>& destinations); | 68 const Vector<Label*>& destinations); |
70 virtual void DispatchHalfNibbleMap( | 69 virtual void DispatchHalfNibbleMap( |
71 uc16 start, | 70 uc16 start, |
72 Label* half_nibble_map, | 71 Label* half_nibble_map, |
73 const Vector<Label*>& destinations); | 72 const Vector<Label*>& destinations); |
74 virtual void DispatchHighByteMap( | 73 virtual void DispatchHighByteMap( |
75 byte start, | 74 byte start, |
76 Label* byte_map, | 75 Label* byte_map, |
77 const Vector<Label*>& destinations); | 76 const Vector<Label*>& destinations); |
78 virtual void EmitOrLink(Label* label); | 77 virtual void EmitOrLink(Label* label); |
79 virtual void Fail(); | 78 virtual void Fail(); |
80 virtual Handle<Object> GetCode(); | 79 virtual Handle<Object> GetCode(Handle<String> source); |
81 virtual void GoTo(Label* label); | 80 virtual void GoTo(Label* label); |
82 virtual void IfRegisterGE(int reg, int comparand, Label* if_ge); | 81 virtual void IfRegisterGE(int reg, int comparand, Label* if_ge); |
83 virtual void IfRegisterLT(int reg, int comparand, Label* if_lt); | 82 virtual void IfRegisterLT(int reg, int comparand, Label* if_lt); |
84 virtual IrregexpImplementation Implementation(); | 83 virtual IrregexpImplementation Implementation(); |
85 virtual void LoadCurrentCharacter(int cp_offset, Label* on_end_of_input); | 84 virtual void LoadCurrentCharacter(int cp_offset, Label* on_end_of_input); |
| 85 virtual void LoadCurrentCharacterUnchecked(int cp_offset); |
86 virtual void PopCurrentPosition(); | 86 virtual void PopCurrentPosition(); |
87 virtual void PopRegister(int register_index); | 87 virtual void PopRegister(int register_index); |
88 virtual void PushBacktrack(Label* label); | 88 virtual void PushBacktrack(Label* label); |
89 virtual void PushCurrentPosition(); | 89 virtual void PushCurrentPosition(); |
90 virtual void PushRegister(int register_index); | 90 virtual void PushRegister(int register_index); |
91 virtual void ReadCurrentPositionFromRegister(int reg); | 91 virtual void ReadCurrentPositionFromRegister(int reg); |
92 virtual void ReadStackPointerFromRegister(int reg); | 92 virtual void ReadStackPointerFromRegister(int reg); |
93 virtual void SetRegister(int register_index, int to); | 93 virtual void SetRegister(int register_index, int to); |
94 virtual void Succeed(); | 94 virtual void Succeed(); |
95 virtual void WriteCurrentPositionToRegister(int reg); | 95 virtual void WriteCurrentPositionToRegister(int reg, int cp_offset); |
96 virtual void WriteStackPointerToRegister(int reg); | 96 virtual void WriteStackPointerToRegister(int reg); |
97 private: | 97 private: |
98 RegExpMacroAssembler* assembler_; | 98 RegExpMacroAssembler* assembler_; |
99 }; | 99 }; |
100 | 100 |
101 }} // namespace v8::internal | 101 }} // namespace v8::internal |
102 | 102 |
103 #endif // REGEXP_MACRO_ASSEMBLER_TRACER_H_ | 103 #endif // REGEXP_MACRO_ASSEMBLER_TRACER_H_ |
OLD | NEW |