V8 Project
|
#include <regexp-macro-assembler-x64.h>
Public Member Functions | |
RegExpMacroAssemblerX64 (Mode mode, int registers_to_save, Zone *zone) | |
virtual | ~RegExpMacroAssemblerX64 () |
virtual int | stack_limit_slack () |
virtual void | AdvanceCurrentPosition (int by) |
virtual void | AdvanceRegister (int reg, int by) |
virtual void | Backtrack () |
virtual void | Bind (Label *label) |
virtual void | CheckAtStart (Label *on_at_start) |
virtual void | CheckCharacter (uint32_t c, Label *on_equal) |
virtual void | CheckCharacterAfterAnd (uint32_t c, uint32_t mask, Label *on_equal) |
virtual void | CheckCharacterGT (uc16 limit, Label *on_greater) |
virtual void | CheckCharacterLT (uc16 limit, Label *on_less) |
virtual void | CheckGreedyLoop (Label *on_tos_equals_current_position) |
virtual void | CheckNotAtStart (Label *on_not_at_start) |
virtual void | CheckNotBackReference (int start_reg, Label *on_no_match) |
virtual void | CheckNotBackReferenceIgnoreCase (int start_reg, Label *on_no_match) |
virtual void | CheckNotCharacter (uint32_t c, Label *on_not_equal) |
virtual void | CheckNotCharacterAfterAnd (uint32_t c, uint32_t mask, Label *on_not_equal) |
virtual void | CheckNotCharacterAfterMinusAnd (uc16 c, uc16 minus, uc16 mask, Label *on_not_equal) |
virtual void | CheckCharacterInRange (uc16 from, uc16 to, Label *on_in_range) |
virtual void | CheckCharacterNotInRange (uc16 from, uc16 to, Label *on_not_in_range) |
virtual void | CheckBitInTable (Handle< ByteArray > table, Label *on_bit_set) |
virtual void | CheckPosition (int cp_offset, Label *on_outside_input) |
virtual bool | CheckSpecialCharacterClass (uc16 type, Label *on_no_match) |
virtual void | Fail () |
virtual Handle< HeapObject > | GetCode (Handle< String > source) |
virtual void | GoTo (Label *label) |
virtual void | IfRegisterGE (int reg, int comparand, Label *if_ge) |
virtual void | IfRegisterLT (int reg, int comparand, Label *if_lt) |
virtual void | IfRegisterEqPos (int reg, Label *if_eq) |
virtual IrregexpImplementation | Implementation () |
virtual void | LoadCurrentCharacter (int cp_offset, Label *on_end_of_input, bool check_bounds=true, int characters=1) |
virtual void | PopCurrentPosition () |
virtual void | PopRegister (int register_index) |
virtual void | PushBacktrack (Label *label) |
virtual void | PushCurrentPosition () |
virtual void | PushRegister (int register_index, StackCheckFlag check_stack_limit) |
virtual void | ReadCurrentPositionFromRegister (int reg) |
virtual void | ReadStackPointerFromRegister (int reg) |
virtual void | SetCurrentPositionFromEnd (int by) |
virtual void | SetRegister (int register_index, int to) |
virtual bool | Succeed () |
virtual void | WriteCurrentPositionToRegister (int reg, int cp_offset) |
virtual void | ClearRegisters (int reg_from, int reg_to) |
virtual void | WriteStackPointerToRegister (int reg) |
![]() | |
NativeRegExpMacroAssembler (Zone *zone) | |
virtual | ~NativeRegExpMacroAssembler () |
virtual bool | CanReadUnaligned () |
![]() | |
RegExpMacroAssembler (Zone *zone) | |
virtual | ~RegExpMacroAssembler () |
virtual void | CheckCharacter (unsigned c, Label *on_equal)=0 |
virtual void | CheckCharacterAfterAnd (unsigned c, unsigned and_with, Label *on_equal)=0 |
virtual void | CheckNotCharacter (unsigned c, Label *on_not_equal)=0 |
virtual void | CheckNotCharacterAfterAnd (unsigned c, unsigned and_with, Label *on_not_equal)=0 |
void | set_slow_safe (bool ssc) |
bool | slow_safe () |
void | set_global_mode (GlobalMode mode) |
bool | global () |
bool | global_with_zero_length_check () |
Zone * | zone () const |
Static Public Member Functions | |
static Result | Match (Handle< Code > regexp, Handle< String > subject, int *offsets_vector, int offsets_vector_length, int previous_index, Isolate *isolate) |
static Result | Execute (Code *code, String *input, int start_offset, const byte *input_start, const byte *input_end, int *output, bool at_start) |
static int | CheckStackGuardState (Address *return_address, Code *re_code, Address re_frame) |
![]() | |
static Result | Match (Handle< Code > regexp, Handle< String > subject, int *offsets_vector, int offsets_vector_length, int previous_index, Isolate *isolate) |
static int | CaseInsensitiveCompareUC16 (Address byte_offset1, Address byte_offset2, size_t byte_length, Isolate *isolate) |
static Address | GrowStack (Address stack_pointer, Address *stack_top, Isolate *isolate) |
static const byte * | StringCharacterPosition (String *subject, int start_index) |
static Address | word_character_map_address () |
static Result | Execute (Code *code, String *input, int start_offset, const byte *input_start, const byte *input_end, int *output, int output_size, Isolate *isolate) |
Private Member Functions | |
void | LoadCurrentCharacterUnchecked (int cp_offset, int character_count) |
void | CheckPreemption () |
void | CheckStackLimit () |
void | CallCheckStackGuardState () |
Operand | register_location (int register_index) |
Register | current_character () |
Register | backtrack_stackpointer () |
Register | code_object_pointer () |
int | char_size () |
void | BranchOrBacktrack (Condition condition, Label *to) |
void | MarkPositionForCodeRelativeFixup () |
void | FixupCodeRelativePositions () |
void | SafeCall (Label *to) |
void | SafeCallTarget (Label *label) |
void | SafeReturn () |
void | Push (Register source) |
void | Push (Immediate value) |
void | Push (Label *label) |
void | Pop (Register target) |
void | Drop () |
void | ReadPositionFromRegister (Register dst, int reg) |
Isolate * | isolate () const |
Private Attributes | |
MacroAssembler | masm_ |
MacroAssembler::NoRootArrayScope | no_root_array_scope_ |
ZoneList< int > | code_relative_fixup_positions_ |
Mode | mode_ |
int | num_registers_ |
int | num_saved_registers_ |
Label | entry_label_ |
Label | start_label_ |
Label | success_label_ |
Label | backtrack_label_ |
Label | exit_label_ |
Label | check_preempt_label_ |
Label | stack_overflow_label_ |
Definition at line 18 of file regexp-macro-assembler-x64.h.
v8::internal::RegExpMacroAssemblerX64::RegExpMacroAssemblerX64 | ( | Mode | mode, |
int | registers_to_save, | ||
Zone * | zone | ||
) |
|
virtual |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
private |
|
private |
|
inlineprivate |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
|
virtual |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
|
virtual |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Reimplemented from v8::internal::RegExpMacroAssembler.
|
private |
|
virtual |
Reimplemented from v8::internal::RegExpMacroAssembler.
|
static |
|
private |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
static |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
private |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
Definition at line 250 of file regexp-macro-assembler-x64.h.
References v8::internal::AssemblerBase::isolate(), and masm_.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
private |
|
inlineprivate |
Definition at line 215 of file regexp-macro-assembler-x64.h.
References v8::internal::List< T, AllocationPolicy >::Add(), code_relative_fixup_positions_, masm_, v8::internal::AssemblerBase::pc_offset(), and v8::internal::RegExpMacroAssembler::zone().
|
static |
|
inlineprivate |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
private |
Definition at line 271 of file regexp-macro-assembler-x64.h.
|
private |
Definition at line 273 of file regexp-macro-assembler-x64.h.
Definition at line 255 of file regexp-macro-assembler-x64.h.
Referenced by MarkPositionForCodeRelativeFixup().
|
private |
Definition at line 268 of file regexp-macro-assembler-x64.h.
|
private |
Definition at line 272 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 167 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 152 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 115 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 112 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 144 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 143 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 174 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 141 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 153 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 168 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 150 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 180 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 145 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 177 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 114 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 151 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 142 of file regexp-macro-assembler-x64.h.
|
staticprivate |
Definition at line 171 of file regexp-macro-assembler-x64.h.
|
private |
Definition at line 252 of file regexp-macro-assembler-x64.h.
Referenced by isolate(), and MarkPositionForCodeRelativeFixup().
|
private |
Definition at line 258 of file regexp-macro-assembler-x64.h.
Referenced by char_size().
|
private |
Definition at line 253 of file regexp-macro-assembler-x64.h.
|
private |
Definition at line 261 of file regexp-macro-assembler-x64.h.
|
private |
Definition at line 265 of file regexp-macro-assembler-x64.h.
|
private |
Definition at line 274 of file regexp-macro-assembler-x64.h.
|
private |
Definition at line 269 of file regexp-macro-assembler-x64.h.
|
private |
Definition at line 270 of file regexp-macro-assembler-x64.h.