html-to-markdown 2.28.1 → 2.28.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +6 -6
  3. data/README.md +5 -1
  4. data/ext/html-to-markdown-rb/native/Cargo.lock +1694 -0
  5. data/ext/html-to-markdown-rb/native/Cargo.toml +1 -1
  6. data/lib/html_to_markdown/version.rb +1 -1
  7. data/rust-vendor/html-to-markdown-rs/Cargo.toml +1 -1
  8. data/rust-vendor/libc/.cargo-checksum.json +1 -1
  9. data/rust-vendor/libc/.cargo_vcs_info.json +1 -1
  10. data/rust-vendor/libc/CHANGELOG.md +19 -0
  11. data/rust-vendor/libc/Cargo.lock +1 -1
  12. data/rust-vendor/libc/Cargo.toml +1 -1
  13. data/rust-vendor/libc/Cargo.toml.orig +1 -1
  14. data/rust-vendor/libc/build.rs +3 -3
  15. data/rust-vendor/libc/src/fuchsia/mod.rs +2 -0
  16. data/rust-vendor/libc/src/hermit.rs +1 -0
  17. data/rust-vendor/libc/src/lib.rs +1 -0
  18. data/rust-vendor/libc/src/new/linux_uapi/linux/mod.rs +1 -0
  19. data/rust-vendor/libc/src/new/linux_uapi/linux/pidfd.rs +59 -0
  20. data/rust-vendor/libc/src/new/mod.rs +3 -0
  21. data/rust-vendor/libc/src/new/netbsd/sys/file.rs +16 -0
  22. data/rust-vendor/libc/src/new/netbsd/sys/mod.rs +2 -0
  23. data/rust-vendor/libc/src/new/netbsd/sys/socket.rs +44 -0
  24. data/rust-vendor/libc/src/new/qurt/mod.rs +2 -0
  25. data/rust-vendor/libc/src/solid/mod.rs +1 -0
  26. data/rust-vendor/libc/src/switch.rs +1 -0
  27. data/rust-vendor/libc/src/teeos/mod.rs +2 -0
  28. data/rust-vendor/libc/src/trusty.rs +1 -0
  29. data/rust-vendor/libc/src/unix/bsd/apple/b64/mod.rs +1 -0
  30. data/rust-vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs +31 -0
  31. data/rust-vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs +92 -0
  32. data/rust-vendor/libc/src/unix/hurd/mod.rs +1 -0
  33. data/rust-vendor/libc/src/unix/linux_like/linux/gnu/mod.rs +1 -0
  34. data/rust-vendor/libc/src/unix/linux_like/linux/mod.rs +22 -46
  35. data/rust-vendor/libc/src/unix/mod.rs +2 -0
  36. data/rust-vendor/libc/src/unix/newlib/espidf/mod.rs +2 -0
  37. data/rust-vendor/libc/src/unix/redox/mod.rs +2 -2
  38. data/rust-vendor/libc/src/vxworks/mod.rs +46 -0
  39. data/rust-vendor/libc/src/wasi/mod.rs +2 -0
  40. data/rust-vendor/libc/src/windows/mod.rs +2 -0
  41. data/rust-vendor/zerocopy/.cargo-checksum.json +1 -1
  42. data/rust-vendor/zerocopy/.cargo_vcs_info.json +1 -1
  43. data/rust-vendor/zerocopy/Cargo.lock +3 -3
  44. data/rust-vendor/zerocopy/Cargo.toml +178 -4
  45. data/rust-vendor/zerocopy/Cargo.toml.orig +5 -5
  46. data/rust-vendor/zerocopy/benches/formats/coco_dynamic_padding.rs +24 -0
  47. data/rust-vendor/zerocopy/benches/formats/coco_dynamic_size.rs +23 -0
  48. data/rust-vendor/zerocopy/benches/formats/coco_static_size.rs +23 -0
  49. data/rust-vendor/zerocopy/benches/read_from_bytes.rs +7 -0
  50. data/rust-vendor/zerocopy/benches/read_from_bytes.x86-64 +15 -0
  51. data/rust-vendor/zerocopy/benches/read_from_bytes.x86-64.mca +65 -0
  52. data/rust-vendor/zerocopy/benches/read_from_prefix.rs +10 -0
  53. data/rust-vendor/zerocopy/benches/read_from_prefix.x86-64 +14 -0
  54. data/rust-vendor/zerocopy/benches/read_from_prefix.x86-64.mca +63 -0
  55. data/rust-vendor/zerocopy/benches/read_from_suffix.rs +10 -0
  56. data/rust-vendor/zerocopy/benches/read_from_suffix.x86-64 +15 -0
  57. data/rust-vendor/zerocopy/benches/read_from_suffix.x86-64.mca +65 -0
  58. data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_padding.rs +7 -0
  59. data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_padding.x86-64 +22 -0
  60. data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_padding.x86-64.mca +77 -0
  61. data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_size.rs +7 -0
  62. data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_size.x86-64 +20 -0
  63. data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_size.x86-64.mca +75 -0
  64. data/rust-vendor/zerocopy/benches/ref_from_bytes_static_size.rs +7 -0
  65. data/rust-vendor/zerocopy/benches/ref_from_bytes_static_size.x86-64 +8 -0
  66. data/rust-vendor/zerocopy/benches/ref_from_bytes_static_size.x86-64.mca +53 -0
  67. data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_padding.rs +10 -0
  68. data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_padding.x86-64 +30 -0
  69. data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_padding.x86-64.mca +95 -0
  70. data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_size.rs +10 -0
  71. data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_size.x86-64 +16 -0
  72. data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_size.x86-64.mca +65 -0
  73. data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_padding.rs +10 -0
  74. data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_padding.x86-64 +22 -0
  75. data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_padding.x86-64.mca +77 -0
  76. data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_size.rs +10 -0
  77. data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_size.x86-64 +17 -0
  78. data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_size.x86-64.mca +67 -0
  79. data/rust-vendor/zerocopy/benches/ref_from_prefix_static_size.rs +10 -0
  80. data/rust-vendor/zerocopy/benches/ref_from_prefix_static_size.x86-64 +8 -0
  81. data/rust-vendor/zerocopy/benches/ref_from_prefix_static_size.x86-64.mca +53 -0
  82. data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_padding.rs +13 -0
  83. data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_padding.x86-64 +35 -0
  84. data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_padding.x86-64.mca +101 -0
  85. data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_size.rs +13 -0
  86. data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_size.x86-64 +22 -0
  87. data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_size.x86-64.mca +77 -0
  88. data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_padding.rs +10 -0
  89. data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_padding.x86-64 +23 -0
  90. data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_padding.x86-64.mca +79 -0
  91. data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_size.rs +10 -0
  92. data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_size.x86-64 +13 -0
  93. data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_size.x86-64.mca +63 -0
  94. data/rust-vendor/zerocopy/benches/ref_from_suffix_static_size.rs +10 -0
  95. data/rust-vendor/zerocopy/benches/ref_from_suffix_static_size.x86-64 +13 -0
  96. data/rust-vendor/zerocopy/benches/ref_from_suffix_static_size.x86-64.mca +61 -0
  97. data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_padding.rs +13 -0
  98. data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_padding.x86-64 +34 -0
  99. data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_padding.x86-64.mca +99 -0
  100. data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_size.rs +13 -0
  101. data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_size.x86-64 +23 -0
  102. data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_size.x86-64.mca +77 -0
  103. data/rust-vendor/zerocopy/benches/transmute.rs +16 -0
  104. data/rust-vendor/zerocopy/benches/transmute.x86-64 +3 -0
  105. data/rust-vendor/zerocopy/benches/transmute.x86-64.mca +43 -0
  106. data/rust-vendor/zerocopy/benches/transmute_ref_dynamic_size.rs +16 -0
  107. data/rust-vendor/zerocopy/benches/transmute_ref_dynamic_size.x86-64 +4 -0
  108. data/rust-vendor/zerocopy/benches/transmute_ref_dynamic_size.x86-64.mca +45 -0
  109. data/rust-vendor/zerocopy/benches/transmute_ref_static_size.rs +15 -0
  110. data/rust-vendor/zerocopy/benches/transmute_ref_static_size.x86-64 +3 -0
  111. data/rust-vendor/zerocopy/benches/transmute_ref_static_size.x86-64.mca +43 -0
  112. data/rust-vendor/zerocopy/benches/try_read_from_bytes.rs +7 -0
  113. data/rust-vendor/zerocopy/benches/try_read_from_bytes.x86-64 +23 -0
  114. data/rust-vendor/zerocopy/benches/try_read_from_bytes.x86-64.mca +79 -0
  115. data/rust-vendor/zerocopy/benches/try_read_from_prefix.rs +10 -0
  116. data/rust-vendor/zerocopy/benches/try_read_from_prefix.x86-64 +16 -0
  117. data/rust-vendor/zerocopy/benches/try_read_from_prefix.x86-64.mca +67 -0
  118. data/rust-vendor/zerocopy/benches/try_read_from_suffix.rs +10 -0
  119. data/rust-vendor/zerocopy/benches/try_read_from_suffix.x86-64 +18 -0
  120. data/rust-vendor/zerocopy/benches/try_read_from_suffix.x86-64.mca +71 -0
  121. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_padding.rs +7 -0
  122. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_padding.x86-64 +24 -0
  123. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_padding.x86-64.mca +81 -0
  124. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_size.rs +7 -0
  125. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_size.x86-64 +22 -0
  126. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_size.x86-64.mca +79 -0
  127. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_static_size.rs +7 -0
  128. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_static_size.x86-64 +13 -0
  129. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_static_size.x86-64.mca +59 -0
  130. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_padding.rs +10 -0
  131. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_padding.x86-64 +36 -0
  132. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_padding.x86-64.mca +105 -0
  133. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_size.rs +10 -0
  134. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_size.x86-64 +18 -0
  135. data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_size.x86-64.mca +69 -0
  136. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_padding.rs +10 -0
  137. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_padding.x86-64 +29 -0
  138. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_padding.x86-64.mca +91 -0
  139. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_size.rs +10 -0
  140. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_size.x86-64 +22 -0
  141. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_size.x86-64.mca +77 -0
  142. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_static_size.rs +10 -0
  143. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_static_size.x86-64 +15 -0
  144. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_static_size.x86-64.mca +63 -0
  145. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_padding.rs +13 -0
  146. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_padding.x86-64 +35 -0
  147. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_padding.x86-64.mca +101 -0
  148. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_size.rs +13 -0
  149. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_size.x86-64 +26 -0
  150. data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_size.x86-64.mca +83 -0
  151. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_padding.rs +10 -0
  152. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_padding.x86-64 +26 -0
  153. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_padding.x86-64.mca +85 -0
  154. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_size.rs +10 -0
  155. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_size.x86-64 +18 -0
  156. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_size.x86-64.mca +71 -0
  157. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_static_size.rs +10 -0
  158. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_static_size.x86-64 +16 -0
  159. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_static_size.x86-64.mca +67 -0
  160. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_padding.rs +13 -0
  161. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_padding.x86-64 +39 -0
  162. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_padding.x86-64.mca +109 -0
  163. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_size.rs +13 -0
  164. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_size.x86-64 +28 -0
  165. data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_size.x86-64.mca +87 -0
  166. data/rust-vendor/zerocopy/benches/try_transmute.rs +16 -0
  167. data/rust-vendor/zerocopy/benches/try_transmute.x86-64 +9 -0
  168. data/rust-vendor/zerocopy/benches/try_transmute.x86-64.mca +55 -0
  169. data/rust-vendor/zerocopy/benches/try_transmute_ref_dynamic_size.rs +18 -0
  170. data/rust-vendor/zerocopy/benches/try_transmute_ref_dynamic_size.x86-64 +6 -0
  171. data/rust-vendor/zerocopy/benches/try_transmute_ref_dynamic_size.x86-64.mca +49 -0
  172. data/rust-vendor/zerocopy/benches/try_transmute_ref_static_size.rs +17 -0
  173. data/rust-vendor/zerocopy/benches/try_transmute_ref_static_size.x86-64 +5 -0
  174. data/rust-vendor/zerocopy/benches/try_transmute_ref_static_size.x86-64.mca +47 -0
  175. data/rust-vendor/zerocopy/rustdoc/style.css +55 -0
  176. data/rust-vendor/zerocopy/src/lib.rs +331 -0
  177. data/rust-vendor/zerocopy/src/macros.rs +48 -1
  178. data/rust-vendor/zerocopy/src/util/macros.rs +199 -0
  179. data/rust-vendor/zerocopy/tests/codegen.rs +111 -0
  180. data/rust-vendor/zerocopy-derive/.cargo-checksum.json +1 -1
  181. data/rust-vendor/zerocopy-derive/.cargo_vcs_info.json +1 -1
  182. data/rust-vendor/zerocopy-derive/Cargo.lock +1 -1
  183. data/rust-vendor/zerocopy-derive/Cargo.toml +1 -1
  184. data/rust-vendor/zerocopy-derive/Cargo.toml.orig +1 -1
  185. metadata +137 -2
