V8 Project
|
#include <regexp-macro-assembler-arm64.h>
Public Member Functions | |
RegExpMacroAssemblerARM64 (Mode mode, int registers_to_save, Zone *zone) | |
virtual | ~RegExpMacroAssemblerARM64 () |
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 (unsigned c, Label *on_equal) |
virtual void | CheckCharacterAfterAnd (unsigned c, unsigned mask, Label *on_equal) |
virtual void | CheckCharacterGT (uc16 limit, Label *on_greater) |
virtual void | CheckCharacterLT (uc16 limit, Label *on_less) |
virtual void | CheckCharacters (Vector< const uc16 > str, int cp_offset, Label *on_failure, bool check_end_of_string) |
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 (unsigned c, Label *on_not_equal) |
virtual void | CheckNotCharacterAfterAnd (unsigned c, unsigned 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) |
virtual bool | CanReadUnaligned () |
![]() | |
NativeRegExpMacroAssembler (Zone *zone) | |
virtual | ~NativeRegExpMacroAssembler () |
![]() | |
RegExpMacroAssembler (Zone *zone) | |
virtual | ~RegExpMacroAssembler () |
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 int | CheckStackGuardState (Address *return_address, Code *re_code, Address re_frame, int start_offset, const byte **input_start, const byte **input_end) |
![]() | |
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 Types | |
enum | RegisterState { STACKED , CACHED_LSW , CACHED_MSW } |
Private Attributes | |
MacroAssembler * | masm_ |
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_ |
Static Private Attributes | |
static const int | kCalleeSavedRegisters = 0 |
static const int | kReturnAddress = kCalleeSavedRegisters + 11 * kPointerSize |
static const int | kSecondaryReturnAddress = kReturnAddress + kPointerSize |
static const int | kIsolate = kSecondaryReturnAddress + kPointerSize |
static const int | kDirectCall = kCalleeSavedRegisters - kPointerSize |
static const int | kStackBase = kDirectCall - kPointerSize |
static const int | kOutputSize = kStackBase - kPointerSize |
static const int | kInput = kOutputSize - kPointerSize |
static const int | kSuccessCounter = kInput - kPointerSize |
static const int | kFirstRegisterOnStack = kSuccessCounter - kWRegSize |
static const int | kFirstCaptureOnStack = kSuccessCounter - kXRegSize |
static const size_t | kRegExpCodeSize = 1024 |
static const int | kNumRegistersToUnroll = 16 |
static const int | kNumCachedRegisters = 16 |
Definition at line 18 of file regexp-macro-assembler-arm64.h.
Enumerator | |
---|---|
STACKED | |
CACHED_LSW | |
CACHED_MSW |
Definition at line 227 of file regexp-macro-assembler-arm64.h.
v8::internal::RegExpMacroAssemblerARM64::RegExpMacroAssemblerARM64 | ( | Mode | mode, |
int | registers_to_save, | ||
Zone * | zone | ||
) |
|
virtual |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
Definition at line 186 of file regexp-macro-assembler-arm64.h.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
private |
|
private |
|
inlineprivate |
|
virtual |
Reimplemented from v8::internal::NativeRegExpMacroAssembler.
|
private |
|
inlineprivate |
Definition at line 198 of file regexp-macro-assembler-arm64.h.
References mode_.
|
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 |
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 |
Reimplemented from v8::internal::RegExpMacroAssembler.
|
private |
|
virtual |
Reimplemented from v8::internal::RegExpMacroAssembler.
|
static |
|
private |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
Definition at line 189 of file regexp-macro-assembler-arm64.h.
|
private |
|
inlineprivate |
Definition at line 165 of file regexp-macro-assembler-arm64.h.
|
inlineprivate |
Definition at line 162 of file regexp-macro-assembler-arm64.h.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
|
inlineprivate |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
|
inlineprivate |
Definition at line 233 of file regexp-macro-assembler-arm64.h.
References CACHED_LSW, CACHED_MSW, DCHECK, kNumCachedRegisters, and STACKED.
|
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 168 of file regexp-macro-assembler-arm64.h.
|
inlineprivate |
Definition at line 171 of file regexp-macro-assembler-arm64.h.
|
inlineprivate |
Definition at line 264 of file regexp-macro-assembler-arm64.h.
References v8::internal::AssemblerBase::isolate(), and masm_.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
private |
|
inlineprivate |
Definition at line 192 of file regexp-macro-assembler-arm64.h.
|
inlineprivate |
Definition at line 178 of file regexp-macro-assembler-arm64.h.
|
inlineprivate |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
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.
|
private |
|
inlineprivate |
|
inlineprivate |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
Definition at line 175 of file regexp-macro-assembler-arm64.h.
|
inlineprivate |
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
inlineprivate |
Definition at line 195 of file regexp-macro-assembler-arm64.h.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
virtual |
Implements v8::internal::RegExpMacroAssembler.
|
private |
Definition at line 282 of file regexp-macro-assembler-arm64.h.
|
private |
Definition at line 284 of file regexp-macro-assembler-arm64.h.
|
private |
Definition at line 279 of file regexp-macro-assembler-arm64.h.
|
private |
Definition at line 283 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 106 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 116 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 127 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 125 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 119 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 112 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 139 of file regexp-macro-assembler-arm64.h.
Referenced by GetRegisterState().
|
staticprivate |
Definition at line 134 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 118 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 130 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 109 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 110 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 117 of file regexp-macro-assembler-arm64.h.
|
staticprivate |
Definition at line 122 of file regexp-macro-assembler-arm64.h.
|
private |
Definition at line 266 of file regexp-macro-assembler-arm64.h.
Referenced by isolate().
|
private |
Definition at line 269 of file regexp-macro-assembler-arm64.h.
Referenced by char_size().
|
private |
Definition at line 272 of file regexp-macro-assembler-arm64.h.
|
private |
Definition at line 276 of file regexp-macro-assembler-arm64.h.
|
private |
Definition at line 285 of file regexp-macro-assembler-arm64.h.
|
private |
Definition at line 280 of file regexp-macro-assembler-arm64.h.
|
private |
Definition at line 281 of file regexp-macro-assembler-arm64.h.