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

Unified Diff: src/code-stub-assembler.h

Issue 2738413002: [regexp] Port RegExpExecStub to CSA (mostly) (Closed)
Patch Set: Fix arm64 cobbled code register Created 3 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 side-by-side diff with in-line comments
Download patch
Index: src/code-stub-assembler.h
diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h
index efb95546833ef39bd6dfee28b3bc7eaace094dc8..d81f8c20156d061b33997ac3c955ddedf11051e2 100644
--- a/src/code-stub-assembler.h
+++ b/src/code-stub-assembler.h
@@ -689,6 +689,8 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler {
Node* IsSpecialReceiverMap(Node* map);
Node* IsSpecialReceiverInstanceType(Node* instance_type);
Node* IsStringInstanceType(Node* instance_type);
+ Node* IsOneByteStringInstanceType(Node* instance_type);
+ Node* IsSequentialStringInstanceType(Node* instance_type);
Node* IsString(Node* object);
Node* IsJSObject(Node* object);
Node* IsJSGlobalProxy(Node* object);
@@ -733,6 +735,14 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler {
Node* StringAdd(Node* context, Node* first, Node* second,
AllocationFlags flags = kNone);
+ // Tries to unpack |string| into a pseudo-sequential string. For instance,
+ // In addition to the work done by TryDerefExternalString and
+ // MaybeDerefIndirectString, this method can also unpack sliced strings into
+ // a (string, offset) pair. The same GC restrictions on the returned string
+ // value apply as for TryDerefExternalString.
+ void TryUnpackString(Variable* var_string, Variable* var_offset,
+ Variable* var_instance_type, Label* if_bailout);
+
// Unpack the external string, returning a pointer that (offset-wise) looks
// like a sequential string.
// Note that this pointer is not tagged and does not point to a real

Powered by Google App Engine
This is Rietveld 408576698