blob: 0c7bbc1f350be5475c52a51271d2aebf6f1df4f8 [file] [log] [blame]
/*
* Copyright (c) 2014, 2015, 2016 -2016 Apple Inc. All rights reserved.
* Copyright (c) 2014, 2015, 2016 Apple Inc. All rights reserved.
* Copyright (c) 2015 Andy VanWagoner <thetalecrafter@gmail.com>.
* Copyright (c) 2015 Jordan Harband. All rights reserved.
* Copyright (c) 2015, 2016 -2016 Yusuke Suzuki <utatane.tea@gmail.com>.
* Copyright (c) 2015, 2016 Yusuke Suzuki <utatane.tea@gmail.com>.
* Copyright (c) 2016 Oleksandr Skachkov <gskachkov@gmail.com>.
* Copyright (c) 2016 Yusuke Suzuki <utatane.tea@gmail.com>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
*/
// DO NOT EDIT THIS FILE. It is automatically generated from JavaScript files for
// builtins by the script: Source/JavaScriptCore/Scripts/generate-js-builtins.py
#include "config.h"
#include "JSCBuiltins.h"
#include "BuiltinExecutables.h"
#include "Executable.h"
#include "HeapInlines.h"
#include "Intrinsic.h"
#include "JSCellInlines.h"
#include "VM.h"
namespace JSC {
const JSC::ConstructAbility s_arrayConstructorIsArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayConstructorIsArrayCodeLength = 201;
static const JSC::Intrinsic s_arrayConstructorIsArrayCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayConstructorIsArrayCode =
"(function (array)\n" \
"{\n" \
" \"use strict\";\n" \
" if (@isJSArray(array) || @isDerivedArray(array))\n" \
" return true;\n" \
" if (!@isProxyObject(array))\n" \
" return false;\n" \
" return @isArraySlow(array);\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayConstructorFromCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayConstructorFromCodeLength = 1931;
static const JSC::Intrinsic s_arrayConstructorFromCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayConstructorFromCode =
"(function (items )\n" \
"{\n" \
" \"use strict\";\n" \
" var thisObj = this;\n" \
" var mapFn = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" var thisArg;\n" \
" if (mapFn !== @undefined) {\n" \
" if (typeof mapFn !== \"function\")\n" \
" throw new @TypeError(\"Array.from requires that the second argument, when provided, be a function\");\n" \
" if (arguments.length > 2)\n" \
" thisArg = arguments[2];\n" \
" }\n" \
" if (items == null)\n" \
" throw new @TypeError(\"Array.from requires an array-like object - not null or undefined\");\n" \
" var iteratorMethod = items.@iteratorSymbol;\n" \
" if (iteratorMethod != null) {\n" \
" if (typeof iteratorMethod !== \"function\")\n" \
" throw new @TypeError(\"Array.from requires that the property of the first argument, items[Symbol.iterator], when exists, be a function\");\n" \
" var result = @isConstructor(thisObj) ? new thisObj() : [];\n" \
" var k = 0;\n" \
" var iterator = iteratorMethod.@call(items);\n" \
" var wrapper = {}\n" \
" wrapper.@iteratorSymbol = function() { return iterator; };\n" \
" for (var value of wrapper) {\n" \
" if (mapFn)\n" \
" @putByValDirect(result, k, thisArg === @undefined ? mapFn(value, k) : mapFn.@call(thisArg, value, k));\n" \
" else\n" \
" @putByValDirect(result, k, value);\n" \
" k += 1;\n" \
" }\n" \
" result.length = k;\n" \
" return result;\n" \
" }\n" \
" var arrayLike = @Object(items);\n" \
" var arrayLikeLength = @toLength(arrayLike.length);\n" \
" var result = @isConstructor(thisObj) ? new thisObj(arrayLikeLength) : @newArrayWithSize(arrayLikeLength);\n" \
" var k = 0;\n" \
" while (k < arrayLikeLength) {\n" \
" var value = arrayLike[k];\n" \
" if (mapFn)\n" \
" @putByValDirect(result, k, thisArg === @undefined ? mapFn(value, k) : mapFn.@call(thisArg, value, k));\n" \
" else\n" \
" @putByValDirect(result, k, value);\n" \
" k += 1;\n" \
" }\n" \
" result.length = arrayLikeLength;\n" \
" return result;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayConstructorOfCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayConstructorOfCodeLength = 287;
static const JSC::Intrinsic s_arrayConstructorOfCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayConstructorOfCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" var length = arguments.length;\n" \
" var array = @isConstructor(this) ? new this(length) : @newArrayWithSize(length);\n" \
" for (var k = 0; k < length; ++k)\n" \
" @putByValDirect(array, k, arguments[k]);\n" \
" array.length = length;\n" \
" return array;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayIteratorPrototypeNextCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayIteratorPrototypeNextCodeLength = 379;
static const JSC::Intrinsic s_arrayIteratorPrototypeNextCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayIteratorPrototypeNextCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"%ArrayIteratorPrototype%.next requires that |this| not be null or undefined\");\n" \
" let next = this.@arrayIteratorNext;\n" \
" if (next === @undefined)\n" \
" throw new @TypeError(\"%ArrayIteratorPrototype%.next requires that |this| be an Array Iterator instance\");\n" \
" return next.@call(this);\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayIteratorPrototypeArrayIteratorValueNextCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayIteratorPrototypeArrayIteratorValueNextCodeLength = 491;
static const JSC::Intrinsic s_arrayIteratorPrototypeArrayIteratorValueNextCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayIteratorPrototypeArrayIteratorValueNextCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" var done = true;\n" \
" var value;\n" \
" var array = this.@iteratedObject;\n" \
" if (!this.@arrayIteratorIsDone) {\n" \
" var index = this.@arrayIteratorNextIndex;\n" \
" var length = array.length >>> 0;\n" \
" if (index >= length) {\n" \
" this.@arrayIteratorIsDone = true;\n" \
" } else {\n" \
" this.@arrayIteratorNextIndex = index + 1;\n" \
" done = false;\n" \
" value = array[index];\n" \
" }\n" \
" }\n" \
" return { done, value };\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayIteratorPrototypeArrayIteratorKeyNextCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayIteratorPrototypeArrayIteratorKeyNextCodeLength = 484;
static const JSC::Intrinsic s_arrayIteratorPrototypeArrayIteratorKeyNextCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayIteratorPrototypeArrayIteratorKeyNextCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" var done = true;\n" \
" var value;\n" \
" var array = this.@iteratedObject;\n" \
" if (!this.@arrayIteratorIsDone) {\n" \
" var index = this.@arrayIteratorNextIndex;\n" \
" var length = array.length >>> 0;\n" \
" if (index >= length) {\n" \
" this.@arrayIteratorIsDone = true;\n" \
" } else {\n" \
" this.@arrayIteratorNextIndex = index + 1;\n" \
" done = false;\n" \
" value = index;\n" \
" }\n" \
" }\n" \
" return { done, value };\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayIteratorPrototypeArrayIteratorKeyValueNextCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayIteratorPrototypeArrayIteratorKeyValueNextCodeLength = 502;
static const JSC::Intrinsic s_arrayIteratorPrototypeArrayIteratorKeyValueNextCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayIteratorPrototypeArrayIteratorKeyValueNextCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" var done = true;\n" \
" var value;\n" \
" var array = this.@iteratedObject;\n" \
" if (!this.@arrayIteratorIsDone) {\n" \
" var index = this.@arrayIteratorNextIndex;\n" \
" var length = array.length >>> 0;\n" \
" if (index >= length) {\n" \
" this.@arrayIteratorIsDone = true;\n" \
" } else {\n" \
" this.@arrayIteratorNextIndex = index + 1;\n" \
" done = false;\n" \
" value = [ index, array[index] ];\n" \
" }\n" \
" }\n" \
" return { done, value };\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeCreateArrayIteratorConstructorCodeConstructAbility = JSC::ConstructAbility::CanConstruct;
const int s_arrayPrototypeCreateArrayIteratorConstructorCodeLength = 262;
static const JSC::Intrinsic s_arrayPrototypeCreateArrayIteratorConstructorCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeCreateArrayIteratorConstructorCode =
"(function (iteratedObject, kind, iterationFunction)\n" \
"{\n" \
" this.@iteratedObject = iteratedObject;\n" \
" this.@arrayIteratorKind = kind;\n" \
" this.@arrayIteratorNextIndex = 0;\n" \
" this.@arrayIteratorNext = iterationFunction;\n" \
" this.@arrayIteratorIsDone = false;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeValuesCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeValuesCodeLength = 246;
static const JSC::Intrinsic s_arrayPrototypeValuesCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeValuesCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.values requires that |this| not be null or undefined\");\n" \
" return new @createArrayIterator(@Object(this), \"value\", @arrayIteratorValueNext);\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeKeysCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeKeysCodeLength = 240;
static const JSC::Intrinsic s_arrayPrototypeKeysCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeKeysCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.keys requires that |this| not be null or undefined\");\n" \
" return new @createArrayIterator(@Object(this), \"key\", @arrayIteratorKeyNext);\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeEntriesCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeEntriesCodeLength = 254;
static const JSC::Intrinsic s_arrayPrototypeEntriesCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeEntriesCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.entries requires that |this| not be null or undefined\");\n" \
" return new @createArrayIterator(@Object(this), \"key+value\", @arrayIteratorKeyValueNext);\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeReduceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeReduceCodeLength = 986;
static const JSC::Intrinsic s_arrayPrototypeReduceCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeReduceCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.reduce requires that |this| not be null or undefined\");\n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"Array.prototype.reduce callback must be a function\");\n" \
" if (length === 0 && arguments.length < 2)\n" \
" throw new @TypeError(\"reduce of empty array with no initial value\");\n" \
" var accumulator, k = 0;\n" \
" if (arguments.length > 1)\n" \
" accumulator = arguments[1];\n" \
" else {\n" \
" while (k < length && !(k in array))\n" \
" k += 1;\n" \
" if (k >= length)\n" \
" throw new @TypeError(\"reduce of empty array with no initial value\");\n" \
" accumulator = array[k++];\n" \
" }\n" \
" while (k < length) {\n" \
" if (k in array)\n" \
" accumulator = callback.@call(@undefined, accumulator, array[k], k, array);\n" \
" k += 1;\n" \
" }\n" \
" return accumulator;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeReduceRightCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeReduceRightCodeLength = 1001;
static const JSC::Intrinsic s_arrayPrototypeReduceRightCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeReduceRightCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.reduceRight requires that |this| not be null or undefined\");\n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"Array.prototype.reduceRight callback must be a function\");\n" \
" if (length === 0 && arguments.length < 2)\n" \
" throw new @TypeError(\"reduceRight of empty array with no initial value\");\n" \
" var accumulator, k = length - 1;\n" \
" if (arguments.length > 1)\n" \
" accumulator = arguments[1];\n" \
" else {\n" \
" while (k >= 0 && !(k in array))\n" \
" k -= 1;\n" \
" if (k < 0)\n" \
" throw new @TypeError(\"reduceRight of empty array with no initial value\");\n" \
" accumulator = array[k--];\n" \
" }\n" \
" while (k >= 0) {\n" \
" if (k in array)\n" \
" accumulator = callback.@call(@undefined, accumulator, array[k], k, array);\n" \
" k -= 1;\n" \
" }\n" \
" return accumulator;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeEveryCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeEveryCodeLength = 647;
static const JSC::Intrinsic s_arrayPrototypeEveryCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeEveryCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.every requires that |this| not be null or undefined\");\n" \
" \n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"Array.prototype.every callback must be a function\");\n" \
" \n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" \n" \
" for (var i = 0; i < length; i++) {\n" \
" if (!(i in array))\n" \
" continue;\n" \
" if (!callback.@call(thisArg, array[i], i, array))\n" \
" return false;\n" \
" }\n" \
" \n" \
" return true;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeForEachCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeForEachCodeLength = 577;
static const JSC::Intrinsic s_arrayPrototypeForEachCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeForEachCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.forEach requires that |this| not be null or undefined\");\n" \
" \n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"Array.prototype.forEach callback must be a function\");\n" \
" \n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" \n" \
" for (var i = 0; i < length; i++) {\n" \
" if (i in array)\n" \
" callback.@call(thisArg, array[i], i, array);\n" \
" }\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeFilterCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeFilterCodeLength = 1311;
static const JSC::Intrinsic s_arrayPrototypeFilterCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeFilterCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.filter requires that |this| not be null or undefined\");\n" \
" \n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"Array.prototype.filter callback must be a function\");\n" \
" \n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" var result;\n" \
" var constructor;\n" \
" if (@isArray(array)) {\n" \
" constructor = array.constructor;\n" \
" if (@isArrayConstructor(constructor) && @Array !== constructor)\n" \
" constructor = @undefined;\n" \
" if (@isObject(constructor)) {\n" \
" constructor = constructor.@speciesSymbol;\n" \
" if (constructor === null)\n" \
" constructor = @undefined;\n" \
" }\n" \
" }\n" \
" if (constructor === @Array || constructor === @undefined)\n" \
" result = @newArrayWithSize(0);\n" \
" else\n" \
" result = new constructor(0);\n" \
" var nextIndex = 0;\n" \
" for (var i = 0; i < length; i++) {\n" \
" if (!(i in array))\n" \
" continue;\n" \
" var current = array[i]\n" \
" if (callback.@call(thisArg, current, i, array)) {\n" \
" @putByValDirect(result, nextIndex, current);\n" \
" ++nextIndex;\n" \
" }\n" \
" }\n" \
" return result;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeMapCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeMapCodeLength = 1254;
static const JSC::Intrinsic s_arrayPrototypeMapCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeMapCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.map requires that |this| not be null or undefined\");\n" \
" \n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"Array.prototype.map callback must be a function\");\n" \
" \n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" var result;\n" \
" var constructor;\n" \
" if (@isArray(array)) {\n" \
" constructor = array.constructor;\n" \
" if (@isArrayConstructor(constructor) && @Array !== constructor)\n" \
" constructor = @undefined;\n" \
" if (@isObject(constructor)) {\n" \
" constructor = constructor.@speciesSymbol;\n" \
" if (constructor === null)\n" \
" constructor = @undefined;\n" \
" }\n" \
" }\n" \
" if (constructor === @Array || constructor === @undefined)\n" \
" result = @newArrayWithSize(length);\n" \
" else\n" \
" result = new constructor(length);\n" \
" var nextIndex = 0;\n" \
" for (var i = 0; i < length; i++) {\n" \
" if (!(i in array))\n" \
" continue;\n" \
" var mappedValue = callback.@call(thisArg, array[i], i, array);\n" \
" @putByValDirect(result, i, mappedValue);\n" \
" }\n" \
" return result;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeSomeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeSomeCodeLength = 634;
static const JSC::Intrinsic s_arrayPrototypeSomeCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeSomeCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.some requires that |this| not be null or undefined\");\n" \
" \n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"Array.prototype.some callback must be a function\");\n" \
" \n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" for (var i = 0; i < length; i++) {\n" \
" if (!(i in array))\n" \
" continue;\n" \
" if (callback.@call(thisArg, array[i], i, array))\n" \
" return true;\n" \
" }\n" \
" return false;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeFillCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeFillCodeLength = 1015;
static const JSC::Intrinsic s_arrayPrototypeFillCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeFillCode =
"(function (value )\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.fill requires that |this| not be null or undefined\");\n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" var relativeStart = 0;\n" \
" if (arguments.length > 1 && arguments[1] !== @undefined)\n" \
" relativeStart = arguments[1] | 0;\n" \
" var k = 0;\n" \
" if (relativeStart < 0) {\n" \
" k = length + relativeStart;\n" \
" if (k < 0)\n" \
" k = 0;\n" \
" } else {\n" \
" k = relativeStart;\n" \
" if (k > length)\n" \
" k = length;\n" \
" }\n" \
" var relativeEnd = length;\n" \
" if (arguments.length > 2 && arguments[2] !== @undefined)\n" \
" relativeEnd = arguments[2] | 0;\n" \
" var final = 0;\n" \
" if (relativeEnd < 0) {\n" \
" final = length + relativeEnd;\n" \
" if (final < 0)\n" \
" final = 0;\n" \
" } else {\n" \
" final = relativeEnd;\n" \
" if (final > length)\n" \
" final = length;\n" \
" }\n" \
" for (; k < final; k++)\n" \
" array[k] = value;\n" \
" return array;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeFindCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeFindCodeLength = 621;
static const JSC::Intrinsic s_arrayPrototypeFindCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeFindCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.find requires that |this| not be null or undefined\");\n" \
" \n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"Array.prototype.find callback must be a function\");\n" \
" \n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" for (var i = 0; i < length; i++) {\n" \
" var kValue = array[i];\n" \
" if (callback.@call(thisArg, kValue, i, array))\n" \
" return kValue;\n" \
" }\n" \
" return @undefined;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeFindIndexCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeFindIndexCodeLength = 589;
static const JSC::Intrinsic s_arrayPrototypeFindIndexCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeFindIndexCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.findIndex requires that |this| not be null or undefined\");\n" \
" \n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"Array.prototype.findIndex callback must be a function\");\n" \
" \n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" for (var i = 0; i < length; i++) {\n" \
" if (callback.@call(thisArg, array[i], i, array))\n" \
" return i;\n" \
" }\n" \
" return -1;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeIncludesCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeIncludesCodeLength = 842;
static const JSC::Intrinsic s_arrayPrototypeIncludesCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeIncludesCode =
"(function (searchElement )\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.includes requires that |this| not be null or undefined\");\n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" if (length === 0)\n" \
" return false;\n" \
" var fromIndex = 0;\n" \
" if (arguments.length > 1 && arguments[1] !== @undefined)\n" \
" fromIndex = @toInteger(arguments[1]);\n" \
" var index;\n" \
" if (fromIndex >= 0)\n" \
" index = fromIndex;\n" \
" else\n" \
" index = length + fromIndex;\n" \
" if (index < 0)\n" \
" index = 0;\n" \
" var currentElement;\n" \
" for (; index < length; ++index) {\n" \
" currentElement = array[index];\n" \
" if (searchElement === currentElement || (searchElement !== searchElement && currentElement !== currentElement))\n" \
" return true;\n" \
" }\n" \
" return false;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeSortCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeSortCodeLength = 5958;
static const JSC::Intrinsic s_arrayPrototypeSortCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeSortCode =
"(function (comparator)\n" \
"{\n" \
" \"use strict\";\n" \
" function min(a, b)\n" \
" {\n" \
" return a < b ? a : b;\n" \
" }\n" \
" function stringComparator(a, b)\n" \
" {\n" \
" var aString = a.string;\n" \
" var bString = b.string;\n" \
" var aLength = aString.length;\n" \
" var bLength = bString.length;\n" \
" var length = min(aLength, bLength);\n" \
" for (var i = 0; i < length; ++i) {\n" \
" var aCharCode = aString.@charCodeAt(i);\n" \
" var bCharCode = bString.@charCodeAt(i);\n" \
" if (aCharCode == bCharCode)\n" \
" continue;\n" \
" return aCharCode - bCharCode;\n" \
" }\n" \
" return aLength - bLength;\n" \
" }\n" \
" function compactSparse(array, dst, src, length)\n" \
" {\n" \
" var values = [ ];\n" \
" var seen = { };\n" \
" var valueCount = 0;\n" \
" var undefinedCount = 0;\n" \
" for (var i = dst; i < src; ++i)\n" \
" delete array[i];\n" \
" for (var object = array; object; object = @Object.@getPrototypeOf(object)) {\n" \
" var propertyNames = @Object.@getOwnPropertyNames(object);\n" \
" for (var i = 0; i < propertyNames.length; ++i) {\n" \
" var index = propertyNames[i];\n" \
" if (index < length) {\n" \
" if (seen[index])\n" \
" continue;\n" \
" seen[index] = 1;\n" \
" var value = array[index];\n" \
" delete array[index];\n" \
" if (value === @undefined) {\n" \
" ++undefinedCount;\n" \
" continue;\n" \
" }\n" \
" array[valueCount++] = value;\n" \
" }\n" \
" }\n" \
" }\n" \
" for (var i = valueCount; i < valueCount + undefinedCount; ++i)\n" \
" array[i] = @undefined;\n" \
" return valueCount;\n" \
" }\n" \
" function compactSlow(array, length)\n" \
" {\n" \
" var holeCount = 0;\n" \
" for (var dst = 0, src = 0; src < length; ++src) {\n" \
" if (!(src in array)) {\n" \
" ++holeCount;\n" \
" if (holeCount < 256)\n" \
" continue;\n" \
" return compactSparse(array, dst, src, length);\n" \
" }\n" \
" var value = array[src];\n" \
" if (value === @undefined)\n" \
" continue;\n" \
" array[dst++] = value;\n" \
" }\n" \
" var valueCount = dst;\n" \
" var undefinedCount = length - valueCount - holeCount;\n" \
" for (var i = valueCount; i < valueCount + undefinedCount; ++i)\n" \
" array[i] = @undefined;\n" \
" for (var i = valueCount + undefinedCount; i < length; ++i)\n" \
" delete array[i];\n" \
" return valueCount;\n" \
" }\n" \
" function compact(array, length)\n" \
" {\n" \
" for (var i = 0; i < array.length; ++i) {\n" \
" if (array[i] === @undefined)\n" \
" return compactSlow(array, length);\n" \
" }\n" \
" return length;\n" \
" }\n" \
" function merge(dst, src, srcIndex, srcEnd, width, comparator)\n" \
" {\n" \
" var left = srcIndex;\n" \
" var leftEnd = min(left + width, srcEnd);\n" \
" var right = leftEnd;\n" \
" var rightEnd = min(right + width, srcEnd);\n" \
" for (var dstIndex = left; dstIndex < rightEnd; ++dstIndex) {\n" \
" if (right < rightEnd) {\n" \
" if (left >= leftEnd || comparator(src[right], src[left]) < 0) {\n" \
" dst[dstIndex] = src[right++];\n" \
" continue;\n" \
" }\n" \
" }\n" \
" dst[dstIndex] = src[left++];\n" \
" }\n" \
" }\n" \
" function mergeSort(array, valueCount, comparator)\n" \
" {\n" \
" var buffer = [ ];\n" \
" buffer.length = valueCount;\n" \
" var dst = buffer;\n" \
" var src = array;\n" \
" for (var width = 1; width < valueCount; width *= 2) {\n" \
" for (var srcIndex = 0; srcIndex < valueCount; srcIndex += 2 * width)\n" \
" merge(dst, src, srcIndex, valueCount, width, comparator);\n" \
" var tmp = src;\n" \
" src = dst;\n" \
" dst = tmp;\n" \
" }\n" \
" if (src != array) {\n" \
" for(var i = 0; i < valueCount; i++)\n" \
" array[i] = src[i];\n" \
" }\n" \
" }\n" \
" function bucketSort(array, dst, bucket, depth)\n" \
" {\n" \
" if (bucket.length < 32 || depth > 32) {\n" \
" mergeSort(bucket, bucket.length, stringComparator);\n" \
" for (var i = 0; i < bucket.length; ++i)\n" \
" array[dst++] = bucket[i].value;\n" \
" return dst;\n" \
" }\n" \
" var buckets = [ ];\n" \
" for (var i = 0; i < bucket.length; ++i) {\n" \
" var entry = bucket[i];\n" \
" var string = entry.string;\n" \
" if (string.length == depth) {\n" \
" array[dst++] = entry.value;\n" \
" continue;\n" \
" }\n" \
" var c = string.@charCodeAt(depth);\n" \
" if (!buckets[c])\n" \
" buckets[c] = [ ];\n" \
" buckets[c][buckets[c].length] = entry;\n" \
" }\n" \
" for (var i = 0; i < buckets.length; ++i) {\n" \
" if (!buckets[i])\n" \
" continue;\n" \
" dst = bucketSort(array, dst, buckets[i], depth + 1);\n" \
" }\n" \
" return dst;\n" \
" }\n" \
" function comparatorSort(array, comparator)\n" \
" {\n" \
" var length = array.length >>> 0;\n" \
" if (length < 2)\n" \
" return;\n" \
" var valueCount = compact(array, length);\n" \
" mergeSort(array, valueCount, comparator);\n" \
" }\n" \
" function stringSort(array)\n" \
" {\n" \
" var length = array.length >>> 0;\n" \
" if (length < 2)\n" \
" return;\n" \
" var valueCount = compact(array, length);\n" \
" var strings = @newArrayWithSize(valueCount);\n" \
" for (var i = 0; i < valueCount; ++i)\n" \
" strings[i] = { string: @toString(array[i]), value: array[i] };\n" \
" bucketSort(array, 0, strings, 0);\n" \
" }\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.sort requires that |this| not be null or undefined\");\n" \
" if (typeof this == \"string\")\n" \
" throw new @TypeError(\"Attempted to assign to readonly property.\");\n" \
" var array = @Object(this);\n" \
" if (typeof comparator == \"function\")\n" \
" comparatorSort(array, comparator);\n" \
" else\n" \
" stringSort(array);\n" \
" return array;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeConcatSlowPathCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeConcatSlowPathCodeLength = 2083;
static const JSC::Intrinsic s_arrayPrototypeConcatSlowPathCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeConcatSlowPathCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.prototype.concat requires that |this| not be null or undefined\");\n" \
" var currentElement = @Object(this);\n" \
" var constructor;\n" \
" if (@isArray(currentElement)) {\n" \
" constructor = currentElement.constructor;\n" \
" if (@isArrayConstructor(constructor) && @Array !== constructor)\n" \
" constructor = @undefined;\n" \
" else if (@isObject(constructor)) {\n" \
" constructor = constructor.@speciesSymbol;\n" \
" if (constructor === null)\n" \
" constructor = @Array;\n" \
" }\n" \
" }\n" \
" var argCount = arguments.length;\n" \
" var result;\n" \
" if (constructor === @Array || constructor === @undefined)\n" \
" result = @newArrayWithSize(0);\n" \
" else\n" \
" result = new constructor(0);\n" \
" var resultIsArray = @isJSArray(result);\n" \
" var resultIndex = 0;\n" \
" var argIndex = 0;\n" \
" do {\n" \
" let spreadable = @isObject(currentElement) && currentElement.@isConcatSpreadableSymbol;\n" \
" if ((spreadable === @undefined && @isArray(currentElement)) || spreadable) {\n" \
" let length = @toLength(currentElement.length);\n" \
" if (resultIsArray && @isJSArray(currentElement)) {\n" \
" @appendMemcpy(result, currentElement, resultIndex);\n" \
" resultIndex += length;\n" \
" } else {\n" \
" if (length + resultIndex > @MAX_SAFE_INTEGER)\n" \
" throw @TypeError(\"length exceeded the maximum safe integer\");\n" \
" for (var i = 0; i < length; i++) {\n" \
" if (i in currentElement)\n" \
" @putByValDirect(result, resultIndex, currentElement[i]);\n" \
" resultIndex++;\n" \
" }\n" \
" }\n" \
" } else {\n" \
" if (resultIndex >= @MAX_SAFE_INTEGER)\n" \
" throw @TypeError(\"length exceeded the maximum safe integer\");\n" \
" @putByValDirect(result, resultIndex++, currentElement);\n" \
" }\n" \
" currentElement = arguments[argIndex];\n" \
" } while (argIndex++ < argCount);\n" \
" result.length = resultIndex;\n" \
" return result;\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeConcatCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeConcatCodeLength = 413;
static const JSC::Intrinsic s_arrayPrototypeConcatCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeConcatCode =
"(function (first)\n" \
"{\n" \
" \"use strict\";\n" \
" if (@argumentCount() === 1\n" \
" && @isJSArray(this)\n" \
" && this.@isConcatSpreadableSymbol === @undefined\n" \
" && (!@isObject(first) || first.@isConcatSpreadableSymbol === @undefined)) {\n" \
" let result = @concatMemcpy(this, first);\n" \
" if (result !== null)\n" \
" return result;\n" \
" }\n" \
" return @tailCallForwardArguments(@concatSlowPath, this);\n" \
"})\n" \
;
const JSC::ConstructAbility s_arrayPrototypeCopyWithinCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_arrayPrototypeCopyWithinCodeLength = 1703;
static const JSC::Intrinsic s_arrayPrototypeCopyWithinCodeIntrinsic = JSC::NoIntrinsic;
const char* s_arrayPrototypeCopyWithinCode =
"(function (target, start )\n" \
"{\n" \
" \"use strict\";\n" \
" function maxWithPositives(a, b)\n" \
" {\n" \
" return (a < b) ? b : a;\n" \
" }\n" \
" function minWithMaybeNegativeZeroAndPositive(maybeNegativeZero, positive)\n" \
" {\n" \
" return (maybeNegativeZero < positive) ? maybeNegativeZero : positive;\n" \
" }\n" \
" if (this == null)\n" \
" throw new @TypeError(\"Array.copyWithin requires that |this| not be null or undefined\");\n" \
" var array = @Object(this);\n" \
" var length = @toLength(array.length);\n" \
" var relativeTarget = @toInteger(target);\n" \
" var to = (relativeTarget < 0) ? maxWithPositives(length + relativeTarget, 0) : minWithMaybeNegativeZeroAndPositive(relativeTarget, length);\n" \
" var relativeStart = @toInteger(start);\n" \
" var from = (relativeStart < 0) ? maxWithPositives(length + relativeStart, 0) : minWithMaybeNegativeZeroAndPositive(relativeStart, length);\n" \
" var relativeEnd;\n" \
" if (arguments.length >= 3) {\n" \
" var end = arguments[2];\n" \
" if (end === @undefined)\n" \
" relativeEnd = length;\n" \
" else\n" \
" relativeEnd = @toInteger(end);\n" \
" } else\n" \
" relativeEnd = length;\n" \
" var finalValue = (relativeEnd < 0) ? maxWithPositives(length + relativeEnd, 0) : minWithMaybeNegativeZeroAndPositive(relativeEnd, length);\n" \
" var count = minWithMaybeNegativeZeroAndPositive(finalValue - from, length - to);\n" \
" var direction = 1;\n" \
" if (from < to && to < from + count) {\n" \
" direction = -1;\n" \
" from = from + count - 1;\n" \
" to = to + count - 1;\n" \
" }\n" \
" for (var i = 0; i < count; ++i, from += direction, to += direction) {\n" \
" if (from in array)\n" \
" array[to] = array[from];\n" \
" else\n" \
" delete array[to];\n" \
" }\n" \
" return array;\n" \
"})\n" \
;
const JSC::ConstructAbility s_datePrototypeToLocaleStringCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_datePrototypeToLocaleStringCodeLength = 1299;
static const JSC::Intrinsic s_datePrototypeToLocaleStringCodeIntrinsic = JSC::NoIntrinsic;
const char* s_datePrototypeToLocaleStringCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" function toDateTimeOptionsAnyAll(opts)\n" \
" {\n" \
" var options;\n" \
" if (opts === @undefined)\n" \
" options = null;\n" \
" else if (opts === null)\n" \
" throw new @TypeError(\"null is not an object\");\n" \
" else\n" \
" options = @Object(opts);\n" \
" var needsDefaults = !options || (\n" \
" options.weekday === @undefined &&\n" \
" options.year === @undefined &&\n" \
" options.month === @undefined &&\n" \
" options.day === @undefined &&\n" \
" options.hour === @undefined &&\n" \
" options.minute === @undefined &&\n" \
" options.second === @undefined\n" \
" );\n" \
" if (needsDefaults) {\n" \
" options = @Object.@create(options);\n" \
" options.year = \"numeric\";\n" \
" options.month = \"numeric\";\n" \
" options.day = \"numeric\";\n" \
" options.hour = \"numeric\";\n" \
" options.minute = \"numeric\";\n" \
" options.second = \"numeric\";\n" \
" }\n" \
" return options;\n" \
" }\n" \
" var value = @thisTimeValue.@call(this);\n" \
" if (@isNaN(value))\n" \
" return \"Invalid Date\";\n" \
" var options = toDateTimeOptionsAnyAll(arguments[1]);\n" \
" var locales = arguments[0];\n" \
" var dateFormat = new @DateTimeFormat(locales, options);\n" \
" return dateFormat.format(value);\n" \
"})\n" \
;
const JSC::ConstructAbility s_datePrototypeToLocaleDateStringCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_datePrototypeToLocaleDateStringCodeLength = 1052;
static const JSC::Intrinsic s_datePrototypeToLocaleDateStringCodeIntrinsic = JSC::NoIntrinsic;
const char* s_datePrototypeToLocaleDateStringCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" function toDateTimeOptionsDateDate(opts)\n" \
" {\n" \
" var options;\n" \
" if (opts === @undefined)\n" \
" options = null;\n" \
" else if (opts === null)\n" \
" throw new @TypeError(\"null is not an object\");\n" \
" else\n" \
" options = @Object(opts);\n" \
" var needsDefaults = !options || (\n" \
" options.weekday === @undefined &&\n" \
" options.year === @undefined &&\n" \
" options.month === @undefined &&\n" \
" options.day === @undefined\n" \
" );\n" \
" if (needsDefaults) {\n" \
" options = @Object.@create(options);\n" \
" options.year = \"numeric\";\n" \
" options.month = \"numeric\";\n" \
" options.day = \"numeric\";\n" \
" }\n" \
" return options;\n" \
" }\n" \
" var value = @thisTimeValue.@call(this);\n" \
" if (@isNaN(value))\n" \
" return \"Invalid Date\";\n" \
" var options = toDateTimeOptionsDateDate(arguments[1]);\n" \
" var locales = arguments[0];\n" \
" var dateFormat = new @DateTimeFormat(locales, options);\n" \
" return dateFormat.format(value);\n" \
"})\n" \
;
const JSC::ConstructAbility s_datePrototypeToLocaleTimeStringCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_datePrototypeToLocaleTimeStringCodeLength = 1014;
static const JSC::Intrinsic s_datePrototypeToLocaleTimeStringCodeIntrinsic = JSC::NoIntrinsic;
const char* s_datePrototypeToLocaleTimeStringCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" function toDateTimeOptionsTimeTime(opts)\n" \
" {\n" \
" var options;\n" \
" if (opts === @undefined)\n" \
" options = null;\n" \
" else if (opts === null)\n" \
" throw new @TypeError(\"null is not an object\");\n" \
" else\n" \
" options = @Object(opts);\n" \
" var needsDefaults = !options || (\n" \
" options.hour === @undefined &&\n" \
" options.minute === @undefined &&\n" \
" options.second === @undefined\n" \
" );\n" \
" if (needsDefaults) {\n" \
" options = @Object.@create(options);\n" \
" options.hour = \"numeric\";\n" \
" options.minute = \"numeric\";\n" \
" options.second = \"numeric\";\n" \
" }\n" \
" return options;\n" \
" }\n" \
" var value = @thisTimeValue.@call(this);\n" \
" if (@isNaN(value))\n" \
" return \"Invalid Date\";\n" \
" var options = toDateTimeOptionsTimeTime(arguments[1]);\n" \
" var locales = arguments[0];\n" \
" var dateFormat = new @DateTimeFormat(locales, options);\n" \
" return dateFormat.format(value);\n" \
"})\n" \
;
const JSC::ConstructAbility s_functionPrototypeCallCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_functionPrototypeCallCodeLength = 238;
static const JSC::Intrinsic s_functionPrototypeCallCodeIntrinsic = JSC::NoIntrinsic;
const char* s_functionPrototypeCallCode =
"(function (thisArgument)\n" \
"{\n" \
" \"use strict\";\n" \
" let argumentValues = [];\n" \
" for (let i = 1; i < arguments.length; i++)\n" \
" @putByValDirect(argumentValues, i-1, arguments[i]);\n" \
" return this.@apply(thisArgument, argumentValues);\n" \
"})\n" \
;
const JSC::ConstructAbility s_functionPrototypeApplyCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_functionPrototypeApplyCodeLength = 112;
static const JSC::Intrinsic s_functionPrototypeApplyCodeIntrinsic = JSC::NoIntrinsic;
const char* s_functionPrototypeApplyCode =
"(function (thisValue, argumentValues)\n" \
"{\n" \
" \"use strict\";\n" \
" return this.@apply(thisValue, argumentValues);\n" \
"})\n" \
;
const JSC::ConstructAbility s_functionPrototypeSymbolHasInstanceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_functionPrototypeSymbolHasInstanceCodeLength = 258;
static const JSC::Intrinsic s_functionPrototypeSymbolHasInstanceCodeIntrinsic = JSC::NoIntrinsic;
const char* s_functionPrototypeSymbolHasInstanceCode =
"(function (value)\n" \
"{\n" \
" \"use strict\";\n" \
" if (typeof this !== \"function\")\n" \
" return false;\n" \
" if (@isBoundFunction(this))\n" \
" return @hasInstanceBoundFunction(this, value);\n" \
" let target = this.prototype;\n" \
" return @instanceOf(value, target);\n" \
"})\n" \
;
const JSC::ConstructAbility s_functionPrototypeBindCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_functionPrototypeBindCodeLength = 975;
static const JSC::Intrinsic s_functionPrototypeBindCodeIntrinsic = JSC::NoIntrinsic;
const char* s_functionPrototypeBindCode =
"(function (thisValue)\n" \
"{\n" \
" \"use strict\";\n" \
" let target = this;\n" \
" if (typeof target !== \"function\")\n" \
" throw new @TypeError(\"|this| is not a function inside Function.prototype.bind\");\n" \
" let argumentCount = arguments.length;\n" \
" let boundArgs = null;\n" \
" let numBoundArgs = 0;\n" \
" if (argumentCount > 1) {\n" \
" numBoundArgs = argumentCount - 1;\n" \
" boundArgs = @newArrayWithSize(numBoundArgs);\n" \
" for (let i = 0; i < numBoundArgs; i++)\n" \
" boundArgs[i] = arguments[i + 1];\n" \
" }\n" \
" let length = 0;\n" \
" if (@hasOwnLengthProperty(target)) {\n" \
" let lengthValue = target.length;\n" \
" if (typeof lengthValue === \"number\") {\n" \
" lengthValue = lengthValue | 0;\n" \
" if (lengthValue > numBoundArgs)\n" \
" length = lengthValue - numBoundArgs;\n" \
" }\n" \
" }\n" \
" let name = target.name;\n" \
" if (typeof name !== \"string\")\n" \
" name = \"\";\n" \
" return @makeBoundFunction(target, arguments[0], boundArgs, length, name);\n" \
"})\n" \
;
const JSC::ConstructAbility s_generatorPrototypeGeneratorResumeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_generatorPrototypeGeneratorResumeCodeLength = 1181;
static const JSC::Intrinsic s_generatorPrototypeGeneratorResumeCodeIntrinsic = JSC::NoIntrinsic;
const char* s_generatorPrototypeGeneratorResumeCode =
"(function (generator, sentValue, resumeMode)\n" \
"{\n" \
" \"use strict\";\n" \
" let state = generator.@generatorState;\n" \
" let done = false;\n" \
" let value = @undefined;\n" \
" if (typeof state !== 'number')\n" \
" throw new @TypeError(\"|this| should be a generator\");\n" \
" if (state === @GeneratorStateExecuting)\n" \
" throw new @TypeError(\"Generator is executing\");\n" \
" if (state === @GeneratorStateCompleted) {\n" \
" if (resumeMode === @GeneratorResumeModeThrow)\n" \
" throw sentValue;\n" \
" done = true;\n" \
" if (resumeMode === @GeneratorResumeModeReturn)\n" \
" value = sentValue;\n" \
" } else {\n" \
" try {\n" \
" generator.@generatorState = @GeneratorStateExecuting;\n" \
" value = generator.@generatorNext.@call(generator.@generatorThis, generator, state, sentValue, resumeMode, generator.@generatorFrame);\n" \
" if (generator.@generatorState === @GeneratorStateExecuting) {\n" \
" generator.@generatorState = @GeneratorStateCompleted;\n" \
" done = true;\n" \
" }\n" \
" } catch (error) {\n" \
" generator.@generatorState = @GeneratorStateCompleted;\n" \
" throw error;\n" \
" }\n" \
" }\n" \
" return { done, value };\n" \
"})\n" \
;
const JSC::ConstructAbility s_generatorPrototypeNextCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_generatorPrototypeNextCodeLength = 111;
static const JSC::Intrinsic s_generatorPrototypeNextCodeIntrinsic = JSC::NoIntrinsic;
const char* s_generatorPrototypeNextCode =
"(function (value)\n" \
"{\n" \
" \"use strict\";\n" \
" return @generatorResume(this, value, @GeneratorResumeModeNormal);\n" \
"})\n" \
;
const JSC::ConstructAbility s_generatorPrototypeReturnCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_generatorPrototypeReturnCodeLength = 111;
static const JSC::Intrinsic s_generatorPrototypeReturnCodeIntrinsic = JSC::NoIntrinsic;
const char* s_generatorPrototypeReturnCode =
"(function (value)\n" \
"{\n" \
" \"use strict\";\n" \
" return @generatorResume(this, value, @GeneratorResumeModeReturn);\n" \
"})\n" \
;
const JSC::ConstructAbility s_generatorPrototypeThrowCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_generatorPrototypeThrowCodeLength = 118;
static const JSC::Intrinsic s_generatorPrototypeThrowCodeIntrinsic = JSC::NoIntrinsic;
const char* s_generatorPrototypeThrowCode =
"(function (exception)\n" \
"{\n" \
" \"use strict\";\n" \
" return @generatorResume(this, exception, @GeneratorResumeModeThrow);\n" \
"})\n" \
;
const JSC::ConstructAbility s_globalObjectIsFiniteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_globalObjectIsFiniteCodeLength = 208;
static const JSC::Intrinsic s_globalObjectIsFiniteCodeIntrinsic = JSC::NoIntrinsic;
const char* s_globalObjectIsFiniteCode =
"(function (value)\n" \
"{\n" \
" \"use strict\";\n" \
" var numberValue = @toNumber(value);\n" \
" if (numberValue !== numberValue)\n" \
" return false;\n" \
" return numberValue !== @Infinity && numberValue !== -@Infinity;\n" \
"})\n" \
;
const JSC::ConstructAbility s_globalObjectIsNaNCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_globalObjectIsNaNCodeLength = 121;
static const JSC::Intrinsic s_globalObjectIsNaNCodeIntrinsic = JSC::NoIntrinsic;
const char* s_globalObjectIsNaNCode =
"(function (value)\n" \
"{\n" \
" \"use strict\";\n" \
" var numberValue = @toNumber(value);\n" \
" return numberValue !== numberValue;\n" \
"})\n" \
;
const JSC::ConstructAbility s_globalOperationsToIntegerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_globalOperationsToIntegerCodeLength = 168;
static const JSC::Intrinsic s_globalOperationsToIntegerCodeIntrinsic = JSC::NoIntrinsic;
const char* s_globalOperationsToIntegerCode =
"(function (target)\n" \
"{\n" \
" \"use strict\";\n" \
" var numberValue = @Number(target);\n" \
" if (numberValue !== numberValue)\n" \
" return 0;\n" \
" return @trunc(numberValue);\n" \
"})\n" \
;
const JSC::ConstructAbility s_globalOperationsToLengthCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_globalOperationsToLengthCodeLength = 166;
static const JSC::Intrinsic s_globalOperationsToLengthCodeIntrinsic = JSC::NoIntrinsic;
const char* s_globalOperationsToLengthCode =
"(function (target)\n" \
"{\n" \
" \"use strict\";\n" \
" var length = @toInteger(target);\n" \
" return length > 0 ? (length < @MAX_SAFE_INTEGER ? length : @MAX_SAFE_INTEGER) : 0;\n" \
"})\n" \
;
const JSC::ConstructAbility s_globalOperationsIsDictionaryCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_globalOperationsIsDictionaryCodeLength = 99;
static const JSC::Intrinsic s_globalOperationsIsDictionaryCodeIntrinsic = JSC::NoIntrinsic;
const char* s_globalOperationsIsDictionaryCode =
"(function (object)\n" \
"{\n" \
" \"use strict\";\n" \
" return object == null || typeof object === \"object\";\n" \
"})\n" \
;
const JSC::ConstructAbility s_globalOperationsSpeciesGetterCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_globalOperationsSpeciesGetterCodeLength = 35;
static const JSC::Intrinsic s_globalOperationsSpeciesGetterCodeIntrinsic = JSC::NoIntrinsic;
const char* s_globalOperationsSpeciesGetterCode =
"(function ()\n" \
"{\n" \
" return this;\n" \
"})\n" \
;
const JSC::ConstructAbility s_globalOperationsSpeciesConstructorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_globalOperationsSpeciesConstructorCodeLength = 526;
static const JSC::Intrinsic s_globalOperationsSpeciesConstructorCodeIntrinsic = JSC::NoIntrinsic;
const char* s_globalOperationsSpeciesConstructorCode =
"(function (obj, defaultConstructor)\n" \
"{\n" \
" var constructor = obj.constructor;\n" \
" if (constructor === @undefined)\n" \
" return defaultConstructor;\n" \
" if (!@isObject(constructor))\n" \
" throw new @TypeError(\"|this|.constructor is not an Object or undefined\");\n" \
" constructor = constructor.@speciesSymbol;\n" \
" if (constructor == null)\n" \
" return defaultConstructor;\n" \
" if (@isConstructor(constructor))\n" \
" return constructor;\n" \
" throw new @TypeError(\"|this|.constructor[Symbol.species] is not a constructor\");\n" \
"})\n" \
;
const JSC::ConstructAbility s_inspectorInstrumentationObjectPromiseFulfilledCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_inspectorInstrumentationObjectPromiseFulfilledCodeLength = 102;
static const JSC::Intrinsic s_inspectorInstrumentationObjectPromiseFulfilledCodeIntrinsic = JSC::NoIntrinsic;
const char* s_inspectorInstrumentationObjectPromiseFulfilledCode =
"(function (promise, value, reactions)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!this.isEnabled)\n" \
" return;\n" \
"})\n" \
;
const JSC::ConstructAbility s_inspectorInstrumentationObjectPromiseRejectedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_inspectorInstrumentationObjectPromiseRejectedCodeLength = 103;
static const JSC::Intrinsic s_inspectorInstrumentationObjectPromiseRejectedCodeIntrinsic = JSC::NoIntrinsic;
const char* s_inspectorInstrumentationObjectPromiseRejectedCode =
"(function (promise, reason, reactions)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!this.isEnabled)\n" \
" return;\n" \
"})\n" \
;
const JSC::ConstructAbility s_internalPromiseConstructorInternalAllCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_internalPromiseConstructorInternalAllCodeLength = 1536;
static const JSC::Intrinsic s_internalPromiseConstructorInternalAllCodeIntrinsic = JSC::NoIntrinsic;
const char* s_internalPromiseConstructorInternalAllCode =
"(function (array)\n" \
"{\n" \
" \"use strict\";\n" \
" var promiseCapability = @newPromiseCapability(@InternalPromise);\n" \
" var values = [];\n" \
" var index = 0;\n" \
" var remainingElementsCount = 0;\n" \
" function newResolveElement(index)\n" \
" {\n" \
" var alreadyCalled = false;\n" \
" return function (argument)\n" \
" {\n" \
" if (alreadyCalled)\n" \
" return @undefined;\n" \
" alreadyCalled = true;\n" \
" @putByValDirect(values, index, argument);\n" \
" --remainingElementsCount;\n" \
" if (remainingElementsCount === 0)\n" \
" return promiseCapability.@resolve.@call(@undefined, values);\n" \
" return @undefined;\n" \
" }\n" \
" }\n" \
" try {\n" \
" if (array.length === 0)\n" \
" promiseCapability.@resolve.@call(@undefined, values);\n" \
" else {\n" \
" for (var index = 0, length = array.length; index < length; ++index) {\n" \
" var value = array[index];\n" \
" @putByValDirect(values, index, @undefined);\n" \
" var nextPromiseCapability = @newPromiseCapability(@InternalPromise);\n" \
" nextPromiseCapability.@resolve.@call(@undefined, value);\n" \
" var nextPromise = nextPromiseCapability.@promise;\n" \
" var resolveElement = newResolveElement(index);\n" \
" ++remainingElementsCount;\n" \
" nextPromise.then(resolveElement, promiseCapability.@reject);\n" \
" }\n" \
" }\n" \
" } catch (error) {\n" \
" promiseCapability.@reject.@call(@undefined, error);\n" \
" }\n" \
" return promiseCapability.@promise;\n" \
"})\n" \
;
const JSC::ConstructAbility s_iteratorPrototypeSymbolIteratorGetterCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_iteratorPrototypeSymbolIteratorGetterCodeLength = 53;
static const JSC::Intrinsic s_iteratorPrototypeSymbolIteratorGetterCodeIntrinsic = JSC::NoIntrinsic;
const char* s_iteratorPrototypeSymbolIteratorGetterCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" return this;\n" \
"})\n" \
;
const JSC::ConstructAbility s_mapPrototypeForEachCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_mapPrototypeForEachCodeLength = 566;
static const JSC::Intrinsic s_mapPrototypeForEachCodeIntrinsic = JSC::NoIntrinsic;
const char* s_mapPrototypeForEachCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isMap(this))\n" \
" throw new @TypeError(\"Map operation called on non-Map object\");\n" \
" if (typeof callback !== 'function')\n" \
" throw new @TypeError(\"Map.prototype.forEach callback must be a function\");\n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" var iterator = @MapIterator(this);\n" \
" var value = [ @undefined, @undefined ];\n" \
" for (;;) {\n" \
" if (@mapIteratorNext.@call(iterator, value))\n" \
" break;\n" \
" callback.@call(thisArg, value[1], value[0], this);\n" \
" }\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeSetStateToMaxCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeSetStateToMaxCodeLength = 115;
static const JSC::Intrinsic s_moduleLoaderPrototypeSetStateToMaxCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeSetStateToMaxCode =
"(function (entry, newState)\n" \
"{\n" \
" \"use strict\";\n" \
" if (entry.state < newState)\n" \
" entry.state = newState;\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeNewRegistryEntryCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeNewRegistryEntryCodeLength = 374;
static const JSC::Intrinsic s_moduleLoaderPrototypeNewRegistryEntryCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeNewRegistryEntryCode =
"(function (key)\n" \
"{\n" \
" \"use strict\";\n" \
" return {\n" \
" key: key,\n" \
" state: @ModuleFetch,\n" \
" metadata: @undefined,\n" \
" fetch: @undefined,\n" \
" translate: @undefined,\n" \
" instantiate: @undefined,\n" \
" satisfy: @undefined,\n" \
" dependencies: [],\n" \
" dependenciesMap: @undefined,\n" \
" module: @undefined,\n" \
" error: @undefined,\n" \
" };\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeEnsureRegisteredCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeEnsureRegisteredCodeLength = 211;
static const JSC::Intrinsic s_moduleLoaderPrototypeEnsureRegisteredCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeEnsureRegisteredCode =
"(function (key)\n" \
"{\n" \
" \"use strict\";\n" \
" var entry = this.registry.@get(key);\n" \
" if (entry)\n" \
" return entry;\n" \
" entry = this.newRegistryEntry(key);\n" \
" this.registry.@set(key, entry);\n" \
" return entry;\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeForceFulfillPromiseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeForceFulfillPromiseCodeLength = 147;
static const JSC::Intrinsic s_moduleLoaderPrototypeForceFulfillPromiseCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeForceFulfillPromiseCode =
"(function (promise, value)\n" \
"{\n" \
" \"use strict\";\n" \
" if (promise.@promiseState === @promiseStatePending)\n" \
" @fulfillPromise(promise, value);\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeFulfillFetchCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeFulfillFetchCodeLength = 245;
static const JSC::Intrinsic s_moduleLoaderPrototypeFulfillFetchCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeFulfillFetchCode =
"(function (entry, payload)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!entry.fetch)\n" \
" entry.fetch = @newPromiseCapability(@InternalPromise).@promise;\n" \
" this.forceFulfillPromise(entry.fetch, payload);\n" \
" this.setStateToMax(entry, @ModuleTranslate);\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeFulfillTranslateCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeFulfillTranslateCodeLength = 257;
static const JSC::Intrinsic s_moduleLoaderPrototypeFulfillTranslateCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeFulfillTranslateCode =
"(function (entry, source)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!entry.translate)\n" \
" entry.translate = @newPromiseCapability(@InternalPromise).@promise;\n" \
" this.forceFulfillPromise(entry.translate, source);\n" \
" this.setStateToMax(entry, @ModuleInstantiate);\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeFulfillInstantiateCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeFulfillInstantiateCodeLength = 291;
static const JSC::Intrinsic s_moduleLoaderPrototypeFulfillInstantiateCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeFulfillInstantiateCode =
"(function (entry, optionalInstance, source)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!entry.instantiate)\n" \
" entry.instantiate = @newPromiseCapability(@InternalPromise).@promise;\n" \
" this.commitInstantiated(entry, optionalInstance, source);\n" \
" this.forceFulfillPromise(entry.instantiate, entry);\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeCommitInstantiatedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeCommitInstantiatedCodeLength = 780;
static const JSC::Intrinsic s_moduleLoaderPrototypeCommitInstantiatedCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeCommitInstantiatedCode =
"(function (entry, optionalInstance, source)\n" \
"{\n" \
" \"use strict\";\n" \
" var moduleRecord = this.instantiation(optionalInstance, source, entry);\n" \
" var dependencies = [];\n" \
" var dependenciesMap = moduleRecord.dependenciesMap;\n" \
" moduleRecord.registryEntry = entry;\n" \
" var requestedModules = this.requestedModules(moduleRecord);\n" \
" for (var i = 0, length = requestedModules.length; i < length; ++i) {\n" \
" var depKey = requestedModules[i];\n" \
" var pair = {\n" \
" key: depKey,\n" \
" value: @undefined\n" \
" };\n" \
" dependencies.@push(pair);\n" \
" dependenciesMap.@set(depKey, pair);\n" \
" }\n" \
" entry.dependencies = dependencies;\n" \
" entry.dependenciesMap = dependenciesMap;\n" \
" entry.module = moduleRecord;\n" \
" this.setStateToMax(entry, @ModuleSatisfy);\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeInstantiationCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeInstantiationCodeLength = 105;
static const JSC::Intrinsic s_moduleLoaderPrototypeInstantiationCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeInstantiationCode =
"(function (result, source, entry)\n" \
"{\n" \
" \"use strict\";\n" \
" return this.parseModule(entry.key, source);\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeRequestFetchCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeRequestFetchCodeLength = 609;
static const JSC::Intrinsic s_moduleLoaderPrototypeRequestFetchCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeRequestFetchCode =
"(function (key, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" var entry = this.ensureRegistered(key);\n" \
" if (entry.state > @ModuleLink) {\n" \
" var deferred = @newPromiseCapability(@InternalPromise);\n" \
" deferred.@reject.@call(@undefined, new @TypeError(\"Requested module is already ready to be executed.\"));\n" \
" return deferred.@promise;\n" \
" }\n" \
" if (entry.fetch)\n" \
" return entry.fetch;\n" \
" var fetchPromise = this.fetch(key, initiator).then((payload) => {\n" \
" this.setStateToMax(entry, @ModuleTranslate);\n" \
" return payload;\n" \
" });\n" \
" entry.fetch = fetchPromise;\n" \
" return fetchPromise;\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeRequestTranslateCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeRequestTranslateCodeLength = 735;
static const JSC::Intrinsic s_moduleLoaderPrototypeRequestTranslateCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeRequestTranslateCode =
"(function (key, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" var entry = this.ensureRegistered(key);\n" \
" if (entry.state > @ModuleLink) {\n" \
" var deferred = @newPromiseCapability(@InternalPromise);\n" \
" deferred.@reject.@call(@undefined, new @TypeError(\"Requested module is already ready to be executed.\"));\n" \
" return deferred.@promise;\n" \
" }\n" \
" if (entry.translate)\n" \
" return entry.translate;\n" \
" var translatePromise = this.requestFetch(key, initiator).then((payload) => {\n" \
" return this.translate(key, payload, initiator).then((source) => {\n" \
" this.setStateToMax(entry, @ModuleInstantiate);\n" \
" return source;\n" \
" });\n" \
" });\n" \
" entry.translate = translatePromise;\n" \
" return translatePromise;\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeRequestInstantiateCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeRequestInstantiateCodeLength = 771;
static const JSC::Intrinsic s_moduleLoaderPrototypeRequestInstantiateCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeRequestInstantiateCode =
"(function (key, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" var entry = this.ensureRegistered(key);\n" \
" if (entry.state > @ModuleLink) {\n" \
" var deferred = @newPromiseCapability(@InternalPromise);\n" \
" deferred.@reject.@call(@undefined, new @TypeError(\"Requested module is already ready to be executed.\"));\n" \
" return deferred.@promise;\n" \
" }\n" \
" if (entry.instantiate)\n" \
" return entry.instantiate;\n" \
" var instantiatePromise = this.requestTranslate(key, initiator).then((source) => {\n" \
" return this.instantiate(key, source, initiator).then((optionalInstance) => {\n" \
" this.commitInstantiated(entry, optionalInstance, source);\n" \
" return entry;\n" \
" });\n" \
" });\n" \
" entry.instantiate = instantiatePromise;\n" \
" return instantiatePromise;\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeRequestSatisfyCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeRequestSatisfyCodeLength = 1498;
static const JSC::Intrinsic s_moduleLoaderPrototypeRequestSatisfyCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeRequestSatisfyCode =
"(function (key, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" var entry = this.ensureRegistered(key);\n" \
" if (entry.state > @ModuleLink) {\n" \
" var deferred = @newPromiseCapability(@InternalPromise);\n" \
" deferred.@reject.@call(@undefined, new @TypeError(\"Requested module is already ready to be executed.\"));\n" \
" return deferred.@promise;\n" \
" }\n" \
" if (entry.satisfy)\n" \
" return entry.satisfy;\n" \
" var satisfyPromise = this.requestInstantiate(key, initiator).then((entry) => {\n" \
" var depLoads = [];\n" \
" for (var i = 0, length = entry.dependencies.length; i < length; ++i) {\n" \
" let pair = entry.dependencies[i];\n" \
" var promise = this.resolve(pair.key, key, initiator).then((depKey) => {\n" \
" var depEntry = this.ensureRegistered(depKey);\n" \
" if (depEntry.satisfy) {\n" \
" return depEntry.instantiate.then((entry) => {\n" \
" pair.value = entry.module;\n" \
" return entry;\n" \
" });\n" \
" }\n" \
" return this.requestSatisfy(depKey, initiator).then((entry) => {\n" \
" pair.value = entry.module;\n" \
" return entry;\n" \
" });\n" \
" });\n" \
" depLoads.@push(promise);\n" \
" }\n" \
" return @InternalPromise.internalAll(depLoads).then((modules) => {\n" \
" this.setStateToMax(entry, @ModuleLink);\n" \
" return entry;\n" \
" });\n" \
" });\n" \
" entry.satisfy = satisfyPromise;\n" \
" return satisfyPromise;\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeRequestInstantiateAllCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeRequestInstantiateAllCodeLength = 98;
static const JSC::Intrinsic s_moduleLoaderPrototypeRequestInstantiateAllCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeRequestInstantiateAllCode =
"(function (key, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" return this.requestSatisfy(key, initiator);\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeRequestLinkCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeRequestLinkCodeLength = 426;
static const JSC::Intrinsic s_moduleLoaderPrototypeRequestLinkCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeRequestLinkCode =
"(function (key, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" var entry = this.ensureRegistered(key);\n" \
" if (entry.state > @ModuleLink) {\n" \
" var deferred = @newPromiseCapability(@InternalPromise);\n" \
" deferred.@resolve.@call(@undefined, entry);\n" \
" return deferred.@promise;\n" \
" }\n" \
" return this.requestInstantiateAll(key, initiator).then((entry) => {\n" \
" this.link(entry, initiator);\n" \
" return entry;\n" \
" });\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeRequestReadyCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeRequestReadyCodeLength = 176;
static const JSC::Intrinsic s_moduleLoaderPrototypeRequestReadyCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeRequestReadyCode =
"(function (key, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" return this.requestLink(key, initiator).then((entry) => {\n" \
" this.moduleEvaluation(entry.module, initiator);\n" \
" });\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeLinkCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeLinkCodeLength = 427;
static const JSC::Intrinsic s_moduleLoaderPrototypeLinkCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeLinkCode =
"(function (entry, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" if (entry.state === @ModuleReady)\n" \
" return;\n" \
" this.setStateToMax(entry, @ModuleReady);\n" \
" var dependencies = entry.dependencies;\n" \
" for (var i = 0, length = dependencies.length; i < length; ++i) {\n" \
" var pair = dependencies[i];\n" \
" this.link(pair.value.registryEntry, initiator);\n" \
" }\n" \
" this.moduleDeclarationInstantiation(entry.module, initiator);\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeModuleEvaluationCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeModuleEvaluationCodeLength = 506;
static const JSC::Intrinsic s_moduleLoaderPrototypeModuleEvaluationCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeModuleEvaluationCode =
"(function (moduleRecord, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" if (moduleRecord.evaluated)\n" \
" return;\n" \
" moduleRecord.evaluated = true;\n" \
" var entry = moduleRecord.registryEntry;\n" \
" var dependencies = entry.dependencies;\n" \
" for (var i = 0, length = dependencies.length; i < length; ++i) {\n" \
" var pair = dependencies[i];\n" \
" var requiredModuleRecord = pair.value;\n" \
" this.moduleEvaluation(requiredModuleRecord, initiator);\n" \
" }\n" \
" this.evaluate(entry.key, moduleRecord, initiator);\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeProvideCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeProvideCodeLength = 1051;
static const JSC::Intrinsic s_moduleLoaderPrototypeProvideCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeProvideCode =
"(function (key, stage, value)\n" \
"{\n" \
" \"use strict\";\n" \
" var entry = this.ensureRegistered(key);\n" \
" if (stage === @ModuleFetch) {\n" \
" if (entry.state > @ModuleFetch)\n" \
" throw new @TypeError(\"Requested module is already fetched.\");\n" \
" this.fulfillFetch(entry, value);\n" \
" return;\n" \
" }\n" \
" if (stage === @ModuleTranslate) {\n" \
" if (entry.state > @ModuleTranslate)\n" \
" throw new @TypeError(\"Requested module is already translated.\");\n" \
" this.fulfillFetch(entry, @undefined);\n" \
" this.fulfillTranslate(entry, value);\n" \
" return;\n" \
" }\n" \
" if (stage === @ModuleInstantiate) {\n" \
" if (entry.state > @ModuleInstantiate)\n" \
" throw new @TypeError(\"Requested module is already instantiated.\");\n" \
" this.fulfillFetch(entry, @undefined);\n" \
" this.fulfillTranslate(entry, value);\n" \
" entry.translate.then((source) => {\n" \
" this.fulfillInstantiate(entry, value, source);\n" \
" });\n" \
" return;\n" \
" }\n" \
" throw new @TypeError(\"Requested module is already ready to be executed.\");\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeLoadAndEvaluateModuleCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeLoadAndEvaluateModuleCodeLength = 198;
static const JSC::Intrinsic s_moduleLoaderPrototypeLoadAndEvaluateModuleCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeLoadAndEvaluateModuleCode =
"(function (moduleName, referrer, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" return this.resolve(moduleName, referrer, initiator).then((key) => {\n" \
" return this.requestReady(key, initiator);\n" \
" });\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeLoadModuleCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeLoadModuleCodeLength = 258;
static const JSC::Intrinsic s_moduleLoaderPrototypeLoadModuleCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeLoadModuleCode =
"(function (moduleName, referrer, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" return this.resolve(moduleName, referrer, initiator).then((key) => {\n" \
" return this.requestInstantiateAll(key, initiator);\n" \
" }).then((entry) => {\n" \
" return entry.key;\n" \
" });\n" \
"})\n" \
;
const JSC::ConstructAbility s_moduleLoaderPrototypeLinkAndEvaluateModuleCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_moduleLoaderPrototypeLinkAndEvaluateModuleCodeLength = 296;
static const JSC::Intrinsic s_moduleLoaderPrototypeLinkAndEvaluateModuleCodeIntrinsic = JSC::NoIntrinsic;
const char* s_moduleLoaderPrototypeLinkAndEvaluateModuleCode =
"(function (key, initiator)\n" \
"{\n" \
" \"use strict\";\n" \
" var entry = this.ensureRegistered(key);\n" \
" if (entry.state < @ModuleLink)\n" \
" throw new @TypeError(\"Requested module is not instantiated yet.\");\n" \
" this.link(entry, initiator);\n" \
" return this.moduleEvaluation(entry.module, initiator);\n" \
"})\n" \
;
const JSC::ConstructAbility s_numberConstructorIsFiniteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_numberConstructorIsFiniteCodeLength = 201;
static const JSC::Intrinsic s_numberConstructorIsFiniteCodeIntrinsic = JSC::NoIntrinsic;
const char* s_numberConstructorIsFiniteCode =
"(function (value)\n" \
"{\n" \
" \"use strict\";\n" \
" if (typeof value !== \"number\")\n" \
" return false;\n" \
" if (value !== value)\n" \
" return false;\n" \
" return value !== @Infinity && value !== -@Infinity;\n" \
"})\n" \
;
const JSC::ConstructAbility s_numberConstructorIsNaNCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_numberConstructorIsNaNCodeLength = 69;
static const JSC::Intrinsic s_numberConstructorIsNaNCodeIntrinsic = JSC::NoIntrinsic;
const char* s_numberConstructorIsNaNCode =
"(function (value)\n" \
"{\n" \
" \"use strict\";\n" \
" return value !== value;\n" \
"})\n" \
;
const JSC::ConstructAbility s_numberPrototypeToLocaleStringCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_numberPrototypeToLocaleStringCodeLength = 193;
static const JSC::Intrinsic s_numberPrototypeToLocaleStringCodeIntrinsic = JSC::NoIntrinsic;
const char* s_numberPrototypeToLocaleStringCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" var number = @thisNumberValue.@call(this);\n" \
" var numberFormat = new @NumberFormat(arguments[0], arguments[1]);\n" \
" return numberFormat.format(number);\n" \
"})\n" \
;
const JSC::ConstructAbility s_objectConstructorEnumerableOwnPropertiesCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_objectConstructorEnumerableOwnPropertiesCodeLength = 731;
static const JSC::Intrinsic s_objectConstructorEnumerableOwnPropertiesCodeIntrinsic = JSC::NoIntrinsic;
const char* s_objectConstructorEnumerableOwnPropertiesCode =
"(function (object, kind)\n" \
"{\n" \
" \"use strict\";\n" \
" const obj = @Object(object);\n" \
" const ownKeys = @Reflect.@ownKeys(obj);\n" \
" const properties = [];\n" \
" for (let i = 0, keysLength = ownKeys.length; i < keysLength; ++i) {\n" \
" let nextKey = ownKeys[i];\n" \
" if (typeof nextKey === 'string') {\n" \
" let descriptor = @Reflect.@getOwnPropertyDescriptor(obj, nextKey);\n" \
" if (descriptor !== @undefined && descriptor.enumerable) {\n" \
" if (kind === @iterationKindValue)\n" \
" properties.@push(obj[nextKey]);\n" \
" else if (kind === @iterationKindKeyValue)\n" \
" properties.@push([nextKey, obj[nextKey]]);\n" \
" }\n" \
" }\n" \
" }\n" \
" \n" \
" return properties;\n" \
"})\n" \
;
const JSC::ConstructAbility s_objectConstructorValuesCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_objectConstructorValuesCodeLength = 239;
static const JSC::Intrinsic s_objectConstructorValuesCodeIntrinsic = JSC::NoIntrinsic;
const char* s_objectConstructorValuesCode =
"(function (object)\n" \
"{\n" \
" \"use strict\";\n" \
" \n" \
" if (object == null)\n" \
" throw new @TypeError(\"Object.values requires that input parameter not be null or undefined\");\n" \
" return @enumerableOwnProperties(object, @iterationKindValue);\n" \
"})\n" \
;
const JSC::ConstructAbility s_objectConstructorEntriesCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_objectConstructorEntriesCodeLength = 248;
static const JSC::Intrinsic s_objectConstructorEntriesCodeIntrinsic = JSC::NoIntrinsic;
const char* s_objectConstructorEntriesCode =
"(function (object)\n" \
"{\n" \
" \"use strict\";\n" \
" \n" \
" if (object == null)\n" \
" throw new @TypeError(\"Object.entries requires that input parameter not be null or undefined\");\n" \
" \n" \
" return @enumerableOwnProperties(object, @iterationKindKeyValue);\n" \
"})\n" \
;
const JSC::ConstructAbility s_objectConstructorAssignCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_objectConstructorAssignCodeLength = 813;
static const JSC::Intrinsic s_objectConstructorAssignCodeIntrinsic = JSC::NoIntrinsic;
const char* s_objectConstructorAssignCode =
"(function (target, sources)\n" \
"{\n" \
" \"use strict\";\n" \
" if (target == null)\n" \
" throw new @TypeError(\"can't convert \" + target + \" to object\");\n" \
" let objTarget = @Object(target);\n" \
" for (let s = 1, argumentsLength = arguments.length; s < argumentsLength; ++s) {\n" \
" let nextSource = arguments[s];\n" \
" if (nextSource != null) {\n" \
" let from = @Object(nextSource);\n" \
" let keys = @Reflect.@ownKeys(from);\n" \
" for (let i = 0, keysLength = keys.length; i < keysLength; ++i) {\n" \
" let nextKey = keys[i];\n" \
" let descriptor = @Reflect.@getOwnPropertyDescriptor(from, nextKey);\n" \
" if (descriptor !== @undefined && descriptor.enumerable)\n" \
" objTarget[nextKey] = from[nextKey];\n" \
" }\n" \
" }\n" \
" }\n" \
" return objTarget;\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseConstructorAllCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseConstructorAllCodeLength = 1370;
static const JSC::Intrinsic s_promiseConstructorAllCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseConstructorAllCode =
"(function (iterable)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isObject(this))\n" \
" throw new @TypeError(\"|this| is not a object\");\n" \
" var promiseCapability = @newPromiseCapability(this);\n" \
" var values = [];\n" \
" var index = 0;\n" \
" var remainingElementsCount = 1;\n" \
" function newResolveElement(index)\n" \
" {\n" \
" var alreadyCalled = false;\n" \
" return function (argument)\n" \
" {\n" \
" if (alreadyCalled)\n" \
" return @undefined;\n" \
" alreadyCalled = true;\n" \
" @putByValDirect(values, index, argument);\n" \
" --remainingElementsCount;\n" \
" if (remainingElementsCount === 0)\n" \
" return promiseCapability.@resolve.@call(@undefined, values);\n" \
" return @undefined;\n" \
" }\n" \
" }\n" \
" try {\n" \
" for (var value of iterable) {\n" \
" @putByValDirect(values, index, @undefined);\n" \
" var nextPromise = this.resolve(value);\n" \
" var resolveElement = newResolveElement(index);\n" \
" ++remainingElementsCount;\n" \
" nextPromise.then(resolveElement, promiseCapability.@reject);\n" \
" ++index;\n" \
" }\n" \
" --remainingElementsCount;\n" \
" if (remainingElementsCount === 0)\n" \
" promiseCapability.@resolve.@call(@undefined, values);\n" \
" } catch (error) {\n" \
" promiseCapability.@reject.@call(@undefined, error);\n" \
" }\n" \
" return promiseCapability.@promise;\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseConstructorRaceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseConstructorRaceCodeLength = 504;
static const JSC::Intrinsic s_promiseConstructorRaceCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseConstructorRaceCode =
"(function (iterable)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isObject(this))\n" \
" throw new @TypeError(\"|this| is not a object\");\n" \
" var promiseCapability = @newPromiseCapability(this);\n" \
" try {\n" \
" for (var value of iterable) {\n" \
" var nextPromise = this.resolve(value);\n" \
" nextPromise.then(promiseCapability.@resolve, promiseCapability.@reject);\n" \
" }\n" \
" } catch (error) {\n" \
" promiseCapability.@reject.@call(@undefined, error);\n" \
" }\n" \
" return promiseCapability.@promise;\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseConstructorRejectCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseConstructorRejectCodeLength = 277;
static const JSC::Intrinsic s_promiseConstructorRejectCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseConstructorRejectCode =
"(function (reason)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isObject(this))\n" \
" throw new @TypeError(\"|this| is not a object\");\n" \
" var promiseCapability = @newPromiseCapability(this);\n" \
" promiseCapability.@reject.@call(@undefined, reason);\n" \
" return promiseCapability.@promise;\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseConstructorResolveCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseConstructorResolveCodeLength = 426;
static const JSC::Intrinsic s_promiseConstructorResolveCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseConstructorResolveCode =
"(function (value)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isObject(this))\n" \
" throw new @TypeError(\"|this| is not a object\");\n" \
" if (@isPromise(value)) {\n" \
" var valueConstructor = value.constructor;\n" \
" if (valueConstructor === this)\n" \
" return value;\n" \
" }\n" \
" var promiseCapability = @newPromiseCapability(this);\n" \
" promiseCapability.@resolve.@call(@undefined, value);\n" \
" return promiseCapability.@promise;\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseOperationsIsPromiseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseOperationsIsPromiseCodeLength = 101;
static const JSC::Intrinsic s_promiseOperationsIsPromiseCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseOperationsIsPromiseCode =
"(function (promise)\n" \
"{\n" \
" \"use strict\";\n" \
" return @isObject(promise) && !!promise.@promiseState;\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseOperationsNewPromiseReactionCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseOperationsNewPromiseReactionCodeLength = 136;
static const JSC::Intrinsic s_promiseOperationsNewPromiseReactionCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseOperationsNewPromiseReactionCode =
"(function (capability, handler)\n" \
"{\n" \
" \"use strict\";\n" \
" return {\n" \
" @capabilities: capability,\n" \
" @handler: handler\n" \
" };\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseOperationsNewPromiseCapabilityCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseOperationsNewPromiseCapabilityCodeLength = 1060;
static const JSC::Intrinsic s_promiseOperationsNewPromiseCapabilityCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseOperationsNewPromiseCapabilityCode =
"(function (constructor)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isConstructor(constructor))\n" \
" throw new @TypeError(\"promise capability requires a constructor function\");\n" \
" var promiseCapability = {\n" \
" @promise: @undefined,\n" \
" @resolve: @undefined,\n" \
" @reject: @undefined\n" \
" };\n" \
" function executor(resolve, reject)\n" \
" {\n" \
" if (promiseCapability.@resolve !== @undefined)\n" \
" throw new @TypeError(\"resolve function is already set\");\n" \
" if (promiseCapability.@reject !== @undefined)\n" \
" throw new @TypeError(\"reject function is already set\");\n" \
" promiseCapability.@resolve = resolve;\n" \
" promiseCapability.@reject = reject;\n" \
" }\n" \
" var promise = new constructor(executor);\n" \
" if (typeof promiseCapability.@resolve !== \"function\")\n" \
" throw new @TypeError(\"executor did not take a resolve function\");\n" \
" if (typeof promiseCapability.@reject !== \"function\")\n" \
" throw new @TypeError(\"executor did not take a reject function\");\n" \
" promiseCapability.@promise = promise;\n" \
" return promiseCapability;\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseOperationsTriggerPromiseReactionsCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseOperationsTriggerPromiseReactionsCodeLength = 203;
static const JSC::Intrinsic s_promiseOperationsTriggerPromiseReactionsCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseOperationsTriggerPromiseReactionsCode =
"(function (reactions, argument)\n" \
"{\n" \
" \"use strict\";\n" \
" for (var index = 0, length = reactions.length; index < length; ++index)\n" \
" @enqueueJob(@promiseReactionJob, [reactions[index], argument]);\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseOperationsRejectPromiseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseOperationsRejectPromiseCodeLength = 417;
static const JSC::Intrinsic s_promiseOperationsRejectPromiseCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseOperationsRejectPromiseCode =
"(function (promise, reason)\n" \
"{\n" \
" \"use strict\";\n" \
" var reactions = promise.@promiseRejectReactions;\n" \
" promise.@promiseResult = reason;\n" \
" promise.@promiseFulfillReactions = @undefined;\n" \
" promise.@promiseRejectReactions = @undefined;\n" \
" promise.@promiseState = @promiseStateRejected;\n" \
" @InspectorInstrumentation.promiseRejected(promise, reason, reactions);\n" \
" @triggerPromiseReactions(reactions, reason);\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseOperationsFulfillPromiseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseOperationsFulfillPromiseCodeLength = 416;
static const JSC::Intrinsic s_promiseOperationsFulfillPromiseCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseOperationsFulfillPromiseCode =
"(function (promise, value)\n" \
"{\n" \
" \"use strict\";\n" \
" var reactions = promise.@promiseFulfillReactions;\n" \
" promise.@promiseResult = value;\n" \
" promise.@promiseFulfillReactions = @undefined;\n" \
" promise.@promiseRejectReactions = @undefined;\n" \
" promise.@promiseState = @promiseStateFulfilled;\n" \
" @InspectorInstrumentation.promiseFulfilled(promise, value, reactions);\n" \
" @triggerPromiseReactions(reactions, value);\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseOperationsCreateResolvingFunctionsCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseOperationsCreateResolvingFunctionsCodeLength = 1051;
static const JSC::Intrinsic s_promiseOperationsCreateResolvingFunctionsCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseOperationsCreateResolvingFunctionsCode =
"(function (promise)\n" \
"{\n" \
" \"use strict\";\n" \
" var alreadyResolved = false;\n" \
" var resolve = function (resolution) {\n" \
" if (alreadyResolved)\n" \
" return @undefined;\n" \
" alreadyResolved = true;\n" \
" if (resolution === promise)\n" \
" return @rejectPromise(promise, new @TypeError(\"Resolve a promise with itself\"));\n" \
" if (!@isObject(resolution))\n" \
" return @fulfillPromise(promise, resolution);\n" \
" var then;\n" \
" try {\n" \
" then = resolution.then;\n" \
" } catch (error) {\n" \
" return @rejectPromise(promise, error);\n" \
" }\n" \
" if (typeof then !== 'function')\n" \
" return @fulfillPromise(promise, resolution);\n" \
" @enqueueJob(@promiseResolveThenableJob, [promise, resolution, then]);\n" \
" return @undefined;\n" \
" };\n" \
" var reject = function (reason) {\n" \
" if (alreadyResolved)\n" \
" return @undefined;\n" \
" alreadyResolved = true;\n" \
" return @rejectPromise(promise, reason);\n" \
" };\n" \
" return {\n" \
" @resolve: resolve,\n" \
" @reject: reject\n" \
" };\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseOperationsPromiseReactionJobCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseOperationsPromiseReactionJobCodeLength = 356;
static const JSC::Intrinsic s_promiseOperationsPromiseReactionJobCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseOperationsPromiseReactionJobCode =
"(function (reaction, argument)\n" \
"{\n" \
" \"use strict\";\n" \
" var promiseCapability = reaction.@capabilities;\n" \
" var result;\n" \
" try {\n" \
" result = reaction.@handler.@call(@undefined, argument);\n" \
" } catch (error) {\n" \
" return promiseCapability.@reject.@call(@undefined, error);\n" \
" }\n" \
" return promiseCapability.@resolve.@call(@undefined, result);\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseOperationsPromiseResolveThenableJobCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseOperationsPromiseResolveThenableJobCodeLength = 342;
static const JSC::Intrinsic s_promiseOperationsPromiseResolveThenableJobCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseOperationsPromiseResolveThenableJobCode =
"(function (promiseToResolve, thenable, then)\n" \
"{\n" \
" \"use strict\";\n" \
" var resolvingFunctions = @createResolvingFunctions(promiseToResolve);\n" \
" try {\n" \
" return then.@call(thenable, resolvingFunctions.@resolve, resolvingFunctions.@reject);\n" \
" } catch (error) {\n" \
" return resolvingFunctions.@reject.@call(@undefined, error);\n" \
" }\n" \
"})\n" \
;
const JSC::ConstructAbility s_promiseOperationsInitializePromiseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promiseOperationsInitializePromiseCodeLength = 549;
static const JSC::Intrinsic s_promiseOperationsInitializePromiseCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promiseOperationsInitializePromiseCode =
"(function (executor)\n" \
"{\n" \
" \"use strict\";\n" \
" if (typeof executor !== 'function')\n" \
" throw new @TypeError(\"Promise constructor takes a function argument\");\n" \
" this.@promiseState = @promiseStatePending;\n" \
" this.@promiseFulfillReactions = [];\n" \
" this.@promiseRejectReactions = [];\n" \
" var resolvingFunctions = @createResolvingFunctions(this);\n" \
" try {\n" \
" executor(resolvingFunctions.@resolve, resolvingFunctions.@reject);\n" \
" } catch (error) {\n" \
" return resolvingFunctions.@reject.@call(@undefined, error);\n" \
" }\n" \
" return this;\n" \
"})\n" \
;
const JSC::ConstructAbility s_promisePrototypeCatchCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promisePrototypeCatchCodeLength = 92;
static const JSC::Intrinsic s_promisePrototypeCatchCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promisePrototypeCatchCode =
"(function (onRejected)\n" \
"{\n" \
" \"use strict\";\n" \
" return this.then(@undefined, onRejected);\n" \
"})\n" \
;
const JSC::ConstructAbility s_promisePrototypeThenCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_promisePrototypeThenCodeLength = 1220;
static const JSC::Intrinsic s_promisePrototypeThenCodeIntrinsic = JSC::NoIntrinsic;
const char* s_promisePrototypeThenCode =
"(function (onFulfilled, onRejected)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isPromise(this))\n" \
" throw new @TypeError(\"|this| is not a object\");\n" \
" var constructor = @speciesConstructor(this, @Promise);\n" \
" var resultCapability = @newPromiseCapability(constructor);\n" \
" if (typeof onFulfilled !== \"function\")\n" \
" onFulfilled = function (argument) { return argument; };\n" \
" if (typeof onRejected !== \"function\")\n" \
" onRejected = function (argument) { throw argument; };\n" \
" var fulfillReaction = @newPromiseReaction(resultCapability, onFulfilled);\n" \
" var rejectReaction = @newPromiseReaction(resultCapability, onRejected);\n" \
" var state = this.@promiseState;\n" \
" if (state === @promiseStatePending) {\n" \
" @putByValDirect(this.@promiseFulfillReactions, this.@promiseFulfillReactions.length, fulfillReaction)\n" \
" @putByValDirect(this.@promiseRejectReactions, this.@promiseRejectReactions.length, rejectReaction)\n" \
" } else if (state === @promiseStateFulfilled)\n" \
" @enqueueJob(@promiseReactionJob, [fulfillReaction, this.@promiseResult]);\n" \
" else if (state === @promiseStateRejected)\n" \
" @enqueueJob(@promiseReactionJob, [rejectReaction, this.@promiseResult]);\n" \
" return resultCapability.@promise;\n" \
"})\n" \
;
const JSC::ConstructAbility s_reflectObjectApplyCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_reflectObjectApplyCodeLength = 376;
static const JSC::Intrinsic s_reflectObjectApplyCodeIntrinsic = JSC::NoIntrinsic;
const char* s_reflectObjectApplyCode =
"(function (target, thisArgument, argumentsList)\n" \
"{\n" \
" \"use strict\";\n" \
" if (typeof target !== \"function\")\n" \
" throw new @TypeError(\"Reflect.apply requires the first argument be a function\");\n" \
" if (!@isObject(argumentsList))\n" \
" throw new @TypeError(\"Reflect.apply requires the third argument be an object\");\n" \
" return target.@apply(thisArgument, argumentsList);\n" \
"})\n" \
;
const JSC::ConstructAbility s_reflectObjectDeletePropertyCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_reflectObjectDeletePropertyCodeLength = 201;
static const JSC::Intrinsic s_reflectObjectDeletePropertyCodeIntrinsic = JSC::NoIntrinsic;
const char* s_reflectObjectDeletePropertyCode =
"(function (target, propertyKey)\n" \
"{\n" \
" if (!@isObject(target))\n" \
" throw new @TypeError(\"Reflect.deleteProperty requires the first argument be an object\");\n" \
" return delete target[propertyKey];\n" \
"})\n" \
;
const JSC::ConstructAbility s_reflectObjectHasCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_reflectObjectHasCodeLength = 203;
static const JSC::Intrinsic s_reflectObjectHasCodeIntrinsic = JSC::NoIntrinsic;
const char* s_reflectObjectHasCode =
"(function (target, propertyKey)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isObject(target))\n" \
" throw new @TypeError(\"Reflect.has requires the first argument be an object\");\n" \
" return propertyKey in target;\n" \
"})\n" \
;
const JSC::ConstructAbility s_regExpPrototypeAdvanceStringIndexCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_regExpPrototypeAdvanceStringIndexCodeLength = 415;
static const JSC::Intrinsic s_regExpPrototypeAdvanceStringIndexCodeIntrinsic = JSC::NoIntrinsic;
const char* s_regExpPrototypeAdvanceStringIndexCode =
"(function (string, index, unicode)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!unicode)\n" \
" return index + 1;\n" \
" if (index + 1 >= string.length)\n" \
" return index + 1;\n" \
" let first = string.@charCodeAt(index);\n" \
" if (first < 0xD800 || first > 0xDBFF)\n" \
" return index + 1;\n" \
" let second = string.@charCodeAt(index + 1);\n" \
" if (second < 0xDC00 || second > 0xDFFF)\n" \
" return index + 1;\n" \
" return index + 2;\n" \
"})\n" \
;
const JSC::ConstructAbility s_regExpPrototypeRegExpExecCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_regExpPrototypeRegExpExecCodeLength = 439;
static const JSC::Intrinsic s_regExpPrototypeRegExpExecCodeIntrinsic = JSC::NoIntrinsic;
const char* s_regExpPrototypeRegExpExecCode =
"(function (regexp, str)\n" \
"{\n" \
" \"use strict\";\n" \
" let exec = regexp.exec;\n" \
" let builtinExec = @regExpBuiltinExec;\n" \
" if (exec !== builtinExec && typeof exec === \"function\") {\n" \
" let result = exec.@call(regexp, str);\n" \
" if (result !== null && !@isObject(result))\n" \
" throw new @TypeError(\"The result of a RegExp exec must be null or an object\");\n" \
" return result;\n" \
" }\n" \
" return builtinExec.@call(regexp, str);\n" \
"})\n" \
;
const JSC::ConstructAbility s_regExpPrototypeHasObservableSideEffectsForRegExpMatchCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_regExpPrototypeHasObservableSideEffectsForRegExpMatchCodeLength = 431;
static const JSC::Intrinsic s_regExpPrototypeHasObservableSideEffectsForRegExpMatchCodeIntrinsic = JSC::NoIntrinsic;
const char* s_regExpPrototypeHasObservableSideEffectsForRegExpMatchCode =
"(function (regexp) {\n" \
" let regexpExec = @tryGetById(regexp, \"exec\");\n" \
" if (regexpExec !== @regExpBuiltinExec)\n" \
" return true;\n" \
" let regexpGlobal = @tryGetById(regexp, \"global\");\n" \
" if (regexpGlobal !== @regExpProtoGlobalGetter)\n" \
" return true;\n" \
" let regexpUnicode = @tryGetById(regexp, \"unicode\");\n" \
" if (regexpUnicode !== @regExpProtoUnicodeGetter)\n" \
" return true;\n" \
" return !@isRegExpObject(regexp);\n" \
"})\n" \
;
const JSC::ConstructAbility s_regExpPrototypeMatchCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_regExpPrototypeMatchCodeLength = 1217;
static const JSC::Intrinsic s_regExpPrototypeMatchCodeIntrinsic = JSC::NoIntrinsic;
const char* s_regExpPrototypeMatchCode =
"(function (strArg)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isObject(this))\n" \
" throw new @TypeError(\"RegExp.prototype.@@match requires that |this| be an Object\");\n" \
" let regexp = this;\n" \
" if (!@hasObservableSideEffectsForRegExpMatch(regexp))\n" \
" return @regExpMatchFast.@call(regexp, strArg);\n" \
" let str = @toString(strArg);\n" \
" if (!regexp.global)\n" \
" return @regExpExec(regexp, str);\n" \
" \n" \
" let unicode = regexp.unicode;\n" \
" regexp.lastIndex = 0;\n" \
" let resultList = [];\n" \
" const maximumReasonableMatchSize = 100000000;\n" \
" while (true) {\n" \
" let result = @regExpExec(regexp, str);\n" \
" \n" \
" if (result === null) {\n" \
" if (resultList.length === 0)\n" \
" return null;\n" \
" return resultList;\n" \
" }\n" \
" if (resultList.length > maximumReasonableMatchSize)\n" \
" throw new @Error(\"Out of memory\");\n" \
" if (!@isObject(result))\n" \
" throw new @TypeError(\"RegExp.prototype.@@match call to RegExp.exec didn't return null or an object\");\n" \
" let resultString = @toString(result[0]);\n" \
" if (!resultString.length)\n" \
" regexp.lastIndex = @advanceStringIndex(str, regexp.lastIndex, unicode);\n" \
" resultList.@push(resultString);\n" \
" }\n" \
"})\n" \
;
const JSC::ConstructAbility s_regExpPrototypeReplaceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_regExpPrototypeReplaceCodeLength = 5221;
static const JSC::Intrinsic s_regExpPrototypeReplaceCodeIntrinsic = JSC::NoIntrinsic;
const char* s_regExpPrototypeReplaceCode =
"(function (strArg, replace)\n" \
"{\n" \
" \"use strict\";\n" \
" function getSubstitution(matched, str, position, captures, replacement)\n" \
" {\n" \
" \"use strict\";\n" \
" let matchLength = matched.length;\n" \
" let stringLength = str.length;\n" \
" let tailPos = position + matchLength;\n" \
" let m = captures.length;\n" \
" let replacementLength = replacement.length;\n" \
" let result = \"\";\n" \
" let lastStart = 0;\n" \
" for (let start = 0; start = replacement.indexOf(\"$\", lastStart), start !== -1; lastStart = start) {\n" \
" if (start - lastStart > 0)\n" \
" result = result + replacement.substring(lastStart, start);\n" \
" start++;\n" \
" let ch = replacement.charAt(start);\n" \
" if (ch === \"\")\n" \
" result = result + \"$\";\n" \
" else {\n" \
" switch (ch)\n" \
" {\n" \
" case \"$\":\n" \
" result = result + \"$\";\n" \
" start++;\n" \
" break;\n" \
" case \"&\":\n" \
" result = result + matched;\n" \
" start++;\n" \
" break;\n" \
" case \"`\":\n" \
" if (position > 0)\n" \
" result = result + str.substring(0, position);\n" \
" start++;\n" \
" break;\n" \
" case \"'\":\n" \
" if (tailPos < stringLength)\n" \
" result = result + str.substring(tailPos);\n" \
" start++;\n" \
" break;\n" \
" default:\n" \
" let chCode = ch.charCodeAt(0);\n" \
" if (chCode >= 0x30 && chCode <= 0x39) {\n" \
" start++;\n" \
" let n = chCode - 0x30;\n" \
" if (n > m)\n" \
" break;\n" \
" if (start < replacementLength) {\n" \
" let nextChCode = replacement.charCodeAt(start);\n" \
" if (nextChCode >= 0x30 && nextChCode <= 0x39) {\n" \
" let nn = 10 * n + nextChCode - 0x30;\n" \
" if (nn <= m) {\n" \
" n = nn;\n" \
" start++;\n" \
" }\n" \
" }\n" \
" }\n" \
" if (n == 0)\n" \
" break;\n" \
" if (captures[n] != @undefined)\n" \
" result = result + captures[n];\n" \
" } else\n" \
" result = result + \"$\";\n" \
" break;\n" \
" }\n" \
" }\n" \
" }\n" \
" return result + replacement.substring(lastStart);\n" \
" }\n" \
" if (!@isObject(this))\n" \
" throw new @TypeError(\"RegExp.prototype.@@replace requires that |this| be an Object\");\n" \
" let regexp = this;\n" \
" let str = @toString(strArg);\n" \
" let stringLength = str.length;\n" \
" let functionalReplace = typeof replace === 'function';\n" \
" if (!functionalReplace)\n" \
" replace = @toString(replace);\n" \
" let global = regexp.global;\n" \
" let unicode = false;\n" \
" if (global) {\n" \
" unicode = regexp.unicode;\n" \
" regexp.lastIndex = 0;\n" \
" }\n" \
" let resultList = [];\n" \
" let result;\n" \
" let done = false;\n" \
" while (!done) {\n" \
" result = @regExpExec(regexp, str);\n" \
" if (result === null)\n" \
" done = true;\n" \
" else {\n" \
" resultList.@push(result);\n" \
" if (!global)\n" \
" done = true;\n" \
" else {\n" \
" let matchStr = @toString(result[0]);\n" \
" if (!matchStr.length)\n" \
" regexp.lastIndex = @advanceStringIndex(str, regexp.lastIndex, unicode);\n" \
" }\n" \
" }\n" \
" }\n" \
" let accumulatedResult = \"\";\n" \
" let nextSourcePosition = 0;\n" \
" let lastPosition = 0;\n" \
" for (result of resultList) {\n" \
" let nCaptures = result.length - 1;\n" \
" if (nCaptures < 0)\n" \
" nCaptures = 0;\n" \
" let matched = @toString(result[0]);\n" \
" let matchLength = matched.length;\n" \
" let position = result.index;\n" \
" position = (position > stringLength) ? stringLength : position;\n" \
" position = (position < 0) ? 0 : position;\n" \
" let captures = [];\n" \
" for (let n = 1; n <= nCaptures; n++) {\n" \
" let capN = result[n];\n" \
" if (capN !== @undefined)\n" \
" capN = @toString(capN);\n" \
" captures[n] = capN;\n" \
" }\n" \
" let replacement;\n" \
" if (functionalReplace) {\n" \
" let replacerArgs = [ matched ].concat(captures.slice(1));\n" \
" replacerArgs.@push(position);\n" \
" replacerArgs.@push(str);\n" \
" let replValue = replace.@apply(@undefined, replacerArgs);\n" \
" replacement = @toString(replValue);\n" \
" } else\n" \
" replacement = getSubstitution(matched, str, position, captures, replace);\n" \
" if (position >= nextSourcePosition && position >= lastPosition) {\n" \
" accumulatedResult = accumulatedResult + str.substring(nextSourcePosition, position) + replacement;\n" \
" nextSourcePosition = position + matchLength;\n" \
" lastPosition = position;\n" \
" }\n" \
" }\n" \
" if (nextSourcePosition >= stringLength)\n" \
" return accumulatedResult;\n" \
" return accumulatedResult + str.substring(nextSourcePosition);\n" \
"})\n" \
;
const JSC::ConstructAbility s_regExpPrototypeSearchCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_regExpPrototypeSearchCodeLength = 585;
static const JSC::Intrinsic s_regExpPrototypeSearchCodeIntrinsic = JSC::NoIntrinsic;
const char* s_regExpPrototypeSearchCode =
"(function (strArg)\n" \
"{\n" \
" \"use strict\";\n" \
" let regexp = this;\n" \
" if (@isRegExpObject(regexp) && @tryGetById(regexp, \"exec\") === @regExpBuiltinExec)\n" \
" return @regExpSearchFast.@call(regexp, strArg);\n" \
" if (!@isObject(this))\n" \
" throw new @TypeError(\"RegExp.prototype.@@search requires that |this| be an Object\");\n" \
" let str = @toString(strArg)\n" \
" let previousLastIndex = regexp.lastIndex;\n" \
" regexp.lastIndex = 0;\n" \
" let result = @regExpExec(regexp, str);\n" \
" regexp.lastIndex = previousLastIndex;\n" \
" if (result === null)\n" \
" return -1;\n" \
" return result.index;\n" \
"})\n" \
;
const JSC::ConstructAbility s_regExpPrototypeHasObservableSideEffectsForRegExpSplitCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_regExpPrototypeHasObservableSideEffectsForRegExpSplitCodeLength = 1090;
static const JSC::Intrinsic s_regExpPrototypeHasObservableSideEffectsForRegExpSplitCodeIntrinsic = JSC::NoIntrinsic;
const char* s_regExpPrototypeHasObservableSideEffectsForRegExpSplitCode =
"(function (regexp) {\n" \
" let regexpExec = @tryGetById(regexp, \"exec\");\n" \
" if (regexpExec !== @regExpBuiltinExec)\n" \
" return true;\n" \
" let regexpFlags = @tryGetById(regexp, \"flags\");\n" \
" if (regexpFlags !== @regExpProtoFlagsGetter)\n" \
" return true;\n" \
" let regexpGlobal = @tryGetById(regexp, \"global\");\n" \
" if (regexpGlobal !== @regExpProtoGlobalGetter)\n" \
" return true;\n" \
" let regexpIgnoreCase = @tryGetById(regexp, \"ignoreCase\");\n" \
" if (regexpIgnoreCase !== @regExpProtoIgnoreCaseGetter)\n" \
" return true;\n" \
" let regexpMultiline = @tryGetById(regexp, \"multiline\");\n" \
" if (regexpMultiline !== @regExpProtoMultilineGetter)\n" \
" return true;\n" \
" let regexpSticky = @tryGetById(regexp, \"sticky\");\n" \
" if (regexpSticky !== @regExpProtoStickyGetter)\n" \
" return true;\n" \
" let regexpUnicode = @tryGetById(regexp, \"unicode\");\n" \
" if (regexpUnicode !== @regExpProtoUnicodeGetter)\n" \
" return true;\n" \
" let regexpSource = @tryGetById(regexp, \"source\");\n" \
" if (regexpSource !== @regExpProtoSourceGetter)\n" \
" return true;\n" \
" \n" \
" return !@isRegExpObject(regexp);\n" \
"})\n" \
;
const JSC::ConstructAbility s_regExpPrototypeSplitCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_regExpPrototypeSplitCodeLength = 2655;
static const JSC::Intrinsic s_regExpPrototypeSplitCodeIntrinsic = JSC::NoIntrinsic;
const char* s_regExpPrototypeSplitCode =
"(function (string, limit)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isObject(this))\n" \
" throw new @TypeError(\"RegExp.prototype.@@split requires that |this| be an Object\");\n" \
" let regexp = this;\n" \
" let str = @toString(string);\n" \
" let speciesConstructor = @speciesConstructor(regexp, @RegExp);\n" \
" if (speciesConstructor === @RegExp && !@hasObservableSideEffectsForRegExpSplit(regexp))\n" \
" return @regExpSplitFast.@call(regexp, str, limit);\n" \
" let flags = @toString(regexp.flags);\n" \
" let unicodeMatching = @stringIncludesInternal.@call(flags, \"u\");\n" \
" let newFlags = @stringIncludesInternal.@call(flags, \"y\") ? flags : flags + \"y\";\n" \
" let splitter = new speciesConstructor(regexp, newFlags);\n" \
" if (!@hasObservableSideEffectsForRegExpSplit(splitter))\n" \
" return @regExpSplitFast.@call(splitter, str, limit);\n" \
" let result = [];\n" \
" limit = (limit === @undefined) ? 0xffffffff : limit >>> 0;\n" \
" if (!limit)\n" \
" return result;\n" \
" let size = str.length;\n" \
" if (!size) {\n" \
" let z = @regExpExec(splitter, str);\n" \
" if (z != null)\n" \
" return result;\n" \
" @putByValDirect(result, 0, str);\n" \
" return result;\n" \
" }\n" \
" let position = 0;\n" \
" let matchPosition = 0;\n" \
" while (matchPosition < size) {\n" \
" splitter.lastIndex = matchPosition;\n" \
" let matches = @regExpExec(splitter, str);\n" \
" if (matches === null)\n" \
" matchPosition = @advanceStringIndex(str, matchPosition, unicodeMatching);\n" \
" else {\n" \
" let endPosition = @toLength(splitter.lastIndex);\n" \
" endPosition = (endPosition <= size) ? endPosition : size;\n" \
" if (endPosition === position)\n" \
" matchPosition = @advanceStringIndex(str, matchPosition, unicodeMatching);\n" \
" else {\n" \
" let subStr = @stringSubstrInternal.@call(str, position, matchPosition - position);\n" \
" @putByValDirect(result, result.length, subStr);\n" \
" if (result.length == limit)\n" \
" return result;\n" \
" position = endPosition;\n" \
" let numberOfCaptures = matches.length > 1 ? matches.length - 1 : 0;\n" \
" let i = 1;\n" \
" while (i <= numberOfCaptures) {\n" \
" let nextCapture = matches[i];\n" \
" @putByValDirect(result, result.length, nextCapture);\n" \
" if (result.length == limit)\n" \
" return result;\n" \
" i++;\n" \
" }\n" \
" matchPosition = position;\n" \
" }\n" \
" }\n" \
" }\n" \
" let remainingStr = @stringSubstrInternal.@call(str, position, size);\n" \
" @putByValDirect(result, result.length, remainingStr);\n" \
" return result;\n" \
"})\n" \
;
const JSC::ConstructAbility s_regExpPrototypeTestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_regExpPrototypeTestCodeLength = 461;
static const JSC::Intrinsic s_regExpPrototypeTestCodeIntrinsic = JSC::RegExpTestIntrinsic;
const char* s_regExpPrototypeTestCode =
"(function (strArg)\n" \
"{\n" \
" \"use strict\";\n" \
" let regexp = this;\n" \
" if (@isRegExpObject(regexp) && @tryGetById(regexp, \"exec\") === @regExpBuiltinExec)\n" \
" return @regExpTestFast.@call(regexp, strArg);\n" \
" if (!@isObject(regexp))\n" \
" throw new @TypeError(\"RegExp.prototype.test requires that |this| be an Object\");\n" \
" let str = @toString(strArg);\n" \
" let match = @regExpExec(regexp, str);\n" \
" if (match !== null)\n" \
" return true;\n" \
" return false;\n" \
"})\n" \
;
const JSC::ConstructAbility s_setPrototypeForEachCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_setPrototypeForEachCodeLength = 554;
static const JSC::Intrinsic s_setPrototypeForEachCodeIntrinsic = JSC::NoIntrinsic;
const char* s_setPrototypeForEachCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isSet(this))\n" \
" throw new @TypeError(\"Set operation called on non-Set object\");\n" \
" if (typeof callback !== 'function')\n" \
" throw new @TypeError(\"Set.prototype.forEach callback must be a function\");\n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" var iterator = @SetIterator(this);\n" \
" var value = [ @undefined ];\n" \
" for (;;) {\n" \
" if (@setIteratorNext.@call(iterator, value))\n" \
" break;\n" \
" callback.@call(thisArg, value[0], value[0], this);\n" \
" }\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringConstructorRawCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringConstructorRawCodeLength = 1045;
static const JSC::Intrinsic s_stringConstructorRawCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringConstructorRawCode =
"(function (template)\n" \
"{\n" \
" \"use strict\";\n" \
" if (template === null || template === @undefined)\n" \
" throw new @TypeError(\"String.raw requires template not be null or undefined\");\n" \
" var cookedSegments = @Object(template);\n" \
" var rawValue = cookedSegments.raw;\n" \
" if (rawValue === null || rawValue === @undefined)\n" \
" throw new @TypeError(\"String.raw requires template.raw not be null or undefined\");\n" \
" var rawSegments = @Object(rawValue);\n" \
" var numberOfSubstitutions = arguments.length - 1;\n" \
" var segmentCount = @toLength(rawSegments.length);\n" \
" if (segmentCount <= 0)\n" \
" return '';\n" \
" var stringElements = '';\n" \
" for (var i = 0; ; ++i) {\n" \
" var segment = @toString(rawSegments[i]);\n" \
" stringElements += segment;\n" \
" if ((i + 1) === segmentCount)\n" \
" return stringElements;\n" \
" if (i < numberOfSubstitutions) {\n" \
" var substitutionIndexInArguments = i + 1;\n" \
" var next = @toString(arguments[substitutionIndexInArguments]);\n" \
" stringElements += next;\n" \
" }\n" \
" }\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringIteratorPrototypeNextCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringIteratorPrototypeNextCodeLength = 1225;
static const JSC::Intrinsic s_stringIteratorPrototypeNextCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringIteratorPrototypeNextCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"%StringIteratorPrototype%.next requires that |this| not be null or undefined\");\n" \
" var position = this.@stringIteratorNextIndex;\n" \
" if (position === @undefined)\n" \
" throw new @TypeError(\"%StringIteratorPrototype%.next requires that |this| be a String Iterator instance\");\n" \
" var done = true;\n" \
" var value = @undefined;\n" \
" var string = this.@iteratedString;\n" \
" if (string !== @undefined) {\n" \
" var length = string.length >>> 0;\n" \
" if (position >= length) {\n" \
" this.@iteratedString = @undefined;\n" \
" } else {\n" \
" done = false;\n" \
" var first = string.@charCodeAt(position);\n" \
" if (first < 0xD800 || first > 0xDBFF || position + 1 === length)\n" \
" value = string[position];\n" \
" else {\n" \
" var second = string.@charCodeAt(position + 1);\n" \
" if (second < 0xDC00 || second > 0xDFFF)\n" \
" value = string[position];\n" \
" else\n" \
" value = string[position] + string[position + 1];\n" \
" }\n" \
" this.@stringIteratorNextIndex = position + value.length;\n" \
" }\n" \
" }\n" \
" return {done, value};\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringPrototypeMatchCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringPrototypeMatchCodeLength = 472;
static const JSC::Intrinsic s_stringPrototypeMatchCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringPrototypeMatchCode =
"(function (regexp)\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"String.prototype.match requires that |this| not be null or undefined\");\n" \
" if (regexp != null) {\n" \
" var matcher = regexp.@matchSymbol;\n" \
" if (matcher != @undefined)\n" \
" return matcher.@call(regexp, this);\n" \
" }\n" \
" let thisString = @toString(this);\n" \
" let createdRegExp = @regExpCreate(regexp, @undefined);\n" \
" return createdRegExp.@matchSymbol(thisString);\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringPrototypeRepeatSlowPathCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringPrototypeRepeatSlowPathCodeLength = 473;
static const JSC::Intrinsic s_stringPrototypeRepeatSlowPathCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringPrototypeRepeatSlowPathCode =
"(function (string, count)\n" \
"{\n" \
" \"use strict\";\n" \
" if (count === 0 || string.length === 0)\n" \
" return \"\";\n" \
" if (count === 1)\n" \
" return string;\n" \
" if (string.length * count > @MAX_STRING_LENGTH)\n" \
" throw new @Error(\"Out of memory\");\n" \
" var result = \"\";\n" \
" var operand = string;\n" \
" while (true) {\n" \
" if (count & 1)\n" \
" result += operand;\n" \
" count >>= 1;\n" \
" if (!count)\n" \
" return result;\n" \
" operand += operand;\n" \
" }\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringPrototypeRepeatCharactersSlowPathCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringPrototypeRepeatCharactersSlowPathCodeLength = 526;
static const JSC::Intrinsic s_stringPrototypeRepeatCharactersSlowPathCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringPrototypeRepeatCharactersSlowPathCode =
"(function (string, count)\n" \
"{\n" \
" \"use strict\";\n" \
" var repeatCount = (count / string.length) | 0;\n" \
" var remainingCharacters = count - repeatCount * string.length;\n" \
" var result = \"\";\n" \
" var operand = string;\n" \
" while (true) {\n" \
" if (repeatCount & 1)\n" \
" result += operand;\n" \
" repeatCount >>= 1;\n" \
" if (!repeatCount)\n" \
" break;\n" \
" operand += operand;\n" \
" }\n" \
" if (remainingCharacters)\n" \
" result += @stringSubstrInternal.@call(string, 0, remainingCharacters);\n" \
" return result;\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringPrototypeRepeatCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringPrototypeRepeatCodeLength = 585;
static const JSC::Intrinsic s_stringPrototypeRepeatCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringPrototypeRepeatCode =
"(function (count)\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"String.prototype.repeat requires that |this| not be null or undefined\");\n" \
" var string = @toString(this);\n" \
" count = @toInteger(count);\n" \
" if (count < 0 || count === @Infinity)\n" \
" throw new @RangeError(\"String.prototype.repeat argument must be greater than or equal to 0 and not be Infinity\");\n" \
" if (string.length === 1) {\n" \
" var result = @repeatCharacter(string, count);\n" \
" if (result !== null)\n" \
" return result;\n" \
" }\n" \
" return @repeatSlowPath(string, count);\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringPrototypePadStartCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringPrototypePadStartCodeLength = 950;
static const JSC::Intrinsic s_stringPrototypePadStartCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringPrototypePadStartCode =
"(function (maxLength)\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"String.prototype.padStart requires that |this| not be null or undefined\");\n" \
" var string = @toString(this);\n" \
" maxLength = @toLength(maxLength);\n" \
" var stringLength = string.length;\n" \
" if (maxLength <= stringLength)\n" \
" return string;\n" \
" var filler;\n" \
" var fillString = arguments[1];\n" \
" if (fillString === @undefined)\n" \
" filler = \" \";\n" \
" else {\n" \
" filler = @toString(fillString);\n" \
" if (filler === \"\")\n" \
" return string;\n" \
" }\n" \
" if (maxLength > @MAX_STRING_LENGTH)\n" \
" throw new @Error(\"Out of memory\");\n" \
" var fillLength = maxLength - stringLength;\n" \
" var truncatedStringFiller;\n" \
" if (filler.length === 1)\n" \
" truncatedStringFiller = @repeatCharacter(filler, fillLength);\n" \
" else\n" \
" truncatedStringFiller = @repeatCharactersSlowPath(filler, fillLength);\n" \
" return truncatedStringFiller + string;\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringPrototypePadEndCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringPrototypePadEndCodeLength = 948;
static const JSC::Intrinsic s_stringPrototypePadEndCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringPrototypePadEndCode =
"(function (maxLength)\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"String.prototype.padEnd requires that |this| not be null or undefined\");\n" \
" var string = @toString(this);\n" \
" maxLength = @toLength(maxLength);\n" \
" var stringLength = string.length;\n" \
" if (maxLength <= stringLength)\n" \
" return string;\n" \
" var filler;\n" \
" var fillString = arguments[1];\n" \
" if (fillString === @undefined)\n" \
" filler = \" \";\n" \
" else {\n" \
" filler = @toString(fillString);\n" \
" if (filler === \"\")\n" \
" return string;\n" \
" }\n" \
" if (maxLength > @MAX_STRING_LENGTH)\n" \
" throw new @Error(\"Out of memory\");\n" \
" var fillLength = maxLength - stringLength;\n" \
" var truncatedStringFiller;\n" \
" if (filler.length === 1)\n" \
" truncatedStringFiller = @repeatCharacter(filler, fillLength);\n" \
" else\n" \
" truncatedStringFiller = @repeatCharactersSlowPath(filler, fillLength);\n" \
" return string + truncatedStringFiller;\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringPrototypeHasObservableSideEffectsForStringReplaceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringPrototypeHasObservableSideEffectsForStringReplaceCodeLength = 519;
static const JSC::Intrinsic s_stringPrototypeHasObservableSideEffectsForStringReplaceCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringPrototypeHasObservableSideEffectsForStringReplaceCode =
"(function (regexp, replacer) {\n" \
" if (replacer !== @regExpPrototypeSymbolReplace)\n" \
" return true;\n" \
" \n" \
" let regexpExec = @tryGetById(regexp, \"exec\");\n" \
" if (regexpExec !== @regExpBuiltinExec)\n" \
" return true;\n" \
" let regexpGlobal = @tryGetById(regexp, \"global\");\n" \
" if (regexpGlobal !== @regExpProtoGlobalGetter)\n" \
" return true;\n" \
" let regexpUnicode = @tryGetById(regexp, \"unicode\");\n" \
" if (regexpUnicode !== @regExpProtoUnicodeGetter)\n" \
" return true;\n" \
" return !@isRegExpObject(regexp);\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringPrototypeReplaceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringPrototypeReplaceCodeLength = 669;
static const JSC::Intrinsic s_stringPrototypeReplaceCodeIntrinsic = JSC::StringPrototypeReplaceIntrinsic;
const char* s_stringPrototypeReplaceCode =
"(function (search, replace)\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"String.prototype.replace requires that |this| not be null or undefined\");\n" \
" if (search != null) {\n" \
" let replacer = search.@replaceSymbol;\n" \
" if (replacer !== @undefined) {\n" \
" if (!@hasObservableSideEffectsForStringReplace(search, replacer))\n" \
" return @toString(this).@replaceUsingRegExp(search, replace);\n" \
" return replacer.@call(search, this, replace);\n" \
" }\n" \
" }\n" \
" let thisString = @toString(this);\n" \
" let searchString = @toString(search);\n" \
" return thisString.@replaceUsingStringSearch(searchString, replace);\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringPrototypeLocaleCompareCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringPrototypeLocaleCompareCodeLength = 499;
static const JSC::Intrinsic s_stringPrototypeLocaleCompareCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringPrototypeLocaleCompareCode =
"(function (that)\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"String.prototype.localeCompare requires that |this| not be null or undefined\");\n" \
" var thisString = @toString(this);\n" \
" var thatString = @toString(that);\n" \
" if (arguments[1] === @undefined && arguments[2] === @undefined)\n" \
" return @Collator.prototype.compare(thisString, thatString);\n" \
" var collator = new @Collator(arguments[1], arguments[2]);\n" \
" return collator.compare(thisString, thatString);\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringPrototypeSearchCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringPrototypeSearchCodeLength = 478;
static const JSC::Intrinsic s_stringPrototypeSearchCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringPrototypeSearchCode =
"(function (regexp)\n" \
"{\n" \
" \"use strict\";\n" \
" if (this == null)\n" \
" throw new @TypeError(\"String.prototype.search requires that |this| not be null or undefined\");\n" \
" if (regexp != null) {\n" \
" var searcher = regexp.@searchSymbol;\n" \
" if (searcher != @undefined)\n" \
" return searcher.@call(regexp, this);\n" \
" }\n" \
" var thisString = @toString(this);\n" \
" var createdRegExp = @regExpCreate(regexp, @undefined);\n" \
" return createdRegExp.@searchSymbol(thisString);\n" \
"})\n" \
;
const JSC::ConstructAbility s_stringPrototypeSplitCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_stringPrototypeSplitCodeLength = 427;
static const JSC::Intrinsic s_stringPrototypeSplitCodeIntrinsic = JSC::NoIntrinsic;
const char* s_stringPrototypeSplitCode =
"(function (separator, limit)\n" \
"{\n" \
" \"use strict\";\n" \
" \n" \
" if (this == null)\n" \
" throw new @TypeError(\"String.prototype.split requires that |this| not be null or undefined\");\n" \
" \n" \
" if (separator != null) {\n" \
" var splitter = separator.@splitSymbol;\n" \
" if (splitter != @undefined)\n" \
" return splitter.@call(separator, this, limit);\n" \
" }\n" \
" \n" \
" return @stringSplitFast.@call(this, separator, limit);\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayConstructorOfCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayConstructorOfCodeLength = 403;
static const JSC::Intrinsic s_typedArrayConstructorOfCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayConstructorOfCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" let len = arguments.length;\n" \
" let constructFunction = this.@allocateTypedArray;\n" \
" if (constructFunction === @undefined)\n" \
" throw new @TypeError(\"TypedArray.of requires its this argument to subclass a TypedArray constructor\");\n" \
" let result = constructFunction(len);\n" \
" for (let i = 0; i < len; i++)\n" \
" result[i] = arguments[i];\n" \
" return result;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayConstructorFromCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayConstructorFromCodeLength = 2215;
static const JSC::Intrinsic s_typedArrayConstructorFromCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayConstructorFromCode =
"(function (items )\n" \
"{\n" \
" \"use strict\";\n" \
" let mapFn = arguments[1];\n" \
" let thisArg;\n" \
" if (mapFn !== @undefined) {\n" \
" if (typeof mapFn !== \"function\")\n" \
" throw new @TypeError(\"TypedArray.from requires that the second argument, when provided, be a function\");\n" \
" if (arguments.length > 2)\n" \
" thisArg = arguments[2];\n" \
" }\n" \
" if (items == null)\n" \
" throw new @TypeError(\"TypedArray.from requires an array-like object - not null or undefined\");\n" \
" let iteratorMethod = items.@iteratorSymbol;\n" \
" if (iteratorMethod != null) {\n" \
" if (typeof iteratorMethod !== \"function\")\n" \
" throw new @TypeError(\"TypedArray.from requires that the property of the first argument, items[Symbol.iterator], when exists, be a function\");\n" \
" let accumulator = [];\n" \
" let k = 0;\n" \
" let iterator = iteratorMethod.@call(items);\n" \
" let wrapper = {};\n" \
" wrapper.@iteratorSymbol = function() { return iterator; }\n" \
" for (let value of wrapper) {\n" \
" if (mapFn)\n" \
" @putByValDirect(accumulator, k, thisArg === @undefined ? mapFn(value, k) : mapFn.@call(thisArg, value, k));\n" \
" else\n" \
" @putByValDirect(accumulator, k, value);\n" \
" k++;\n" \
" }\n" \
" let constructFunction = this.@allocateTypedArray;\n" \
" if (constructFunction === @undefined)\n" \
" throw new @TypeError(\"TypedArray.from requires its this argument subclass a TypedArray constructor\");\n" \
" let result = constructFunction(k);\n" \
" for (let i = 0; i < k; i++) \n" \
" result[i] = accumulator[i];\n" \
" return result;\n" \
" }\n" \
" let arrayLike = @Object(items);\n" \
" let arrayLikeLength = @toLength(arrayLike.length);\n" \
" let constructFunction = this.@allocateTypedArray;\n" \
" if (constructFunction === @undefined)\n" \
" throw new @TypeError(\"this does not subclass a TypedArray constructor\");\n" \
" let result = constructFunction(arrayLikeLength);\n" \
" let k = 0;\n" \
" while (k < arrayLikeLength) {\n" \
" let value = arrayLike[k];\n" \
" if (mapFn)\n" \
" result[k] = thisArg === @undefined ? mapFn(value, k) : mapFn.@call(thisArg, value, k);\n" \
" else\n" \
" result[k] = value;\n" \
" k++;\n" \
" }\n" \
" return result;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayConstructorAllocateInt8ArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayConstructorAllocateInt8ArrayCodeLength = 59;
static const JSC::Intrinsic s_typedArrayConstructorAllocateInt8ArrayCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayConstructorAllocateInt8ArrayCode =
"(function (length)\n" \
"{\n" \
" return new @Int8Array(length);\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayConstructorAllocateInt16ArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayConstructorAllocateInt16ArrayCodeLength = 64;
static const JSC::Intrinsic s_typedArrayConstructorAllocateInt16ArrayCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayConstructorAllocateInt16ArrayCode =
"(function (length)\n" \
"{\n" \
" return new @Int16Array(length); \n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayConstructorAllocateInt32ArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayConstructorAllocateInt32ArrayCodeLength = 63;
static const JSC::Intrinsic s_typedArrayConstructorAllocateInt32ArrayCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayConstructorAllocateInt32ArrayCode =
"(function (length)\n" \
"{\n" \
" return new @Int32Array(length); \n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayConstructorAllocateUint32ArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayConstructorAllocateUint32ArrayCodeLength = 61;
static const JSC::Intrinsic s_typedArrayConstructorAllocateUint32ArrayCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayConstructorAllocateUint32ArrayCode =
"(function (length)\n" \
"{\n" \
" return new @Uint32Array(length);\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayConstructorAllocateUint16ArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayConstructorAllocateUint16ArrayCodeLength = 64;
static const JSC::Intrinsic s_typedArrayConstructorAllocateUint16ArrayCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayConstructorAllocateUint16ArrayCode =
"(function (length)\n" \
"{\n" \
" return new @Uint16Array(length); \n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayConstructorAllocateUint8ArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayConstructorAllocateUint8ArrayCodeLength = 63;
static const JSC::Intrinsic s_typedArrayConstructorAllocateUint8ArrayCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayConstructorAllocateUint8ArrayCode =
"(function (length)\n" \
"{\n" \
" return new @Uint8Array(length); \n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayConstructorAllocateUint8ClampedArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayConstructorAllocateUint8ClampedArrayCodeLength = 67;
static const JSC::Intrinsic s_typedArrayConstructorAllocateUint8ClampedArrayCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayConstructorAllocateUint8ClampedArrayCode =
"(function (length)\n" \
"{\n" \
" return new @Uint8ClampedArray(length);\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayConstructorAllocateFloat32ArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayConstructorAllocateFloat32ArrayCodeLength = 62;
static const JSC::Intrinsic s_typedArrayConstructorAllocateFloat32ArrayCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayConstructorAllocateFloat32ArrayCode =
"(function (length)\n" \
"{\n" \
" return new @Float32Array(length);\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayConstructorAllocateFloat64ArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayConstructorAllocateFloat64ArrayCodeLength = 62;
static const JSC::Intrinsic s_typedArrayConstructorAllocateFloat64ArrayCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayConstructorAllocateFloat64ArrayCode =
"(function (length)\n" \
"{\n" \
" return new @Float64Array(length);\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeTypedArraySpeciesConstructorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeTypedArraySpeciesConstructorCodeLength = 446;
static const JSC::Intrinsic s_typedArrayPrototypeTypedArraySpeciesConstructorCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeTypedArraySpeciesConstructorCode =
"(function (value)\n" \
"{\n" \
" \"use strict\";\n" \
" let constructor = value.constructor;\n" \
" if (constructor === @undefined)\n" \
" return @typedArrayGetOriginalConstructor(value);\n" \
" if (!@isObject(constructor))\n" \
" throw new @TypeError(\"|this|.constructor is not an Object or undefined\");\n" \
" constructor = constructor.@speciesSymbol;\n" \
" if (constructor == null)\n" \
" return @typedArrayGetOriginalConstructor(value);\n" \
" return constructor;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeTypedArrayClampArgumentToStartOrEndCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeTypedArrayClampArgumentToStartOrEndCodeLength = 281;
static const JSC::Intrinsic s_typedArrayPrototypeTypedArrayClampArgumentToStartOrEndCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeTypedArrayClampArgumentToStartOrEndCode =
"(function (value, length, undefinedValue)\n" \
"{\n" \
" \"use strict\";\n" \
" if (value === @undefined)\n" \
" return undefinedValue;\n" \
" let int = @toInteger(value);\n" \
" if (int < 0) {\n" \
" int += length;\n" \
" return int < 0 ? 0 : int;\n" \
" }\n" \
" return int > length ? length : int;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeValuesCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeValuesCodeLength = 142;
static const JSC::Intrinsic s_typedArrayPrototypeValuesCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeValuesCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" @typedArrayLength(this);\n" \
" return new @createArrayIterator(this, \"value\", @arrayIteratorValueNext);\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeKeysCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeKeysCodeLength = 138;
static const JSC::Intrinsic s_typedArrayPrototypeKeysCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeKeysCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" @typedArrayLength(this);\n" \
" return new @createArrayIterator(this, \"key\", @arrayIteratorKeyNext);\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeEntriesCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeEntriesCodeLength = 149;
static const JSC::Intrinsic s_typedArrayPrototypeEntriesCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeEntriesCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" @typedArrayLength(this);\n" \
" return new @createArrayIterator(this, \"key+value\", @arrayIteratorKeyValueNext);\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeEveryCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeEveryCodeLength = 427;
static const JSC::Intrinsic s_typedArrayPrototypeEveryCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeEveryCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" var length = @typedArrayLength(this);\n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"TypedArray.prototype.every callback must be a function\");\n" \
" for (var i = 0; i < length; i++) {\n" \
" if (!callback.@call(thisArg, this[i], i, this))\n" \
" return false;\n" \
" }\n" \
" return true;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeFillCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeFillCodeLength = 475;
static const JSC::Intrinsic s_typedArrayPrototypeFillCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeFillCode =
"(function (value )\n" \
"{\n" \
" \"use strict\";\n" \
" let length = @typedArrayLength(this);\n" \
" let start;\n" \
" let end;\n" \
" if (arguments.length > 1) {\n" \
" start = arguments[1];\n" \
" if (arguments.length > 2) {\n" \
" end = arguments[2];\n" \
" }\n" \
" }\n" \
" start = @typedArrayClampArgumentToStartOrEnd(start, length, 0);\n" \
" end = @typedArrayClampArgumentToStartOrEnd(end, length, length);\n" \
" for (let i = start; i < end; i++)\n" \
" this[i] = value;\n" \
" return this;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeFindCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeFindCodeLength = 455;
static const JSC::Intrinsic s_typedArrayPrototypeFindCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeFindCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" var length = @typedArrayLength(this);\n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"TypedArray.prototype.find callback must be a function\");\n" \
" for (var i = 0; i < length; i++) {\n" \
" let elem = this[i];\n" \
" if (callback.@call(thisArg, elem, i, this))\n" \
" return elem;\n" \
" }\n" \
" return @undefined;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeFindIndexCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeFindIndexCodeLength = 424;
static const JSC::Intrinsic s_typedArrayPrototypeFindIndexCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeFindIndexCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" var length = @typedArrayLength(this);\n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"TypedArray.prototype.findIndex callback must be a function\");\n" \
" for (var i = 0; i < length; i++) {\n" \
" if (callback.@call(thisArg, this[i], i, this))\n" \
" return i;\n" \
" }\n" \
" return -1;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeForEachCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeForEachCodeLength = 373;
static const JSC::Intrinsic s_typedArrayPrototypeForEachCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeForEachCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" var length = @typedArrayLength(this);\n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"TypedArray.prototype.forEach callback must be a function\");\n" \
" for (var i = 0; i < length; i++)\n" \
" callback.@call(thisArg, this[i], i, this);\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeSomeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeSomeCodeLength = 425;
static const JSC::Intrinsic s_typedArrayPrototypeSomeCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeSomeCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" var length = @typedArrayLength(this);\n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"TypedArray.prototype.some callback must be a function\");\n" \
" for (var i = 0; i < length; i++) {\n" \
" if (callback.@call(thisArg, this[i], i, this))\n" \
" return true;\n" \
" }\n" \
" return false;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeSortCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeSortCodeLength = 1521;
static const JSC::Intrinsic s_typedArrayPrototypeSortCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeSortCode =
"(function (comparator)\n" \
"{\n" \
" \"use strict\";\n" \
" function min(a, b)\n" \
" {\n" \
" return a < b ? a : b;\n" \
" }\n" \
" function merge(dst, src, srcIndex, srcEnd, width, comparator)\n" \
" {\n" \
" var left = srcIndex;\n" \
" var leftEnd = min(left + width, srcEnd);\n" \
" var right = leftEnd;\n" \
" var rightEnd = min(right + width, srcEnd);\n" \
" for (var dstIndex = left; dstIndex < rightEnd; ++dstIndex) {\n" \
" if (right < rightEnd) {\n" \
" if (left >= leftEnd || comparator(src[right], src[left]) < 0) {\n" \
" dst[dstIndex] = src[right++];\n" \
" continue;\n" \
" }\n" \
" }\n" \
" dst[dstIndex] = src[left++];\n" \
" }\n" \
" }\n" \
" function mergeSort(array, valueCount, comparator)\n" \
" {\n" \
" var buffer = [ ];\n" \
" buffer.length = valueCount;\n" \
" var dst = buffer;\n" \
" var src = array;\n" \
" for (var width = 1; width < valueCount; width *= 2) {\n" \
" for (var srcIndex = 0; srcIndex < valueCount; srcIndex += 2 * width)\n" \
" merge(dst, src, srcIndex, valueCount, width, comparator);\n" \
" var tmp = src;\n" \
" src = dst;\n" \
" dst = tmp;\n" \
" }\n" \
" if (src != array) {\n" \
" for(var i = 0; i < valueCount; i++)\n" \
" array[i] = src[i];\n" \
" }\n" \
" }\n" \
" var length = @typedArrayLength(this);\n" \
" if (length < 2)\n" \
" return;\n" \
" if (typeof comparator == \"function\")\n" \
" mergeSort(this, length, comparator);\n" \
" else\n" \
" @typedArraySort(this);\n" \
" \n" \
" return this;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeSubarrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeSubarrayCodeLength = 399;
static const JSC::Intrinsic s_typedArrayPrototypeSubarrayCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeSubarrayCode =
"(function (begin, end)\n" \
"{\n" \
" \"use strict\";\n" \
" if (!@isTypedArrayView(this))\n" \
" throw new @TypeError(\"|this| should be a typed array view\");\n" \
" let start = @toInteger(begin);\n" \
" let finish;\n" \
" if (end !== @undefined)\n" \
" finish = @toInteger(end);\n" \
" let constructor = @typedArraySpeciesConstructor(this);\n" \
" return @typedArraySubarrayCreate.@call(this, start, finish, constructor);\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeReduceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeReduceCodeLength = 629;
static const JSC::Intrinsic s_typedArrayPrototypeReduceCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeReduceCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" var length = @typedArrayLength(this);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"TypedArray.prototype.reduce callback must be a function\");\n" \
" if (length === 0 && arguments.length < 2)\n" \
" throw new @TypeError(\"TypedArray.prototype.reduce of empty array with no initial value\");\n" \
" var accumulator, k = 0;\n" \
" if (arguments.length > 1)\n" \
" accumulator = arguments[1];\n" \
" else\n" \
" accumulator = this[k++];\n" \
" for (; k < length; k++)\n" \
" accumulator = callback.@call(@undefined, accumulator, this[k], k, this);\n" \
" return accumulator;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeReduceRightCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeReduceRightCodeLength = 644;
static const JSC::Intrinsic s_typedArrayPrototypeReduceRightCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeReduceRightCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" var length = @typedArrayLength(this);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"TypedArray.prototype.reduceRight callback must be a function\");\n" \
" if (length === 0 && arguments.length < 2)\n" \
" throw new @TypeError(\"TypedArray.prototype.reduceRight of empty array with no initial value\");\n" \
" var accumulator, k = length - 1;\n" \
" if (arguments.length > 1)\n" \
" accumulator = arguments[1];\n" \
" else\n" \
" accumulator = this[k--];\n" \
" for (; k >= 0; k--)\n" \
" accumulator = callback.@call(@undefined, accumulator, this[k], k, this);\n" \
" return accumulator;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeMapCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeMapCodeLength = 969;
static const JSC::Intrinsic s_typedArrayPrototypeMapCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeMapCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" var length = @typedArrayLength(this);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"TypedArray.prototype.map callback must be a function\");\n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" var constructor = this.constructor;\n" \
" var result;\n" \
" if (constructor === @undefined)\n" \
" result = new (@typedArrayGetOriginalConstructor(this))(length);\n" \
" else {\n" \
" var speciesConstructor = @Object(constructor).@speciesSymbol;\n" \
" if (speciesConstructor === null || speciesConstructor === @undefined)\n" \
" result = new (@typedArrayGetOriginalConstructor(this))(length);\n" \
" else {\n" \
" result = new speciesConstructor(length);\n" \
" @typedArrayLength(result);\n" \
" }\n" \
" }\n" \
" for (var i = 0; i < length; i++) {\n" \
" var mappedValue = callback.@call(thisArg, this[i], i, this);\n" \
" result[i] = mappedValue;\n" \
" }\n" \
" return result;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeFilterCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeFilterCodeLength = 1127;
static const JSC::Intrinsic s_typedArrayPrototypeFilterCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeFilterCode =
"(function (callback )\n" \
"{\n" \
" \"use strict\";\n" \
" var length = @typedArrayLength(this);\n" \
" if (typeof callback !== \"function\")\n" \
" throw new @TypeError(\"TypedArray.prototype.filter callback must be a function\");\n" \
" var thisArg = arguments.length > 1 ? arguments[1] : @undefined;\n" \
" var kept = [];\n" \
" for (var i = 0; i < length; i++) {\n" \
" var value = this[i];\n" \
" if (callback.@call(thisArg, value, i, this))\n" \
" kept.@push(value);\n" \
" }\n" \
" var constructor = this.constructor;\n" \
" var result;\n" \
" var resultLength = kept.length;\n" \
" if (constructor === @undefined)\n" \
" result = new (@typedArrayGetOriginalConstructor(this))(resultLength);\n" \
" else {\n" \
" var speciesConstructor = @Object(constructor).@speciesSymbol;\n" \
" if (speciesConstructor === null || speciesConstructor === @undefined)\n" \
" result = new (@typedArrayGetOriginalConstructor(this))(resultLength);\n" \
" else {\n" \
" result = new speciesConstructor(resultLength);\n" \
" @typedArrayLength(result);\n" \
" }\n" \
" }\n" \
" for (var i = 0; i < kept.length; i++)\n" \
" result[i] = kept[i];\n" \
" return result;\n" \
"})\n" \
;
const JSC::ConstructAbility s_typedArrayPrototypeToLocaleStringCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const int s_typedArrayPrototypeToLocaleStringCodeLength = 267;
static const JSC::Intrinsic s_typedArrayPrototypeToLocaleStringCodeIntrinsic = JSC::NoIntrinsic;
const char* s_typedArrayPrototypeToLocaleStringCode =
"(function ()\n" \
"{\n" \
" \"use strict\";\n" \
" var length = @typedArrayLength(this);\n" \
" if (length == 0)\n" \
" return \"\";\n" \
" var string = this[0].toLocaleString();\n" \
" for (var i = 1; i < length; i++)\n" \
" string += \",\" + this[i].toLocaleString();\n" \
" return string;\n" \
"})\n" \
;
#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), Nullopt, s_##codeName##Intrinsic); }
JSC_FOREACH_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
} // namespace JSC