Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/regexp-macro-assembler-ia32.h

Issue 42115: Faster string.replace with regexp pattern. (Closed)
Patch Set: Addressed review comments Created 11 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 virtual void PushRegister(int register_index, 106 virtual void PushRegister(int register_index,
107 StackCheckFlag check_stack_limit); 107 StackCheckFlag check_stack_limit);
108 virtual void ReadCurrentPositionFromRegister(int reg); 108 virtual void ReadCurrentPositionFromRegister(int reg);
109 virtual void ReadStackPointerFromRegister(int reg); 109 virtual void ReadStackPointerFromRegister(int reg);
110 virtual void SetRegister(int register_index, int to); 110 virtual void SetRegister(int register_index, int to);
111 virtual void Succeed(); 111 virtual void Succeed();
112 virtual void WriteCurrentPositionToRegister(int reg, int cp_offset); 112 virtual void WriteCurrentPositionToRegister(int reg, int cp_offset);
113 virtual void ClearRegisters(int reg_from, int reg_to); 113 virtual void ClearRegisters(int reg_from, int reg_to);
114 virtual void WriteStackPointerToRegister(int reg); 114 virtual void WriteStackPointerToRegister(int reg);
115 115
116 static Result Match(Handle<Code> regexp,
117 Handle<String> subject,
118 int* offsets_vector,
119 int offsets_vector_length,
120 int previous_index);
121
116 static Result Execute(Code* code, 122 static Result Execute(Code* code,
117 Address* input, 123 Address* input,
118 int start_offset, 124 int start_offset,
119 int end_offset, 125 int end_offset,
120 int* output, 126 int* output,
121 bool at_start); 127 bool at_start);
122 128
123 private: 129 private:
124 // Offsets from ebp of function parameters and stored registers. 130 // Offsets from ebp of function parameters and stored registers.
125 static const int kFramePointer = 0; 131 static const int kFramePointer = 0;
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 Label success_label_; 257 Label success_label_;
252 Label backtrack_label_; 258 Label backtrack_label_;
253 Label exit_label_; 259 Label exit_label_;
254 Label check_preempt_label_; 260 Label check_preempt_label_;
255 Label stack_overflow_label_; 261 Label stack_overflow_label_;
256 }; 262 };
257 263
258 }} // namespace v8::internal 264 }} // namespace v8::internal
259 265
260 #endif /* REGEXP_MACRO_ASSEMBLER_IA32_H_ */ 266 #endif /* REGEXP_MACRO_ASSEMBLER_IA32_H_ */
OLDNEW
« no previous file with comments | « src/regexp-delay.js ('k') | src/regexp-macro-assembler-ia32.cc » ('j') | src/runtime.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698