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

Side by Side Diff: src/jsregexp.h

Issue 719403005: One instead of two runtime calls when initializing regexp. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: addressed comments Created 6 years, 1 month 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/compiler/linkage.cc ('k') | src/jsregexp.cc » ('j') | 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 #ifndef V8_JSREGEXP_H_ 5 #ifndef V8_JSREGEXP_H_
6 #define V8_JSREGEXP_H_ 6 #define V8_JSREGEXP_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/assembler.h" 9 #include "src/assembler.h"
10 #include "src/zone-inl.h" 10 #include "src/zone-inl.h"
(...skipping 28 matching lines...) Expand all
39 39
40 // Returns a string representation of a regular expression. 40 // Returns a string representation of a regular expression.
41 // Implements RegExp.prototype.toString, see ECMA-262 section 15.10.6.4. 41 // Implements RegExp.prototype.toString, see ECMA-262 section 15.10.6.4.
42 // This function calls the garbage collector if necessary. 42 // This function calls the garbage collector if necessary.
43 static Handle<String> ToString(Handle<Object> value); 43 static Handle<String> ToString(Handle<Object> value);
44 44
45 // Parses the RegExp pattern and prepares the JSRegExp object with 45 // Parses the RegExp pattern and prepares the JSRegExp object with
46 // generic data and choice of implementation - as well as what 46 // generic data and choice of implementation - as well as what
47 // the implementation wants to store in the data field. 47 // the implementation wants to store in the data field.
48 // Returns false if compilation fails. 48 // Returns false if compilation fails.
49 MUST_USE_RESULT static MaybeHandle<Object> Compile( 49 MUST_USE_RESULT static MaybeHandle<Object> Compile(Handle<JSRegExp> re,
50 Handle<JSRegExp> re, 50 Handle<String> pattern,
51 Handle<String> pattern, 51 JSRegExp::Flags flags);
52 Handle<String> flags);
53 52
54 // See ECMA-262 section 15.10.6.2. 53 // See ECMA-262 section 15.10.6.2.
55 // This function calls the garbage collector if necessary. 54 // This function calls the garbage collector if necessary.
56 MUST_USE_RESULT static MaybeHandle<Object> Exec( 55 MUST_USE_RESULT static MaybeHandle<Object> Exec(
57 Handle<JSRegExp> regexp, 56 Handle<JSRegExp> regexp,
58 Handle<String> subject, 57 Handle<String> subject,
59 int index, 58 int index,
60 Handle<JSArray> lastMatchInfo); 59 Handle<JSArray> lastMatchInfo);
61 60
62 // Prepares a JSRegExp object with Irregexp-specific data. 61 // Prepares a JSRegExp object with Irregexp-specific data.
(...skipping 1603 matching lines...) Expand 10 before | Expand all | Expand 10 after
1666 Handle<String> sample_subject, 1665 Handle<String> sample_subject,
1667 bool is_one_byte, Zone* zone); 1666 bool is_one_byte, Zone* zone);
1668 1667
1669 static void DotPrint(const char* label, RegExpNode* node, bool ignore_case); 1668 static void DotPrint(const char* label, RegExpNode* node, bool ignore_case);
1670 }; 1669 };
1671 1670
1672 1671
1673 } } // namespace v8::internal 1672 } } // namespace v8::internal
1674 1673
1675 #endif // V8_JSREGEXP_H_ 1674 #endif // V8_JSREGEXP_H_
OLDNEW
« no previous file with comments | « src/compiler/linkage.cc ('k') | src/jsregexp.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698