1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:48:11 +00:00
serenity/Libraries/LibJS/Runtime
Andreas Kling 90ba0145f6 LibJS: Add a number-indexed property storage to all Objects
Objects can have both named and indexed properties. Previously we kept
all property names as strings. This patch separates named and indexed
properties and splits them between Object::m_storage and m_elements.

This allows us to do much faster array-style access using numeric
indices. It also makes the Array class much less special, since all
Objects now have number-indexed storage. :^)
2020-04-06 18:09:26 +02:00
..
Array.cpp LibJS: Add a number-indexed property storage to all Objects 2020-04-06 18:09:26 +02:00
Array.h LibJS: Add a number-indexed property storage to all Objects 2020-04-06 18:09:26 +02:00
ArrayConstructor.cpp LibJS: Add basic Array constructor 2020-04-04 22:28:21 +02:00
ArrayConstructor.h LibJS: Add basic Array constructor 2020-04-04 22:28:21 +02:00
ArrayPrototype.cpp LibJS: Add Array.prototype.toString() 2020-04-05 18:07:41 +02:00
ArrayPrototype.h LibJS: Add Array.prototype.toString() 2020-04-05 18:07:41 +02:00
Cell.cpp LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
Cell.h LibJS: Make JS::Cell non-copyable and non-movable 2020-04-02 15:24:50 +02:00
ConsoleObject.cpp LibJS: Add argument(i) and argument_count() to Interpreter 2020-04-01 22:38:59 +02:00
ConsoleObject.h LibJS+LibWeb: Move native JS functions into dedicated member functions 2020-03-28 23:10:37 +01:00
Date.cpp LibJS: Start implementing Date :^) 2020-03-30 14:11:54 +02:00
Date.h js: Implement print function for Date objects 2020-03-31 21:19:21 +02:00
DateConstructor.cpp LibJS: Add js_string(Interpreter&, String) 2020-04-04 12:58:05 +02:00
DateConstructor.h LibJS: Implement constructor/non-constructor function calls 2020-04-01 20:18:36 +02:00
DatePrototype.cpp LibJS: Add js_string(Interpreter&, String) 2020-04-04 12:58:05 +02:00
DatePrototype.h LibJS: Implement Date.prototype.to{Date,Time}String() 2020-03-30 21:43:35 +02:00
Error.cpp LibJS: Implement basic exception throwing 2020-03-24 16:14:10 +01:00
Error.h LibJS: Implement basic exception throwing 2020-03-24 16:14:10 +01:00
ErrorConstructor.cpp LibJS: Implement Error function/constructor 2020-04-01 20:47:37 +02:00
ErrorConstructor.h LibJS: Implement Error function/constructor 2020-04-01 20:47:37 +02:00
ErrorPrototype.cpp LibJS: Add js_string(Interpreter&, String) 2020-04-04 12:58:05 +02:00
ErrorPrototype.h LibJS: Implement Error.prototype.toString() 2020-04-03 09:07:05 +02:00
Exception.cpp LibJS: Implement "throw" 2020-03-24 22:21:58 +01:00
Exception.h LibJS: Implement "throw" 2020-03-24 22:21:58 +01:00
Function.cpp LibJS: Add Function() and Function.prototype 2020-04-04 15:58:49 +02:00
Function.h LibJS: Implement constructor/non-constructor function calls 2020-04-01 20:18:36 +02:00
FunctionConstructor.cpp LibJS: Add Function() and Function.prototype 2020-04-04 15:58:49 +02:00
FunctionConstructor.h LibJS: Add Function() and Function.prototype 2020-04-04 15:58:49 +02:00
FunctionPrototype.cpp LibJS: Add Function() and Function.prototype 2020-04-04 15:58:49 +02:00
FunctionPrototype.h LibJS: Add Function() and Function.prototype 2020-04-04 15:58:49 +02:00
GlobalObject.cpp Meta: Add missing copyright headers 2020-04-06 11:09:01 +02:00
GlobalObject.h Meta: Add missing copyright headers 2020-04-06 11:09:01 +02:00
MathObject.cpp LibJS: Rename variable "max" to "min" in MathObject::min() (#1665) 2020-04-06 14:08:56 +02:00
MathObject.h LibJS: Add Math.{cos,sin,tan}() 2020-04-06 10:58:16 +02:00
NativeFunction.cpp LibJS: Implement constructor/non-constructor function calls 2020-04-01 20:18:36 +02:00
NativeFunction.h LibJS: Implement constructor/non-constructor function calls 2020-04-01 20:18:36 +02:00
NativeProperty.cpp LibJS+LibWeb: Move native properties to separate getters/setters 2020-03-29 00:37:33 +01:00
NativeProperty.h LibJS+LibWeb: Move native properties to separate getters/setters 2020-03-29 00:37:33 +01:00
NumberObject.cpp LibJS: Add NumberObject and make to_object() on number values create it 2020-04-04 23:13:13 +02:00
NumberObject.h LibJS: Add NumberObject and make to_object() on number values create it 2020-04-04 23:13:13 +02:00
NumberPrototype.cpp LibJS: Add NumberObject and make to_object() on number values create it 2020-04-04 23:13:13 +02:00
NumberPrototype.h LibJS: Add NumberObject and make to_object() on number values create it 2020-04-04 23:13:13 +02:00
Object.cpp LibJS: Add a number-indexed property storage to all Objects 2020-04-06 18:09:26 +02:00
Object.h LibJS: Add a number-indexed property storage to all Objects 2020-04-06 18:09:26 +02:00
ObjectConstructor.cpp LibJS: Add a number-indexed property storage to all Objects 2020-04-06 18:09:26 +02:00
ObjectConstructor.h LibJS: Implement constructor/non-constructor function calls 2020-04-01 20:18:36 +02:00
ObjectPrototype.cpp LibJS: Make Object::to_string() call the "toString" property if present 2020-04-05 18:19:56 +02:00
ObjectPrototype.h LibJS+LibWeb: Move native JS functions into dedicated member functions 2020-03-28 23:10:37 +01:00
PrimitiveString.cpp LibJS: Add js_string(Interpreter&, String) 2020-04-04 12:58:05 +02:00
PrimitiveString.h LibJS: Add js_string(Interpreter&, String) 2020-04-04 12:58:05 +02:00
ScriptFunction.cpp AK: Stop allowing implicit downcast with RefPtr and NonnullRefPtr 2020-04-05 11:19:00 +02:00
ScriptFunction.h AK: Stop allowing implicit downcast with RefPtr and NonnullRefPtr 2020-04-05 11:19:00 +02:00
Shape.cpp Meta: Add missing copyright headers 2020-04-06 11:09:01 +02:00
Shape.h LibJS: Start implementing object shapes 2020-04-02 19:32:21 +02:00
StringObject.cpp LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
StringObject.h LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
StringPrototype.cpp LibJS: Add String.prototype.indexOf() 2020-04-04 23:44:29 +02:00
StringPrototype.h LibJS: Add String.prototype.indexOf() 2020-04-04 23:44:29 +02:00
Value.cpp LibJS: Implement exponentiation (** operator) 2020-04-05 15:32:06 +02:00
Value.h LibJS: Implement exponentiation (** operator) 2020-04-05 15:32:06 +02:00