This website requires JavaScript.
Explore
Help
Sign in
andodeki
/
makepad
Watch
1
Star
0
Fork
You've already forked makepad
0
Code
Issues
Pull requests
Projects
Releases
Packages
Wiki
Activity
Actions
work
makepad
/
libs
/
objc-sys
History
Download ZIP
Download TAR.GZ
Exact
Exact
Union
RegExp
Admin
1e9e4c860a
objc-sys, script derive: msg_send!/sel!/class! expand to one call into shared helpers, and derive(Script) writes its LiveIds as literals -- every msg_send! site expanded a selector-registering fn with its own static, a match on send_message and a panic arm, and every class! a lookup fn; platform's ~3.3k uses made 57k expanded lines (macOS). sel_impl!/class! now declare only their static and call runtime::__cached_sel / __cached_class (first use registers or looks up through an #[inline(never)] cold path that asserts the name ends in NUL; same Relaxed caching, same "Class with name .. could not be found" panic, #[track_caller] keeps the site), msg_send! calls message::send_message_or_panic / send_super_message_or_panic (both verify_message variants; the panic is one #[cold] fn). derive(Script) emits the LiveId hash literal itself (TokenBuilder::live_id, what id!(name) expands to) instead of nested id! calls (widgets-core: 2448 -> 171 id! expansions) and no longer overrides script_type_id_static, which equals the trait default. Measured on the Mac mini (clean release, alternating pairs): base stack (-p makepad-widgets --no-default-features) 28.5/28.3 s -> 27.9/28.0 s; platform alone 8.76 -> 8.03 s (typeck 1.21 -> 1.04, borrowck 1.41 -> 1.18, expansion 0.28 -> 0.22, metadata 1.35 -> 1.25); widgets-core unchanged. Checked: cargo check --release for script, script-std, draw, platform(+video), apple-sys, ai-metal, ai-speech, audio-route, cef, objc-sys, widgets, every widget family, code-editor, storybook; cargo test --release: script lib 62, draw 145, platform 355, objc-sys 4 (+3), 375 script/draw integration tests, widgets-core 684 (the same 3 failures as before: image::shader_tests x2, one theme_tokens test); example-counter's grab is byte-identical to the unpatched build.
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-03 22:11:47 +02:00
..
src
objc-sys, script derive: msg_send!/sel!/class! expand to one call into shared helpers, and derive(Script) writes its LiveIds as literals -- every msg_send! site expanded a selector-registering fn with its own static, a match on send_message and a panic arm, and every class! a lookup fn; platform's ~3.3k uses made 57k expanded lines (macOS). sel_impl!/class! now declare only their static and call runtime::__cached_sel / __cached_class (first use registers or looks up through an #[inline(never)] cold path that asserts the name ends in NUL; same Relaxed caching, same "Class with name .. could not be found" panic, #[track_caller] keeps the site), msg_send! calls message::send_message_or_panic / send_super_message_or_panic (both verify_message variants; the panic is one #[cold] fn). derive(Script) emits the LiveId hash literal itself (TokenBuilder::live_id, what id!(name) expands to) instead of nested id! calls (widgets-core: 2448 -> 171 id! expansions) and no longer overrides script_type_id_static, which equals the trait default. Measured on the Mac mini (clean release, alternating pairs): base stack (-p makepad-widgets --no-default-features) 28.5/28.3 s -> 27.9/28.0 s; platform alone 8.76 -> 8.03 s (typeck 1.21 -> 1.04, borrowck 1.41 -> 1.18, expansion 0.28 -> 0.22, metadata 1.35 -> 1.25); widgets-core unchanged. Checked: cargo check --release for script, script-std, draw, platform(+video), apple-sys, ai-metal, ai-speech, audio-route, cef, objc-sys, widgets, every widget family, code-editor, storybook; cargo test --release: script lib 62, draw 145, platform 355, objc-sys 4 (+3), 375 script/draw integration tests, widgets-core 684 (the same 3 failures as before: image::shader_tests x2, one theme_tokens test); example-counter's grab is byte-identical to the unpatched build.
2026-10-03 22:11:47 +02:00
Cargo.toml
1.0.0
2025-05-15 16:46:16 +02:00
LICENSE.txt
Initial commit
2025-05-06 10:11:37 +02:00