1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-10 09:07:35 +00:00
serenity/Userland/Libraries/LibJS/Tests
Andreas Kling 077406dc36 LibJS: Fix two issues with array (length > INT32_MAX)
1. Allow Value(size_t) and use it for array length properties.

If an array length can't fit in an Int32 value, we shouldn't go out of
or way to force it into one. Instead, for values above INT32_MAX,
we simply store them as Double values.

2. Switch to generic indexed property storage for large arrays.

Previously we would always allocate array storage eagerly when the
length property was set. This meant that "a.length = 0x80000000" would
trivially DOS the engine on 32-bit since we don't have that much VM.

We now switch to generic storage when changing the length moves us over
the 4M entry mark.

Fixes #5986.
2021-03-30 13:52:56 +02:00
..
builtins LibJS: Fix two issues with array (length > INT32_MAX) 2021-03-30 13:52:56 +02:00
classes LibJS: Check if class extends value has a valid prototype 2021-01-24 00:09:18 +01:00
functions Only apply auto-naming of function expressions based on syntax 2021-03-22 12:44:07 +01:00
iterators Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
loops Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
operators LibJS: Improve correctness of rounding and bitwise operations 2021-02-05 09:38:45 +01:00
add-values-to-primitive.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
arguments-callee.js LibJS: Add a basic test for arguments.callee 2021-03-17 21:54:52 +01:00
arguments-object.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
automatic-semicolon-insertion.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
break-continue-syntax-errors.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
comments-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
computed-property-throws.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
const-declaration-missing-initializer.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
const-reassignment.js LibJS: Re-enable "reassignment to const" test 2021-02-26 16:59:37 +01:00
custom-@@hasInstance.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
custom-@@toPrimitive.js LibJS: Support @@toPrimitive in ToPrimitive abstract operation 2021-03-03 11:04:06 +01:00
custom-@@toStringTag.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
debugger-statement.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
empty-statements.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
eval-basic.js LibJS: Actually use eval() in non-string arg eval test 2021-03-17 21:28:14 +01:00
exception-in-catch-block.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
exception-ReferenceError.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
exponentiation-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
if-statement-function-declaration.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
indexed-access-string-object.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
invalid-lhs-in-assignment.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
labels.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
let-scoping.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
new-expression.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
numeric-literals-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
object-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
object-expression-computed-property.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
object-getter-setter-shorthand.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
object-method-shorthand.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
object-spread.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ordinary-to-primitive.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
parseInt.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
parser-declaration-in-single-statement-context.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
parser-line-terminators.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
parser-unary-associativity.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
program-strict-mode.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
return.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
runtime-error-call-stack-size.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
strict-mode-blocks.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
strict-mode-errors.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
string-escapes.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
string-spread.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
switch-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
switch-break.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
tagged-template-literals.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
template-literals.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
test-common-tests.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
test-common.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
throw-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
to-number-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
to-number-exception.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
try-catch-finally-nested.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
try-catch-finally.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
update-expression-on-member-expression.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
update-expressions-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
use-strict-directive.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
var-multiple-declarator.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
var-scoping.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
variable-undefined.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
with-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00