Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/builtins/regexp-exec.tq')
-rw-r--r--deps/v8/src/builtins/regexp-exec.tq71
1 files changed, 35 insertions, 36 deletions
diff --git a/deps/v8/src/builtins/regexp-exec.tq b/deps/v8/src/builtins/regexp-exec.tq
index 0b11c42fbf7..87b00c1fdcd 100644
--- a/deps/v8/src/builtins/regexp-exec.tq
+++ b/deps/v8/src/builtins/regexp-exec.tq
@@ -6,40 +6,39 @@
namespace regexp {
- @export
- transitioning macro RegExpPrototypeExecBodyFast(implicit context: Context)(
- receiver: JSReceiver, string: String): JSAny {
- return RegExpPrototypeExecBody(receiver, string, true);
- }
-
- transitioning macro RegExpPrototypeExecBodySlow(implicit context: Context)(
- receiver: JSReceiver, string: String): JSAny {
- return RegExpPrototypeExecBody(receiver, string, false);
- }
-
- // Slow path stub for RegExpPrototypeExec to decrease code size.
- transitioning builtin
- RegExpPrototypeExecSlow(implicit context: Context)(
- regexp: JSRegExp, string: String): JSAny {
- return RegExpPrototypeExecBodySlow(regexp, string);
- }
-
- extern macro RegExpBuiltinsAssembler::IsFastRegExpNoPrototype(
- implicit context: Context)(Object): bool;
-
- // ES#sec-regexp.prototype.exec
- // RegExp.prototype.exec ( string )
- transitioning javascript builtin RegExpPrototypeExec(
- js-implicit context: NativeContext,
- receiver: JSAny)(string: JSAny): JSAny {
- // Ensure {receiver} is a JSRegExp.
- const receiver = Cast<JSRegExp>(receiver) otherwise ThrowTypeError(
- MessageTemplate::kIncompatibleMethodReceiver, 'RegExp.prototype.exec',
- receiver);
- const string = ToString_Inline(string);
-
- return IsFastRegExpNoPrototype(receiver) ?
- RegExpPrototypeExecBodyFast(receiver, string) :
- RegExpPrototypeExecSlow(receiver, string);
- }
+@export
+transitioning macro RegExpPrototypeExecBodyFast(implicit context: Context)(
+ receiver: JSReceiver, string: String): JSAny {
+ return RegExpPrototypeExecBody(receiver, string, true);
+}
+
+transitioning macro RegExpPrototypeExecBodySlow(implicit context: Context)(
+ receiver: JSReceiver, string: String): JSAny {
+ return RegExpPrototypeExecBody(receiver, string, false);
+}
+
+// Slow path stub for RegExpPrototypeExec to decrease code size.
+transitioning builtin
+RegExpPrototypeExecSlow(implicit context: Context)(
+ regexp: JSRegExp, string: String): JSAny {
+ return RegExpPrototypeExecBodySlow(regexp, string);
+}
+
+extern macro RegExpBuiltinsAssembler::IsFastRegExpNoPrototype(
+ implicit context: Context)(Object): bool;
+
+// ES#sec-regexp.prototype.exec
+// RegExp.prototype.exec ( string )
+transitioning javascript builtin RegExpPrototypeExec(
+ js-implicit context: NativeContext, receiver: JSAny)(string: JSAny): JSAny {
+ // Ensure {receiver} is a JSRegExp.
+ const receiver = Cast<JSRegExp>(receiver) otherwise ThrowTypeError(
+ MessageTemplate::kIncompatibleMethodReceiver, 'RegExp.prototype.exec',
+ receiver);
+ const string = ToString_Inline(string);
+
+ return IsFastRegExpNoPrototype(receiver) ?
+ RegExpPrototypeExecBodyFast(receiver, string) :
+ RegExpPrototypeExecSlow(receiver, string);
+}
}