X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..HEAD:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index cc45c2f..8ae8665 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,8 @@ set(JavaScriptCore_INCLUDE_DIRECTORIES "${JAVASCRIPTCORE_DIR}/debugger" "${JAVASCRIPTCORE_DIR}/inspector" "${JAVASCRIPTCORE_DIR}/inspector/agents" + "${JAVASCRIPTCORE_DIR}/inspector/augmentable" + "${JAVASCRIPTCORE_DIR}/inspector/remote" "${JAVASCRIPTCORE_DIR}/interpreter" "${JAVASCRIPTCORE_DIR}/jit" "${JAVASCRIPTCORE_DIR}/llint" @@ -26,9 +28,15 @@ set(JavaScriptCore_INCLUDE_DIRECTORIES "${JAVASCRIPTCORE_DIR}/tools" "${JAVASCRIPTCORE_DIR}/yarr" "${WTF_DIR}" + "${DERIVED_SOURCES_DIR}" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders" "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}" + "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector" "${CMAKE_SOURCE_DIR}/Source" - ${ICU_INCLUDE_DIRS} +) + +set(JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES + "${ICU_INCLUDE_DIRS}" ) set(JavaScriptCore_SOURCES @@ -47,8 +55,11 @@ set(JavaScriptCore_SOURCES API/JSWeakObjectMapRefPrivate.cpp API/OpaqueJSString.cpp + assembler/ARMAssembler.cpp assembler/LinkBuffer.cpp assembler/MacroAssembler.cpp + assembler/MacroAssemblerARM.cpp + assembler/MacroAssemblerARMv7.cpp assembler/MacroAssemblerX86Common.cpp bindings/ScriptFunctionCall.cpp @@ -60,16 +71,22 @@ set(JavaScriptCore_SOURCES bytecode/ArrayAllocationProfile.cpp bytecode/ArrayProfile.cpp bytecode/BytecodeBasicBlock.cpp + bytecode/BytecodeIntrinsicRegistry.cpp bytecode/BytecodeLivenessAnalysis.cpp + bytecode/CallEdge.cpp bytecode/CallLinkInfo.cpp bytecode/CallLinkStatus.cpp + bytecode/CallVariant.cpp bytecode/CodeBlock.cpp bytecode/CodeBlockHash.cpp bytecode/CodeBlockJettisoningWatchpoint.cpp bytecode/CodeOrigin.cpp bytecode/CodeType.cpp + bytecode/ComplexGetStatus.cpp + bytecode/ConstantStructureCheck.cpp bytecode/DFGExitProfile.cpp bytecode/DeferredCompilationCallback.cpp + bytecode/DeferredSourceDump.cpp bytecode/ExecutionCounter.cpp bytecode/ExitKind.cpp bytecode/ExitingJITType.cpp @@ -83,73 +100,88 @@ set(JavaScriptCore_SOURCES bytecode/PolymorphicGetByIdList.cpp bytecode/PolymorphicPutByIdList.cpp bytecode/PreciseJumpTargets.cpp - bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp bytecode/PutByIdStatus.cpp bytecode/PutByIdVariant.cpp bytecode/ReduceWhitespace.cpp bytecode/SamplingTool.cpp bytecode/SpecialPointer.cpp bytecode/SpeculatedType.cpp + bytecode/StructureSet.cpp bytecode/StructureStubClearingWatchpoint.cpp bytecode/StructureStubInfo.cpp + bytecode/ToThisStatus.cpp + bytecode/TrackedReferences.cpp bytecode/UnlinkedCodeBlock.cpp bytecode/UnlinkedInstructionStream.cpp bytecode/ValueRecovery.cpp + bytecode/VariableWriteFireDetail.cpp + bytecode/VirtualRegister.cpp bytecode/Watchpoint.cpp bytecompiler/BytecodeGenerator.cpp bytecompiler/NodesCodegen.cpp debugger/Debugger.cpp - debugger/DebuggerActivation.cpp debugger/DebuggerCallFrame.cpp + debugger/DebuggerScope.cpp dfg/DFGAbstractHeap.cpp dfg/DFGAbstractValue.cpp - dfg/DFGArgumentsSimplificationPhase.cpp + dfg/DFGArgumentsEliminationPhase.cpp + dfg/DFGArgumentsUtilities.cpp dfg/DFGArithMode.cpp dfg/DFGArrayMode.cpp dfg/DFGAtTailAbstractState.cpp dfg/DFGAvailability.cpp + dfg/DFGAvailabilityMap.cpp dfg/DFGBackwardsPropagationPhase.cpp dfg/DFGBasicBlock.cpp - dfg/DFGBinarySwitch.cpp dfg/DFGBlockInsertionSet.cpp + dfg/DFGBlockSet.cpp + dfg/DFGBlockWorklist.cpp dfg/DFGByteCodeParser.cpp dfg/DFGCFAPhase.cpp dfg/DFGCFGSimplificationPhase.cpp dfg/DFGCPSRethreadingPhase.cpp dfg/DFGCSEPhase.cpp dfg/DFGCapabilities.cpp + dfg/DFGCleanUpPhase.cpp dfg/DFGClobberSet.cpp dfg/DFGClobberize.cpp + dfg/DFGCombinedLiveness.cpp dfg/DFGCommon.cpp dfg/DFGCommonData.cpp dfg/DFGCompilationKey.cpp dfg/DFGCompilationMode.cpp dfg/DFGConstantFoldingPhase.cpp + dfg/DFGConstantHoistingPhase.cpp dfg/DFGCriticalEdgeBreakingPhase.cpp dfg/DFGDCEPhase.cpp dfg/DFGDesiredIdentifiers.cpp - dfg/DFGDesiredStructureChains.cpp dfg/DFGDesiredTransitions.cpp dfg/DFGDesiredWatchpoints.cpp dfg/DFGDesiredWeakReferences.cpp dfg/DFGDesiredWriteBarriers.cpp dfg/DFGDisassembler.cpp + dfg/DFGDoesGC.cpp dfg/DFGDominators.cpp dfg/DFGDriver.cpp dfg/DFGEdge.cpp + dfg/DFGEpoch.cpp dfg/DFGFailedFinalizer.cpp dfg/DFGFinalizer.cpp dfg/DFGFixupPhase.cpp dfg/DFGFlushFormat.cpp dfg/DFGFlushedAt.cpp + dfg/DFGFrozenValue.cpp dfg/DFGFunctionWhitelist.cpp dfg/DFGGraph.cpp dfg/DFGGraphSafepoint.cpp + dfg/DFGHeapLocation.cpp dfg/DFGInPlaceAbstractState.cpp + dfg/DFGInsertOSRHintsForUpdate.cpp dfg/DFGIntegerCheckCombiningPhase.cpp + dfg/DFGIntegerRangeOptimizationPhase.cpp dfg/DFGInvalidationPointInjectionPhase.cpp dfg/DFGJITCode.cpp dfg/DFGJITCompiler.cpp @@ -157,10 +189,15 @@ set(JavaScriptCore_SOURCES dfg/DFGJumpReplacement.cpp dfg/DFGLICMPhase.cpp dfg/DFGLazyJSValue.cpp + dfg/DFGLazyNode.cpp dfg/DFGLivenessAnalysisPhase.cpp dfg/DFGLongLivedState.cpp dfg/DFGLoopPreHeaderCreationPhase.cpp + dfg/DFGMayExit.cpp + dfg/DFGMinifiedGraph.cpp dfg/DFGMinifiedNode.cpp + dfg/DFGMovHintRemovalPhase.cpp + dfg/DFGNaiveDominators.cpp dfg/DFGNaturalLoops.cpp dfg/DFGNode.cpp dfg/DFGNodeFlags.cpp @@ -173,14 +210,23 @@ set(JavaScriptCore_SOURCES dfg/DFGOSRExitCompiler32_64.cpp dfg/DFGOSRExitCompiler64.cpp dfg/DFGOSRExitCompilerCommon.cpp + dfg/DFGOSRExitFuzz.cpp dfg/DFGOSRExitJumpPlaceholder.cpp dfg/DFGOSRExitPreparation.cpp + dfg/DFGObjectAllocationSinkingPhase.cpp + dfg/DFGObjectMaterializationData.cpp dfg/DFGOperations.cpp + dfg/DFGPhantomInsertionPhase.cpp dfg/DFGPhase.cpp + dfg/DFGPhiChildren.cpp dfg/DFGPlan.cpp + dfg/DFGPrePostNumbering.cpp dfg/DFGPredictionInjectionPhase.cpp dfg/DFGPredictionPropagationPhase.cpp - dfg/DFGResurrectionForValidationPhase.cpp + dfg/DFGPromotedHeapLocation.cpp + dfg/DFGPureValue.cpp + dfg/DFGPutStackSinkingPhase.cpp + dfg/DFGSSACalculator.cpp dfg/DFGSSAConversionPhase.cpp dfg/DFGSSALoweringPhase.cpp dfg/DFGSafepoint.cpp @@ -189,16 +235,21 @@ set(JavaScriptCore_SOURCES dfg/DFGSpeculativeJIT64.cpp dfg/DFGStackLayoutPhase.cpp dfg/DFGStaticExecutionCountEstimationPhase.cpp - dfg/DFGStoreBarrierElisionPhase.cpp + dfg/DFGStoreBarrierInsertionPhase.cpp dfg/DFGStrengthReductionPhase.cpp + dfg/DFGStructureAbstractValue.cpp + dfg/DFGStructureRegistrationPhase.cpp dfg/DFGThreadData.cpp dfg/DFGThunks.cpp dfg/DFGTierUpCheckInjectionPhase.cpp + dfg/DFGTransition.cpp dfg/DFGTypeCheckHoistingPhase.cpp dfg/DFGUnificationPhase.cpp dfg/DFGUseKind.cpp dfg/DFGValidate.cpp dfg/DFGValueSource.cpp + dfg/DFGValueStrength.cpp + dfg/DFGVarargsForwardingPhase.cpp dfg/DFGVariableAccessData.cpp dfg/DFGVariableAccessDataDump.cpp dfg/DFGVariableEvent.cpp @@ -207,14 +258,16 @@ set(JavaScriptCore_SOURCES dfg/DFGWatchpointCollectionPhase.cpp dfg/DFGWorklist.cpp - disassembler/ARMv7/ARMv7DOpcode.cpp + disassembler/ARM64Disassembler.cpp disassembler/ARMv7Disassembler.cpp disassembler/Disassembler.cpp disassembler/LLVMDisassembler.cpp - disassembler/UDis86Disassembler.cpp disassembler/X86Disassembler.cpp - heap/BlockAllocator.cpp + disassembler/ARM64/A64DOpcode.cpp + + disassembler/ARMv7/ARMv7DOpcode.cpp + heap/CodeBlockSet.cpp heap/ConservativeRoots.cpp heap/CopiedSpace.cpp @@ -231,6 +284,7 @@ set(JavaScriptCore_SOURCES heap/Heap.cpp heap/HeapStatistics.cpp heap/HeapTimer.cpp + heap/HeapVerifier.cpp heap/IncrementalSweeper.cpp heap/JITStubRoutineSet.cpp heap/MachineStackMarker.cpp @@ -239,7 +293,6 @@ set(JavaScriptCore_SOURCES heap/MarkedBlock.cpp heap/MarkedSpace.cpp heap/SlotVisitor.cpp - heap/SuperRegion.cpp heap/Weak.cpp heap/WeakBlock.cpp heap/WeakHandleOwner.cpp @@ -249,6 +302,7 @@ set(JavaScriptCore_SOURCES inspector/ConsoleMessage.cpp inspector/ContentSearchUtilities.cpp + inspector/EventLoop.cpp inspector/IdentifiersFactory.cpp inspector/InjectedScript.cpp inspector/InjectedScriptBase.cpp @@ -258,6 +312,9 @@ set(JavaScriptCore_SOURCES inspector/InspectorAgentRegistry.cpp inspector/InspectorBackendDispatcher.cpp inspector/InspectorValues.cpp + inspector/JSGlobalObjectConsoleClient.cpp + inspector/JSGlobalObjectInspectorController.cpp + inspector/JSGlobalObjectScriptDebugServer.cpp inspector/JSInjectedScriptHost.cpp inspector/JSInjectedScriptHostPrototype.cpp inspector/JSJavaScriptCallFrame.cpp @@ -268,11 +325,14 @@ set(JavaScriptCore_SOURCES inspector/ScriptCallStack.cpp inspector/ScriptCallStackFactory.cpp inspector/ScriptDebugServer.cpp + inspector/agents/InspectorAgent.cpp inspector/agents/InspectorConsoleAgent.cpp inspector/agents/InspectorDebuggerAgent.cpp - inspector/agents/InspectorProfilerAgent.cpp inspector/agents/InspectorRuntimeAgent.cpp + inspector/agents/JSGlobalObjectConsoleAgent.cpp + inspector/agents/JSGlobalObjectDebuggerAgent.cpp + inspector/agents/JSGlobalObjectRuntimeAgent.cpp interpreter/AbstractPC.cpp interpreter/CallFrame.cpp @@ -280,12 +340,12 @@ set(JavaScriptCore_SOURCES interpreter/JSStack.cpp interpreter/ProtoCallFrame.cpp interpreter/StackVisitor.cpp - interpreter/VMInspector.cpp jit/AccessorCallJITStubRoutine.cpp - jit/AssemblyHelpers.cpp jit/ArityCheckFailReturnThunks.cpp - jit/ClosureCallStubRoutine.cpp + jit/AssemblyHelpers.cpp + jit/BinarySwitch.cpp + jit/ExecutableAllocationFuzz.cpp jit/ExecutableAllocator.cpp jit/ExecutableAllocatorFixedVMPool.cpp jit/GCAwareJITStubRoutine.cpp @@ -308,11 +368,13 @@ set(JavaScriptCore_SOURCES jit/JITStubs.cpp jit/JITThunks.cpp jit/JITToDFGDeferredCompilationCallback.cpp + jit/PolymorphicCallStubRoutine.cpp jit/Reg.cpp jit/RegisterPreservationWrapperGenerator.cpp jit/RegisterSet.cpp jit/Repatch.cpp jit/ScratchRegisterAllocator.cpp + jit/SetupVarargsFrame.cpp jit/TempRegisterSet.cpp jit/ThunkGenerators.cpp @@ -342,21 +404,35 @@ set(JavaScriptCore_SOURCES profiler/ProfilerOriginStack.cpp profiler/ProfilerProfiledBytecodes.cpp + tools/CodeProfile.cpp + tools/CodeProfiling.cpp + tools/FunctionOverrides.cpp + tools/JSDollarVM.cpp + tools/JSDollarVMPrototype.cpp + + yarr/RegularExpression.cpp + yarr/YarrCanonicalizeUCS2.cpp + yarr/YarrInterpreter.cpp + yarr/YarrJIT.cpp + yarr/YarrPattern.cpp + yarr/YarrSyntaxChecker.cpp +) + +set(JavaScriptCore_RUNTIME_SOURCES runtime/ArgList.cpp - runtime/Arguments.cpp - runtime/ArgumentsIteratorConstructor.cpp - runtime/ArgumentsIteratorPrototype.cpp runtime/ArrayBuffer.cpp runtime/ArrayBufferNeuteringWatchpoint.cpp runtime/ArrayBufferView.cpp runtime/ArrayConstructor.cpp - runtime/ArrayIteratorConstructor.cpp runtime/ArrayIteratorPrototype.cpp runtime/ArrayPrototype.cpp + runtime/BasicBlockLocation.cpp runtime/BooleanConstructor.cpp runtime/BooleanObject.cpp runtime/BooleanPrototype.cpp + runtime/BundlePath.cpp runtime/CallData.cpp + runtime/ClonedArguments.cpp runtime/CodeCache.cpp runtime/CodeSpecializationKind.cpp runtime/CommonIdentifiers.cpp @@ -366,34 +442,43 @@ set(JavaScriptCore_SOURCES runtime/Completion.cpp runtime/ConsoleClient.cpp runtime/ConsolePrototype.cpp + runtime/ConstantMode.cpp runtime/ConstructData.cpp + runtime/ControlFlowProfiler.cpp runtime/CustomGetterSetter.cpp runtime/DataView.cpp - runtime/DataView.h runtime/DateConstructor.cpp runtime/DateConversion.cpp runtime/DateInstance.cpp runtime/DatePrototype.cpp + runtime/DirectArguments.cpp + runtime/DirectArgumentsOffset.cpp runtime/DumpContext.cpp runtime/Error.cpp runtime/ErrorConstructor.cpp runtime/ErrorHandlingScope.cpp runtime/ErrorInstance.cpp runtime/ErrorPrototype.cpp + runtime/Exception.cpp + runtime/ExceptionFuzz.cpp runtime/ExceptionHelpers.cpp runtime/Executable.cpp runtime/FunctionConstructor.cpp runtime/FunctionExecutableDump.cpp + runtime/FunctionHasExecutedCache.cpp runtime/FunctionPrototype.cpp + runtime/FunctionRareData.cpp runtime/GetterSetter.cpp runtime/Identifier.cpp runtime/IndexingType.cpp + runtime/InferredValue.cpp runtime/InitializeThreading.cpp runtime/IntendedStructureChain.cpp runtime/InternalFunction.cpp + runtime/IntlObject.cpp + runtime/IteratorOperations.cpp + runtime/IteratorPrototype.cpp runtime/JSAPIValueWrapper.cpp - runtime/JSActivation.cpp - runtime/JSArgumentsIterator.cpp runtime/JSArray.cpp runtime/JSArrayBuffer.cpp runtime/JSArrayBufferConstructor.cpp @@ -402,14 +487,21 @@ set(JavaScriptCore_SOURCES runtime/JSArrayIterator.cpp runtime/JSBoundFunction.cpp runtime/JSCJSValue.cpp + runtime/JSCallee.cpp + runtime/JSCatchScope.cpp runtime/JSCell.cpp runtime/JSConsole.cpp runtime/JSDataView.cpp runtime/JSDataViewPrototype.cpp runtime/JSDateMath.cpp + runtime/JSEnvironmentRecord.cpp runtime/JSFunction.cpp + runtime/JSFunctionNameScope.cpp runtime/JSGlobalObject.cpp + runtime/JSGlobalObjectDebuggable.cpp runtime/JSGlobalObjectFunctions.cpp + runtime/JSJob.cpp + runtime/JSLexicalEnvironment.cpp runtime/JSLock.cpp runtime/JSMap.cpp runtime/JSMapIterator.cpp @@ -420,39 +512,37 @@ set(JavaScriptCore_SOURCES runtime/JSPromise.cpp runtime/JSPromiseConstructor.cpp runtime/JSPromiseDeferred.cpp - runtime/JSPromiseFunctions.cpp - runtime/JSPromiseReaction.cpp runtime/JSPromisePrototype.cpp - runtime/JSPropertyNameIterator.cpp + runtime/JSPropertyNameEnumerator.cpp runtime/JSProxy.cpp runtime/JSScope.cpp runtime/JSSegmentedVariableObject.cpp runtime/JSSet.cpp runtime/JSSetIterator.cpp runtime/JSString.cpp + runtime/JSStringIterator.cpp runtime/JSStringJoiner.cpp runtime/JSSymbolTableObject.cpp + runtime/JSTemplateRegistryKey.cpp runtime/JSTypedArrayConstructors.cpp runtime/JSTypedArrayPrototypes.cpp runtime/JSTypedArrays.cpp - runtime/JSVariableObject.cpp runtime/JSWeakMap.cpp + runtime/JSWeakSet.cpp runtime/JSWithScope.cpp runtime/JSWrapperObject.cpp runtime/LiteralParser.cpp runtime/Lookup.cpp runtime/MapConstructor.cpp - runtime/MapData.cpp - runtime/MapIteratorConstructor.cpp runtime/MapIteratorPrototype.cpp runtime/MapPrototype.cpp + runtime/MathCommon.cpp runtime/MathObject.cpp runtime/MemoryStatistics.cpp - runtime/NameConstructor.cpp - runtime/NameInstance.cpp - runtime/NamePrototype.cpp runtime/NativeErrorConstructor.cpp runtime/NativeErrorPrototype.cpp + runtime/NullGetterFunction.cpp + runtime/NullSetterFunction.cpp runtime/NumberConstructor.cpp runtime/NumberObject.cpp runtime/NumberPrototype.cpp @@ -461,7 +551,6 @@ set(JavaScriptCore_SOURCES runtime/Operations.cpp runtime/Options.cpp runtime/PropertyDescriptor.cpp - runtime/PropertyNameArray.cpp runtime/PropertySlot.cpp runtime/PropertyTable.cpp runtime/PrototypeMap.cpp @@ -472,9 +561,12 @@ set(JavaScriptCore_SOURCES runtime/RegExpMatchesArray.cpp runtime/RegExpObject.cpp runtime/RegExpPrototype.cpp + runtime/RuntimeType.cpp runtime/SamplingCounter.cpp + runtime/ScopeOffset.cpp + runtime/ScopedArguments.cpp + runtime/ScopedArgumentsTable.cpp runtime/SetConstructor.cpp - runtime/SetIteratorConstructor.cpp runtime/SetIteratorPrototype.cpp runtime/SetPrototype.cpp runtime/SimpleTypedArrayController.cpp @@ -482,6 +574,7 @@ set(JavaScriptCore_SOURCES runtime/SparseArrayValueMap.cpp runtime/StrictEvalActivation.cpp runtime/StringConstructor.cpp + runtime/StringIteratorPrototype.cpp runtime/StringObject.cpp runtime/StringPrototype.cpp runtime/StringRecursionChecker.cpp @@ -489,32 +582,39 @@ set(JavaScriptCore_SOURCES runtime/StructureChain.cpp runtime/StructureIDTable.cpp runtime/StructureRareData.cpp + runtime/Symbol.cpp + runtime/SymbolConstructor.cpp + runtime/SymbolObject.cpp + runtime/SymbolPrototype.cpp runtime/SymbolTable.cpp + runtime/TemplateRegistry.cpp runtime/TestRunnerUtils.cpp + runtime/TypeLocationCache.cpp + runtime/TypeProfiler.cpp + runtime/TypeProfilerLog.cpp + runtime/TypeSet.cpp runtime/TypedArrayController.cpp runtime/TypedArrayType.cpp + runtime/TypeofType.cpp runtime/VM.cpp runtime/VMEntryScope.cpp + runtime/VarOffset.cpp runtime/Watchdog.cpp runtime/WatchdogNone.cpp runtime/WeakMapConstructor.cpp runtime/WeakMapData.cpp runtime/WeakMapPrototype.cpp + runtime/WeakSetConstructor.cpp + runtime/WeakSetPrototype.cpp +) - tools/CodeProfile.cpp - tools/CodeProfiling.cpp - - yarr/RegularExpression.cpp - yarr/YarrCanonicalizeUCS2.cpp - yarr/YarrInterpreter.cpp - yarr/YarrJIT.cpp - yarr/YarrPattern.cpp - yarr/YarrSyntaxChecker.cpp +list(APPEND JavaScriptCore_SOURCES + ${JavaScriptCore_RUNTIME_SOURCES} ) set(JavaScriptCore_LUT_FILES runtime/ArrayConstructor.cpp - runtime/ArrayPrototype.cpp + runtime/ArrayIteratorPrototype.cpp runtime/BooleanPrototype.cpp runtime/DateConstructor.cpp runtime/DatePrototype.cpp @@ -524,14 +624,15 @@ set(JavaScriptCore_LUT_FILES runtime/JSONObject.cpp runtime/JSPromiseConstructor.cpp runtime/JSPromisePrototype.cpp - runtime/NamePrototype.cpp runtime/NumberConstructor.cpp runtime/NumberPrototype.cpp runtime/ObjectConstructor.cpp runtime/RegExpConstructor.cpp - runtime/RegExpObject.cpp runtime/RegExpPrototype.cpp runtime/StringConstructor.cpp + runtime/StringIteratorPrototype.cpp + runtime/SymbolConstructor.cpp + runtime/SymbolPrototype.cpp ) set(JavaScriptCore_LIBRARIES @@ -539,7 +640,7 @@ set(JavaScriptCore_LIBRARIES ${ICU_I18N_LIBRARIES} ) -if (WTF_USE_UDIS86) +if (USE_UDIS86) set(UDIS_GEN_DEP disassembler/udis86/ud_opcode.py disassembler/udis86/ud_optable.py @@ -559,6 +660,8 @@ if (WTF_USE_UDIS86) ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/udis86_itab.h ) list(APPEND JavaScriptCore_SOURCES + disassembler/UDis86Disassembler.cpp + disassembler/udis86/udis86.c disassembler/udis86/udis86_decode.c disassembler/udis86/udis86_input.c @@ -569,13 +672,6 @@ if (WTF_USE_UDIS86) ) endif () -# We cannot check for RUBY_FOUND because it is set only when the full package is installed and -# the only thing we need is the interpreter. Unlike Python, cmake does not provide a macro -# for finding the only Ruby interpreter. -if (NOT RUBY_EXECUTABLE) - message(FATAL_ERROR "The Ruby interpreter is needed to generate LLInt files.") -endif () - set(LLINT_ASM llint/LowLevelInterpreter.asm llint/LowLevelInterpreter32_64.asm @@ -584,11 +680,13 @@ set(LLINT_ASM set(OFFLINE_ASM offlineasm/arm.rb + offlineasm/arm64.rb offlineasm/ast.rb offlineasm/backends.rb offlineasm/cloop.rb offlineasm/config.rb offlineasm/instructions.rb + offlineasm/mips.rb offlineasm/offsets.rb offlineasm/opt.rb offlineasm/parser.rb @@ -596,6 +694,7 @@ set(OFFLINE_ASM offlineasm/risc.rb offlineasm/self_hash.rb offlineasm/settings.rb + offlineasm/sh4.rb offlineasm/transform.rb offlineasm/x86.rb ) @@ -635,21 +734,41 @@ target_link_libraries(LLIntOffsetsExtractor WTF) # LLIntOffsetsExtractor matches, no output is generated. To make this target consistent and avoid # running this command for every build, we artificially update LLIntAssembly.h's mtime (using touch) # after every asm.rb run. +if (MSVC) + set(LLIntOutput LowLevelInterpreterWin.asm) +else () + set(LLIntOutput LLIntAssembly.h) +endif () + add_custom_command( - OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h + OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/${LLIntOutput} MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/offlineasm/asm.rb DEPENDS LLIntOffsetsExtractor ${LLINT_ASM} ${OFFLINE_ASM} ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InitBytecodes.asm - COMMAND ${RUBY_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/offlineasm/asm.rb -I${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/ ${JAVASCRIPTCORE_DIR}/llint/LowLevelInterpreter.asm $ ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h - COMMAND ${CMAKE_COMMAND} -E touch_nocreate ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h + COMMAND ${RUBY_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/offlineasm/asm.rb -I${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/ ${JAVASCRIPTCORE_DIR}/llint/LowLevelInterpreter.asm $ ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/${LLIntOutput} + COMMAND ${CMAKE_COMMAND} -E touch_nocreate ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/${LLIntOutput} VERBATIM) # The explanation for not making LLIntAssembly.h part of the OBJECT_DEPENDS property of some of # the .cpp files below is similar to the one in the previous comment. However, since these .cpp # files are used to build JavaScriptCore itself, we can just add LLIntAssembly.h to JSC_HEADERS # since it is used in the add_library() call at the end of this file. -list(APPEND JavaScriptCore_HEADERS - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h -) +if (MSVC) + enable_language(ASM_MASM) + list(APPEND JavaScriptCore_SOURCES + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LowLevelInterpreterWin.asm + ) + # Win32 needs /safeseh with assembly, but Win64 does not. + if (CMAKE_SIZEOF_VOID_P EQUAL 4) + set_source_files_properties(${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LowLevelInterpreterWin.asm + PROPERTIES COMPILE_FLAGS "/safeseh" + ) + endif () +else () + list(APPEND JavaScriptCore_HEADERS + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h + ) +endif () + list(APPEND JavaScriptCore_SOURCES llint/LLIntCLoop.cpp llint/LLIntData.cpp @@ -683,14 +802,50 @@ if (ENABLE_FTL_JIT) COMMAND ${CMAKE_COMMAND} -E touch ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/WebKitLLVMLibraryToken.h VERBATIM) + if (ENABLE_FTL_NATIVE_CALL_INLINING) + function(JOIN VALUES GLUE OUTPUT) + string(REPLACE ";" "${GLUE}" _TMP_STR "${VALUES}") + set(${OUTPUT} "${_TMP_STR}" PARENT_SCOPE) + endfunction() + + JOIN("${JavaScriptCore_INCLUDE_DIRECTORIES}" " -I" JSC_INCLUDES) + + set(LLVM_BITCODE_FILES) + + foreach (_file ${JavaScriptCore_RUNTIME_SOURCES}) + get_filename_component(_name ${_file} NAME_WE) + add_custom_command( + OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/runtime/${_name}.bc + COMMAND ${PYTHON_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/create-llvm-ir-from-source-file.py ${_file} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${CLANG_EXE} "${JSC_INCLUDES}" + WORKING_DIRECTORY "${JAVASCRIPTCORE_DIR}" + VERBATIM) + + ADD_SOURCE_DEPENDENCIES(${CMAKE_CURRENT_SOURCE_DIR}/ftl/FTLState.cpp ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/runtime/${_name}.bc) + list(APPEND LLVM_BITCODE_FILES + ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/runtime/${_name}.bc + ) + endforeach () + + get_filename_component(LLVM_BINS ${LLVM_CONFIG_EXE} PATH) + + add_custom_command( + OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InlineRuntimeSymbolTable.h + MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/create-symbol-table-index.py + DEPENDS ${LLVM_BITCODE_FILES} + COMMAND ${PYTHON_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/create-symbol-table-index.py ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${JAVASCRIPTCORE_DIR} ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR} ${LLVM_BINS} + WORKING_DIRECTORY "${JAVASCRIPTCORE_DIR}" + VERBATIM) + + ADD_SOURCE_DEPENDENCIES(${CMAKE_CURRENT_SOURCE_DIR}/ftl/FTLState.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InlineRuntimeSymbolTable.h) + endif () + WEBKIT_WRAP_SOURCELIST(${llvmForJSC_SOURCES}) add_library(llvmForJSC SHARED ${llvmForJSC_SOURCES} ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/WebKitLLVMLibraryToken.h) - target_link_libraries(llvmForJSC ${LLVM_STATIC_LIBRARIES} "pthread" "dl") + target_link_libraries(llvmForJSC ${LLVM_STATIC_LIBRARIES} "pthread" "dl" -Wl,--version-script=${JAVASCRIPTCORE_DIR}/llvm/library/libllvmForJSC.version) # Added extra items for JavaScriptCore - list(APPEND JavaScriptCore_INCLUDE_DIRECTORIES + list(APPEND JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES ${LLVM_INCLUDE_DIRS} - ${LIBCXXABI_INCLUDE_DIRS} ) list(APPEND JavaScriptCore_SOURCES @@ -711,7 +866,9 @@ if (ENABLE_FTL_JIT) ftl/FTLDataSection.cpp ftl/FTLExitArgument.cpp ftl/FTLExitArgumentForOperand.cpp + ftl/FTLExitPropertyValue.cpp ftl/FTLExitThunkGenerator.cpp + ftl/FTLExitTimeObjectMaterialization.cpp ftl/FTLExitValue.cpp ftl/FTLFail.cpp ftl/FTLForOSREntryJITCode.cpp @@ -720,12 +877,15 @@ if (ENABLE_FTL_JIT) ftl/FTLJITCode.cpp ftl/FTLJITFinalizer.cpp ftl/FTLJSCall.cpp + ftl/FTLJSCallBase.cpp + ftl/FTLJSCallVarargs.cpp ftl/FTLLink.cpp ftl/FTLLocation.cpp ftl/FTLLowerDFGToLLVM.cpp ftl/FTLOSREntry.cpp - ftl/FTLOSRExitCompiler.cpp ftl/FTLOSRExit.cpp + ftl/FTLOSRExitCompiler.cpp + ftl/FTLOperations.cpp ftl/FTLOutput.cpp ftl/FTLRecoveryOpcode.cpp ftl/FTLRegisterAtOffset.cpp @@ -769,7 +929,6 @@ set(JavaScriptCore_FORWARDING_HEADERS_DIRECTORIES debugger heap inspector - inspector/agents interpreter jit llint @@ -779,35 +938,72 @@ set(JavaScriptCore_FORWARDING_HEADERS_DIRECTORIES yarr collector/handles + + inspector/agents + inspector/augmentable + inspector/remote + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR} ) set(JavaScriptCore_FORWARDING_HEADERS_FILES + API/APICallbackFunction.h API/APICast.h + API/JSAPIWrapperObject.h API/JSBase.h + API/JSBasePrivate.h API/JSCTestRunnerUtils.h + API/JSCallbackConstructor.h + API/JSCallbackFunction.h + API/JSCallbackObject.h + API/JSCallbackObjectFunctions.h + API/JSClassRef.h + API/JSContext.h + API/JSContextInternal.h + API/JSContextPrivate.h API/JSContextRef.h + API/JSContextRefInternal.h API/JSContextRefPrivate.h + API/JSExport.h + API/JSManagedValue.h + API/JSManagedValueInternal.h API/JSObjectRef.h API/JSObjectRefPrivate.h + API/JSProfilerPrivate.h API/JSRetainPtr.h API/JSScriptRefPrivate.h API/JSStringRef.h API/JSStringRefBSTR.h API/JSStringRefCF.h + API/JSStringRefPrivate.h + API/JSValue.h + API/JSValueInternal.h API/JSValueRef.h + API/JSVirtualMachine.h + API/JSVirtualMachineInternal.h API/JSWeakObjectMapRefInternal.h API/JSWeakObjectMapRefPrivate.h + API/JSWrapperMap.h API/JavaScript.h API/JavaScriptCore.h + API/ObjcRuntimeExtras.h API/OpaqueJSString.h API/WebKitAvailability.h assembler/LinkBuffer.h assembler/MacroAssembler.h assembler/MacroAssemblerCodeRef.h - assembler/MacroAssemblerCodeRef.h + + inspector/augmentable/AugmentableInspectorController.h + + inspector/remote/RemoteInspector.h + inspector/remote/RemoteInspectorConstants.h + inspector/remote/RemoteInspectorDebuggable.h + inspector/remote/RemoteInspectorDebuggableConnection.h + inspector/remote/RemoteInspectorXPCConnection.h + jit/GPRInfo.h + runtime/VM.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h @@ -832,6 +1028,7 @@ ADD_SOURCE_DEPENDENCIES(${CMAKE_CURRENT_SOURCE_DIR}/yarr/YarrPattern.cpp ${DERIV add_custom_command( OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/KeywordLookup.h MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/KeywordLookupGenerator.py + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/parser/Keywords.table COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/KeywordLookupGenerator.py ${CMAKE_CURRENT_SOURCE_DIR}/parser/Keywords.table > ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/KeywordLookup.h VERBATIM) ADD_SOURCE_DEPENDENCIES(${CMAKE_CURRENT_SOURCE_DIR}/parser/Lexer.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/KeywordLookup.h) @@ -841,57 +1038,97 @@ ADD_SOURCE_DEPENDENCIES(${CMAKE_CURRENT_SOURCE_DIR}/parser/Lexer.cpp ${DERIVED_S set(JavaScriptCore_INSPECTOR_SCRIPTS_DIR "${JAVASCRIPTCORE_DIR}/inspector/scripts") +set(JavaScriptCore_INSPECTOR_PROTOCOL_SCRIPTS + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/generate-inspector-protocol-bindings.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/cpp_generator.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/cpp_generator_templates.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_js_backend_commands.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_cpp_backend_dispatcher_header.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_cpp_backend_dispatcher_implementation.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_cpp_frontend_dispatcher_header.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_cpp_frontend_dispatcher_implementation.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_cpp_protocol_types_header.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_cpp_protocol_types_implementation.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/generator.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/generator_templates.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/__init__.py + ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/codegen/models.py +) + set(JavaScriptCore_INSPECTOR_DOMAINS + ${JAVASCRIPTCORE_DIR}/inspector/protocol/ApplicationCache.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/CSS.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Console.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/DOM.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/DOMDebugger.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/DOMStorage.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/Database.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Debugger.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/GenericTypes.json - ${JAVASCRIPTCORE_DIR}/inspector/protocol/InspectorDomain.json - ${JAVASCRIPTCORE_DIR}/inspector/protocol/Profiler.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/Inspector.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/LayerTree.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/Network.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/OverlayTypes.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/Page.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Runtime.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/Timeline.json + ${JAVASCRIPTCORE_DIR}/inspector/protocol/Worker.json ) +if (ENABLE_INDEXED_DATABASE) + list(APPEND JavaScriptCore_INSPECTOR_DOMAINS + ${JAVASCRIPTCORE_DIR}/inspector/protocol/IndexedDB.json + ) +endif () + +if (ENABLE_WEB_REPLAY) + list(APPEND JavaScriptCore_INSPECTOR_DOMAINS + ${JAVASCRIPTCORE_DIR}/inspector/protocol/Replay.json + ) +endif () + add_custom_command( - OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json + OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/CombinedDomains.json MAIN_DEPENDENCY ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/generate-combined-inspector-json.py DEPENDS ${JavaScriptCore_INSPECTOR_DOMAINS} - COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/generate-combined-inspector-json.py ${JavaScriptCore_INSPECTOR_DOMAINS} > ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json + COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/generate-combined-inspector-json.py ${JavaScriptCore_INSPECTOR_DOMAINS} > ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/CombinedDomains.json VERBATIM) # Inspector Backend Dispatchers, Frontend Dispatchers, Type Builders +file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol) +file(MAKE_DIRECTORY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector) add_custom_command( - OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.cpp - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.h - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.cpp - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.h - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.cpp - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h - ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol/InspectorJSBackendCommands.js - MAIN_DEPENDENCY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json - DEPENDS ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspector.py - ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspectorStrings.py - COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspector.py ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json --output_h_dir "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}" --output_cpp_dir "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}" --output_js_dir "${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol" --output_type JavaScript --write_always && mkdir -p ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector && cp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector + OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorBackendDispatchers.cpp + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorBackendDispatchers.h + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorFrontendDispatchers.cpp + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorFrontendDispatchers.h + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorProtocolObjects.cpp + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorProtocolObjects.h + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorBackendCommands.js + MAIN_DEPENDENCY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/CombinedDomains.json + DEPENDS ${JavaScriptCore_INSPECTOR_PROTOCOL_SCRIPTS} + COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/generate-inspector-protocol-bindings.py --outputDir "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector" --framework JavaScriptCore ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/CombinedDomains.json VERBATIM) # JSCBuiltins -file(GLOB JSCBuiltins_js_files "${CMAKE_CURRENT_SOURCE_DIR}/builtins/*.js") add_custom_command( OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins - DEPENDS ${JSCBuiltins_js_files} - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins ${JSCBuiltins_js_files} ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/builtins + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins --input-directory ${CMAKE_CURRENT_SOURCE_DIR}/builtins --output ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp VERBATIM) list(APPEND JavaScriptCore_SOURCES - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.cpp - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.cpp - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.cpp + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorBackendDispatchers.cpp + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorFrontendDispatchers.cpp + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorProtocolObjects.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp ) list(APPEND JavaScriptCore_HEADERS - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.h - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.h - ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorBackendDispatchers.h + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorFrontendDispatchers.h + ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorProtocolObjects.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h ) @@ -924,34 +1161,16 @@ if (ENABLE_WEB_REPLAY) endif () if (WTF_CPU_ARM) - list(APPEND JavaScriptCore_SOURCES - assembler/ARMAssembler.cpp - assembler/ARMv7Assembler.cpp - assembler/MacroAssemblerARM.cpp - ) - if (MSVC AND ENABLE_JIT) - add_custom_command( - OUTPUT ${DERIVED_SOURCES_DIR}/GeneratedJITStubs.asm - MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/create_jit_stubs - DEPENDS ${JAVASCRIPTCORE_DIR}/jit/JITStubsARM.h - DEPENDS ${JAVASCRIPTCORE_DIR}/jit/JITStubs.cpp - COMMAND ${PERL_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/create_jit_stubs --prefix=MSVC --header ${JAVASCRIPTCORE_DIR}/jit/JITStubsARM.h ${JAVASCRIPTCORE_DIR}/jit/JITStubs.cpp > ${DERIVED_SOURCES_DIR}/GeneratedJITStubs.asm - VERBATIM) - - add_custom_command( - OUTPUT ${DERIVED_SOURCES_DIR}/GeneratedJITStubs.obj - MAIN_DEPENDENCY ${DERIVED_SOURCES_DIR}/GeneratedJITStubs.asm - COMMAND armasm -nologo ${DERIVED_SOURCES_DIR}/GeneratedJITStubs.asm ${DERIVED_SOURCES_DIR}/GeneratedJITStubs.obj - VERBATIM) - - list(APPEND JavaScriptCore_SOURCES ${DERIVED_SOURCES_DIR}/GeneratedJITStubs.obj) - endif () +elseif (WTF_CPU_ARM64) +elseif (WTF_CPU_HPPA) +elseif (WTF_CPU_PPC) +elseif (WTF_CPU_PPC64) +elseif (WTF_CPU_PPC64LE) +elseif (WTF_CPU_S390) +elseif (WTF_CPU_S390X) elseif (WTF_CPU_MIPS) elseif (WTF_CPU_SH4) elseif (WTF_CPU_X86) - list(APPEND JavaScriptCore_SOURCES - assembler/MacroAssemblerX86Common.cpp - ) elseif (WTF_CPU_X86_64) if (MSVC AND ENABLE_JIT) add_custom_command( @@ -962,9 +1181,6 @@ elseif (WTF_CPU_X86_64) list(APPEND JavaScriptCore_SOURCES ${DERIVED_SOURCES_DIR}/JITStubsMSVC64.obj) endif () - list(APPEND JavaScriptCore_SOURCES - assembler/MacroAssemblerX86Common.cpp - ) else () message(FATAL_ERROR "Unknown CPU") endif () @@ -979,12 +1195,11 @@ add_subdirectory(shell) WEBKIT_WRAP_SOURCELIST(${JavaScriptCore_SOURCES}) include_directories(${JavaScriptCore_INCLUDE_DIRECTORIES}) -add_definitions(-DSTATICALLY_LINKED_WITH_WTF) +include_directories(SYSTEM ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES}) add_library(JavaScriptCore ${JavaScriptCore_LIBRARY_TYPE} ${JavaScriptCore_HEADERS} ${JavaScriptCore_SOURCES}) target_link_libraries(JavaScriptCore ${JavaScriptCore_LIBRARIES}) set_target_properties(JavaScriptCore PROPERTIES COMPILE_DEFINITIONS "BUILDING_JavaScriptCore") set_target_properties(JavaScriptCore PROPERTIES FOLDER "JavaScriptCore") -set_target_properties(JavaScriptCore PROPERTIES LINK_INTERFACE_LIBRARIES "") if (JavaScriptCore_OUTPUT_NAME) set_target_properties(JavaScriptCore PROPERTIES OUTPUT_NAME ${JavaScriptCore_OUTPUT_NAME}) @@ -999,3 +1214,5 @@ endif () if (ENABLE_FTL_JIT) add_dependencies(JavaScriptCore llvmForJSC) endif () + +