Files
ladybird/Libraries/LibJS/Makefile
Andreas Kling f7a1696087 LibJS: Add MarkedValueList and use it for argument passing
A MarkedValueList is basically a Vector<JS::Value> that registers with
the Heap and makes sure that the stored values don't get GC'd.

Before this change, we were unsafely keeping Vector<JS::Value> in some
places, which is out-of-reach for the live reference finding logic
since Vector puts its elements on the heap by default.

We now pass all the JavaScript tests even when running with "js -g",
which does a GC on every heap allocation.
2020-04-19 17:34:33 +02:00

56 lines
1.4 KiB
Makefile

OBJS = \
AST.o \
Heap/Handle.o \
Heap/Heap.o \
Heap/HeapBlock.o \
Interpreter.o \
Lexer.o \
Parser.o \
Runtime/Array.o \
Runtime/ArrayConstructor.o \
Runtime/ArrayPrototype.o \
Runtime/BooleanConstructor.o \
Runtime/BooleanObject.o \
Runtime/BooleanPrototype.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/FunctionConstructor.o \
Runtime/FunctionPrototype.o \
Runtime/GlobalObject.o \
Runtime/LexicalEnvironment.o \
Runtime/MathObject.o \
Runtime/MarkedValueList.o \
Runtime/NativeFunction.o \
Runtime/NativeProperty.o \
Runtime/NumberConstructor.o \
Runtime/NumberObject.o \
Runtime/NumberPrototype.o \
Runtime/Object.o \
Runtime/ObjectConstructor.o \
Runtime/ObjectPrototype.o \
Runtime/PrimitiveString.o \
Runtime/ScriptFunction.o \
Runtime/Shape.o \
Runtime/StringConstructor.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