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

Side by Side Diff: src/regexp/regexp-macro-assembler.cc

Issue 1889803002: [regexp] fix interpreted regexp. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « src/regexp/regexp-macro-assembler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 #include "src/regexp/regexp-macro-assembler.h" 5 #include "src/regexp/regexp-macro-assembler.h"
6 6
7 #include "src/assembler.h" 7 #include "src/assembler.h"
8 #include "src/isolate-inl.h" 8 #include "src/isolate-inl.h"
9 #include "src/regexp/regexp-stack.h" 9 #include "src/regexp/regexp-stack.h"
10 #include "src/simulator.h" 10 #include "src/simulator.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 Label ok; 93 Label ok;
94 // Check that current character is not a trail surrogate. 94 // Check that current character is not a trail surrogate.
95 LoadCurrentCharacter(cp_offset, &ok); 95 LoadCurrentCharacter(cp_offset, &ok);
96 CheckCharacterNotInRange(kTrailSurrogateStart, kTrailSurrogateEnd, &ok); 96 CheckCharacterNotInRange(kTrailSurrogateStart, kTrailSurrogateEnd, &ok);
97 // Check that previous character is not a lead surrogate. 97 // Check that previous character is not a lead surrogate.
98 LoadCurrentCharacter(cp_offset - 1, &ok); 98 LoadCurrentCharacter(cp_offset - 1, &ok);
99 CheckCharacterInRange(kLeadSurrogateStart, kLeadSurrogateEnd, on_failure); 99 CheckCharacterInRange(kLeadSurrogateStart, kLeadSurrogateEnd, on_failure);
100 Bind(&ok); 100 Bind(&ok);
101 } 101 }
102 102
103 void RegExpMacroAssembler::CheckPosition(int cp_offset,
104 Label* on_outside_input) {
105 LoadCurrentCharacter(cp_offset, on_outside_input, true);
106 }
107
108 bool RegExpMacroAssembler::CheckSpecialCharacterClass(uc16 type,
109 Label* on_no_match) {
110 return false;
111 }
103 112
104 #ifndef V8_INTERPRETED_REGEXP // Avoid unused code, e.g., on ARM. 113 #ifndef V8_INTERPRETED_REGEXP // Avoid unused code, e.g., on ARM.
105 114
106 NativeRegExpMacroAssembler::NativeRegExpMacroAssembler(Isolate* isolate, 115 NativeRegExpMacroAssembler::NativeRegExpMacroAssembler(Isolate* isolate,
107 Zone* zone) 116 Zone* zone)
108 : RegExpMacroAssembler(isolate, zone) {} 117 : RegExpMacroAssembler(isolate, zone) {}
109 118
110 119
111 NativeRegExpMacroAssembler::~NativeRegExpMacroAssembler() { 120 NativeRegExpMacroAssembler::~NativeRegExpMacroAssembler() {
112 } 121 }
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 } 347 }
339 *stack_base = new_stack_base; 348 *stack_base = new_stack_base;
340 intptr_t stack_content_size = old_stack_base - stack_pointer; 349 intptr_t stack_content_size = old_stack_base - stack_pointer;
341 return new_stack_base - stack_content_size; 350 return new_stack_base - stack_content_size;
342 } 351 }
343 352
344 #endif // V8_INTERPRETED_REGEXP 353 #endif // V8_INTERPRETED_REGEXP
345 354
346 } // namespace internal 355 } // namespace internal
347 } // namespace v8 356 } // namespace v8
OLDNEW
« no previous file with comments | « src/regexp/regexp-macro-assembler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698