-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] main from emscripten-core:main #104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
GL_UNPACK_ROW_LENGTH is a WebGL2/GLES3 API that is not present in WebGL 1. Chrome seems to be lazy and allow it in WebGL 1 as well, but Firefox is strict and this test fails if not run against WebGL 2.
…ved responses during test run. (#24573)
Main introduction is porting `llvm-project/compiler_rt/lib/profile` `into system/lib/compiler_rt/lib/profile` Related #13072 llvm/llvm-project#111332 No modifications were required for what was ported. llvm-cov worked fine for me with simple project. * `-g` is required to produce a properly instrumented binary `error: failed to load coverage: 'my.wasm': no coverage data found`
It looks like without this the fallback functions are not actually thread safe: https://github.com/llvm/llvm-project/blob/63b80dd01dafc92104ee43e4f0f5296d644c25ec/compiler-rt/lib/profile/InstrProfilingUtil.c#L102-L119 Followup to #24160
Review these changes at https://app.gitnotebooks.com/Stars1233/emscripten/pull/104 |
🚨 gitStream Monthly Automation Limit Reached 🚨 Your organization has exceeded the number of pull requests allowed for automation with gitStream. To continue automating your PR workflows and unlock additional features, please contact LinearB. |
Reviewer's GuideThis PR adds full support for LLVM’s source-based code coverage by integrating compiler-rt’s coverage mapping runtime into Emscripten, updates build flags and shared tools to generate and merge coverage data, and applies targeted fixes to tests and browser behaviors. Class diagram for new and updated code coverage runtime typesclassDiagram
class ValueProfRecord {
+uint32_t Kind
+uint32_t NumValueSites
+uint8_t SiteCountArray[1]
// ...
}
class ValueProfData {
+uint32_t TotalSize
+uint32_t NumValueKinds
// ...
}
class InstrProfValueData {
+uint64_t Value
+uint64_t Count
}
class lprofFilename {
+const char* FilenamePat
+unsigned OwnsFilenamePat
+const char* ProfilePathPrefix
+char PidChars[MAX_PID_SIZE]
+char* TmpDir
+char Hostname[COMPILER_RT_MAX_HOSTLEN]
+unsigned NumPids
+unsigned NumHosts
+unsigned MergePoolSize
+ProfileNameSpecifier PNS
}
ValueProfData "1" *-- "many" ValueProfRecord
ValueProfRecord "1" *-- "many" InstrProfValueData
Class diagram for GCDAProfiling.c callback and function list managementclassDiagram
class fn_node {
+dynamic_object_id id
+fn_ptr fn
+fn_node* next
}
class fn_list {
+fn_node* head
+fn_node* tail
}
fn_list "1" o-- "many" fn_node
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Join our Discord community for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.1)
Can you help keep this open source service alive? 💖 Please sponsor : )
Summary by Sourcery
Add support for source-based code coverage by integrating Compiler-RT coverage mapping infrastructure and tests, update test harness and browser tests, and record these changes in the ChangeLog.
New Features:
test_fcoverage_mapping
to validate coverage mapping outputEnhancements:
.mjs
MIME type for ES modules in the test serverassert_out_queue_empty
to include detailed responses on failure-sMIN_WEBGL_VERSION=2
Build:
Documentation:
Tests: