this repo has no description

Add skeleton support for cranelift target

+511 -157
+1
compiler-cli/src/compile_package.rs
··· 33 33 .javascript_prelude 34 34 .ok_or_else(|| Error::JavaScriptPreludeRequired)?, 35 35 }, 36 + Target::Cranelift => TargetCodegenConfiguration::Cranelift {}, 36 37 }; 37 38 38 39 tracing::info!("Compiling package");
+1
compiler-cli/src/publish.rs
··· 387 387 let generated_files = match target { 388 388 Target::Erlang => generated_erlang_files(paths, &built.root_package)?, 389 389 Target::JavaScript => vec![], 390 + Target::Cranelift => vec![], 390 391 }; 391 392 let src_files = project_files(Utf8Path::new(""))?; 392 393 let contents_tar_gz = contents_tarball(&src_files, &generated_files)?;
+1
compiler-cli/src/run.rs
··· 153 153 run_javascript_bun_command(paths, &main_function.package, &module, arguments) 154 154 } 155 155 }, 156 + Target::Cranelift => todo!("run"), 156 157 } 157 158 } 158 159
+317 -153
compiler-core/generated/schema_capnp.rs
··· 195 195 } 196 196 } 197 197 mod _private { 198 - pub static ENCODED_NODE: [::capnp::Word; 50] = [ 199 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 198 + pub static ENCODED_NODE: [::capnp::Word; 51] = [ 199 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 200 200 ::capnp::word(106, 29, 126, 201, 93, 118, 154, 200), 201 201 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 202 202 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 203 203 ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0), 204 204 ::capnp::word(0, 0, 0, 0, 1, 0, 0, 0), 205 + ::capnp::word(67, 1, 0, 0, 128, 1, 0, 0), 205 206 ::capnp::word(21, 0, 0, 0, 178, 0, 0, 0), 206 207 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 207 208 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 470 471 impl<Value> Pipeline<Value> where Value: ::capnp::traits::Pipelined, <Value as ::capnp::traits::Pipelined>::Pipeline: ::capnp::capability::FromTypelessPipeline { 471 472 } 472 473 mod _private { 473 - pub static ENCODED_NODE: [::capnp::Word; 50] = [ 474 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 474 + pub static ENCODED_NODE: [::capnp::Word; 51] = [ 475 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 475 476 ::capnp::word(253, 203, 85, 217, 186, 138, 221, 238), 476 477 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 477 478 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 478 479 ::capnp::word(1, 0, 7, 0, 0, 0, 2, 0), 479 480 ::capnp::word(0, 0, 0, 0, 1, 0, 0, 0), 481 + ::capnp::word(130, 1, 0, 0, 207, 1, 0, 0), 480 482 ::capnp::word(21, 0, 0, 0, 162, 0, 0, 0), 481 483 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 482 484 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 998 1000 } 999 1001 } 1000 1002 mod _private { 1001 - pub static ENCODED_NODE: [::capnp::Word; 321] = [ 1002 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 1003 + pub static ENCODED_NODE: [::capnp::Word; 322] = [ 1004 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 1003 1005 ::capnp::word(129, 5, 219, 80, 68, 149, 82, 154), 1004 1006 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 1005 1007 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 1006 1008 ::capnp::word(12, 0, 7, 0, 0, 0, 0, 0), 1007 1009 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 1010 + ::capnp::word(209, 1, 0, 0, 206, 3, 0, 0), 1008 1011 ::capnp::word(21, 0, 0, 0, 162, 0, 0, 0), 1009 1012 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 1010 1013 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 1554 1557 impl Pipeline { 1555 1558 } 1556 1559 mod _private { 1557 - pub static ENCODED_NODE: [::capnp::Word; 77] = [ 1558 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 1560 + pub static ENCODED_NODE: [::capnp::Word; 78] = [ 1561 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 1559 1562 ::capnp::word(101, 145, 82, 27, 227, 203, 200, 215), 1560 1563 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 1561 1564 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 1562 1565 ::capnp::word(3, 0, 7, 0, 0, 0, 0, 0), 1563 1566 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 1567 + ::capnp::word(208, 3, 0, 0, 90, 4, 0, 0), 1564 1568 ::capnp::word(21, 0, 0, 0, 194, 0, 0, 0), 1565 1569 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 1566 1570 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 1855 1859 impl Pipeline { 1856 1860 } 1857 1861 mod _private { 1858 - pub static ENCODED_NODE: [::capnp::Word; 68] = [ 1859 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 1862 + pub static ENCODED_NODE: [::capnp::Word; 69] = [ 1863 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 1860 1864 ::capnp::word(174, 202, 45, 66, 25, 97, 38, 203), 1861 1865 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 1862 1866 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 1863 1867 ::capnp::word(3, 0, 7, 0, 0, 0, 0, 0), 1864 1868 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 1869 + ::capnp::word(92, 4, 0, 0, 185, 4, 0, 0), 1865 1870 ::capnp::word(21, 0, 0, 0, 210, 0, 0, 0), 1866 1871 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 1867 1872 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 2129 2134 } 2130 2135 } 2131 2136 mod _private { 2132 - pub static ENCODED_NODE: [::capnp::Word; 48] = [ 2133 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 2137 + pub static ENCODED_NODE: [::capnp::Word; 49] = [ 2138 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 2134 2139 ::capnp::word(97, 111, 221, 187, 73, 147, 33, 194), 2135 2140 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 2136 2141 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 2137 2142 ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0), 2138 2143 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2144 + ::capnp::word(187, 4, 0, 0, 1, 5, 0, 0), 2139 2145 ::capnp::word(21, 0, 0, 0, 186, 0, 0, 0), 2140 2146 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 2141 2147 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 2412 2418 impl Pipeline { 2413 2419 } 2414 2420 mod _private { 2415 - pub static ENCODED_NODE: [::capnp::Word; 96] = [ 2416 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 2421 + pub static ENCODED_NODE: [::capnp::Word; 97] = [ 2422 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 2417 2423 ::capnp::word(201, 38, 14, 81, 37, 76, 28, 166), 2418 2424 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 2419 2425 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 2420 2426 ::capnp::word(0, 0, 7, 0, 0, 0, 5, 0), 2421 2427 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2428 + ::capnp::word(3, 5, 0, 0, 157, 5, 0, 0), 2422 2429 ::capnp::word(21, 0, 0, 0, 218, 0, 0, 0), 2423 2430 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 2424 2431 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 2836 2843 } 2837 2844 } 2838 2845 mod _private { 2839 - pub static ENCODED_NODE: [::capnp::Word; 127] = [ 2840 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 2846 + pub static ENCODED_NODE: [::capnp::Word; 128] = [ 2847 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 2841 2848 ::capnp::word(77, 68, 194, 176, 34, 71, 88, 172), 2842 2849 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 2843 2850 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 2844 2851 ::capnp::word(6, 0, 7, 0, 0, 0, 0, 0), 2845 2852 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2853 + ::capnp::word(159, 5, 0, 0, 103, 6, 0, 0), 2846 2854 ::capnp::word(21, 0, 0, 0, 18, 1, 0, 0), 2847 2855 ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0), 2848 2856 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 3155 3163 impl Pipeline { 3156 3164 } 3157 3165 mod _private { 3158 - pub static ENCODED_NODE: [::capnp::Word; 62] = [ 3159 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 3166 + pub static ENCODED_NODE: [::capnp::Word; 63] = [ 3167 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 3160 3168 ::capnp::word(156, 250, 40, 69, 63, 108, 134, 252), 3161 3169 ::capnp::word(13, 0, 0, 0, 1, 0, 2, 0), 3162 3170 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 3163 3171 ::capnp::word(0, 0, 7, 0, 0, 0, 0, 0), 3164 3172 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 3173 + ::capnp::word(105, 6, 0, 0, 183, 6, 0, 0), 3165 3174 ::capnp::word(21, 0, 0, 0, 170, 0, 0, 0), 3166 3175 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 3167 3176 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 3429 3438 impl Pipeline { 3430 3439 } 3431 3440 mod _private { 3432 - pub static ENCODED_NODE: [::capnp::Word; 75] = [ 3433 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 3441 + pub static ENCODED_NODE: [::capnp::Word; 76] = [ 3442 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 3434 3443 ::capnp::word(242, 117, 25, 190, 73, 132, 187, 199), 3435 3444 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 3436 3445 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 3437 3446 ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0), 3438 3447 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 3448 + ::capnp::word(185, 6, 0, 0, 64, 7, 0, 0), 3439 3449 ::capnp::word(21, 0, 0, 0, 50, 1, 0, 0), 3440 3450 ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0), 3441 3451 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 3728 3738 impl Pipeline { 3729 3739 } 3730 3740 mod _private { 3731 - pub static ENCODED_NODE: [::capnp::Word; 70] = [ 3732 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 3741 + pub static ENCODED_NODE: [::capnp::Word; 71] = [ 3742 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 3733 3743 ::capnp::word(219, 85, 99, 173, 224, 242, 6, 232), 3734 3744 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 3735 3745 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 3736 3746 ::capnp::word(3, 0, 7, 0, 0, 0, 0, 0), 3737 3747 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 3748 + ::capnp::word(66, 7, 0, 0, 194, 7, 0, 0), 3738 3749 ::capnp::word(21, 0, 0, 0, 18, 1, 0, 0), 3739 3750 ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0), 3740 3751 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 4001 4012 } 4002 4013 } 4003 4014 mod _private { 4004 - pub static ENCODED_NODE: [::capnp::Word; 50] = [ 4005 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 4015 + pub static ENCODED_NODE: [::capnp::Word; 51] = [ 4016 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 4006 4017 ::capnp::word(234, 83, 193, 19, 176, 48, 149, 161), 4007 4018 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 4008 4019 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 4009 4020 ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0), 4010 4021 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 4022 + ::capnp::word(196, 7, 0, 0, 15, 8, 0, 0), 4011 4023 ::capnp::word(21, 0, 0, 0, 90, 1, 0, 0), 4012 4024 ::capnp::word(41, 0, 0, 0, 7, 0, 0, 0), 4013 4025 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 4379 4391 } 4380 4392 } 4381 4393 mod _private { 4382 - pub static ENCODED_NODE: [::capnp::Word; 131] = [ 4383 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 4394 + pub static ENCODED_NODE: [::capnp::Word; 132] = [ 4395 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 4384 4396 ::capnp::word(122, 109, 11, 224, 98, 109, 251, 177), 4385 4397 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 4386 4398 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 4387 4399 ::capnp::word(7, 0, 7, 0, 0, 0, 0, 0), 4388 4400 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 4401 + ::capnp::word(17, 8, 0, 0, 60, 9, 0, 0), 4389 4402 ::capnp::word(21, 0, 0, 0, 234, 0, 0, 0), 4390 4403 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 4391 4404 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 4768 4781 } 4769 4782 } 4770 4783 mod _private { 4771 - pub static ENCODED_NODE: [::capnp::Word; 103] = [ 4772 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 4784 + pub static ENCODED_NODE: [::capnp::Word; 104] = [ 4785 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 4773 4786 ::capnp::word(143, 103, 68, 141, 152, 59, 35, 132), 4774 4787 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 4775 4788 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 4776 4789 ::capnp::word(4, 0, 7, 0, 0, 0, 0, 0), 4777 4790 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 4791 + ::capnp::word(62, 9, 0, 0, 246, 9, 0, 0), 4778 4792 ::capnp::word(21, 0, 0, 0, 210, 0, 0, 0), 4779 4793 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 4780 4794 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 5048 5062 impl Pipeline { 5049 5063 } 5050 5064 mod _private { 5051 - pub static ENCODED_NODE: [::capnp::Word; 51] = [ 5052 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 5065 + pub static ENCODED_NODE: [::capnp::Word; 52] = [ 5066 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 5053 5067 ::capnp::word(25, 53, 175, 243, 170, 173, 34, 197), 5054 5068 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 5055 5069 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 5056 5070 ::capnp::word(1, 0, 7, 0, 0, 0, 0, 0), 5057 5071 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 5072 + ::capnp::word(248, 9, 0, 0, 75, 10, 0, 0), 5058 5073 ::capnp::word(21, 0, 0, 0, 50, 1, 0, 0), 5059 5074 ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0), 5060 5075 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 5312 5327 } 5313 5328 } 5314 5329 mod _private { 5315 - pub static ENCODED_NODE: [::capnp::Word; 63] = [ 5316 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 5330 + pub static ENCODED_NODE: [::capnp::Word; 64] = [ 5331 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 5317 5332 ::capnp::word(158, 200, 86, 219, 173, 1, 90, 174), 5318 5333 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 5319 5334 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 5320 5335 ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0), 5321 5336 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 5337 + ::capnp::word(77, 10, 0, 0, 157, 10, 0, 0), 5322 5338 ::capnp::word(21, 0, 0, 0, 226, 0, 0, 0), 5323 5339 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 5324 5340 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 5570 5586 impl Pipeline { 5571 5587 } 5572 5588 mod _private { 5573 - pub static ENCODED_NODE: [::capnp::Word; 49] = [ 5574 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 5589 + pub static ENCODED_NODE: [::capnp::Word; 50] = [ 5590 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 5575 5591 ::capnp::word(153, 102, 38, 126, 162, 160, 201, 166), 5576 5592 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 5577 5593 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 5578 5594 ::capnp::word(0, 0, 7, 0, 0, 0, 2, 0), 5579 5595 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 5596 + ::capnp::word(8, 11, 0, 0, 95, 11, 0, 0), 5580 5597 ::capnp::word(21, 0, 0, 0, 234, 0, 0, 0), 5581 5598 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 5582 5599 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 5859 5876 impl Pipeline { 5860 5877 } 5861 5878 mod _private { 5862 - pub static ENCODED_NODE: [::capnp::Word; 49] = [ 5863 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 5879 + pub static ENCODED_NODE: [::capnp::Word; 50] = [ 5880 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 5864 5881 ::capnp::word(0, 7, 151, 64, 46, 128, 246, 130), 5865 5882 ::capnp::word(13, 0, 0, 0, 1, 0, 2, 0), 5866 5883 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 5867 5884 ::capnp::word(5, 0, 7, 0, 0, 0, 4, 0), 5868 5885 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 5886 + ::capnp::word(97, 11, 0, 0, 217, 12, 0, 0), 5869 5887 ::capnp::word(21, 0, 0, 0, 146, 0, 0, 0), 5870 5888 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 5871 5889 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 6191 6209 } 6192 6210 } 6193 6211 mod _private { 6194 - pub static ENCODED_NODE: [::capnp::Word; 97] = [ 6195 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 6212 + pub static ENCODED_NODE: [::capnp::Word; 98] = [ 6213 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 6196 6214 ::capnp::word(112, 148, 53, 107, 90, 14, 28, 212), 6197 6215 ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0), 6198 6216 ::capnp::word(0, 7, 151, 64, 46, 128, 246, 130), 6199 6217 ::capnp::word(5, 0, 7, 0, 1, 0, 0, 0), 6218 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6200 6219 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6201 6220 ::capnp::word(21, 0, 0, 0, 178, 0, 0, 0), 6202 6221 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 6493 6512 } 6494 6513 } 6495 6514 mod _private { 6496 - pub static ENCODED_NODE: [::capnp::Word; 51] = [ 6497 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 6515 + pub static ENCODED_NODE: [::capnp::Word; 52] = [ 6516 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 6498 6517 ::capnp::word(107, 183, 96, 119, 140, 121, 242, 130), 6499 6518 ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0), 6500 6519 ::capnp::word(0, 7, 151, 64, 46, 128, 246, 130), 6501 6520 ::capnp::word(5, 0, 7, 0, 1, 0, 0, 0), 6521 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6502 6522 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6503 6523 ::capnp::word(21, 0, 0, 0, 170, 0, 0, 0), 6504 6524 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 6707 6727 impl Pipeline { 6708 6728 } 6709 6729 mod _private { 6710 - pub static ENCODED_NODE: [::capnp::Word; 31] = [ 6711 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 6730 + pub static ENCODED_NODE: [::capnp::Word; 32] = [ 6731 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 6712 6732 ::capnp::word(54, 132, 226, 31, 115, 14, 218, 204), 6713 6733 ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0), 6714 6734 ::capnp::word(0, 7, 151, 64, 46, 128, 246, 130), 6715 6735 ::capnp::word(5, 0, 7, 0, 1, 0, 0, 0), 6716 6736 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6737 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6717 6738 ::capnp::word(21, 0, 0, 0, 178, 0, 0, 0), 6718 6739 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6719 6740 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 6912 6933 impl Pipeline { 6913 6934 } 6914 6935 mod _private { 6915 - pub static ENCODED_NODE: [::capnp::Word; 36] = [ 6916 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 6936 + pub static ENCODED_NODE: [::capnp::Word; 37] = [ 6937 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 6917 6938 ::capnp::word(61, 216, 21, 128, 12, 226, 23, 140), 6918 6939 ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0), 6919 6940 ::capnp::word(0, 7, 151, 64, 46, 128, 246, 130), 6920 6941 ::capnp::word(5, 0, 7, 0, 1, 0, 0, 0), 6942 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6921 6943 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6922 6944 ::capnp::word(21, 0, 0, 0, 194, 0, 0, 0), 6923 6945 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 7204 7226 } 7205 7227 } 7206 7228 mod _private { 7207 - pub static ENCODED_NODE: [::capnp::Word; 80] = [ 7208 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 7229 + pub static ENCODED_NODE: [::capnp::Word; 81] = [ 7230 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 7209 7231 ::capnp::word(28, 5, 251, 168, 241, 216, 198, 212), 7210 7232 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 7211 7233 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 7212 7234 ::capnp::word(4, 0, 7, 0, 0, 0, 0, 0), 7213 7235 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7236 + ::capnp::word(219, 12, 0, 0, 96, 13, 0, 0), 7214 7237 ::capnp::word(21, 0, 0, 0, 242, 0, 0, 0), 7215 7238 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 7216 7239 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 7509 7532 impl Pipeline { 7510 7533 } 7511 7534 mod _private { 7512 - pub static ENCODED_NODE: [::capnp::Word; 75] = [ 7513 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 7535 + pub static ENCODED_NODE: [::capnp::Word; 76] = [ 7536 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 7514 7537 ::capnp::word(102, 28, 233, 33, 200, 211, 73, 197), 7515 7538 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 7516 7539 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 7517 7540 ::capnp::word(1, 0, 7, 0, 0, 0, 3, 0), 7518 7541 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7542 + ::capnp::word(98, 13, 0, 0, 209, 13, 0, 0), 7519 7543 ::capnp::word(21, 0, 0, 0, 186, 0, 0, 0), 7520 7544 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 7521 7545 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 7698 7722 pub fn get_can_run_on_javascript(self) -> bool { 7699 7723 self.reader.get_bool_field(4) 7700 7724 } 7725 + #[inline] 7726 + pub fn get_uses_cranelift_externals(self) -> bool { 7727 + self.reader.get_bool_field(5) 7728 + } 7729 + #[inline] 7730 + pub fn get_can_run_on_cranelift(self) -> bool { 7731 + self.reader.get_bool_field(6) 7732 + } 7701 7733 } 7702 7734 7703 7735 pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> } ··· 7792 7824 pub fn set_can_run_on_javascript(&mut self, value: bool) { 7793 7825 self.builder.set_bool_field(4, value); 7794 7826 } 7827 + #[inline] 7828 + pub fn get_uses_cranelift_externals(self) -> bool { 7829 + self.builder.get_bool_field(5) 7830 + } 7831 + #[inline] 7832 + pub fn set_uses_cranelift_externals(&mut self, value: bool) { 7833 + self.builder.set_bool_field(5, value); 7834 + } 7835 + #[inline] 7836 + pub fn get_can_run_on_cranelift(self) -> bool { 7837 + self.builder.get_bool_field(6) 7838 + } 7839 + #[inline] 7840 + pub fn set_can_run_on_cranelift(&mut self, value: bool) { 7841 + self.builder.set_bool_field(6, value); 7842 + } 7795 7843 } 7796 7844 7797 7845 pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline } ··· 7803 7851 impl Pipeline { 7804 7852 } 7805 7853 mod _private { 7806 - pub static ENCODED_NODE: [::capnp::Word; 100] = [ 7807 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 7854 + pub static ENCODED_NODE: [::capnp::Word; 135] = [ 7855 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 7808 7856 ::capnp::word(223, 160, 58, 118, 252, 159, 29, 155), 7809 7857 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 7810 7858 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 7811 7859 ::capnp::word(0, 0, 7, 0, 0, 0, 0, 0), 7812 7860 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7861 + ::capnp::word(211, 13, 0, 0, 190, 14, 0, 0), 7813 7862 ::capnp::word(21, 0, 0, 0, 234, 0, 0, 0), 7814 7863 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 7815 7864 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7816 - ::capnp::word(29, 0, 0, 0, 31, 1, 0, 0), 7865 + ::capnp::word(29, 0, 0, 0, 143, 1, 0, 0), 7817 7866 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7818 7867 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7819 7868 ::capnp::word(115, 99, 104, 101, 109, 97, 46, 99), ··· 7821 7870 ::capnp::word(108, 101, 109, 101, 110, 116, 97, 116), 7822 7871 ::capnp::word(105, 111, 110, 115, 0, 0, 0, 0), 7823 7872 ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0), 7824 - ::capnp::word(20, 0, 0, 0, 3, 0, 4, 0), 7873 + ::capnp::word(28, 0, 0, 0, 3, 0, 4, 0), 7825 7874 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7826 7875 ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0), 7827 7876 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7828 - ::capnp::word(125, 0, 0, 0, 50, 0, 0, 0), 7877 + ::capnp::word(181, 0, 0, 0, 50, 0, 0, 0), 7829 7878 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7830 - ::capnp::word(120, 0, 0, 0, 3, 0, 1, 0), 7831 - ::capnp::word(132, 0, 0, 0, 2, 0, 1, 0), 7879 + ::capnp::word(176, 0, 0, 0, 3, 0, 1, 0), 7880 + ::capnp::word(188, 0, 0, 0, 2, 0, 1, 0), 7832 7881 ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0), 7833 7882 ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0), 7834 7883 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7835 - ::capnp::word(129, 0, 0, 0, 162, 0, 0, 0), 7884 + ::capnp::word(185, 0, 0, 0, 162, 0, 0, 0), 7836 7885 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7837 - ::capnp::word(132, 0, 0, 0, 3, 0, 1, 0), 7838 - ::capnp::word(144, 0, 0, 0, 2, 0, 1, 0), 7886 + ::capnp::word(188, 0, 0, 0, 3, 0, 1, 0), 7887 + ::capnp::word(200, 0, 0, 0, 2, 0, 1, 0), 7839 7888 ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0), 7840 7889 ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0), 7841 7890 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7842 - ::capnp::word(141, 0, 0, 0, 194, 0, 0, 0), 7891 + ::capnp::word(197, 0, 0, 0, 194, 0, 0, 0), 7843 7892 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7844 - ::capnp::word(144, 0, 0, 0, 3, 0, 1, 0), 7845 - ::capnp::word(156, 0, 0, 0, 2, 0, 1, 0), 7893 + ::capnp::word(200, 0, 0, 0, 3, 0, 1, 0), 7894 + ::capnp::word(212, 0, 0, 0, 2, 0, 1, 0), 7846 7895 ::capnp::word(3, 0, 0, 0, 3, 0, 0, 0), 7847 7896 ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0), 7848 7897 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7849 - ::capnp::word(153, 0, 0, 0, 122, 0, 0, 0), 7898 + ::capnp::word(209, 0, 0, 0, 122, 0, 0, 0), 7850 7899 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7851 - ::capnp::word(152, 0, 0, 0, 3, 0, 1, 0), 7852 - ::capnp::word(164, 0, 0, 0, 2, 0, 1, 0), 7900 + ::capnp::word(208, 0, 0, 0, 3, 0, 1, 0), 7901 + ::capnp::word(220, 0, 0, 0, 2, 0, 1, 0), 7853 7902 ::capnp::word(4, 0, 0, 0, 4, 0, 0, 0), 7854 7903 ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0), 7855 7904 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7856 - ::capnp::word(161, 0, 0, 0, 154, 0, 0, 0), 7905 + ::capnp::word(217, 0, 0, 0, 154, 0, 0, 0), 7857 7906 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7858 - ::capnp::word(164, 0, 0, 0, 3, 0, 1, 0), 7859 - ::capnp::word(176, 0, 0, 0, 2, 0, 1, 0), 7907 + ::capnp::word(220, 0, 0, 0, 3, 0, 1, 0), 7908 + ::capnp::word(232, 0, 0, 0, 2, 0, 1, 0), 7909 + ::capnp::word(5, 0, 0, 0, 5, 0, 0, 0), 7910 + ::capnp::word(0, 0, 1, 0, 5, 0, 0, 0), 7911 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7912 + ::capnp::word(229, 0, 0, 0, 186, 0, 0, 0), 7913 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7914 + ::capnp::word(232, 0, 0, 0, 3, 0, 1, 0), 7915 + ::capnp::word(244, 0, 0, 0, 2, 0, 1, 0), 7916 + ::capnp::word(6, 0, 0, 0, 6, 0, 0, 0), 7917 + ::capnp::word(0, 0, 1, 0, 6, 0, 0, 0), 7918 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7919 + ::capnp::word(241, 0, 0, 0, 146, 0, 0, 0), 7920 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7921 + ::capnp::word(244, 0, 0, 0, 3, 0, 1, 0), 7922 + ::capnp::word(0, 1, 0, 0, 2, 0, 1, 0), 7860 7923 ::capnp::word(103, 108, 101, 97, 109, 0, 0, 0), 7861 7924 ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0), 7862 7925 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 7904 7967 ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0), 7905 7968 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7906 7969 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7970 + ::capnp::word(117, 115, 101, 115, 67, 114, 97, 110), 7971 + ::capnp::word(101, 108, 105, 102, 116, 69, 120, 116), 7972 + ::capnp::word(101, 114, 110, 97, 108, 115, 0, 0), 7973 + ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0), 7974 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7975 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7976 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7977 + ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0), 7978 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7979 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7980 + ::capnp::word(99, 97, 110, 82, 117, 110, 79, 110), 7981 + ::capnp::word(67, 114, 97, 110, 101, 108, 105, 102), 7982 + ::capnp::word(116, 0, 0, 0, 0, 0, 0, 0), 7983 + ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0), 7984 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7985 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7986 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7987 + ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0), 7988 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7989 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7907 7990 ]; 7908 7991 pub fn get_field_types(index: u16) -> ::capnp::introspect::Type { 7909 7992 match index { ··· 7912 7995 2 => <bool as ::capnp::introspect::Introspect>::introspect(), 7913 7996 3 => <bool as ::capnp::introspect::Introspect>::introspect(), 7914 7997 4 => <bool as ::capnp::introspect::Introspect>::introspect(), 7998 + 5 => <bool as ::capnp::introspect::Introspect>::introspect(), 7999 + 6 => <bool as ::capnp::introspect::Introspect>::introspect(), 7915 8000 _ => panic!("invalid field index {}", index), 7916 8001 } 7917 8002 } ··· 7924 8009 members_by_discriminant: MEMBERS_BY_DISCRIMINANT, 7925 8010 members_by_name: MEMBERS_BY_NAME, 7926 8011 }; 7927 - pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4]; 8012 + pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6]; 7928 8013 pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[]; 7929 - pub static MEMBERS_BY_NAME : &[u16] = &[3,4,0,1,2]; 8014 + pub static MEMBERS_BY_NAME : &[u16] = &[6,3,4,0,5,1,2]; 7930 8015 pub const TYPE_ID: u64 = 0x9b1d_9ffc_763a_a0df; 7931 8016 } 7932 8017 } ··· 8019 8104 8020 8105 pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> } 8021 8106 impl <> ::capnp::traits::HasStructSize for Builder<'_,> { 8022 - const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 9 }; 8107 + const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 10 }; 8023 8108 } 8024 8109 impl <> ::capnp::traits::HasTypeId for Builder<'_,> { 8025 8110 const TYPE_ID: u64 = _private::TYPE_ID; ··· 8093 8178 self.builder.reborrow().get_pointer_field(6).clear(); 8094 8179 self.builder.reborrow().get_pointer_field(7).clear(); 8095 8180 self.builder.reborrow().get_pointer_field(8).clear(); 8181 + self.builder.reborrow().get_pointer_field(9).clear(); 8096 8182 self.builder.into() 8097 8183 } 8098 8184 #[inline] ··· 8140 8226 impl Pipeline { 8141 8227 } 8142 8228 mod _private { 8143 - pub static ENCODED_NODE: [::capnp::Word; 45] = [ 8144 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 8229 + pub static ENCODED_NODE: [::capnp::Word; 46] = [ 8230 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 8145 8231 ::capnp::word(26, 168, 208, 43, 233, 121, 76, 225), 8146 8232 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 8147 8233 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 8148 - ::capnp::word(9, 0, 7, 0, 0, 0, 3, 0), 8234 + ::capnp::word(10, 0, 7, 0, 0, 0, 3, 0), 8149 8235 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 8236 + ::capnp::word(192, 14, 0, 0, 95, 18, 0, 0), 8150 8237 ::capnp::word(21, 0, 0, 0, 42, 1, 0, 0), 8151 8238 ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0), 8152 8239 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 8330 8417 8331 8418 pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> } 8332 8419 impl <> ::capnp::traits::HasStructSize for Builder<'_,> { 8333 - const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 9 }; 8420 + const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 10 }; 8334 8421 } 8335 8422 impl <> ::capnp::traits::HasTypeId for Builder<'_,> { 8336 8423 const TYPE_ID: u64 = _private::TYPE_ID; ··· 8496 8583 } 8497 8584 } 8498 8585 mod _private { 8499 - pub static ENCODED_NODE: [::capnp::Word; 113] = [ 8500 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 8586 + pub static ENCODED_NODE: [::capnp::Word; 114] = [ 8587 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 8501 8588 ::capnp::word(208, 251, 150, 129, 105, 157, 121, 149), 8502 8589 ::capnp::word(37, 0, 0, 0, 1, 0, 1, 0), 8503 8590 ::capnp::word(26, 168, 208, 43, 233, 121, 76, 225), 8504 - ::capnp::word(9, 0, 7, 0, 1, 0, 0, 0), 8591 + ::capnp::word(10, 0, 7, 0, 1, 0, 0, 0), 8592 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 8505 8593 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 8506 8594 ::capnp::word(21, 0, 0, 0, 162, 1, 0, 0), 8507 8595 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 8775 8863 pub fn has_purity(&self) -> bool { 8776 8864 !self.reader.get_pointer_field(8).is_null() 8777 8865 } 8866 + #[inline] 8867 + pub fn get_external_cranelift(self) -> ::capnp::Result<crate::schema_capnp::option::Reader<'a,crate::schema_capnp::external::Owned>> { 8868 + ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(9), ::core::option::Option::None) 8869 + } 8870 + #[inline] 8871 + pub fn has_external_cranelift(&self) -> bool { 8872 + !self.reader.get_pointer_field(9).is_null() 8873 + } 8778 8874 } 8779 8875 8780 8876 pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> } 8781 8877 impl <> ::capnp::traits::HasStructSize for Builder<'_,> { 8782 - const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 9 }; 8878 + const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 10 }; 8783 8879 } 8784 8880 impl <> ::capnp::traits::HasTypeId for Builder<'_,> { 8785 8881 const TYPE_ID: u64 = _private::TYPE_ID; ··· 8981 9077 pub fn has_purity(&self) -> bool { 8982 9078 !self.builder.is_pointer_field_null(8) 8983 9079 } 9080 + #[inline] 9081 + pub fn get_external_cranelift(self) -> ::capnp::Result<crate::schema_capnp::option::Builder<'a,crate::schema_capnp::external::Owned>> { 9082 + ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(9), ::core::option::Option::None) 9083 + } 9084 + #[inline] 9085 + pub fn set_external_cranelift(&mut self, value: crate::schema_capnp::option::Reader<'_,crate::schema_capnp::external::Owned>) -> ::capnp::Result<()> { 9086 + ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(9), value, false) 9087 + } 9088 + #[inline] 9089 + pub fn init_external_cranelift(self, ) -> crate::schema_capnp::option::Builder<'a,crate::schema_capnp::external::Owned> { 9090 + ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(9), 0) 9091 + } 9092 + #[inline] 9093 + pub fn has_external_cranelift(&self) -> bool { 9094 + !self.builder.is_pointer_field_null(9) 9095 + } 8984 9096 } 8985 9097 8986 9098 pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline } ··· 9008 9120 pub fn get_purity(&self) -> crate::schema_capnp::purity::Pipeline { 9009 9121 ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(8)) 9010 9122 } 9123 + pub fn get_external_cranelift(&self) -> crate::schema_capnp::option::Pipeline<crate::schema_capnp::external::Owned> { 9124 + ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(9)) 9125 + } 9011 9126 } 9012 9127 mod _private { 9013 - pub static ENCODED_NODE: [::capnp::Word; 212] = [ 9014 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 9128 + pub static ENCODED_NODE: [::capnp::Word; 242] = [ 9129 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 9015 9130 ::capnp::word(121, 55, 113, 152, 197, 21, 166, 174), 9016 9131 ::capnp::word(37, 0, 0, 0, 1, 0, 1, 0), 9017 9132 ::capnp::word(26, 168, 208, 43, 233, 121, 76, 225), 9018 - ::capnp::word(9, 0, 7, 0, 1, 0, 0, 0), 9133 + ::capnp::word(10, 0, 7, 0, 1, 0, 0, 0), 9134 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9019 9135 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9020 9136 ::capnp::word(21, 0, 0, 0, 114, 1, 0, 0), 9021 9137 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9022 9138 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9023 - ::capnp::word(33, 0, 0, 0, 55, 2, 0, 0), 9139 + ::capnp::word(33, 0, 0, 0, 111, 2, 0, 0), 9024 9140 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9025 9141 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9026 9142 ::capnp::word(115, 99, 104, 101, 109, 97, 46, 99), ··· 9029 9145 ::capnp::word(117, 99, 116, 111, 114, 86, 97, 114), 9030 9146 ::capnp::word(105, 97, 110, 116, 46, 109, 111, 100), 9031 9147 ::capnp::word(117, 108, 101, 70, 110, 0, 0, 0), 9032 - ::capnp::word(40, 0, 0, 0, 3, 0, 4, 0), 9148 + ::capnp::word(44, 0, 0, 0, 3, 0, 4, 0), 9033 9149 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9034 9150 ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0), 9035 9151 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9036 - ::capnp::word(9, 1, 0, 0, 42, 0, 0, 0), 9152 + ::capnp::word(37, 1, 0, 0, 42, 0, 0, 0), 9037 9153 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9038 - ::capnp::word(4, 1, 0, 0, 3, 0, 1, 0), 9039 - ::capnp::word(16, 1, 0, 0, 2, 0, 1, 0), 9154 + ::capnp::word(32, 1, 0, 0, 3, 0, 1, 0), 9155 + ::capnp::word(44, 1, 0, 0, 2, 0, 1, 0), 9040 9156 ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0), 9041 9157 ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0), 9042 9158 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9043 - ::capnp::word(13, 1, 0, 0, 74, 0, 0, 0), 9159 + ::capnp::word(41, 1, 0, 0, 74, 0, 0, 0), 9044 9160 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9045 - ::capnp::word(12, 1, 0, 0, 3, 0, 1, 0), 9046 - ::capnp::word(72, 1, 0, 0, 2, 0, 1, 0), 9161 + ::capnp::word(40, 1, 0, 0, 3, 0, 1, 0), 9162 + ::capnp::word(100, 1, 0, 0, 2, 0, 1, 0), 9047 9163 ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0), 9048 9164 ::capnp::word(0, 0, 1, 0, 5, 0, 0, 0), 9049 9165 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9050 - ::capnp::word(69, 1, 0, 0, 58, 0, 0, 0), 9166 + ::capnp::word(97, 1, 0, 0, 58, 0, 0, 0), 9051 9167 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9052 - ::capnp::word(64, 1, 0, 0, 3, 0, 1, 0), 9053 - ::capnp::word(76, 1, 0, 0, 2, 0, 1, 0), 9168 + ::capnp::word(92, 1, 0, 0, 3, 0, 1, 0), 9169 + ::capnp::word(104, 1, 0, 0, 2, 0, 1, 0), 9054 9170 ::capnp::word(3, 0, 0, 0, 1, 0, 0, 0), 9055 9171 ::capnp::word(0, 0, 1, 0, 6, 0, 0, 0), 9056 9172 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9057 - ::capnp::word(73, 1, 0, 0, 50, 0, 0, 0), 9173 + ::capnp::word(101, 1, 0, 0, 50, 0, 0, 0), 9058 9174 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9059 - ::capnp::word(68, 1, 0, 0, 3, 0, 1, 0), 9060 - ::capnp::word(80, 1, 0, 0, 2, 0, 1, 0), 9175 + ::capnp::word(96, 1, 0, 0, 3, 0, 1, 0), 9176 + ::capnp::word(108, 1, 0, 0, 2, 0, 1, 0), 9061 9177 ::capnp::word(4, 0, 0, 0, 3, 0, 0, 0), 9062 9178 ::capnp::word(0, 0, 1, 0, 7, 0, 0, 0), 9063 9179 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9064 - ::capnp::word(77, 1, 0, 0, 74, 0, 0, 0), 9180 + ::capnp::word(105, 1, 0, 0, 74, 0, 0, 0), 9065 9181 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9066 - ::capnp::word(76, 1, 0, 0, 3, 0, 1, 0), 9067 - ::capnp::word(88, 1, 0, 0, 2, 0, 1, 0), 9182 + ::capnp::word(104, 1, 0, 0, 3, 0, 1, 0), 9183 + ::capnp::word(116, 1, 0, 0, 2, 0, 1, 0), 9068 9184 ::capnp::word(5, 0, 0, 0, 4, 0, 0, 0), 9069 9185 ::capnp::word(0, 0, 1, 0, 15, 0, 0, 0), 9070 9186 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9071 - ::capnp::word(85, 1, 0, 0, 114, 0, 0, 0), 9187 + ::capnp::word(113, 1, 0, 0, 114, 0, 0, 0), 9072 9188 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9073 - ::capnp::word(84, 1, 0, 0, 3, 0, 1, 0), 9074 - ::capnp::word(96, 1, 0, 0, 2, 0, 1, 0), 9189 + ::capnp::word(112, 1, 0, 0, 3, 0, 1, 0), 9190 + ::capnp::word(124, 1, 0, 0, 2, 0, 1, 0), 9075 9191 ::capnp::word(6, 0, 0, 0, 5, 0, 0, 0), 9076 9192 ::capnp::word(0, 0, 1, 0, 18, 0, 0, 0), 9077 9193 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9078 - ::capnp::word(93, 1, 0, 0, 130, 0, 0, 0), 9194 + ::capnp::word(121, 1, 0, 0, 130, 0, 0, 0), 9079 9195 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9080 - ::capnp::word(92, 1, 0, 0, 3, 0, 1, 0), 9081 - ::capnp::word(104, 1, 0, 0, 2, 0, 1, 0), 9196 + ::capnp::word(120, 1, 0, 0, 3, 0, 1, 0), 9197 + ::capnp::word(132, 1, 0, 0, 2, 0, 1, 0), 9082 9198 ::capnp::word(7, 0, 0, 0, 6, 0, 0, 0), 9083 9199 ::capnp::word(0, 0, 1, 0, 20, 0, 0, 0), 9084 9200 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9085 - ::capnp::word(101, 1, 0, 0, 122, 0, 0, 0), 9201 + ::capnp::word(129, 1, 0, 0, 122, 0, 0, 0), 9086 9202 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9087 - ::capnp::word(100, 1, 0, 0, 3, 0, 1, 0), 9088 - ::capnp::word(160, 1, 0, 0, 2, 0, 1, 0), 9203 + ::capnp::word(128, 1, 0, 0, 3, 0, 1, 0), 9204 + ::capnp::word(188, 1, 0, 0, 2, 0, 1, 0), 9089 9205 ::capnp::word(8, 0, 0, 0, 7, 0, 0, 0), 9090 9206 ::capnp::word(0, 0, 1, 0, 21, 0, 0, 0), 9091 9207 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9092 - ::capnp::word(157, 1, 0, 0, 154, 0, 0, 0), 9208 + ::capnp::word(185, 1, 0, 0, 154, 0, 0, 0), 9093 9209 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9094 - ::capnp::word(160, 1, 0, 0, 3, 0, 1, 0), 9095 - ::capnp::word(220, 1, 0, 0, 2, 0, 1, 0), 9210 + ::capnp::word(188, 1, 0, 0, 3, 0, 1, 0), 9211 + ::capnp::word(248, 1, 0, 0, 2, 0, 1, 0), 9096 9212 ::capnp::word(9, 0, 0, 0, 8, 0, 0, 0), 9097 9213 ::capnp::word(0, 0, 1, 0, 23, 0, 0, 0), 9098 9214 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9099 - ::capnp::word(217, 1, 0, 0, 58, 0, 0, 0), 9215 + ::capnp::word(245, 1, 0, 0, 58, 0, 0, 0), 9216 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9217 + ::capnp::word(240, 1, 0, 0, 3, 0, 1, 0), 9218 + ::capnp::word(252, 1, 0, 0, 2, 0, 1, 0), 9219 + ::capnp::word(10, 0, 0, 0, 9, 0, 0, 0), 9220 + ::capnp::word(0, 0, 1, 0, 24, 0, 0, 0), 9221 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9222 + ::capnp::word(249, 1, 0, 0, 146, 0, 0, 0), 9100 9223 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9101 - ::capnp::word(212, 1, 0, 0, 3, 0, 1, 0), 9102 - ::capnp::word(224, 1, 0, 0, 2, 0, 1, 0), 9224 + ::capnp::word(252, 1, 0, 0, 3, 0, 1, 0), 9225 + ::capnp::word(56, 2, 0, 0, 2, 0, 1, 0), 9103 9226 ::capnp::word(110, 97, 109, 101, 0, 0, 0, 0), 9104 9227 ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0), 9105 9228 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 9223 9346 ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0), 9224 9347 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9225 9348 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9349 + ::capnp::word(101, 120, 116, 101, 114, 110, 97, 108), 9350 + ::capnp::word(67, 114, 97, 110, 101, 108, 105, 102), 9351 + ::capnp::word(116, 0, 0, 0, 0, 0, 0, 0), 9352 + ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0), 9353 + ::capnp::word(253, 203, 85, 217, 186, 138, 221, 238), 9354 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9355 + ::capnp::word(0, 0, 0, 0, 0, 0, 1, 0), 9356 + ::capnp::word(1, 0, 0, 0, 31, 0, 0, 0), 9357 + ::capnp::word(4, 0, 0, 0, 2, 0, 1, 0), 9358 + ::capnp::word(253, 203, 85, 217, 186, 138, 221, 238), 9359 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9360 + ::capnp::word(1, 0, 0, 0, 23, 0, 0, 0), 9361 + ::capnp::word(4, 0, 0, 0, 1, 0, 1, 0), 9362 + ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0), 9363 + ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0), 9364 + ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0), 9365 + ::capnp::word(236, 212, 23, 222, 114, 58, 95, 198), 9366 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9367 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9368 + ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0), 9369 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9370 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9226 9371 ]; 9227 9372 pub fn get_field_types(index: u16) -> ::capnp::introspect::Type { 9228 9373 match index { ··· 9236 9381 7 => <crate::schema_capnp::option::Owned<crate::schema_capnp::external::Owned> as ::capnp::introspect::Introspect>::introspect(), 9237 9382 8 => <crate::schema_capnp::option::Owned<crate::schema_capnp::external::Owned> as ::capnp::introspect::Introspect>::introspect(), 9238 9383 9 => <crate::schema_capnp::purity::Owned as ::capnp::introspect::Introspect>::introspect(), 9384 + 10 => <crate::schema_capnp::option::Owned<crate::schema_capnp::external::Owned> as ::capnp::introspect::Introspect>::introspect(), 9239 9385 _ => panic!("invalid field index {}", index), 9240 9386 } 9241 9387 } ··· 9248 9394 members_by_discriminant: MEMBERS_BY_DISCRIMINANT, 9249 9395 members_by_name: MEMBERS_BY_NAME, 9250 9396 }; 9251 - pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6,7,8,9]; 9397 + pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6,7,8,9,10]; 9252 9398 pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[]; 9253 - pub static MEMBERS_BY_NAME : &[u16] = &[3,5,7,8,1,6,4,2,0,9]; 9399 + pub static MEMBERS_BY_NAME : &[u16] = &[3,5,10,7,8,1,6,4,2,0,9]; 9254 9400 pub const TYPE_ID: u64 = 0xaea6_15c5_9871_3779; 9255 9401 } 9256 9402 } ··· 9372 9518 9373 9519 pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> } 9374 9520 impl <> ::capnp::traits::HasStructSize for Builder<'_,> { 9375 - const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 9 }; 9521 + const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 10 }; 9376 9522 } 9377 9523 impl <> ::capnp::traits::HasTypeId for Builder<'_,> { 9378 9524 const TYPE_ID: u64 = _private::TYPE_ID; ··· 9543 9689 } 9544 9690 } 9545 9691 mod _private { 9546 - pub static ENCODED_NODE: [::capnp::Word; 158] = [ 9547 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 9692 + pub static ENCODED_NODE: [::capnp::Word; 159] = [ 9693 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 9548 9694 ::capnp::word(213, 61, 35, 233, 38, 21, 11, 240), 9549 9695 ::capnp::word(37, 0, 0, 0, 1, 0, 1, 0), 9550 9696 ::capnp::word(26, 168, 208, 43, 233, 121, 76, 225), 9551 - ::capnp::word(9, 0, 7, 0, 1, 0, 0, 0), 9697 + ::capnp::word(10, 0, 7, 0, 1, 0, 0, 0), 9698 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9552 9699 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 9553 9700 ::capnp::word(21, 0, 0, 0, 98, 1, 0, 0), 9554 9701 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 9929 10076 impl Pipeline { 9930 10077 } 9931 10078 mod _private { 9932 - pub static ENCODED_NODE: [::capnp::Word; 78] = [ 9933 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 10079 + pub static ENCODED_NODE: [::capnp::Word; 79] = [ 10080 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 9934 10081 ::capnp::word(182, 107, 247, 129, 198, 121, 124, 171), 9935 10082 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 9936 10083 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 9937 10084 ::capnp::word(0, 0, 7, 0, 0, 0, 4, 0), 9938 10085 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 10086 + ::capnp::word(97, 18, 0, 0, 216, 18, 0, 0), 9939 10087 ::capnp::word(21, 0, 0, 0, 162, 0, 0, 0), 9940 10088 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 9941 10089 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 10216 10364 impl Pipeline { 10217 10365 } 10218 10366 mod _private { 10219 - pub static ENCODED_NODE: [::capnp::Word; 48] = [ 10220 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 10367 + pub static ENCODED_NODE: [::capnp::Word; 49] = [ 10368 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 10221 10369 ::capnp::word(236, 212, 23, 222, 114, 58, 95, 198), 10222 10370 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 10223 10371 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 10224 10372 ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0), 10225 10373 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 10374 + ::capnp::word(218, 18, 0, 0, 21, 19, 0, 0), 10226 10375 ::capnp::word(21, 0, 0, 0, 178, 0, 0, 0), 10227 10376 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 10228 10377 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 10439 10588 impl Pipeline { 10440 10589 } 10441 10590 mod _private { 10442 - pub static ENCODED_NODE: [::capnp::Word; 47] = [ 10443 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 10591 + pub static ENCODED_NODE: [::capnp::Word; 48] = [ 10592 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 10444 10593 ::capnp::word(176, 122, 119, 83, 72, 147, 59, 230), 10445 10594 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 10446 10595 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 10447 10596 ::capnp::word(0, 0, 7, 0, 0, 0, 0, 0), 10448 10597 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 10598 + ::capnp::word(23, 19, 0, 0, 79, 19, 0, 0), 10449 10599 ::capnp::word(21, 0, 0, 0, 170, 0, 0, 0), 10450 10600 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 10451 10601 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 10649 10799 impl Pipeline { 10650 10800 } 10651 10801 mod _private { 10652 - pub static ENCODED_NODE: [::capnp::Word; 33] = [ 10653 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 10802 + pub static ENCODED_NODE: [::capnp::Word; 34] = [ 10803 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 10654 10804 ::capnp::word(206, 188, 213, 112, 115, 74, 121, 191), 10655 10805 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 10656 10806 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 10657 10807 ::capnp::word(0, 0, 7, 0, 0, 0, 0, 0), 10658 10808 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 10809 + ::capnp::word(152, 19, 0, 0, 194, 19, 0, 0), 10659 10810 ::capnp::word(21, 0, 0, 0, 202, 0, 0, 0), 10660 10811 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 10661 10812 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 10844 10995 impl Pipeline { 10845 10996 } 10846 10997 mod _private { 10847 - pub static ENCODED_NODE: [::capnp::Word; 33] = [ 10848 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 10998 + pub static ENCODED_NODE: [::capnp::Word; 34] = [ 10999 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 10849 11000 ::capnp::word(229, 125, 51, 241, 210, 87, 45, 136), 10850 11001 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 10851 11002 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 10852 11003 ::capnp::word(0, 0, 7, 0, 0, 0, 0, 0), 10853 11004 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 11005 + ::capnp::word(11, 20, 0, 0, 53, 20, 0, 0), 10854 11006 ::capnp::word(21, 0, 0, 0, 202, 0, 0, 0), 10855 11007 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 10856 11008 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 11063 11215 impl Pipeline { 11064 11216 } 11065 11217 mod _private { 11066 - pub static ENCODED_NODE: [::capnp::Word; 63] = [ 11067 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 11218 + pub static ENCODED_NODE: [::capnp::Word; 64] = [ 11219 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 11068 11220 ::capnp::word(69, 235, 12, 250, 24, 243, 166, 215), 11069 11221 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 11070 11222 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 11071 11223 ::capnp::word(1, 0, 7, 0, 0, 0, 0, 0), 11072 11224 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 11225 + ::capnp::word(55, 20, 0, 0, 136, 20, 0, 0), 11073 11226 ::capnp::word(21, 0, 0, 0, 178, 0, 0, 0), 11074 11227 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 11075 11228 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 11512 11665 impl Pipeline { 11513 11666 } 11514 11667 mod _private { 11515 - pub static ENCODED_NODE: [::capnp::Word; 135] = [ 11516 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 11668 + pub static ENCODED_NODE: [::capnp::Word; 136] = [ 11669 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 11517 11670 ::capnp::word(106, 82, 109, 230, 111, 220, 234, 230), 11518 11671 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 11519 11672 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 11520 11673 ::capnp::word(4, 0, 7, 0, 0, 0, 9, 0), 11521 11674 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 11675 + ::capnp::word(138, 20, 0, 0, 195, 22, 0, 0), 11522 11676 ::capnp::word(21, 0, 0, 0, 178, 0, 0, 0), 11523 11677 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 11524 11678 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 11868 12022 } 11869 12023 } 11870 12024 mod _private { 11871 - pub static ENCODED_NODE: [::capnp::Word; 52] = [ 11872 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 12025 + pub static ENCODED_NODE: [::capnp::Word; 53] = [ 12026 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 11873 12027 ::capnp::word(187, 26, 170, 149, 101, 60, 254, 232), 11874 12028 ::capnp::word(22, 0, 0, 0, 1, 0, 1, 0), 11875 12029 ::capnp::word(106, 82, 109, 230, 111, 220, 234, 230), 11876 12030 ::capnp::word(4, 0, 7, 0, 1, 0, 0, 0), 12031 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 11877 12032 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 11878 12033 ::capnp::word(21, 0, 0, 0, 218, 0, 0, 0), 11879 12034 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 12146 12301 } 12147 12302 } 12148 12303 mod _private { 12149 - pub static ENCODED_NODE: [::capnp::Word; 66] = [ 12150 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 12304 + pub static ENCODED_NODE: [::capnp::Word; 67] = [ 12305 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 12151 12306 ::capnp::word(28, 159, 252, 166, 123, 114, 181, 230), 12152 12307 ::capnp::word(22, 0, 0, 0, 1, 0, 1, 0), 12153 12308 ::capnp::word(106, 82, 109, 230, 111, 220, 234, 230), 12154 12309 ::capnp::word(4, 0, 7, 0, 1, 0, 0, 0), 12310 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 12155 12311 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 12156 12312 ::capnp::word(21, 0, 0, 0, 234, 0, 0, 0), 12157 12313 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 12466 12622 } 12467 12623 } 12468 12624 mod _private { 12469 - pub static ENCODED_NODE: [::capnp::Word; 78] = [ 12470 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 12625 + pub static ENCODED_NODE: [::capnp::Word; 79] = [ 12626 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 12471 12627 ::capnp::word(167, 2, 255, 44, 84, 233, 10, 203), 12472 12628 ::capnp::word(22, 0, 0, 0, 1, 0, 1, 0), 12473 12629 ::capnp::word(106, 82, 109, 230, 111, 220, 234, 230), 12474 12630 ::capnp::word(4, 0, 7, 0, 1, 0, 0, 0), 12475 12631 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 12632 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 12476 12633 ::capnp::word(21, 0, 0, 0, 210, 0, 0, 0), 12477 12634 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 12478 12635 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 12751 12908 } 12752 12909 } 12753 12910 mod _private { 12754 - pub static ENCODED_NODE: [::capnp::Word; 49] = [ 12755 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 12911 + pub static ENCODED_NODE: [::capnp::Word; 50] = [ 12912 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 12756 12913 ::capnp::word(61, 195, 0, 38, 129, 28, 187, 154), 12757 12914 ::capnp::word(22, 0, 0, 0, 1, 0, 1, 0), 12758 12915 ::capnp::word(106, 82, 109, 230, 111, 220, 234, 230), 12759 12916 ::capnp::word(4, 0, 7, 0, 1, 0, 0, 0), 12917 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 12760 12918 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 12761 12919 ::capnp::word(21, 0, 0, 0, 82, 1, 0, 0), 12762 12920 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 13030 13188 } 13031 13189 } 13032 13190 mod _private { 13033 - pub static ENCODED_NODE: [::capnp::Word; 67] = [ 13034 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 13191 + pub static ENCODED_NODE: [::capnp::Word; 68] = [ 13192 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 13035 13193 ::capnp::word(181, 42, 182, 217, 246, 199, 65, 197), 13036 13194 ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0), 13037 13195 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 13038 13196 ::capnp::word(3, 0, 7, 0, 0, 0, 0, 0), 13039 13197 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 13198 + ::capnp::word(197, 22, 0, 0, 49, 23, 0, 0), 13040 13199 ::capnp::word(21, 0, 0, 0, 234, 0, 0, 0), 13041 13200 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 13042 13201 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 13507 13666 impl Pipeline { 13508 13667 } 13509 13668 mod _private { 13510 - pub static ENCODED_NODE: [::capnp::Word; 264] = [ 13511 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 13669 + pub static ENCODED_NODE: [::capnp::Word; 265] = [ 13670 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 13512 13671 ::capnp::word(84, 4, 149, 82, 63, 31, 245, 176), 13513 13672 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 13514 13673 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 13515 13674 ::capnp::word(1, 0, 7, 0, 0, 0, 17, 0), 13516 13675 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 13676 + ::capnp::word(51, 23, 0, 0, 89, 25, 0, 0), 13517 13677 ::capnp::word(21, 0, 0, 0, 26, 1, 0, 0), 13518 13678 ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0), 13519 13679 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 13996 14156 } 13997 14157 } 13998 14158 mod _private { 13999 - pub static ENCODED_NODE: [::capnp::Word; 49] = [ 14000 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 14159 + pub static ENCODED_NODE: [::capnp::Word; 50] = [ 14160 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 14001 14161 ::capnp::word(20, 184, 71, 227, 143, 218, 2, 146), 14002 14162 ::capnp::word(35, 0, 0, 0, 1, 0, 1, 0), 14003 14163 ::capnp::word(84, 4, 149, 82, 63, 31, 245, 176), 14004 14164 ::capnp::word(1, 0, 7, 0, 1, 0, 0, 0), 14165 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 14005 14166 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 14006 14167 ::capnp::word(21, 0, 0, 0, 66, 1, 0, 0), 14007 14168 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 14220 14381 impl Pipeline { 14221 14382 } 14222 14383 mod _private { 14223 - pub static ENCODED_NODE: [::capnp::Word; 49] = [ 14224 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 14384 + pub static ENCODED_NODE: [::capnp::Word; 50] = [ 14385 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 14225 14386 ::capnp::word(94, 12, 190, 163, 221, 253, 125, 207), 14226 14387 ::capnp::word(35, 0, 0, 0, 1, 0, 1, 0), 14227 14388 ::capnp::word(84, 4, 149, 82, 63, 31, 245, 176), 14228 14389 ::capnp::word(1, 0, 7, 0, 1, 0, 0, 0), 14390 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 14229 14391 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 14230 14392 ::capnp::word(21, 0, 0, 0, 66, 1, 0, 0), 14231 14393 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 14481 14643 impl Pipeline { 14482 14644 } 14483 14645 mod _private { 14484 - pub static ENCODED_NODE: [::capnp::Word; 72] = [ 14485 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 14646 + pub static ENCODED_NODE: [::capnp::Word; 73] = [ 14647 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 14486 14648 ::capnp::word(101, 33, 49, 62, 78, 11, 246, 235), 14487 14649 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 14488 14650 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 14489 14651 ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0), 14490 14652 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 14653 + ::capnp::word(91, 25, 0, 0, 196, 25, 0, 0), 14491 14654 ::capnp::word(21, 0, 0, 0, 202, 0, 0, 0), 14492 14655 ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0), 14493 14656 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 14741 14904 impl Pipeline { 14742 14905 } 14743 14906 mod _private { 14744 - pub static ENCODED_NODE: [::capnp::Word; 65] = [ 14745 - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 14907 + pub static ENCODED_NODE: [::capnp::Word; 66] = [ 14908 + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), 14746 14909 ::capnp::word(130, 77, 162, 53, 234, 228, 146, 132), 14747 14910 ::capnp::word(13, 0, 0, 0, 1, 0, 2, 0), 14748 14911 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 14749 14912 ::capnp::word(0, 0, 7, 0, 0, 0, 0, 0), 14750 14913 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 14914 + ::capnp::word(198, 25, 0, 0, 35, 26, 0, 0), 14751 14915 ::capnp::word(21, 0, 0, 0, 186, 0, 0, 0), 14752 14916 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), 14753 14917 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+3
compiler-core/schema.capnp
··· 181 181 usesJavascriptExternals @2 :Bool; 182 182 canRunOnErlang @3 :Bool; 183 183 canRunOnJavascript @4 :Bool; 184 + usesCraneliftExternals @5 :Bool; 185 + canRunOnCranelift @6 :Bool; 184 186 } 185 187 186 188 struct ValueConstructorVariant { ··· 205 207 externalErlang @20 :Option(External); 206 208 externalJavascript @21 :Option(External); 207 209 purity @23 :Purity; 210 + externalCranelift @24 :Option(External); 208 211 } 209 212 210 213 record :group {
+24 -2
compiler-core/src/analyse.rs
··· 420 420 has_body: true, 421 421 has_erlang_external: false, 422 422 has_javascript_external: false, 423 + has_cranelift_external: false, 423 424 }; 424 425 let mut expr_typer = ExprTyper::new(environment, definition, &mut self.problems); 425 426 let typed_expr = expr_typer.infer_const(&annotation, *value); ··· 513 514 deprecation, 514 515 external_erlang, 515 516 external_javascript, 517 + external_cranelift, 516 518 return_type: (), 517 519 implementations: _, 518 520 purity: _, ··· 534 536 self.assert_valid_javascript_external(&name, external_javascript.as_ref(), location); 535 537 536 538 // Find the external implementation for the current target, if one has been given. 537 - let external = 538 - target_function_implementation(target, &external_erlang, &external_javascript); 539 + let external = target_function_implementation( 540 + target, 541 + &external_erlang, 542 + &external_javascript, 543 + &external_cranelift, 544 + ); 539 545 540 546 // The function must have at least one implementation somewhere. 541 547 let has_implementation = self.ensure_function_has_an_implementation( ··· 558 564 has_body, 559 565 has_erlang_external: external_erlang.is_some(), 560 566 has_javascript_external: external_javascript.is_some(), 567 + has_cranelift_external: external_cranelift.is_some(), 561 568 }; 562 569 563 570 let mut typed_arguments = Vec::with_capacity(arguments.len()); ··· 693 700 external_javascript: external_javascript 694 701 .as_ref() 695 702 .map(|(m, f, _)| (m.clone(), f.clone())), 703 + external_cranelift: external_javascript 704 + .as_ref() 705 + .map(|(m, f, _)| (m.clone(), f.clone())), 696 706 field_map, 697 707 module: environment.current_module.clone(), 698 708 arity: typed_arguments.len(), ··· 733 743 body, 734 744 external_erlang, 735 745 external_javascript, 746 + external_cranelift, 736 747 implementations, 737 748 purity, 738 749 }; ··· 1466 1477 documentation, 1467 1478 external_erlang, 1468 1479 external_javascript, 1480 + external_cranelift, 1469 1481 deprecation, 1470 1482 end_position: _, 1471 1483 body: _, ··· 1543 1555 .as_ref() 1544 1556 .map(|(m, f, _)| (m.clone(), f.clone())), 1545 1557 external_javascript: external_javascript 1558 + .as_ref() 1559 + .map(|(m, f, _)| (m.clone(), f.clone())), 1560 + external_cranelift: external_cranelift 1546 1561 .as_ref() 1547 1562 .map(|(m, f, _)| (m.clone(), f.clone())), 1548 1563 module: environment.current_module.clone(), ··· 1650 1665 target: Target, 1651 1666 external_erlang: &'a Option<(EcoString, EcoString, SrcSpan)>, 1652 1667 external_javascript: &'a Option<(EcoString, EcoString, SrcSpan)>, 1668 + external_cranelift: &'a Option<(EcoString, EcoString, SrcSpan)>, 1653 1669 ) -> &'a Option<(EcoString, EcoString, SrcSpan)> { 1654 1670 match target { 1655 1671 Target::Erlang => external_erlang, 1656 1672 Target::JavaScript => external_javascript, 1673 + Target::Cranelift => external_cranelift, 1657 1674 } 1658 1675 } 1659 1676 ··· 1833 1850 return_type, 1834 1851 external_erlang, 1835 1852 external_javascript, 1853 + external_cranelift, 1836 1854 implementations, 1837 1855 purity, 1838 1856 } = function; ··· 1857 1875 .as_ref() 1858 1876 .map(|(m, f, _)| (m.clone(), f.clone())), 1859 1877 external_javascript: external_javascript 1878 + .as_ref() 1879 + .map(|(m, f, _)| (m.clone(), f.clone())), 1880 + external_cranelift: external_javascript 1860 1881 .as_ref() 1861 1882 .map(|(m, f, _)| (m.clone(), f.clone())), 1862 1883 module: module_name.clone(), ··· 1896 1917 body, 1897 1918 external_erlang, 1898 1919 external_javascript, 1920 + external_cranelift, 1899 1921 implementations, 1900 1922 purity, 1901 1923 })
+1
compiler-core/src/ast.rs
··· 697 697 pub documentation: Option<(u32, EcoString)>, 698 698 pub external_erlang: Option<(EcoString, EcoString, SrcSpan)>, 699 699 pub external_javascript: Option<(EcoString, EcoString, SrcSpan)>, 700 + pub external_cranelift: Option<(EcoString, EcoString, SrcSpan)>, 700 701 pub implementations: Implementations, 701 702 pub purity: Purity, 702 703 }
+1
compiler-core/src/ast/tests.rs
··· 157 157 has_body: true, 158 158 has_erlang_external: false, 159 159 has_javascript_external: false, 160 + has_cranelift_external: false, 160 161 }, 161 162 &mut problems, 162 163 )
+5
compiler-core/src/build.rs
··· 63 63 #[strum(serialize = "javascript", serialize = "js")] 64 64 #[serde(rename = "javascript", alias = "js")] 65 65 JavaScript, 66 + #[strum(serialize = "cranelift")] 67 + #[serde(rename = "cranelift")] 68 + Cranelift, 66 69 } 67 70 68 71 impl Target { ··· 148 151 Erlang { 149 152 app_file: Option<ErlangAppCodegenConfiguration>, 150 153 }, 154 + Cranelift {}, 151 155 } 152 156 153 157 impl TargetCodegenConfiguration { ··· 155 159 match self { 156 160 Self::JavaScript { .. } => Target::JavaScript, 157 161 Self::Erlang { .. } => Target::Erlang, 162 + Self::Cranelift { .. } => Target::Cranelift, 158 163 } 159 164 } 160 165 }
+3
compiler-core/src/build/package_compiler.rs
··· 359 359 TargetCodegenConfiguration::Erlang { app_file } => { 360 360 self.perform_erlang_codegen(modules, app_file.as_ref()) 361 361 } 362 + TargetCodegenConfiguration::Cranelift {} => { 363 + todo!("codegen") 364 + } 362 365 } 363 366 } 364 367
+2
compiler-core/src/build/project_compiler.rs
··· 581 581 // This path is relative to each package output directory 582 582 prelude_location: Utf8PathBuf::from("../prelude.mjs"), 583 583 }, 584 + 585 + Target::Cranelift => super::TargetCodegenConfiguration::Cranelift {}, 584 586 }; 585 587 586 588 let mut compiler = PackageCompiler::new(
+5
compiler-core/src/call_graph/into_dependency_order_tests.rs
··· 42 42 documentation: None, 43 43 external_erlang: None, 44 44 external_javascript: None, 45 + external_cranelift: None, 45 46 implementations: Implementations { 46 47 gleam: true, 47 48 uses_erlang_externals: true, 48 49 uses_javascript_externals: false, 50 + uses_cranelift_externals: false, 49 51 can_run_on_erlang: true, 50 52 can_run_on_javascript: true, 53 + can_run_on_cranelift: true, 51 54 }, 52 55 purity: Purity::Impure, 53 56 }) ··· 68 71 gleam: true, 69 72 uses_erlang_externals: true, 70 73 uses_javascript_externals: false, 74 + uses_cranelift_externals: false, 71 75 can_run_on_erlang: true, 72 76 can_run_on_javascript: true, 77 + can_run_on_cranelift: true, 73 78 }, 74 79 type_: (), 75 80 deprecation: Deprecation::NotDeprecated,
+6
compiler-core/src/error.rs
··· 3359 3359 match current_target { 3360 3360 Target::Erlang => "Erlang", 3361 3361 Target::JavaScript => "JavaScript", 3362 + Target::Cranelift => "Cranelift", 3362 3363 } 3363 3364 ); 3364 3365 let hint = wrap("Did you mean to build for a different target?"); ··· 3387 3388 let target = match target { 3388 3389 Target::Erlang => "Erlang", 3389 3390 Target::JavaScript => "JavaScript", 3391 + Target::Cranelift => "Cranelift", 3390 3392 }; 3391 3393 let text = wrap_format!( 3392 3394 "The `{name}` function is public but doesn't have an \ ··· 4353 4355 "You can not set a runtime for Erlang. Did you mean to target JavaScript?" 4354 4356 .into(), 4355 4357 ), 4358 + Target::Cranelift => Some( 4359 + "You can not set a runtime for Cranelift. Did you mean to target JavaScript?" 4360 + .into() 4361 + ) 4356 4362 }; 4357 4363 4358 4364 vec![Diagnostic {
+1
compiler-core/src/format.rs
··· 200 200 None => document, 201 201 Some(Target::Erlang) => docvec!["@target(erlang)", line(), document], 202 202 Some(Target::JavaScript) => docvec!["@target(javascript)", line(), document], 203 + Some(Target::Cranelift) => docvec!["@target(cranelift)", line(), document], 203 204 }; 204 205 205 206 comments.to_doc().append(document.group())
+1
compiler-core/src/inline.rs
··· 1634 1634 implementations: Implementations::supporting_all(), 1635 1635 external_erlang: None, 1636 1636 external_javascript: None, 1637 + external_cranelift: None, 1637 1638 purity: Purity::Unknown, 1638 1639 } 1639 1640 }
+3
compiler-core/src/metadata/module_decoder.rs
··· 621 621 implementations: self.implementations(reader.get_implementations()?), 622 622 external_erlang: self.optional_external(reader.get_external_erlang()?)?, 623 623 external_javascript: self.optional_external(reader.get_external_javascript()?)?, 624 + external_cranelift: self.optional_external(reader.get_external_cranelift()?)?, 624 625 purity, 625 626 }) 626 627 } ··· 630 631 gleam: reader.get_gleam(), 631 632 uses_erlang_externals: reader.get_uses_erlang_externals(), 632 633 uses_javascript_externals: reader.get_uses_javascript_externals(), 634 + uses_cranelift_externals: reader.get_uses_cranelift_externals(), 633 635 can_run_on_erlang: reader.get_can_run_on_erlang(), 634 636 can_run_on_javascript: reader.get_can_run_on_javascript(), 637 + can_run_on_cranelift: reader.get_can_run_on_cranelift(), 635 638 } 636 639 } 637 640
+7
compiler-core/src/metadata/module_encoder.rs
··· 440 440 implementations, 441 441 external_erlang, 442 442 external_javascript, 443 + external_cranelift, 443 444 purity, 444 445 } => { 445 446 let mut builder = builder.init_module_fn(); ··· 460 461 self.build_external( 461 462 builder.reborrow().init_external_javascript(), 462 463 external_javascript, 464 + ); 465 + self.build_external( 466 + builder.reborrow().init_external_cranelift(), 467 + external_cranelift, 463 468 ); 464 469 self.build_optional_field_map(builder.reborrow().init_field_map(), field_map); 465 470 self.build_src_span(builder.reborrow().init_location(), *location); ··· 716 721 builder.set_gleam(implementations.gleam); 717 722 builder.set_uses_erlang_externals(implementations.uses_erlang_externals); 718 723 builder.set_uses_javascript_externals(implementations.uses_javascript_externals); 724 + builder.set_uses_cranelift_externals(implementations.uses_cranelift_externals); 719 725 builder.set_can_run_on_erlang(implementations.can_run_on_erlang); 720 726 builder.set_can_run_on_javascript(implementations.can_run_on_javascript); 727 + builder.set_can_run_on_cranelift(implementations.can_run_on_cranelift); 721 728 } 722 729 723 730 fn build_external(
+32
compiler-core/src/metadata/tests.rs
··· 57 57 gleam: true, 58 58 uses_erlang_externals: false, 59 59 uses_javascript_externals: false, 60 + uses_cranelift_externals: false, 60 61 can_run_on_erlang: true, 61 62 can_run_on_javascript: true, 63 + can_run_on_cranelift: true, 62 64 }, 63 65 name: "one".into(), 64 66 }, ··· 535 537 }, 536 538 external_erlang: None, 537 539 external_javascript: None, 540 + external_cranelift: None, 538 541 implementations: Implementations { 539 542 gleam: true, 540 543 uses_erlang_externals: false, 541 544 uses_javascript_externals: false, 545 + uses_cranelift_externals: false, 542 546 can_run_on_erlang: true, 543 547 can_run_on_javascript: true, 548 + can_run_on_cranelift: true, 544 549 }, 545 550 purity: Purity::Pure, 546 551 }, ··· 591 596 }, 592 597 external_erlang: None, 593 598 external_javascript: None, 599 + external_cranelift: None, 594 600 implementations: Implementations { 595 601 gleam: true, 596 602 uses_erlang_externals: false, 597 603 uses_javascript_externals: false, 604 + uses_cranelift_externals: false, 598 605 can_run_on_erlang: true, 599 606 can_run_on_javascript: true, 607 + can_run_on_cranelift: true, 600 608 }, 601 609 purity: Purity::Pure, 602 610 }, ··· 645 653 }, 646 654 external_erlang: None, 647 655 external_javascript: None, 656 + external_cranelift: None, 648 657 implementations: Implementations { 649 658 gleam: true, 650 659 uses_erlang_externals: false, 651 660 uses_javascript_externals: false, 661 + uses_cranelift_externals: false, 652 662 can_run_on_erlang: true, 653 663 can_run_on_javascript: true, 664 + can_run_on_cranelift: true, 654 665 }, 655 666 purity: Purity::Pure, 656 667 }, ··· 701 712 }, 702 713 external_erlang: None, 703 714 external_javascript: None, 715 + external_cranelift: None, 704 716 implementations: Implementations { 705 717 gleam: true, 706 718 uses_erlang_externals: false, 707 719 uses_javascript_externals: false, 720 + uses_cranelift_externals: false, 708 721 can_run_on_erlang: true, 709 722 can_run_on_javascript: true, 723 + can_run_on_cranelift: true, 710 724 }, 711 725 purity: Purity::TrustedPure, 712 726 }, ··· 753 767 }), 754 768 external_erlang: None, 755 769 external_javascript: None, 770 + external_cranelift: None, 756 771 module: "a".into(), 757 772 arity: 5, 758 773 location: SrcSpan { start: 2, end: 11 }, ··· 760 775 gleam: true, 761 776 uses_erlang_externals: false, 762 777 uses_javascript_externals: false, 778 + uses_cranelift_externals: false, 763 779 can_run_on_erlang: true, 764 780 can_run_on_javascript: true, 781 + can_run_on_cranelift: true, 765 782 }, 766 783 purity: Purity::Pure, 767 784 }, ··· 1188 1205 gleam: true, 1189 1206 uses_erlang_externals: false, 1190 1207 uses_javascript_externals: false, 1208 + uses_cranelift_externals: false, 1191 1209 can_run_on_erlang: true, 1192 1210 can_run_on_javascript: true, 1211 + can_run_on_cranelift: true, 1193 1212 }, 1194 1213 name: "one_original".into(), 1195 1214 }, ··· 1221 1240 gleam: true, 1222 1241 uses_erlang_externals: false, 1223 1242 uses_javascript_externals: false, 1243 + uses_cranelift_externals: false, 1224 1244 can_run_on_erlang: true, 1225 1245 can_run_on_javascript: true, 1246 + can_run_on_cranelift: true, 1226 1247 }, 1227 1248 name: "one".into(), 1228 1249 }, ··· 1243 1264 gleam: true, 1244 1265 uses_erlang_externals: false, 1245 1266 uses_javascript_externals: false, 1267 + uses_cranelift_externals: false, 1246 1268 can_run_on_erlang: true, 1247 1269 can_run_on_javascript: true, 1270 + can_run_on_cranelift: true, 1248 1271 }, 1249 1272 name: "one_original".into(), 1250 1273 }, ··· 1492 1515 }, 1493 1516 external_erlang: Some(("wibble".into(), "wobble".into())), 1494 1517 external_javascript: Some(("wobble".into(), "wibble".into())), 1518 + external_cranelift: None, 1495 1519 implementations: Implementations { 1496 1520 gleam: false, 1497 1521 uses_erlang_externals: true, 1498 1522 uses_javascript_externals: true, 1523 + uses_cranelift_externals: false, 1499 1524 can_run_on_erlang: false, 1500 1525 can_run_on_javascript: true, 1526 + can_run_on_cranelift: false, 1501 1527 }, 1502 1528 purity: Purity::Impure, 1503 1529 }, ··· 1573 1599 }, 1574 1600 external_erlang: Some(("wibble".into(), "wobble".into())), 1575 1601 external_javascript: Some(("wobble".into(), "wibble".into())), 1602 + external_cranelift: None, 1576 1603 implementations: Implementations { 1577 1604 gleam: false, 1578 1605 uses_erlang_externals: true, 1579 1606 uses_javascript_externals: true, 1607 + uses_cranelift_externals: false, 1580 1608 can_run_on_erlang: true, 1581 1609 can_run_on_javascript: true, 1610 + can_run_on_cranelift: false, 1582 1611 }, 1583 1612 purity: Purity::Unknown, 1584 1613 }, ··· 1633 1662 }, 1634 1663 external_erlang: Some(("wibble".into(), "wobble".into())), 1635 1664 external_javascript: Some(("wobble".into(), "wibble".into())), 1665 + external_cranelift: None, 1636 1666 implementations: Implementations { 1637 1667 gleam: false, 1638 1668 uses_erlang_externals: true, 1639 1669 uses_javascript_externals: true, 1670 + uses_cranelift_externals: false, 1640 1671 can_run_on_erlang: true, 1641 1672 can_run_on_javascript: true, 1673 + can_run_on_cranelift: false, 1642 1674 }, 1643 1675 purity: Purity::Impure, 1644 1676 },
+12 -1
compiler-core/src/package_interface.rs
··· 234 234 /// - `uses_javascript_externals: true` the function is using JavaScript 235 235 /// external code. 236 236 uses_javascript_externals: bool, 237 + /// Set to `true` if the const/function is defined using Cranelift external 238 + /// code. That means that the function will use Cranelift code through FFI when 239 + /// compiled for the Cranelift target. 240 + uses_cranelift_externals: bool, 237 241 /// Whether the function can be called on the Erlang target, either due to a 238 242 /// pure Gleam implementation or an implementation that uses some Erlang 239 243 /// externals. ··· 242 246 /// to a pure Gleam implementation or an implementation that uses some 243 247 /// JavaScript externals. 244 248 can_run_on_javascript: bool, 249 + /// Whether the function can be called on the Cranelift target, either due to a 250 + /// pure Gleam implementation or an implementation that uses some Cranelift 251 + /// externals. 252 + can_run_on_cranelift: bool, 245 253 } 246 254 247 255 impl ImplementationsInterface { ··· 259 267 gleam, 260 268 uses_erlang_externals, 261 269 uses_javascript_externals, 262 - 270 + uses_cranelift_externals, 263 271 can_run_on_erlang, 264 272 can_run_on_javascript, 273 + can_run_on_cranelift, 265 274 } = implementations; 266 275 267 276 ImplementationsInterface { 268 277 gleam: *gleam, 269 278 uses_erlang_externals: *uses_erlang_externals, 270 279 uses_javascript_externals: *uses_javascript_externals, 280 + uses_cranelift_externals: *uses_cranelift_externals, 271 281 can_run_on_erlang: *can_run_on_erlang, 272 282 can_run_on_javascript: *can_run_on_javascript, 283 + can_run_on_cranelift: *can_run_on_cranelift, 273 284 } 274 285 } 275 286 }
+11 -1
compiler-core/src/parse.rs
··· 123 123 deprecated: Deprecation, 124 124 external_erlang: Option<(EcoString, EcoString, SrcSpan)>, 125 125 external_javascript: Option<(EcoString, EcoString, SrcSpan)>, 126 + external_cranelift: Option<(EcoString, EcoString, SrcSpan)>, 126 127 internal: InternalAttribute, 127 128 } 128 129 129 130 impl Attributes { 130 131 fn has_function_only(&self) -> bool { 131 - self.external_erlang.is_some() || self.external_javascript.is_some() 132 + self.external_erlang.is_some() 133 + || self.external_javascript.is_some() 134 + || self.external_cranelift.is_some() 132 135 } 133 136 134 137 fn has_external_for(&self, target: Target) -> bool { 135 138 match target { 136 139 Target::Erlang => self.external_erlang.is_some(), 137 140 Target::JavaScript => self.external_javascript.is_some(), 141 + Target::Cranelift => self.external_cranelift.is_some(), 138 142 } 139 143 } 140 144 ··· 142 146 match target { 143 147 Target::Erlang => self.external_erlang = ext, 144 148 Target::JavaScript => self.external_javascript = ext, 149 + Target::Cranelift => self.external_cranelift = ext, 145 150 } 146 151 } 147 152 } ··· 2133 2138 deprecation: std::mem::take(&mut attributes.deprecated), 2134 2139 external_erlang: attributes.external_erlang.take(), 2135 2140 external_javascript: attributes.external_javascript.take(), 2141 + external_cranelift: attributes.external_cranelift.take(), 2136 2142 implementations: Implementations { 2137 2143 gleam: true, 2138 2144 can_run_on_erlang: true, 2139 2145 can_run_on_javascript: true, 2146 + can_run_on_cranelift: true, 2140 2147 uses_erlang_externals: false, 2141 2148 uses_javascript_externals: false, 2149 + uses_cranelift_externals: false, 2142 2150 }, 2143 2151 purity: Purity::Pure, 2144 2152 }))) ··· 2993 3001 gleam: true, 2994 3002 can_run_on_erlang: true, 2995 3003 can_run_on_javascript: true, 3004 + can_run_on_cranelift: true, 2996 3005 uses_erlang_externals: false, 2997 3006 uses_javascript_externals: false, 3007 + uses_cranelift_externals: false, 2998 3008 }, 2999 3009 }))) 3000 3010 }
+3
compiler-core/src/type_.rs
··· 708 708 implementations: Implementations, 709 709 external_erlang: Option<(EcoString, EcoString)>, 710 710 external_javascript: Option<(EcoString, EcoString)>, 711 + external_cranelift: Option<(EcoString, EcoString)>, 711 712 purity: Purity, 712 713 }, 713 714 ··· 854 855 gleam: true, 855 856 can_run_on_erlang: true, 856 857 can_run_on_javascript: true, 858 + can_run_on_cranelift: true, 857 859 uses_javascript_externals: false, 858 860 uses_erlang_externals: false, 861 + uses_cranelift_externals: false, 859 862 }, 860 863 861 864 ValueConstructorVariant::ModuleFn {
+20
compiler-core/src/type_/expression.rs
··· 45 45 pub gleam: bool, 46 46 pub can_run_on_erlang: bool, 47 47 pub can_run_on_javascript: bool, 48 + pub can_run_on_cranelift: bool, 48 49 /// Whether the function has an implementation that uses external erlang 49 50 /// code. 50 51 pub uses_erlang_externals: bool, 51 52 /// Whether the function has an implementation that uses external javascript 52 53 /// code. 53 54 pub uses_javascript_externals: bool, 55 + /// Whether the function has an implementation that uses external cranelift 56 + /// code. 57 + pub uses_cranelift_externals: bool, 54 58 } 55 59 56 60 impl Implementations { ··· 59 63 gleam: true, 60 64 can_run_on_erlang: true, 61 65 can_run_on_javascript: true, 66 + can_run_on_cranelift: true, 62 67 uses_javascript_externals: false, 63 68 uses_erlang_externals: false, 69 + uses_cranelift_externals: false, 64 70 } 65 71 } 66 72 } ··· 157 163 pub has_erlang_external: bool, 158 164 /// The function has @external(JavaScript, "...", "...") 159 165 pub has_javascript_external: bool, 166 + /// The function has @external(cranelift, "...", "...") 167 + pub has_cranelift_external: bool, 160 168 } 161 169 162 170 impl FunctionDefinition { ··· 164 172 match target { 165 173 Target::Erlang => self.has_erlang_external, 166 174 Target::JavaScript => self.has_javascript_external, 175 + Target::Cranelift => self.has_cranelift_external, 167 176 } 168 177 } 169 178 } ··· 183 192 gleam, 184 193 uses_erlang_externals: other_uses_erlang_externals, 185 194 uses_javascript_externals: other_uses_javascript_externals, 195 + uses_cranelift_externals: other_uses_cranelift_externals, 186 196 can_run_on_erlang: other_can_run_on_erlang, 187 197 can_run_on_javascript: other_can_run_on_javascript, 198 + can_run_on_cranelift: othere_can_run_on_cranelift, 188 199 } = implementations; 189 200 let FunctionDefinition { 190 201 has_body: _, 191 202 has_erlang_external, 192 203 has_javascript_external, 204 + has_cranelift_external, 193 205 } = current_function_definition; 194 206 195 207 // If a pure-Gleam function uses a function that doesn't have a pure ··· 202 214 || (self.can_run_on_erlang && (*gleam || *other_can_run_on_erlang)); 203 215 self.can_run_on_javascript = *has_javascript_external 204 216 || (self.can_run_on_javascript && (*gleam || *other_can_run_on_javascript)); 217 + self.can_run_on_cranelift = *has_cranelift_external 218 + || (self.can_run_on_cranelift && (*gleam || *othere_can_run_on_cranelift)); 205 219 206 220 // If a function uses a function that relies on external code (be it 207 221 // javascript or erlang) then it's considered as using external code as ··· 224 238 self.uses_erlang_externals = self.uses_erlang_externals || *other_uses_erlang_externals; 225 239 self.uses_javascript_externals = 226 240 self.uses_javascript_externals || *other_uses_javascript_externals; 241 + self.uses_cranelift_externals = 242 + self.uses_cranelift_externals || *other_uses_cranelift_externals; 227 243 } 228 244 229 245 /// Returns true if the current target is supported by the given ··· 235 251 || match target { 236 252 Target::Erlang => self.can_run_on_erlang, 237 253 Target::JavaScript => self.can_run_on_javascript, 254 + Target::Cranelift => self.can_run_on_cranelift, 238 255 } 239 256 } 240 257 } ··· 313 330 gleam: definition.has_body, 314 331 can_run_on_erlang: definition.has_body || definition.has_erlang_external, 315 332 can_run_on_javascript: definition.has_body || definition.has_javascript_external, 333 + can_run_on_cranelift: definition.has_body || definition.has_cranelift_external, 316 334 uses_erlang_externals: definition.has_erlang_external, 317 335 uses_javascript_externals: definition.has_javascript_external, 336 + uses_cranelift_externals: definition.has_cranelift_external, 318 337 }; 319 338 320 339 let uses_externals = match environment.target { 321 340 Target::Erlang => implementations.uses_erlang_externals, 322 341 Target::JavaScript => implementations.uses_javascript_externals, 342 + Target::Cranelift => implementations.uses_cranelift_externals, 323 343 }; 324 344 325 345 let purity = if is_trusted_pure_module(environment) {
+15
compiler-core/src/type_/tests.rs
··· 387 387 has_body: true, 388 388 has_erlang_external: false, 389 389 has_javascript_external: false, 390 + has_cranelift_external: false, 390 391 }, 391 392 &mut problems, 392 393 ) ··· 2715 2716 gleam: true, 2716 2717 uses_erlang_externals: false, 2717 2718 uses_javascript_externals: false, 2719 + uses_cranelift_externals: false, 2718 2720 can_run_on_erlang: true, 2719 2721 can_run_on_javascript: true, 2722 + can_run_on_cranelift: true, 2720 2723 }, 2721 2724 name: "main".into(), 2722 2725 }, ··· 2742 2745 module: "module".into(), 2743 2746 external_erlang: None, 2744 2747 external_javascript: None, 2748 + external_cranelift: None, 2745 2749 implementations: Implementations { 2746 2750 gleam: true, 2747 2751 uses_erlang_externals: false, 2748 2752 uses_javascript_externals: false, 2753 + uses_cranelift_externals: false, 2749 2754 can_run_on_erlang: true, 2750 2755 can_run_on_javascript: true, 2756 + can_run_on_cranelift: true, 2751 2757 }, 2752 2758 purity: Purity::Pure, 2753 2759 }, ··· 2773 2779 module: "module".into(), 2774 2780 external_erlang: None, 2775 2781 external_javascript: None, 2782 + external_cranelift: None, 2776 2783 implementations: Implementations { 2777 2784 gleam: true, 2778 2785 uses_erlang_externals: false, 2779 2786 uses_javascript_externals: false, 2787 + uses_cranelift_externals: false, 2780 2788 can_run_on_erlang: true, 2781 2789 can_run_on_javascript: true, 2790 + can_run_on_cranelift: true, 2782 2791 }, 2783 2792 purity: Purity::Pure, 2784 2793 }, ··· 2804 2813 module: "module".into(), 2805 2814 external_erlang: Some(("wibble".into(), "wobble".into())), 2806 2815 external_javascript: Some(("wobble".into(), "wibble".into())), 2816 + external_cranelift: None, 2807 2817 implementations: Implementations { 2808 2818 gleam: false, 2809 2819 uses_erlang_externals: true, 2810 2820 uses_javascript_externals: true, 2821 + uses_cranelift_externals: false, 2811 2822 can_run_on_erlang: false, 2812 2823 can_run_on_javascript: true, 2824 + can_run_on_cranelift: false, 2813 2825 }, 2814 2826 purity: Purity::Impure, 2815 2827 }, ··· 2835 2847 module: "module".into(), 2836 2848 external_erlang: Some(("wibble".into(), "wobble".into())), 2837 2849 external_javascript: Some(("wobble".into(), "wibble".into())), 2850 + external_cranelift: None, 2838 2851 implementations: Implementations { 2839 2852 gleam: false, 2840 2853 uses_erlang_externals: true, 2841 2854 uses_javascript_externals: true, 2855 + uses_cranelift_externals: false, 2842 2856 can_run_on_erlang: true, 2843 2857 can_run_on_javascript: false, 2858 + can_run_on_cranelift: false, 2844 2859 }, 2845 2860 purity: Purity::Impure, 2846 2861 },
+30
compiler-core/src/type_/tests/target_implementations.rs
··· 51 51 gleam: true, 52 52 uses_erlang_externals: false, 53 53 uses_javascript_externals: false, 54 + uses_cranelift_externals: false, 54 55 can_run_on_erlang: true, 55 56 can_run_on_javascript: true, 57 + can_run_on_cranelift: true, 56 58 } 57 59 ), 58 60 ( ··· 61 63 gleam: true, 62 64 uses_erlang_externals: false, 63 65 uses_javascript_externals: false, 66 + uses_cranelift_externals: false, 64 67 can_run_on_erlang: true, 65 68 can_run_on_javascript: true, 69 + can_run_on_cranelift: true, 66 70 } 67 71 ) 68 72 ], ··· 85 89 gleam: false, 86 90 uses_erlang_externals: true, 87 91 uses_javascript_externals: false, 92 + uses_cranelift_externals: false, 88 93 can_run_on_erlang: true, 89 94 can_run_on_javascript: false, 95 + can_run_on_cranelift: false, 90 96 } 91 97 ), 92 98 ( ··· 95 101 gleam: false, 96 102 uses_erlang_externals: true, 97 103 uses_javascript_externals: false, 104 + uses_cranelift_externals: false, 98 105 can_run_on_erlang: true, 99 106 can_run_on_javascript: false, 107 + can_run_on_cranelift: false, 100 108 } 101 109 ) 102 110 ], ··· 120 128 gleam: false, 121 129 uses_erlang_externals: true, 122 130 uses_javascript_externals: true, 131 + uses_cranelift_externals: false, 123 132 can_run_on_erlang: true, 124 133 can_run_on_javascript: true, 134 + can_run_on_cranelift: false, 125 135 } 126 136 ), 127 137 ( ··· 130 140 gleam: false, 131 141 uses_erlang_externals: true, 132 142 uses_javascript_externals: true, 143 + uses_cranelift_externals: false, 133 144 can_run_on_erlang: true, 134 145 can_run_on_javascript: true, 146 + can_run_on_cranelift: false, 135 147 } 136 148 ) 137 149 ], ··· 159 171 gleam: true, 160 172 uses_erlang_externals: true, 161 173 uses_javascript_externals: false, 174 + uses_cranelift_externals: false, 162 175 can_run_on_erlang: true, 163 176 can_run_on_javascript: true, 177 + can_run_on_cranelift: true, 164 178 } 165 179 ), 166 180 ( ··· 169 183 gleam: true, 170 184 uses_erlang_externals: false, 171 185 uses_javascript_externals: true, 186 + uses_cranelift_externals: false, 172 187 can_run_on_erlang: true, 173 188 can_run_on_javascript: true, 189 + can_run_on_cranelift: true, 174 190 } 175 191 ), 176 192 ( ··· 179 195 gleam: true, 180 196 uses_erlang_externals: true, 181 197 uses_javascript_externals: true, 198 + uses_cranelift_externals: false, 182 199 can_run_on_erlang: true, 183 200 can_run_on_javascript: true, 201 + can_run_on_cranelift: true, 184 202 } 185 203 ) 186 204 ], ··· 206 224 gleam: false, 207 225 uses_erlang_externals: true, 208 226 uses_javascript_externals: true, 227 + uses_cranelift_externals: false, 209 228 can_run_on_erlang: true, 210 229 can_run_on_javascript: true, 230 + can_run_on_cranelift: false, 211 231 } 212 232 ), 213 233 ( ··· 216 236 gleam: false, 217 237 uses_erlang_externals: true, 218 238 uses_javascript_externals: true, 239 + uses_cranelift_externals: false, 219 240 can_run_on_erlang: true, 220 241 can_run_on_javascript: true, 242 + can_run_on_cranelift: false, 221 243 } 222 244 ), 223 245 ( ··· 226 248 gleam: false, 227 249 uses_erlang_externals: false, 228 250 uses_javascript_externals: true, 251 + uses_cranelift_externals: false, 229 252 can_run_on_erlang: false, 230 253 can_run_on_javascript: true, 254 + can_run_on_cranelift: false, 231 255 } 232 256 ) 233 257 ], ··· 253 277 gleam: false, 254 278 uses_erlang_externals: true, 255 279 uses_javascript_externals: true, 280 + uses_cranelift_externals: false, 256 281 can_run_on_erlang: true, 257 282 can_run_on_javascript: true, 283 + can_run_on_cranelift: false, 258 284 } 259 285 ), 260 286 ( ··· 263 289 gleam: false, 264 290 uses_erlang_externals: true, 265 291 uses_javascript_externals: false, 292 + uses_cranelift_externals: false, 266 293 can_run_on_erlang: true, 267 294 can_run_on_javascript: false, 295 + can_run_on_cranelift: false, 268 296 } 269 297 ), 270 298 ( ··· 273 301 gleam: false, 274 302 uses_erlang_externals: true, 275 303 uses_javascript_externals: true, 304 + uses_cranelift_externals: false, 276 305 can_run_on_erlang: true, 277 306 can_run_on_javascript: true, 307 + can_run_on_cranelift: false, 278 308 } 279 309 ) 280 310 ],
+1
compiler-core/src/warning.rs
··· 364 364 let full_name = match target { 365 365 Target::Erlang => "erlang", 366 366 Target::JavaScript => "javascript", 367 + Target::Cranelift => "cranelift", 367 368 }; 368 369 369 370 Diagnostic {
+1
compiler-wasm/src/lib.rs
··· 183 183 emit_typescript_definitions: false, 184 184 prelude_location: Utf8PathBuf::from("./gleam_prelude.mjs"), 185 185 }, 186 + Target::Cranelift => TargetCodegenConfiguration::Cranelift {}, 186 187 }; 187 188 188 189 tracing::info!("Compiling package");
+3
test-output/src/tests/echo.rs
··· 102 102 Target::Erlang => { 103 103 assert_echo!(&snapshot_name, Some($target), None, $project_name); 104 104 } 105 + Target::Cranelift => { 106 + assert_echo!(&snapshot_name, Some($target), None, $project_name); 107 + } 105 108 } 106 109 }; 107 110
+1
test-package-compiler/src/lib.rs
··· 33 33 emit_typescript_definitions: config.javascript.typescript_declarations, 34 34 prelude_location: Utf8PathBuf::from("../prelude.mjs"), 35 35 }, 36 + Target::Cranelift => TargetCodegenConfiguration::Cranelift {}, 36 37 }; 37 38 38 39 let ids = gleam_core::uid::UniqueIdGenerator::new();