Skip to content
Permalink
Browse files
[AppleWin] JSC build failure
https://bugs.webkit.org/show_bug.cgi?id=229578

Reviewed by Don Olmstead.

Add new build dependency between LLIntOffsetsExtractor and JSCBuiltins targets.

* CMakeLists.txt:


Canonical link: https://commits.webkit.org/241003@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
pvollan committed Aug 26, 2021
1 parent 999b1f6 commit 74bd0da94fa1d31a115bc4ee0e3927d8b2ea571e
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 65 deletions.
@@ -309,6 +309,70 @@ add_custom_command(
COMMAND ${RUBY_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/offlineasm/generate_offset_extractor.rb -I${JavaScriptCore_DERIVED_SOURCES_DIR}/ ${JAVASCRIPTCORE_DIR}/llint/LowLevelInterpreter.asm $<TARGET_FILE:LLIntSettingsExtractor> ${JavaScriptCore_DERIVED_SOURCES_DIR}/LLIntDesiredOffsets.h ${OFFLINE_ASM_BACKEND} ${BUILD_VARIANTS}
VERBATIM)

# JSCBuiltins

set(BUILTINS_GENERATOR_SCRIPTS
${JavaScriptCore_SCRIPTS_DIR}/wkbuiltins.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generator.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_model.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_templates.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_header.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_implementation.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_header.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_implementation.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_wrapper_header.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_wrapper_implementation.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_internals_wrapper_header.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_internals_wrapper_implementation.py
${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py
${JavaScriptCore_SCRIPTS_DIR}/lazywriter.py
)

set(JavaScriptCore_BUILTINS_SOURCES
${JAVASCRIPTCORE_DIR}/builtins/AsyncFromSyncIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/ArrayConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/ArrayIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/ArrayPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/AsyncFunctionPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/AsyncIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/AsyncGeneratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/DatePrototype.js
${JAVASCRIPTCORE_DIR}/builtins/FunctionPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/GeneratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/GlobalObject.js
${JAVASCRIPTCORE_DIR}/builtins/GlobalOperations.js
${JAVASCRIPTCORE_DIR}/builtins/InternalPromiseConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/IteratorHelpers.js
${JAVASCRIPTCORE_DIR}/builtins/IteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/MapIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/MapPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/ModuleLoader.js
${JAVASCRIPTCORE_DIR}/builtins/NumberConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/ObjectConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/PromiseConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/PromiseOperations.js
${JAVASCRIPTCORE_DIR}/builtins/PromisePrototype.js
${JAVASCRIPTCORE_DIR}/builtins/ReflectObject.js
${JAVASCRIPTCORE_DIR}/builtins/RegExpPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/RegExpStringIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/SetIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/SetPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/StringConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/StringIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/StringPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/TypedArrayConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/TypedArrayPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/WebAssembly.js
)

add_custom_command(
OUTPUT ${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBuiltins.cpp ${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBuiltins.h
MAIN_DEPENDENCY ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py
DEPENDS ${JavaScriptCore_BUILTINS_SOURCES} ${BUILTINS_GENERATOR_SCRIPTS}
COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py --framework JavaScriptCore --output-directory ${JavaScriptCore_DERIVED_SOURCES_DIR} --combined ${JavaScriptCore_BUILTINS_SOURCES}
VERBATIM)
add_custom_target(JSCBuiltins DEPENDS "${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBuiltins.h")

# We add the header files directly to the ADD_EXECUTABLE call instead of setting the
# OBJECT_DEPENDS property in LLIntOffsetsExtractor.cpp because generate_offset_extractor.rb and
# generate-bytecode-files may not regenerate the .h files in case the hash it calculates does not change.
@@ -342,7 +406,7 @@ set(LLIntOffsetsExtractor_PRIVATE_INCLUDE_DIRECTORIES
$<TARGET_PROPERTY:JavaScriptCore,INCLUDE_DIRECTORIES>
)
set(LLIntOffsetsExtractor_FRAMEWORKS ${JavaScriptCore_FRAMEWORKS})
set(LLIntOffsetsExtractor_DEPENDENCIES JavaScriptCore_CopyHeaders)
set(LLIntOffsetsExtractor_DEPENDENCIES JavaScriptCore_CopyHeaders JSCBuiltins)
WEBKIT_EXECUTABLE(LLIntOffsetsExtractor)

# The build system will execute asm.rb every time LLIntOffsetsExtractor's mtime is newer than
@@ -1296,70 +1360,6 @@ add_custom_command(
VERBATIM)
add_custom_target(InspectorBackendCommands DEPENDS "${JavaScriptCore_DERIVED_SOURCES_DIR}/inspector/InspectorBackendCommands.js")

# JSCBuiltins

set(BUILTINS_GENERATOR_SCRIPTS
${JavaScriptCore_SCRIPTS_DIR}/wkbuiltins.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generator.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_model.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_templates.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_header.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_implementation.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_header.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_implementation.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_wrapper_header.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_wrapper_implementation.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_internals_wrapper_header.py
${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_internals_wrapper_implementation.py
${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py
${JavaScriptCore_SCRIPTS_DIR}/lazywriter.py
)

set(JavaScriptCore_BUILTINS_SOURCES
${JAVASCRIPTCORE_DIR}/builtins/AsyncFromSyncIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/ArrayConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/ArrayIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/ArrayPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/AsyncFunctionPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/AsyncIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/AsyncGeneratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/DatePrototype.js
${JAVASCRIPTCORE_DIR}/builtins/FunctionPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/GeneratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/GlobalObject.js
${JAVASCRIPTCORE_DIR}/builtins/GlobalOperations.js
${JAVASCRIPTCORE_DIR}/builtins/InternalPromiseConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/IteratorHelpers.js
${JAVASCRIPTCORE_DIR}/builtins/IteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/MapIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/MapPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/ModuleLoader.js
${JAVASCRIPTCORE_DIR}/builtins/NumberConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/ObjectConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/PromiseConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/PromiseOperations.js
${JAVASCRIPTCORE_DIR}/builtins/PromisePrototype.js
${JAVASCRIPTCORE_DIR}/builtins/ReflectObject.js
${JAVASCRIPTCORE_DIR}/builtins/RegExpPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/RegExpStringIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/SetIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/SetPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/StringConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/StringIteratorPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/StringPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/TypedArrayConstructor.js
${JAVASCRIPTCORE_DIR}/builtins/TypedArrayPrototype.js
${JAVASCRIPTCORE_DIR}/builtins/WebAssembly.js
)

add_custom_command(
OUTPUT ${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBuiltins.cpp ${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBuiltins.h
MAIN_DEPENDENCY ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py
DEPENDS ${JavaScriptCore_BUILTINS_SOURCES} ${BUILTINS_GENERATOR_SCRIPTS}
COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py --framework JavaScriptCore --output-directory ${JavaScriptCore_DERIVED_SOURCES_DIR} --combined ${JavaScriptCore_BUILTINS_SOURCES}
VERBATIM)
add_custom_target(JSCBuiltins DEPENDS "${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBuiltins.h")

list(APPEND JavaScriptCore_HEADERS
${JavaScriptCore_DERIVED_SOURCES_DIR}/inspector/InspectorBackendDispatchers.h
${JavaScriptCore_DERIVED_SOURCES_DIR}/inspector/InspectorFrontendDispatchers.h
@@ -1,3 +1,14 @@
2021-08-26 Per Arne Vollan <pvollan@apple.com>

[AppleWin] JSC build failure
https://bugs.webkit.org/show_bug.cgi?id=229578

Reviewed by Don Olmstead.

Add new build dependency between LLIntOffsetsExtractor and JSCBuiltins targets.

* CMakeLists.txt:

2021-08-26 Yusuke Suzuki <ysuzuki@apple.com>

[JSC] Segfault in stress/typedarray-every.js (32bit)

0 comments on commit 74bd0da

Please sign in to comment.