1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:38:11 +00:00
serenity/Libraries/LibJS/Makefile
Andreas Kling 5e6e1fd482 LibJS: Start implementing object shapes
This patch adds JS::Shape, which implements a transition tree for our
Object class. Object property keys, prototypes and attributes are now
stored in a Shape, and each Object has a Shape.

When adding a property to an Object, we make a transition from the old
Shape to a new Shape. If we've made the same exact transition in the
past (with another Object), we reuse the same transition and both
objects may now share a Shape.

This will become the foundation of inline caching and other engine
optimizations in the future. :^)
2020-04-02 19:32:21 +02:00

43 lines
1 KiB
Makefile

OBJS = \
AST.o \
Heap/Handle.o \
Heap/Heap.o \
Heap/HeapBlock.o \
Interpreter.o \
Lexer.o \
Parser.o \
Runtime/Array.o \
Runtime/ArrayPrototype.o \
Runtime/Cell.o \
Runtime/ConsoleObject.o \
Runtime/Date.o \
Runtime/DateConstructor.o \
Runtime/DatePrototype.o \
Runtime/Error.o \
Runtime/ErrorConstructor.o \
Runtime/ErrorPrototype.o \
Runtime/Exception.o \
Runtime/Function.o \
Runtime/GlobalObject.o \
Runtime/MathObject.o \
Runtime/NativeFunction.o \
Runtime/NativeProperty.o \
Runtime/Object.o \
Runtime/ObjectConstructor.o \
Runtime/ObjectPrototype.o \
Runtime/PrimitiveString.o \
Runtime/ScriptFunction.o \
Runtime/Shape.o \
Runtime/StringObject.o \
Runtime/StringPrototype.o \
Runtime/Value.o \
Token.o
LIBRARY = libjs.a
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibJS/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibJS/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common