@@ -0,0 +1,55 @@
1
+ Iterations: 100
2
+ Instructions: 800
3
+ Total Cycles: 238
4
+ Total uOps: 800
5
+
6
+ Dispatch Width: 4
7
+ uOps Per Cycle: 3.36
8
+ IPC: 3.36
9
+ Block RThroughput: 2.0
10
+
11
+
12
+ Instruction Info:
13
+ [1]: #uOps
14
+ [2]: Latency
15
+ [3]: RThroughput
16
+ [4]: MayLoad
17
+ [5]: MayStore
18
+ [6]: HasSideEffects (U)
19
+
20
+ [1] [2] [3] [4] [5] [6] Instructions:
21
+ 1 1 0.33 movzx ecx, di
22
+ 1 0 0.25 xor eax, eax
23
+ 1 1 0.33 cmp ecx, 49344
24
+ 1 1 0.50 sete al
25
+ 1 1 0.33 and rdi, -65536
26
+ 1 1 0.33 xor rax, 49345
27
+ 1 1 0.33 or rax, rdi
28
+ 1 1 1.00 U ret
29
+
30
+
31
+ Resources:
32
+ [0] - SBDivider
33
+ [1] - SBFPDivider
34
+ [2] - SBPort0
35
+ [3] - SBPort1
36
+ [4] - SBPort4
37
+ [5] - SBPort5
38
+ [6.0] - SBPort23
39
+ [6.1] - SBPort23
40
+
41
+
42
+ Resource pressure per iteration:
43
+ [0] [1] [2] [3] [4] [5] [6.0] [6.1]
44
+ - - 2.33 2.33 - 2.34 - -
45
+
46
+ Resource pressure by instruction:
47
+ [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
48
+ - - 0.32 0.67 - 0.01 - - movzx ecx, di
49
+ - - - - - - - - xor eax, eax
50
+ - - 0.33 0.67 - - - - cmp ecx, 49344
51
+ - - 1.00 - - - - - sete al
52
+ - - 0.67 0.33 - - - - and rdi, -65536
53
+ - - - 0.66 - 0.34 - - xor rax, 49345
54
+ - - 0.01 - - 0.99 - - or rax, rdi
55
+ - - - - - 1.00 - - ret
@@ -0,0 +1,18 @@
1
+ use zerocopy_derive::*;
2
+
3
+ #[path = "formats/coco_dynamic_size.rs"]
4
+ mod format;
5
+
6
+ #[derive(IntoBytes, KnownLayout, Immutable)]
7
+ #[repr(C, align(2))]
8
+ struct MinimalViableSource {
9
+ header: [u8; 6],
10
+ trailer: [[u8; 2]],
11
+ }
12
+
13
+ #[unsafe(no_mangle)]
14
+ fn bench_try_transmute_ref_dynamic_size(
15
+ source: &MinimalViableSource,
16
+ ) -> Option<&format::CocoPacket> {
17
+ zerocopy::try_transmute_ref!(source).ok()
18
+ }
@@ -0,0 +1,6 @@
1
+ bench_try_transmute_ref_dynamic_size:
2
+ lea rdx, [rsi + 1]
3
+ xor eax, eax
4
+ cmp word ptr [rdi], -16192
5
+ cmove rax, rdi
6
+ ret
@@ -0,0 +1,49 @@
1
+ Iterations: 100
2
+ Instructions: 500
3
+ Total Cycles: 209
4
+ Total uOps: 700
5
+
6
+ Dispatch Width: 4
7
+ uOps Per Cycle: 3.35
8
+ IPC: 2.39
9
+ Block RThroughput: 1.8
10
+
11
+
12
+ Instruction Info:
13
+ [1]: #uOps
14
+ [2]: Latency
15
+ [3]: RThroughput
16
+ [4]: MayLoad
17
+ [5]: MayStore
18
+ [6]: HasSideEffects (U)
19
+
20
+ [1] [2] [3] [4] [5] [6] Instructions:
21
+ 1 1 0.50 lea rdx, [rsi + 1]
22
+ 1 0 0.25 xor eax, eax
23
+ 2 6 0.50 * cmp word ptr [rdi], -16192
24
+ 2 2 0.67 cmove rax, rdi
25
+ 1 1 1.00 U ret
26
+
27
+
28
+ Resources:
29
+ [0] - SBDivider
30
+ [1] - SBFPDivider
31
+ [2] - SBPort0
32
+ [3] - SBPort1
33
+ [4] - SBPort4
34
+ [5] - SBPort5
35
+ [6.0] - SBPort23
36
+ [6.1] - SBPort23
37
+
38
+
39
+ Resource pressure per iteration:
40
+ [0] [1] [2] [3] [4] [5] [6.0] [6.1]
41
+ - - 1.50 1.51 - 1.99 0.50 0.50
42
+
43
+ Resource pressure by instruction:
44
+ [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
45
+ - - 0.51 0.49 - - - - lea rdx, [rsi + 1]
46
+ - - - - - - - - xor eax, eax
47
+ - - - 0.02 - 0.98 0.50 0.50 cmp word ptr [rdi], -16192
48
+ - - 0.99 1.00 - 0.01 - - cmove rax, rdi
49
+ - - - - - 1.00 - - ret
@@ -0,0 +1,17 @@
1
+ use zerocopy_derive::*;
2
+
3
+ #[path = "formats/coco_static_size.rs"]
4
+ mod format;
5
+
6
+ #[derive(IntoBytes, KnownLayout, Immutable)]
7
+ #[repr(C, align(2))]
8
+ struct MinimalViableSource {
9
+ bytes: [u8; 6],
10
+ }
11
+
12
+ #[unsafe(no_mangle)]
13
+ fn bench_try_transmute_ref_static_size(
14
+ source: &MinimalViableSource,
15
+ ) -> Option<&format::CocoPacket> {
16
+ zerocopy::try_transmute_ref!(source).ok()
17
+ }
@@ -0,0 +1,5 @@
1
+ bench_try_transmute_ref_static_size:
2
+ xor eax, eax
3
+ cmp word ptr [rdi], -16192
4
+ cmove rax, rdi
5
+ ret
@@ -0,0 +1,47 @@
1
+ Iterations: 100
2
+ Instructions: 400
3
+ Total Cycles: 160
4
+ Total uOps: 600
5
+
6
+ Dispatch Width: 4
7
+ uOps Per Cycle: 3.75
8
+ IPC: 2.50
9
+ Block RThroughput: 1.5
10
+
11
+
12
+ Instruction Info:
13
+ [1]: #uOps
14
+ [2]: Latency
15
+ [3]: RThroughput
16
+ [4]: MayLoad
17
+ [5]: MayStore
18
+ [6]: HasSideEffects (U)
19
+
20
+ [1] [2] [3] [4] [5] [6] Instructions:
21
+ 1 0 0.25 xor eax, eax
22
+ 2 6 0.50 * cmp word ptr [rdi], -16192
23
+ 2 2 0.67 cmove rax, rdi
24
+ 1 1 1.00 U ret
25
+
26
+
27
+ Resources:
28
+ [0] - SBDivider
29
+ [1] - SBFPDivider
30
+ [2] - SBPort0
31
+ [3] - SBPort1
32
+ [4] - SBPort4
33
+ [5] - SBPort5
34
+ [6.0] - SBPort23
35
+ [6.1] - SBPort23
36
+
37
+
38
+ Resource pressure per iteration:
39
+ [0] [1] [2] [3] [4] [5] [6.0] [6.1]
40
+ - - 1.02 1.48 - 1.50 0.50 0.50
41
+
42
+ Resource pressure by instruction:
43
+ [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
44
+ - - - - - - - - xor eax, eax
45
+ - - 0.02 0.49 - 0.49 0.50 0.50 cmp word ptr [rdi], -16192
46
+ - - 1.00 0.99 - 0.01 - - cmove rax, rdi
47
+ - - - - - 1.00 - - ret
@@ -0,0 +1,55 @@
1
+ /*
2
+ Copyright 2026 The Fuchsia Authors
3
+
4
+ Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
5
+ <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
6
+ license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
7
+ This file may not be copied, modified, or distributed except according to
8
+ those terms.
9
+ */
10
+
11
+ .codegen-tabs {
12
+ display: grid;
13
+ grid-template-columns: repeat(var(--arity), minmax(200px, 1fr));
14
+ grid-template-rows: auto 1fr;
15
+ column-gap: 1rem;
16
+ }
17
+
18
+ .codegen-tabs:not(:has(> details[open]))::after {
19
+ grid-column: 1/-1;
20
+ content: 'Click one of the above headers to expand its contents.';
21
+ font-style: italic;
22
+ font-size: small;
23
+ text-align: center;
24
+ }
25
+
26
+ .codegen-tabs details {
27
+ display: grid;
28
+ grid-column: 1 / -1;
29
+ grid-row: 1 / span 2;
30
+ grid-template-columns: subgrid;
31
+ grid-template-rows: subgrid;
32
+ }
33
+
34
+ .codegen-tabs summary {
35
+ display: grid;
36
+ grid-column: var(--n) / span 1;
37
+ grid-row: 1;
38
+ z-index: 1;
39
+ border-bottom: 2px solid var(--headings-border-bottom-color);
40
+ cursor: pointer;
41
+ }
42
+
43
+ .codegen-tabs details[open] > summary {
44
+ background-color: var(--code-block-background-color);
45
+ border-bottom-color: var(--target-border-color);
46
+ }
47
+
48
+ .codegen-tabs details::details-content {
49
+ grid-column: 1 / -1;
50
+ grid-row: 2;
51
+ }
52
+
53
+ .codegen-tabs details:not([open])::details-content {
54
+ display: none;
55
+ }