1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:08:12 +00:00
serenity/Libraries/LibJS/Runtime
Linus Groh cc5be96724 LibJS: Use ArrayBuffer for typed array data
This is how the spec describes it, and it allows sharing data between
multiple typed arrays.
Typed arrays now support constructing from an existing ArrayBuffer,
and has been prepared for constructing from another typed array or
iterator as well.
2020-12-02 23:49:00 +01:00
..
Accessor.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
Array.cpp LibJS: Add generic InvalidLength error type 2020-12-02 23:49:00 +01:00
Array.h LibJS: Make native function/property callbacks take VM, not Interpreter 2020-09-27 20:26:58 +02:00
ArrayBuffer.cpp LibJS: Add ArrayBuffer 2020-12-02 23:49:00 +01:00
ArrayBuffer.h LibJS: Add ArrayBuffer 2020-12-02 23:49:00 +01:00
ArrayBufferConstructor.cpp LibJS: Add ArrayBuffer 2020-12-02 23:49:00 +01:00
ArrayBufferConstructor.h LibJS: Add ArrayBuffer 2020-12-02 23:49:00 +01:00
ArrayBufferPrototype.cpp LibJS: Add ArrayBuffer 2020-12-02 23:49:00 +01:00
ArrayBufferPrototype.h LibJS: Add ArrayBuffer 2020-12-02 23:49:00 +01:00
ArrayConstructor.cpp LibJS: Add generic InvalidLength error type 2020-12-02 23:49:00 +01:00
ArrayConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
ArrayIterator.cpp LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
ArrayIterator.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
ArrayIteratorPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
ArrayIteratorPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
ArrayPrototype.cpp LibJS: Handle circular references in Array.prototype.toLocaleString() 2020-11-06 15:50:18 +01:00
ArrayPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
BigInt.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
BigInt.h LibJS: Fix weird self-including header 2020-10-06 18:37:58 +02:00
BigIntConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
BigIntConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
BigIntObject.cpp LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
BigIntObject.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
BigIntPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
BigIntPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
BooleanConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
BooleanConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
BooleanObject.cpp LibJS: Remove a bunch of unnecessary uses of Cell::interpreter() 2020-09-27 20:26:58 +02:00
BooleanObject.h LibJS+LibWeb: Add JS::Object::inherits(class_name) 2020-06-21 15:15:52 +02:00
BooleanPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
BooleanPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
BoundFunction.cpp LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
BoundFunction.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
Cell.cpp LibJS: Remove Cell::interpreter() 2020-10-04 17:03:33 +02:00
Cell.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
CommonPropertyNames.h LibJS: Add ArrayBuffer 2020-12-02 23:49:00 +01:00
ConsoleObject.cpp LibJS: Add some more items to CommonPropertyNames that I missed 2020-10-14 00:10:49 +02:00
ConsoleObject.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
Date.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
Date.h LibJS: Use String::formatted() in various other places 2020-10-04 19:22:02 +02:00
DateConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
DateConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
DatePrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
DatePrototype.h Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
Error.cpp LibJS: Add six typed arrays (signed and unsigned 8/16/32-bit) 2020-12-01 21:05:25 +01:00
Error.h LibJS: Add six typed arrays (signed and unsigned 8/16/32-bit) 2020-12-01 21:05:25 +01:00
ErrorConstructor.cpp LibJS: Add six typed arrays (signed and unsigned 8/16/32-bit) 2020-12-01 21:05:25 +01:00
ErrorConstructor.h LibJS: Add six typed arrays (signed and unsigned 8/16/32-bit) 2020-12-01 21:05:25 +01:00
ErrorPrototype.cpp LibJS: Add six typed arrays (signed and unsigned 8/16/32-bit) 2020-12-01 21:05:25 +01:00
ErrorPrototype.h LibJS: Add six typed arrays (signed and unsigned 8/16/32-bit) 2020-12-01 21:05:25 +01:00
ErrorTypes.cpp Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
ErrorTypes.h LibJS: Use ArrayBuffer for typed array data 2020-12-02 23:49:00 +01:00
Exception.cpp LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
Exception.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
Function.cpp LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
Function.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
FunctionConstructor.cpp LibJS: Tweak generated source in 'new Function()' to match ES 2015 spec 2020-10-29 22:27:55 +01:00
FunctionConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
FunctionPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
FunctionPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
GlobalObject.cpp LibJS: Add ArrayBuffer 2020-12-02 23:49:00 +01:00
GlobalObject.h LibJS: Clean up TypedArray constructors and prototypes 2020-12-02 12:52:31 +01:00
IndexedProperties.cpp LibJS: Skip trailing empty values in IndexedPropertyIterator 2020-11-07 10:03:58 +01:00
IndexedProperties.h LibJS: Use array-like size for IndexedProperties::is_empty() 2020-11-05 20:01:30 +01:00
IteratorOperations.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
IteratorOperations.h LibJS: get_iterator_values() should pass Value to callback (not Value&) 2020-09-08 14:15:13 +02:00
IteratorPrototype.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
IteratorPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
JSONObject.cpp LibJS: Add some more items to CommonPropertyNames that I missed 2020-10-14 00:10:49 +02:00
JSONObject.h LibJS: Remove use of Interpreter& in JSONObject code 2020-09-27 20:26:58 +02:00
LexicalEnvironment.cpp LibJS: Add a scope object abstraction 2020-11-28 17:16:48 +01:00
LexicalEnvironment.h LibJS: Add a scope object abstraction 2020-11-28 17:16:48 +01:00
MarkedValueList.cpp LibJS: Make MarkedValueList inherit from Vector<Value> 2020-09-08 13:43:03 +02:00
MarkedValueList.h LibJS: Make MarkedValueList inherit from Vector<Value> 2020-09-08 13:43:03 +02:00
MathObject.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
MathObject.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
NativeFunction.cpp LibJS: Move "strict mode" state to the call stack 2020-10-04 17:03:33 +02:00
NativeFunction.h LibJS: Move "strict mode" state to the call stack 2020-10-04 17:03:33 +02:00
NativeProperty.cpp LibJS: Make native function/property callbacks take VM, not Interpreter 2020-09-27 20:26:58 +02:00
NativeProperty.h LibJS: Make native function/property callbacks take VM, not Interpreter 2020-09-27 20:26:58 +02:00
NumberConstructor.cpp LibJS: Use pow instead of __bulitin_pow on clang 2020-11-07 10:09:55 +01:00
NumberConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
NumberObject.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
NumberObject.h LibJS: Add Number.prototype.toString 2020-07-15 18:24:55 +02:00
NumberPrototype.cpp LibJS: Add some more items to CommonPropertyNames that I missed 2020-10-14 00:10:49 +02:00
NumberPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
Object.cpp LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
Object.h LibJS: Add ArrayBuffer 2020-12-02 23:49:00 +01:00
ObjectConstructor.cpp LibJS: Implement Object(value) constructor 2020-11-04 23:06:44 +01:00
ObjectConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
ObjectPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
ObjectPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
PrimitiveString.cpp LibJS: Give VM a cache of single-ASCII-character PrimitiveString 2020-10-22 17:48:12 +02:00
PrimitiveString.h LibJS: Remove js_string(Interpreter&, ...) 2020-09-27 20:26:58 +02:00
PropertyAttributes.cpp LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
PropertyAttributes.h Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
PropertyName.h LibJS: Don't create "valid" PropertyName from null string 2020-11-04 15:31:39 +01:00
ProxyConstructor.cpp LibJS: Add ErrorType::ConstructorWithoutNew 2020-12-02 12:52:31 +01:00
ProxyConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
ProxyObject.cpp LibJS: Remove ProxyPrototype 2020-12-01 09:54:37 +01:00
ProxyObject.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
Reference.cpp LibJS: Handle symbol PropertyName in primitive assignment error 2020-11-12 11:40:29 +01:00
Reference.h LibJS: Reduce use of Interpreter in Reference 2020-09-29 16:45:39 +02:00
ReflectObject.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
ReflectObject.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
RegExpConstructor.cpp LibJS: Make RegExp() constructor spec-compliant 2020-11-28 01:20:11 +01:00
RegExpConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
RegExpObject.cpp LibJS: Hook up Regex<ECMA262> to RegExpObject and implement `test()' 2020-11-27 21:32:41 +01:00
RegExpObject.h LibJS: Hook up Regex<ECMA262> to RegExpObject and implement `test()' 2020-11-27 21:32:41 +01:00
RegExpPrototype.cpp LibJS: Use enumerator macros to define RegExp.prototype flag getters 2020-11-28 01:20:11 +01:00
RegExpPrototype.h LibJS: Use enumerator macros to define RegExp.prototype flag getters 2020-11-28 01:20:11 +01:00
ScopeObject.cpp LibJS: Add a scope object abstraction 2020-11-28 17:16:48 +01:00
ScopeObject.h LibJS: Add a scope object abstraction 2020-11-28 17:16:48 +01:00
ScriptFunction.cpp LibJS: Constructor function's "prototype" property should be writable 2020-11-29 19:49:27 +01:00
ScriptFunction.h LibJS: Add a scope object abstraction 2020-11-28 17:16:48 +01:00
Shape.cpp LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
Shape.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
StringConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
StringConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
StringIterator.cpp Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
StringIterator.h LibJS: Add StringIterator 2020-07-13 15:07:29 +02:00
StringIteratorPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
StringIteratorPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
StringObject.cpp LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
StringObject.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
StringOrSymbol.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
StringPrototype.cpp LibJS: Add a basic implementation of String.prototype.substr() 2020-11-29 20:29:49 +01:00
StringPrototype.h LibJS: Add a basic implementation of String.prototype.substr() 2020-11-29 20:29:49 +01:00
Symbol.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
Symbol.h LibJS: Use string::formatted() in to_string() functions 2020-10-04 19:22:02 +02:00
SymbolConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
SymbolConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
SymbolObject.cpp LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
SymbolObject.h LibJS: Rename Cell::visit_children() => Cell::visit_edges() 2020-11-28 17:16:48 +01:00
SymbolPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
SymbolPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
TypedArray.cpp LibJS: Use ArrayBuffer for typed array data 2020-12-02 23:49:00 +01:00
TypedArray.h LibJS: Use ArrayBuffer for typed array data 2020-12-02 23:49:00 +01:00
TypedArrayConstructor.cpp LibJS: Clean up TypedArray constructors and prototypes 2020-12-02 12:52:31 +01:00
TypedArrayConstructor.h LibJS: Clean up TypedArray constructors and prototypes 2020-12-02 12:52:31 +01:00
TypedArrayPrototype.cpp LibJS: Use ArrayBuffer for typed array data 2020-12-02 23:49:00 +01:00
TypedArrayPrototype.h LibJS: Move TypedArray length getter to prototype 2020-12-02 14:39:53 +01:00
Uint8ClampedArray.cpp LibJS: Have Uint8ClampedArray delegate OOB accesses to JS::Object 2020-12-01 17:12:04 +01:00
Uint8ClampedArray.h LibJS+LibWeb: Add JS::Object::inherits(class_name) 2020-06-21 15:15:52 +02:00
Value.cpp LibJS: Add Value::to_{index,length,integer_or_infinity} abstract operations 2020-12-02 23:49:00 +01:00
Value.h LibJS: Add Value::to_{index,length,integer_or_infinity} abstract operations 2020-12-02 23:49:00 +01:00
VM.cpp LibJS+LibWeb: Log JavaScript exceptions raised by web content 2020-11-29 16:50:32 +01:00
VM.h LibJS+LibWeb: Log JavaScript exceptions raised by web content 2020-11-29 16:50:32 +01:00
WithScope.cpp LibJS: Add basic support for "with" statements 2020-11-28 17:16:48 +01:00
WithScope.h LibJS: Run clang-format on WithScope.h 2020-11-28 17:36:38 +01:00