mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 23:50:19 +00:00
c2988a7dd5
Instead, smuggle it in as a `void*` private data and let Javascript aware code cast out that pointer to a VM&. In order to make this split, rename JS::Cell to JS::CellImpl. Once we have a LibGC, this will become GC::Cell. CellImpl then has no specific knowledge of the VM& and Realm&. That knowledge is instead put into JS::Cell, which inherits from CellImpl. JS::Cell is responsible for JavaScript's realm initialization, as well as converting of the void* private data to what it knows should be the VM&.
289 lines
9.6 KiB
CMake
289 lines
9.6 KiB
CMake
set(SOURCES
|
|
AST.cpp
|
|
Bytecode/ASTCodegen.cpp
|
|
Bytecode/BasicBlock.cpp
|
|
Bytecode/Builtins.cpp
|
|
Bytecode/CodeGenerationError.cpp
|
|
Bytecode/Executable.cpp
|
|
Bytecode/Generator.cpp
|
|
Bytecode/IdentifierTable.cpp
|
|
Bytecode/Instruction.cpp
|
|
Bytecode/Interpreter.cpp
|
|
Bytecode/Label.cpp
|
|
Bytecode/RegexTable.cpp
|
|
Bytecode/ScopedOperand.cpp
|
|
Bytecode/StringTable.cpp
|
|
Console.cpp
|
|
Contrib/Test262/262Object.cpp
|
|
Contrib/Test262/AgentObject.cpp
|
|
Contrib/Test262/GlobalObject.cpp
|
|
Contrib/Test262/IsHTMLDDA.cpp
|
|
CyclicModule.cpp
|
|
Heap/BlockAllocator.cpp
|
|
Heap/Cell.cpp
|
|
Heap/CellImpl.cpp
|
|
Heap/CellAllocator.cpp
|
|
Heap/ConservativeVector.cpp
|
|
Heap/Handle.cpp
|
|
Heap/Heap.cpp
|
|
Heap/HeapBlock.cpp
|
|
Heap/MarkedVector.cpp
|
|
Heap/WeakContainer.cpp
|
|
Lexer.cpp
|
|
MarkupGenerator.cpp
|
|
Module.cpp
|
|
Parser.cpp
|
|
ParserError.cpp
|
|
Print.cpp
|
|
Runtime/AbstractOperations.cpp
|
|
Runtime/Accessor.cpp
|
|
Runtime/Agent.cpp
|
|
Runtime/AggregateError.cpp
|
|
Runtime/AggregateErrorConstructor.cpp
|
|
Runtime/AggregateErrorPrototype.cpp
|
|
Runtime/ArgumentsObject.cpp
|
|
Runtime/Array.cpp
|
|
Runtime/ArrayBuffer.cpp
|
|
Runtime/ArrayBufferConstructor.cpp
|
|
Runtime/ArrayBufferPrototype.cpp
|
|
Runtime/ArrayConstructor.cpp
|
|
Runtime/ArrayIterator.cpp
|
|
Runtime/ArrayIteratorPrototype.cpp
|
|
Runtime/ArrayPrototype.cpp
|
|
Runtime/AsyncFromSyncIterator.cpp
|
|
Runtime/AsyncFromSyncIteratorPrototype.cpp
|
|
Runtime/AsyncFunctionConstructor.cpp
|
|
Runtime/AsyncFunctionDriverWrapper.cpp
|
|
Runtime/AsyncFunctionPrototype.cpp
|
|
Runtime/AsyncGenerator.cpp
|
|
Runtime/AsyncGeneratorFunctionConstructor.cpp
|
|
Runtime/AsyncGeneratorFunctionPrototype.cpp
|
|
Runtime/AsyncGeneratorPrototype.cpp
|
|
Runtime/AsyncIteratorPrototype.cpp
|
|
Runtime/AtomicsObject.cpp
|
|
Runtime/BigInt.cpp
|
|
Runtime/BigIntConstructor.cpp
|
|
Runtime/BigIntObject.cpp
|
|
Runtime/BigIntPrototype.cpp
|
|
Runtime/BooleanConstructor.cpp
|
|
Runtime/BooleanObject.cpp
|
|
Runtime/BooleanPrototype.cpp
|
|
Runtime/BoundFunction.cpp
|
|
Runtime/Completion.cpp
|
|
Runtime/ConsoleObjectPrototype.cpp
|
|
Runtime/ConsoleObject.cpp
|
|
Runtime/DataView.cpp
|
|
Runtime/DataViewConstructor.cpp
|
|
Runtime/DataViewPrototype.cpp
|
|
Runtime/Date.cpp
|
|
Runtime/DateConstructor.cpp
|
|
Runtime/DatePrototype.cpp
|
|
Runtime/DeclarativeEnvironment.cpp
|
|
Runtime/DisposableStack.cpp
|
|
Runtime/DisposableStackConstructor.cpp
|
|
Runtime/DisposableStackPrototype.cpp
|
|
Runtime/ECMAScriptFunctionObject.cpp
|
|
Runtime/Environment.cpp
|
|
Runtime/Error.cpp
|
|
Runtime/ErrorConstructor.cpp
|
|
Runtime/ErrorPrototype.cpp
|
|
Runtime/ErrorTypes.cpp
|
|
Runtime/ExecutionContext.cpp
|
|
Runtime/FinalizationRegistry.cpp
|
|
Runtime/FinalizationRegistryConstructor.cpp
|
|
Runtime/FinalizationRegistryPrototype.cpp
|
|
Runtime/FunctionConstructor.cpp
|
|
Runtime/FunctionEnvironment.cpp
|
|
Runtime/FunctionObject.cpp
|
|
Runtime/FunctionPrototype.cpp
|
|
Runtime/GeneratorFunctionConstructor.cpp
|
|
Runtime/GeneratorFunctionPrototype.cpp
|
|
Runtime/GeneratorObject.cpp
|
|
Runtime/GeneratorPrototype.cpp
|
|
Runtime/GlobalEnvironment.cpp
|
|
Runtime/GlobalObject.cpp
|
|
Runtime/IndexedProperties.cpp
|
|
Runtime/Intl/AbstractOperations.cpp
|
|
Runtime/Intl/Collator.cpp
|
|
Runtime/Intl/CollatorCompareFunction.cpp
|
|
Runtime/Intl/CollatorConstructor.cpp
|
|
Runtime/Intl/CollatorPrototype.cpp
|
|
Runtime/Intl/DateTimeFormat.cpp
|
|
Runtime/Intl/DateTimeFormatConstructor.cpp
|
|
Runtime/Intl/DateTimeFormatFunction.cpp
|
|
Runtime/Intl/DateTimeFormatPrototype.cpp
|
|
Runtime/Intl/DisplayNames.cpp
|
|
Runtime/Intl/DisplayNamesConstructor.cpp
|
|
Runtime/Intl/DisplayNamesPrototype.cpp
|
|
Runtime/Intl/DurationFormat.cpp
|
|
Runtime/Intl/DurationFormatConstructor.cpp
|
|
Runtime/Intl/DurationFormatPrototype.cpp
|
|
Runtime/Intl/Intl.cpp
|
|
Runtime/Intl/ListFormat.cpp
|
|
Runtime/Intl/ListFormatConstructor.cpp
|
|
Runtime/Intl/ListFormatPrototype.cpp
|
|
Runtime/Intl/Locale.cpp
|
|
Runtime/Intl/LocaleConstructor.cpp
|
|
Runtime/Intl/LocalePrototype.cpp
|
|
Runtime/Intl/MathematicalValue.cpp
|
|
Runtime/Intl/NumberFormat.cpp
|
|
Runtime/Intl/NumberFormatConstructor.cpp
|
|
Runtime/Intl/NumberFormatFunction.cpp
|
|
Runtime/Intl/NumberFormatPrototype.cpp
|
|
Runtime/Intl/PluralRules.cpp
|
|
Runtime/Intl/PluralRulesConstructor.cpp
|
|
Runtime/Intl/PluralRulesPrototype.cpp
|
|
Runtime/Intl/RelativeTimeFormat.cpp
|
|
Runtime/Intl/RelativeTimeFormatConstructor.cpp
|
|
Runtime/Intl/RelativeTimeFormatPrototype.cpp
|
|
Runtime/Intl/Segmenter.cpp
|
|
Runtime/Intl/SegmenterConstructor.cpp
|
|
Runtime/Intl/SegmenterPrototype.cpp
|
|
Runtime/Intl/Segments.cpp
|
|
Runtime/Intl/SegmentIterator.cpp
|
|
Runtime/Intl/SegmentIteratorPrototype.cpp
|
|
Runtime/Intl/SegmentsPrototype.cpp
|
|
Runtime/Intrinsics.cpp
|
|
Runtime/Iterator.cpp
|
|
Runtime/IteratorConstructor.cpp
|
|
Runtime/IteratorHelper.cpp
|
|
Runtime/IteratorHelperPrototype.cpp
|
|
Runtime/IteratorPrototype.cpp
|
|
Runtime/JSONObject.cpp
|
|
Runtime/JobCallback.cpp
|
|
Runtime/KeyedCollections.cpp
|
|
Runtime/Map.cpp
|
|
Runtime/MapConstructor.cpp
|
|
Runtime/MapIterator.cpp
|
|
Runtime/MapIteratorPrototype.cpp
|
|
Runtime/MapPrototype.cpp
|
|
Runtime/MathObject.cpp
|
|
Runtime/ModuleEnvironment.cpp
|
|
Runtime/ModuleNamespaceObject.cpp
|
|
Runtime/NativeFunction.cpp
|
|
Runtime/NumberConstructor.cpp
|
|
Runtime/NumberObject.cpp
|
|
Runtime/NumberPrototype.cpp
|
|
Runtime/Object.cpp
|
|
Runtime/ObjectConstructor.cpp
|
|
Runtime/ObjectEnvironment.cpp
|
|
Runtime/ObjectPrototype.cpp
|
|
Runtime/PrimitiveString.cpp
|
|
Runtime/PrivateEnvironment.cpp
|
|
Runtime/Promise.cpp
|
|
Runtime/PromiseCapability.cpp
|
|
Runtime/PromiseConstructor.cpp
|
|
Runtime/PromiseJobs.cpp
|
|
Runtime/PromisePrototype.cpp
|
|
Runtime/PromiseReaction.cpp
|
|
Runtime/PromiseResolvingElementFunctions.cpp
|
|
Runtime/PromiseResolvingFunction.cpp
|
|
Runtime/PropertyDescriptor.cpp
|
|
Runtime/ProxyConstructor.cpp
|
|
Runtime/ProxyObject.cpp
|
|
Runtime/Realm.cpp
|
|
Runtime/Reference.cpp
|
|
Runtime/ReflectObject.cpp
|
|
Runtime/RegExpConstructor.cpp
|
|
Runtime/RegExpLegacyStaticProperties.cpp
|
|
Runtime/RegExpObject.cpp
|
|
Runtime/RegExpPrototype.cpp
|
|
Runtime/RegExpStringIterator.cpp
|
|
Runtime/RegExpStringIteratorPrototype.cpp
|
|
Runtime/Set.cpp
|
|
Runtime/SetConstructor.cpp
|
|
Runtime/SetIterator.cpp
|
|
Runtime/SetIteratorPrototype.cpp
|
|
Runtime/SetPrototype.cpp
|
|
Runtime/ShadowRealm.cpp
|
|
Runtime/ShadowRealmConstructor.cpp
|
|
Runtime/ShadowRealmPrototype.cpp
|
|
Runtime/Shape.cpp
|
|
Runtime/SharedArrayBufferConstructor.cpp
|
|
Runtime/SharedArrayBufferPrototype.cpp
|
|
Runtime/StringConstructor.cpp
|
|
Runtime/StringIterator.cpp
|
|
Runtime/StringIteratorPrototype.cpp
|
|
Runtime/StringObject.cpp
|
|
Runtime/StringPrototype.cpp
|
|
Runtime/SuppressedError.cpp
|
|
Runtime/SuppressedErrorConstructor.cpp
|
|
Runtime/SuppressedErrorPrototype.cpp
|
|
Runtime/Symbol.cpp
|
|
Runtime/SymbolConstructor.cpp
|
|
Runtime/SymbolObject.cpp
|
|
Runtime/SymbolPrototype.cpp
|
|
Runtime/Temporal/AbstractOperations.cpp
|
|
Runtime/Temporal/Calendar.cpp
|
|
Runtime/Temporal/CalendarConstructor.cpp
|
|
Runtime/Temporal/CalendarPrototype.cpp
|
|
Runtime/Temporal/Duration.cpp
|
|
Runtime/Temporal/DurationConstructor.cpp
|
|
Runtime/Temporal/DurationPrototype.cpp
|
|
Runtime/Temporal/Instant.cpp
|
|
Runtime/Temporal/InstantConstructor.cpp
|
|
Runtime/Temporal/InstantPrototype.cpp
|
|
Runtime/Temporal/ISO8601.cpp
|
|
Runtime/Temporal/Now.cpp
|
|
Runtime/Temporal/PlainDate.cpp
|
|
Runtime/Temporal/PlainDateConstructor.cpp
|
|
Runtime/Temporal/PlainDatePrototype.cpp
|
|
Runtime/Temporal/PlainDateTime.cpp
|
|
Runtime/Temporal/PlainDateTimeConstructor.cpp
|
|
Runtime/Temporal/PlainDateTimePrototype.cpp
|
|
Runtime/Temporal/PlainMonthDay.cpp
|
|
Runtime/Temporal/PlainMonthDayConstructor.cpp
|
|
Runtime/Temporal/PlainMonthDayPrototype.cpp
|
|
Runtime/Temporal/PlainTime.cpp
|
|
Runtime/Temporal/PlainTimeConstructor.cpp
|
|
Runtime/Temporal/PlainTimePrototype.cpp
|
|
Runtime/Temporal/PlainYearMonth.cpp
|
|
Runtime/Temporal/PlainYearMonthConstructor.cpp
|
|
Runtime/Temporal/PlainYearMonthPrototype.cpp
|
|
Runtime/Temporal/Temporal.cpp
|
|
Runtime/Temporal/TimeZone.cpp
|
|
Runtime/Temporal/TimeZoneConstructor.cpp
|
|
Runtime/Temporal/TimeZoneMethods.cpp
|
|
Runtime/Temporal/TimeZonePrototype.cpp
|
|
Runtime/Temporal/ZonedDateTime.cpp
|
|
Runtime/Temporal/ZonedDateTimeConstructor.cpp
|
|
Runtime/Temporal/ZonedDateTimePrototype.cpp
|
|
Runtime/TypedArray.cpp
|
|
Runtime/TypedArrayConstructor.cpp
|
|
Runtime/TypedArrayPrototype.cpp
|
|
Runtime/Uint8Array.cpp
|
|
Runtime/Utf16String.cpp
|
|
Runtime/Value.cpp
|
|
Runtime/VM.cpp
|
|
Runtime/WeakMap.cpp
|
|
Runtime/WeakMapConstructor.cpp
|
|
Runtime/WeakMapPrototype.cpp
|
|
Runtime/WeakRef.cpp
|
|
Runtime/WeakRefConstructor.cpp
|
|
Runtime/WeakRefPrototype.cpp
|
|
Runtime/WeakSet.cpp
|
|
Runtime/WeakSetConstructor.cpp
|
|
Runtime/WeakSetPrototype.cpp
|
|
Runtime/WrapForValidIteratorPrototype.cpp
|
|
Runtime/WrappedFunction.cpp
|
|
Script.cpp
|
|
SourceCode.cpp
|
|
SourceTextModule.cpp
|
|
SyntaxHighlighter.cpp
|
|
SyntheticModule.cpp
|
|
Token.cpp
|
|
)
|
|
|
|
serenity_lib(LibJS js)
|
|
target_link_libraries(LibJS PRIVATE LibCore LibCrypto LibFileSystem LibRegex LibSyntax)
|
|
|
|
# Link LibUnicode publicly to ensure ICU data (which is in libicudata.a) is available in any process using LibJS.
|
|
target_link_libraries(LibJS PUBLIC LibUnicode)
|
|
|
|
# TODO: This is probably also needed on RISC-V.
|
|
if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i.86.*")
|
|
target_link_libraries(LibJS PRIVATE atomic)
|
|
endif()
|
|
|
|
target_compile_options(LibJS PRIVATE -fno-omit-frame-pointer)
|
|
target_link_libraries(LibJS PUBLIC JSClangPlugin)
|