summaryrefslogtreecommitdiff
path: root/deps/v8/src/builtins/builtins-regexp-gen.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2018-09-21 09:14:51 +0200
committerMichaël Zasso <targos@protonmail.com>2018-09-22 18:29:25 +0200
commit0e7ddbd3d7e9439c67573b854c49cf82c398ae82 (patch)
tree2afe372acde921cb57ddb3444ff00c5adef8848c /deps/v8/src/builtins/builtins-regexp-gen.h
parent13245dc50da4cb7443c39ef6c68d419d5e6336d4 (diff)
downloadandroid-node-v8-0e7ddbd3d7e9439c67573b854c49cf82c398ae82.tar.gz
android-node-v8-0e7ddbd3d7e9439c67573b854c49cf82c398ae82.tar.bz2
android-node-v8-0e7ddbd3d7e9439c67573b854c49cf82c398ae82.zip
deps: update V8 to 7.0.276.20
PR-URL: https://github.com/nodejs/node/pull/22754 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/v8/src/builtins/builtins-regexp-gen.h')
-rw-r--r--deps/v8/src/builtins/builtins-regexp-gen.h51
1 files changed, 29 insertions, 22 deletions
diff --git a/deps/v8/src/builtins/builtins-regexp-gen.h b/deps/v8/src/builtins/builtins-regexp-gen.h
index 251e8c035e..fd0e4b6755 100644
--- a/deps/v8/src/builtins/builtins-regexp-gen.h
+++ b/deps/v8/src/builtins/builtins-regexp-gen.h
@@ -34,16 +34,21 @@ class RegExpBuiltinsAssembler : public CodeStubAssembler {
char const* method_name);
protected:
+ TNode<Smi> SmiZero();
+ TNode<IntPtrT> IntPtrZero();
+
// Allocate a RegExpResult with the given length (the number of captures,
// including the match itself), index (the index where the match starts),
- // and input string. |length| and |index| are expected to be tagged, and
- // |input| must be a string.
- Node* AllocateRegExpResult(Node* context, Node* length, Node* index,
- Node* input);
+ // and input string.
+ TNode<JSRegExpResult> AllocateRegExpResult(TNode<Context> context,
+ TNode<Smi> length,
+ TNode<Smi> index,
+ TNode<String> input);
- TNode<Object> FastLoadLastIndex(Node* regexp);
- Node* SlowLoadLastIndex(Node* context, Node* regexp);
- Node* LoadLastIndex(Node* context, Node* regexp, bool is_fastpath);
+ TNode<Object> FastLoadLastIndex(TNode<JSRegExp> regexp);
+ TNode<Object> SlowLoadLastIndex(TNode<Context> context, TNode<Object> regexp);
+ TNode<Object> LoadLastIndex(TNode<Context> context, TNode<Object> regexp,
+ bool is_fastpath);
void FastStoreLastIndex(Node* regexp, Node* value);
void SlowStoreLastIndex(Node* context, Node* regexp, Node* value);
@@ -58,21 +63,23 @@ class RegExpBuiltinsAssembler : public CodeStubAssembler {
Variable* var_string_end);
// Low level logic around the actual call into pattern matching code.
- Node* RegExpExecInternal(Node* const context, Node* const regexp,
- Node* const string, Node* const last_index,
- Node* const match_info);
-
- Node* ConstructNewResultFromMatchInfo(Node* const context, Node* const regexp,
- Node* const match_info,
- TNode<String> const string);
-
- Node* RegExpPrototypeExecBodyWithoutResult(Node* const context,
- Node* const regexp,
- Node* const string,
- Label* if_didnotmatch,
- const bool is_fastpath);
- Node* RegExpPrototypeExecBody(Node* const context, Node* const regexp,
- TNode<String> string, const bool is_fastpath);
+ TNode<HeapObject> RegExpExecInternal(TNode<Context> context,
+ TNode<JSRegExp> regexp,
+ TNode<String> string,
+ TNode<Number> last_index,
+ TNode<RegExpMatchInfo> match_info);
+
+ TNode<JSRegExpResult> ConstructNewResultFromMatchInfo(
+ TNode<Context> context, TNode<JSReceiver> maybe_regexp,
+ TNode<RegExpMatchInfo> match_info, TNode<String> string);
+
+ TNode<RegExpMatchInfo> RegExpPrototypeExecBodyWithoutResult(
+ TNode<Context> context, TNode<JSReceiver> maybe_regexp,
+ TNode<String> string, Label* if_didnotmatch, const bool is_fastpath);
+ TNode<HeapObject> RegExpPrototypeExecBody(TNode<Context> context,
+ TNode<JSReceiver> maybe_regexp,
+ TNode<String> string,
+ const bool is_fastpath);
Node* ThrowIfNotJSReceiver(Node* context, Node* maybe_receiver,
MessageTemplate::Template msg_template,