rubyduino 0.1.3 → 0.2.1
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.
- checksums.yaml +4 -4
- data/.gitmodules +1 -0
- data/CHANGELOG.md +12 -0
- data/README.md +1 -2
- data/examples/hc_sr04.rb +39 -0
- data/lib/rubyduino/arduino_uno.rb +76 -0
- data/lib/rubyduino/sp_runtime.h +287 -0
- data/lib/rubyduino/spinel.rb +1 -1
- data/lib/rubyduino/spinel_arduino_codegen.rb +53 -13
- data/lib/rubyduino/version.rb +1 -1
- data/vendor/spinel/Makefile +463 -54
- data/vendor/spinel/README.md +248 -68
- data/vendor/spinel/benchmark/bm_jekyll_lite.rb +241 -0
- data/vendor/spinel/benchmark/bm_micro_lisp.rb +282 -0
- data/vendor/spinel/benchmark/bm_poly_cells.rb +75 -0
- data/vendor/spinel/benchmark/bm_range_each.rb +15 -0
- data/vendor/spinel/benchmark/bm_sinatra_mini.rb +126 -0
- data/vendor/spinel/compiler_helpers.rb +1506 -0
- data/vendor/spinel/docs/ANALYZE-IR.md +411 -0
- data/vendor/spinel/docs/AST.md +360 -0
- data/vendor/spinel/docs/CLASS-OBJECT.md +521 -0
- data/vendor/spinel/docs/FFI.md +9 -0
- data/vendor/spinel/docs/FLOAT-ROUNDING.md +47 -0
- data/vendor/spinel/docs/HASH-NULLABLE.md +379 -0
- data/vendor/spinel/docs/INCOMPATIBILITIES.md +102 -0
- data/vendor/spinel/docs/RBS-EXTRACT.md +128 -0
- data/vendor/spinel/docs/fast-bootstrap.md +74 -0
- data/vendor/spinel/docs/issue-646-plan.md +159 -0
- data/vendor/spinel/docs/promote-mode-plan.md +227 -0
- data/vendor/spinel/docs/setbyte-semantic-plan.md +203 -0
- data/vendor/spinel/examples/ffi/sqlite/README.md +7 -6
- data/vendor/spinel/examples/ffi/sqlite/sqlite3_lib.rb +7 -4
- data/vendor/spinel/experiments/rbs/box.rb +32 -0
- data/vendor/spinel/experiments/rbs/box.seed +18 -0
- data/vendor/spinel/experiments/rbs/harness.rb +117 -0
- data/vendor/spinel/lib/regexp/re_compile.c +265 -25
- data/vendor/spinel/lib/regexp/re_exec.c +80 -19
- data/vendor/spinel/lib/regexp/re_internal.h +22 -2
- data/vendor/spinel/lib/regexp/re_utf8.c +21 -2
- data/vendor/spinel/lib/sp_bigint.c +67 -3
- data/vendor/spinel/lib/sp_core.c +248 -0
- data/vendor/spinel/lib/sp_core.h +37 -0
- data/vendor/spinel/lib/sp_crypto.c +583 -0
- data/vendor/spinel/lib/sp_crypto.h +79 -0
- data/vendor/spinel/lib/sp_fiber.c +95 -0
- data/vendor/spinel/lib/sp_fiber.h +41 -0
- data/vendor/spinel/lib/sp_gc.c +89 -0
- data/vendor/spinel/lib/sp_gc.h +81 -0
- data/vendor/spinel/lib/sp_io.c +98 -0
- data/vendor/spinel/lib/sp_io.h +31 -0
- data/vendor/spinel/lib/sp_net.c +350 -0
- data/vendor/spinel/lib/sp_net.h +97 -0
- data/vendor/spinel/lib/sp_pack.c +431 -0
- data/vendor/spinel/lib/sp_runtime.h +3485 -341
- data/vendor/spinel/lib/sp_strscan.c +320 -0
- data/vendor/spinel/lib/sp_system.c +173 -0
- data/vendor/spinel/lib/sp_system.h +16 -0
- data/vendor/spinel/lib/sp_time.c +204 -0
- data/vendor/spinel/lib/sp_time.h +63 -0
- data/vendor/spinel/lib/sp_types.h +144 -0
- data/vendor/spinel/lib/stringio.c +31 -3
- data/vendor/spinel/lib/strscan.c +34 -7
- data/vendor/spinel/lib/strscan.rb +6 -53
- data/vendor/spinel/node_table_loader.rb +150 -0
- data/vendor/spinel/spinel +319 -21
- data/vendor/spinel/spinel_analyze.rb +37556 -0
- data/vendor/spinel/spinel_codegen.rb +47620 -33346
- data/vendor/spinel/spinel_parse +0 -0
- data/vendor/spinel/spinel_parse.c +801 -91
- data/vendor/spinel/spinel_rbs_extract.c +931 -0
- data/vendor/spinel/test/alias_attr_reader_source.rb +38 -0
- data/vendor/spinel/test/alias_attr_reader_source.rb.expected +7 -0
- data/vendor/spinel/test/alias_inherited_method.rb +20 -0
- data/vendor/spinel/test/alias_inherited_method.rb.expected +3 -0
- data/vendor/spinel/test/alias_method_dispatch.rb +14 -0
- data/vendor/spinel/test/analyze_fail/attributes_non_symbol.rb +3 -0
- data/vendor/spinel/test/analyze_fail/attributes_non_symbol.stderr.expected +1 -0
- data/vendor/spinel/test/analyze_fail/dynamic_define_method.rb +4 -0
- data/vendor/spinel/test/analyze_fail/dynamic_define_method.stderr.expected +1 -0
- data/vendor/spinel/test/analyze_fail/instance_exec_def_in_block.rb +14 -0
- data/vendor/spinel/test/analyze_fail/instance_exec_def_in_block.stderr.expected +1 -0
- data/vendor/spinel/test/analyze_fail/instance_exec_define_method.rb +15 -0
- data/vendor/spinel/test/analyze_fail/instance_exec_define_method.stderr.expected +1 -0
- data/vendor/spinel/test/analyze_fail/instance_exec_no_block.rb +13 -0
- data/vendor/spinel/test/analyze_fail/instance_exec_no_block.stderr.expected +1 -0
- data/vendor/spinel/test/analyze_fail/nonliteral_define_method_each.rb +7 -0
- data/vendor/spinel/test/analyze_fail/nonliteral_define_method_each.stderr.expected +1 -0
- data/vendor/spinel/test/argv_gc.rb +45 -0
- data/vendor/spinel/test/argv_gc.rb.args +1 -0
- data/vendor/spinel/test/argv_gc.rb.expected +6 -0
- data/vendor/spinel/test/array_at_out_of_bounds.rb +23 -0
- data/vendor/spinel/test/array_at_out_of_bounds.rb.expected +12 -0
- data/vendor/spinel/test/array_clear_expr.rb +26 -0
- data/vendor/spinel/test/array_clear_expr.rb.expected +10 -0
- data/vendor/spinel/test/array_combination_block.rb +11 -0
- data/vendor/spinel/test/array_compact_eq.rb +16 -0
- data/vendor/spinel/test/array_compact_eq.rb.expected +10 -0
- data/vendor/spinel/test/array_fill_poly.rb.expected +1 -0
- data/vendor/spinel/test/array_first_last_empty.rb +12 -0
- data/vendor/spinel/test/array_first_last_empty.rb.expected +8 -0
- data/vendor/spinel/test/array_flatten_typed_elements.rb +19 -0
- data/vendor/spinel/test/array_frozen_mutate_raises.rb +36 -0
- data/vendor/spinel/test/array_frozen_mutate_raises.rb.expected +20 -0
- data/vendor/spinel/test/array_frozen_slice_bang.rb +19 -0
- data/vendor/spinel/test/array_frozen_slice_bang.rb.expected +2 -0
- data/vendor/spinel/test/array_get_oob_negative.rb +22 -0
- data/vendor/spinel/test/array_get_oob_negative.rb.expected +6 -0
- data/vendor/spinel/test/array_grep.rb +12 -0
- data/vendor/spinel/test/array_grep.rb.expected +8 -0
- data/vendor/spinel/test/array_index_int_opt_narrow.rb +30 -0
- data/vendor/spinel/test/array_index_int_opt_narrow.rb.expected +7 -0
- data/vendor/spinel/test/array_map_bang.rb +28 -0
- data/vendor/spinel/test/array_map_bang.rb.expected +7 -0
- data/vendor/spinel/test/array_minmax_block.rb +14 -0
- data/vendor/spinel/test/array_negative_index_too_small.rb +22 -0
- data/vendor/spinel/test/array_negative_index_too_small.rb.expected +5 -0
- data/vendor/spinel/test/array_object_id.rb +12 -0
- data/vendor/spinel/test/array_object_id.rb.expected +6 -0
- data/vendor/spinel/test/array_pack_returns_string.expected +2 -0
- data/vendor/spinel/test/array_pack_returns_string.rb +4 -0
- data/vendor/spinel/test/array_pack_string_unpack.rb +12 -0
- data/vendor/spinel/test/array_pattern_match_basic.rb +27 -0
- data/vendor/spinel/test/array_predicate_no_block.rb +14 -0
- data/vendor/spinel/test/array_predicate_no_block.rb.expected +11 -0
- data/vendor/spinel/test/array_predicate_no_block_param.rb +14 -0
- data/vendor/spinel/test/array_predicate_no_block_param.rb.expected +10 -0
- data/vendor/spinel/test/array_product.rb +5 -0
- data/vendor/spinel/test/array_push_multi_arg.rb +32 -0
- data/vendor/spinel/test/array_push_multi_arg.rb.expected +10 -0
- data/vendor/spinel/test/array_select_bang.rb +34 -0
- data/vendor/spinel/test/array_select_bang.rb.expected +8 -0
- data/vendor/spinel/test/array_slice_before_after.rb +6 -0
- data/vendor/spinel/test/array_slice_when_chunk.rb +7 -0
- data/vendor/spinel/test/array_to_h_sort_bang_block.rb +26 -0
- data/vendor/spinel/test/array_to_h_sort_bang_block.rb.expected +10 -0
- data/vendor/spinel/test/array_transpose_poly_elements.rb +34 -0
- data/vendor/spinel/test/array_transpose_typed_elements.rb +19 -0
- data/vendor/spinel/test/array_unresolved_inspect_no_segv.rb +9 -0
- data/vendor/spinel/test/array_unresolved_inspect_no_segv.rb.expected +2 -0
- data/vendor/spinel/test/at_exit_lifo.rb +6 -0
- data/vendor/spinel/test/at_exit_lifo.rb.expected +4 -0
- data/vendor/spinel/test/back_ref.rb +15 -1
- data/vendor/spinel/test/back_ref.rb.expected +5 -0
- data/vendor/spinel/test/bang_op_ruby_truthy.expected +7 -0
- data/vendor/spinel/test/bang_op_ruby_truthy.rb +10 -0
- data/vendor/spinel/test/bare_arg_in_module_body.rb +29 -0
- data/vendor/spinel/test/bare_sibling_cls_method_call.rb +67 -0
- data/vendor/spinel/test/bare_sibling_cls_method_call.rb.expected +4 -0
- data/vendor/spinel/test/begin_rescue_as_expression.expected +5 -0
- data/vendor/spinel/test/begin_rescue_as_expression.rb +14 -0
- data/vendor/spinel/test/begin_rescue_else_clause.rb +63 -0
- data/vendor/spinel/test/begin_rescue_else_clause.rb.expected +7 -0
- data/vendor/spinel/test/bigint_propagation_chain.rb +33 -0
- data/vendor/spinel/test/bigint_propagation_chain.rb.expected +9 -0
- data/vendor/spinel/test/bigint_volatile_combo.rb +69 -0
- data/vendor/spinel/test/bigint_volatile_combo.rb.expected +18 -0
- data/vendor/spinel/test/block_given_block_param.rb +21 -3
- data/vendor/spinel/test/block_given_block_param.rb.expected +2 -0
- data/vendor/spinel/test/block_given_inline_call_site.expected +2 -0
- data/vendor/spinel/test/block_given_inline_call_site.rb +9 -0
- data/vendor/spinel/test/block_optional_unused.rb +18 -0
- data/vendor/spinel/test/block_optional_unused.rb.expected +4 -0
- data/vendor/spinel/test/block_param_call_block_given.rb +46 -0
- data/vendor/spinel/test/block_param_call_block_given.rb.expected +6 -0
- data/vendor/spinel/test/block_param_call_value_return.rb +32 -0
- data/vendor/spinel/test/block_param_call_value_return.rb.expected +5 -0
- data/vendor/spinel/test/bm_instance_eval.rb +9 -8
- data/vendor/spinel/test/bool_case_equality.rb +10 -0
- data/vendor/spinel/test/bool_logical_operators.rb +9 -0
- data/vendor/spinel/test/bool_logical_operators.rb.expected +8 -0
- data/vendor/spinel/test/builtin_array_method_capture.rb +38 -0
- data/vendor/spinel/test/builtin_array_method_capture.rb.expected +11 -0
- data/vendor/spinel/test/bundle_array_e.rb +250 -0
- data/vendor/spinel/test/bundle_array_e.rb.expected +57 -0
- data/vendor/spinel/test/bundle_array_f.rb +169 -0
- data/vendor/spinel/test/bundle_class_01.rb +43 -0
- data/vendor/spinel/test/bundle_class_01.rb.expected +4 -0
- data/vendor/spinel/test/bundle_class_03.rb +57 -0
- data/vendor/spinel/test/bundle_class_03.rb.expected +6 -0
- data/vendor/spinel/test/bundle_class_05.rb +187 -0
- data/vendor/spinel/test/bundle_class_05.rb.expected +14 -0
- data/vendor/spinel/test/bundle_class_06.rb +201 -0
- data/vendor/spinel/test/bundle_class_06.rb.expected +12 -0
- data/vendor/spinel/test/bundle_class_07.rb +72 -0
- data/vendor/spinel/test/bundle_class_07.rb.expected +6 -0
- data/vendor/spinel/test/bundle_class_08.rb +101 -0
- data/vendor/spinel/test/bundle_class_08.rb.expected +9 -0
- data/vendor/spinel/test/bundle_class_09.rb +171 -0
- data/vendor/spinel/test/bundle_class_09.rb.expected +9 -0
- data/vendor/spinel/test/bundle_class_10.rb +189 -0
- data/vendor/spinel/test/bundle_class_10.rb.expected +5 -0
- data/vendor/spinel/test/bundle_class_11.rb +191 -0
- data/vendor/spinel/test/bundle_class_11.rb.expected +8 -0
- data/vendor/spinel/test/bundle_class_12.rb +234 -0
- data/vendor/spinel/test/bundle_class_12.rb.expected +15 -0
- data/vendor/spinel/test/bundle_class_13.rb +61 -0
- data/vendor/spinel/test/bundle_class_13.rb.expected +2 -0
- data/vendor/spinel/test/bundle_class_14.rb +162 -0
- data/vendor/spinel/test/bundle_class_14.rb.expected +10 -0
- data/vendor/spinel/test/bundle_class_15.rb +184 -0
- data/vendor/spinel/test/bundle_class_15.rb.expected +8 -0
- data/vendor/spinel/test/bundle_class_18.rb +101 -0
- data/vendor/spinel/test/bundle_class_18.rb.expected +13 -0
- data/vendor/spinel/test/bundle_class_19.rb +67 -0
- data/vendor/spinel/test/bundle_class_19.rb.expected +8 -0
- data/vendor/spinel/test/bundle_class_20.rb +122 -0
- data/vendor/spinel/test/bundle_class_20.rb.expected +6 -0
- data/vendor/spinel/test/bundle_class_21.rb +208 -0
- data/vendor/spinel/test/bundle_class_21.rb.expected +27 -0
- data/vendor/spinel/test/bundle_class_22.rb +218 -0
- data/vendor/spinel/test/bundle_class_22.rb.expected +23 -0
- data/vendor/spinel/test/bundle_class_23.rb +187 -0
- data/vendor/spinel/test/bundle_class_23.rb.expected +19 -0
- data/vendor/spinel/test/bundle_class_a.rb +111 -0
- data/vendor/spinel/test/bundle_class_a.rb.expected +14 -0
- data/vendor/spinel/test/bundle_classd_04.rb +149 -0
- data/vendor/spinel/test/bundle_classd_04.rb.expected +15 -0
- data/vendor/spinel/test/bundle_classd_05.rb +65 -0
- data/vendor/spinel/test/bundle_classd_05.rb.expected +15 -0
- data/vendor/spinel/test/bundle_classd_08.rb +44 -0
- data/vendor/spinel/test/bundle_classd_08.rb.expected +4 -0
- data/vendor/spinel/test/bundle_classd_09.rb +221 -0
- data/vendor/spinel/test/bundle_classd_09.rb.expected +16 -0
- data/vendor/spinel/test/bundle_classd_10.rb +77 -0
- data/vendor/spinel/test/bundle_classd_10.rb.expected +10 -0
- data/vendor/spinel/test/bundle_classd_11.rb +89 -0
- data/vendor/spinel/test/bundle_classd_11.rb.expected +6 -0
- data/vendor/spinel/test/bundle_classd_12.rb +211 -0
- data/vendor/spinel/test/bundle_classd_12.rb.expected +19 -0
- data/vendor/spinel/test/bundle_classd_13.rb +246 -0
- data/vendor/spinel/test/bundle_classd_13.rb.expected +20 -0
- data/vendor/spinel/test/bundle_classd_14.rb +72 -0
- data/vendor/spinel/test/bundle_classd_14.rb.expected +10 -0
- data/vendor/spinel/test/bundle_classd_17.rb +206 -0
- data/vendor/spinel/test/bundle_classd_17.rb.expected +17 -0
- data/vendor/spinel/test/bundle_classd_18.rb +89 -0
- data/vendor/spinel/test/bundle_classd_18.rb.expected +3 -0
- data/vendor/spinel/test/bundle_classd_19.rb +134 -0
- data/vendor/spinel/test/bundle_classd_19.rb.expected +23 -0
- data/vendor/spinel/test/bundle_classd_26.rb +103 -0
- data/vendor/spinel/test/bundle_classd_26.rb.expected +7 -0
- data/vendor/spinel/test/bundle_classd_27.rb +241 -0
- data/vendor/spinel/test/bundle_classd_27.rb.expected +15 -0
- data/vendor/spinel/test/bundle_classd_28.rb +80 -0
- data/vendor/spinel/test/bundle_classd_28.rb.expected +10 -0
- data/vendor/spinel/test/bundle_classd_32.rb +63 -0
- data/vendor/spinel/test/bundle_classd_32.rb.expected +7 -0
- data/vendor/spinel/test/bundle_classd_33.rb +117 -0
- data/vendor/spinel/test/bundle_classd_33.rb.expected +17 -0
- data/vendor/spinel/test/bundle_classd_35.rb +90 -0
- data/vendor/spinel/test/bundle_classd_35.rb.expected +5 -0
- data/vendor/spinel/test/bundle_classd_36.rb +97 -0
- data/vendor/spinel/test/bundle_classd_36.rb.expected +5 -0
- data/vendor/spinel/test/bundle_classd_38.rb +50 -0
- data/vendor/spinel/test/bundle_classd_38.rb.expected +7 -0
- data/vendor/spinel/test/bundle_classd_39.rb +76 -0
- data/vendor/spinel/test/bundle_classd_39.rb.expected +15 -0
- data/vendor/spinel/test/bundle_classd_43.rb +84 -0
- data/vendor/spinel/test/bundle_classd_43.rb.expected +7 -0
- data/vendor/spinel/test/bundle_classd_45.rb +115 -0
- data/vendor/spinel/test/bundle_classd_45.rb.expected +7 -0
- data/vendor/spinel/test/bundle_classd_46.rb +72 -0
- data/vendor/spinel/test/bundle_classd_46.rb.expected +5 -0
- data/vendor/spinel/test/bundle_classd_48.rb +85 -0
- data/vendor/spinel/test/bundle_classd_49.rb +153 -0
- data/vendor/spinel/test/bundle_classd_50.rb +200 -0
- data/vendor/spinel/test/bundle_classd_50.rb.expected +10 -0
- data/vendor/spinel/test/bundle_classd_51.rb +191 -0
- data/vendor/spinel/test/bundle_classd_51.rb.expected +12 -0
- data/vendor/spinel/test/bundle_file_a.rb +119 -0
- data/vendor/spinel/test/bundle_file_a.rb.expected +23 -0
- data/vendor/spinel/test/bundle_hash_b1.rb +99 -0
- data/vendor/spinel/test/bundle_hash_b2.rb +107 -0
- data/vendor/spinel/test/bundle_int_a.rb +104 -0
- data/vendor/spinel/test/bundle_int_a.rb.expected +23 -0
- data/vendor/spinel/test/bundle_misc_c_08.rb +170 -0
- data/vendor/spinel/test/bundle_misc_c_08.rb.expected +33 -0
- data/vendor/spinel/test/bundle_misc_c_09.rb +72 -0
- data/vendor/spinel/test/bundle_misc_c_09.rb.expected +6 -0
- data/vendor/spinel/test/bundle_misc_c_10.rb +73 -0
- data/vendor/spinel/test/bundle_misc_c_10.rb.expected +8 -0
- data/vendor/spinel/test/bundle_misc_c_17.rb +124 -0
- data/vendor/spinel/test/bundle_misc_c_17.rb.expected +18 -0
- data/vendor/spinel/test/bundle_misc_c_23.rb +97 -0
- data/vendor/spinel/test/bundle_misc_c_23.rb.expected +10 -0
- data/vendor/spinel/test/bundle_misc_c_26.rb +107 -0
- data/vendor/spinel/test/bundle_misc_c_26.rb.expected +24 -0
- data/vendor/spinel/test/bundle_misc_c_30.rb +94 -0
- data/vendor/spinel/test/bundle_misc_c_31.rb +89 -0
- data/vendor/spinel/test/bundle_misc_c_31.rb.expected +14 -0
- data/vendor/spinel/test/bundle_misc_c_33.rb +163 -0
- data/vendor/spinel/test/bundle_misc_c_33.rb.expected +53 -0
- data/vendor/spinel/test/bundle_misc_c_34.rb +106 -0
- data/vendor/spinel/test/bundle_misc_c_34.rb.expected +11 -0
- data/vendor/spinel/test/bundle_misc_c_35.rb +143 -0
- data/vendor/spinel/test/bundle_misc_c_35.rb.expected +44 -0
- data/vendor/spinel/test/bundle_misc_c_36.rb +165 -0
- data/vendor/spinel/test/bundle_misc_c_36.rb.expected +59 -0
- data/vendor/spinel/test/bundle_misc_c_37.rb +119 -0
- data/vendor/spinel/test/bundle_misc_c_37.rb.expected +22 -0
- data/vendor/spinel/test/bundle_poly_b1.rb +44 -0
- data/vendor/spinel/test/bundle_poly_b1.rb.expected +7 -0
- data/vendor/spinel/test/bundle_string_c.rb +250 -0
- data/vendor/spinel/test/bundle_string_c.rb.expected +51 -0
- data/vendor/spinel/test/bundle_sym.rb +2 -4
- data/vendor/spinel/test/bundle_tiny_array.rb +160 -0
- data/vendor/spinel/test/bundle_tiny_array.rb.expected +53 -0
- data/vendor/spinel/test/bundle_tiny_misc.rb +187 -0
- data/vendor/spinel/test/bundle_tiny_misc.rb.expected +59 -0
- data/vendor/spinel/test/bundle_tiny_num.rb +87 -0
- data/vendor/spinel/test/bundle_tiny_num.rb.expected +27 -0
- data/vendor/spinel/test/bundle_tiny_string.rb +226 -0
- data/vendor/spinel/test/bundle_tiny_string.rb.expected +78 -0
- data/vendor/spinel/test/captured_block_call_value.rb +45 -0
- data/vendor/spinel/test/captured_block_call_value.rb.expected +5 -0
- data/vendor/spinel/test/case_fallthrough_returns_nil.expected +5 -0
- data/vendor/spinel/test/case_fallthrough_returns_nil.rb +8 -0
- data/vendor/spinel/test/case_in_no_match_error.rb +54 -0
- data/vendor/spinel/test/case_in_no_match_error.rb.expected +6 -0
- data/vendor/spinel/test/case_local_in_lambda.rb +57 -0
- data/vendor/spinel/test/case_local_in_lambda.rb.expected +5 -0
- data/vendor/spinel/test/case_when_class.rb +28 -66
- data/vendor/spinel/test/case_when_class.rb.expected +5 -5
- data/vendor/spinel/test/case_when_class_scalar_predicate.rb +53 -0
- data/vendor/spinel/test/case_when_class_scalar_predicate.rb.expected +3 -0
- data/vendor/spinel/test/case_when_poly_scrutinee_bound_to_local.rb +36 -0
- data/vendor/spinel/test/case_when_poly_scrutinee_bound_to_local.rb.expected +5 -0
- data/vendor/spinel/test/case_when_qualified_class.rb +47 -0
- data/vendor/spinel/test/case_when_qualified_class.rb.expected +2 -0
- data/vendor/spinel/test/case_when_regex.rb +23 -0
- data/vendor/spinel/test/case_when_regex.rb.expected +3 -0
- data/vendor/spinel/test/chained_aset_on_poly_hash_recv.rb +19 -0
- data/vendor/spinel/test/chained_aset_on_poly_hash_recv.rb.expected +1 -0
- data/vendor/spinel/test/clamp_string_and_range.rb +14 -0
- data/vendor/spinel/test/clamp_string_and_range.rb.expected +8 -0
- data/vendor/spinel/test/class_const_as_value.rb +58 -0
- data/vendor/spinel/test/class_const_as_value.rb.expected +4 -0
- data/vendor/spinel/test/class_hierarchy.rb +41 -0
- data/vendor/spinel/test/class_hierarchy.rb.expected +10 -0
- data/vendor/spinel/test/class_hierarchy_builtin.rb +43 -0
- data/vendor/spinel/test/class_hierarchy_builtin.rb.expected +14 -0
- data/vendor/spinel/test/class_hierarchy_module.rb +55 -0
- data/vendor/spinel/test/class_hierarchy_module.rb.expected +6 -0
- data/vendor/spinel/test/class_in_collection.rb +22 -0
- data/vendor/spinel/test/class_in_collection.rb.expected +10 -0
- data/vendor/spinel/test/class_ivar_in_class_method.rb +66 -0
- data/vendor/spinel/test/class_ivar_in_class_method.rb.expected +11 -0
- data/vendor/spinel/test/class_lt_builtin_parent.rb +13 -0
- data/vendor/spinel/test/class_name_in_cmeth.rb +30 -0
- data/vendor/spinel/test/class_name_in_cmeth.rb.expected +3 -0
- data/vendor/spinel/test/class_of_primitive.rb +14 -0
- data/vendor/spinel/test/class_of_primitive.rb.expected +9 -0
- data/vendor/spinel/test/class_phase2_name_eq.rb +61 -0
- data/vendor/spinel/test/class_phase2_name_eq.rb.expected +15 -0
- data/vendor/spinel/test/class_reopen_replaces_methods.rb +40 -0
- data/vendor/spinel/test/class_reopen_replaces_methods.rb.expected +3 -0
- data/vendor/spinel/test/class_singleton_def.rb +27 -0
- data/vendor/spinel/test/class_singleton_def.rb.expected +4 -0
- data/vendor/spinel/test/class_superclass.rb +15 -0
- data/vendor/spinel/test/class_superclass.rb.expected +3 -0
- data/vendor/spinel/test/class_value_builtin_and_nested.rb +36 -0
- data/vendor/spinel/test/cls_method_specialization_boxer.expected +2 -0
- data/vendor/spinel/test/cls_method_specialization_boxer.rb +47 -0
- data/vendor/spinel/test/cmeth_name_collision_with_kernel.rb +56 -0
- data/vendor/spinel/test/cmeth_name_collision_with_kernel.rb.expected +5 -0
- data/vendor/spinel/test/cmeth_return_nil_or_obj_via_intermediate.rb +89 -0
- data/vendor/spinel/test/cmeth_return_nil_or_obj_via_intermediate.rb.expected +6 -0
- data/vendor/spinel/test/comparable_between_user_type.rb +26 -0
- data/vendor/spinel/test/comparable_between_user_type.rb.expected +10 -0
- data/vendor/spinel/test/compile_time_attribute_singular.rb +12 -0
- data/vendor/spinel/test/compile_time_attribute_singular.rb.expected +2 -0
- data/vendor/spinel/test/compile_time_attribute_wrapped_record.rb +72 -0
- data/vendor/spinel/test/compile_time_attribute_wrapped_record.rb.expected +2 -0
- data/vendor/spinel/test/compile_time_attributes.rb +14 -0
- data/vendor/spinel/test/compile_time_attributes.rb.expected +3 -0
- data/vendor/spinel/test/compile_time_define_method_direct.rb +8 -0
- data/vendor/spinel/test/compile_time_define_method_direct.rb.expected +2 -0
- data/vendor/spinel/test/compile_time_define_method_int.rb +9 -0
- data/vendor/spinel/test/compile_time_define_method_int.rb.expected +2 -0
- data/vendor/spinel/test/compile_time_define_method_predicates.rb +18 -0
- data/vendor/spinel/test/compile_time_define_method_predicates.rb.expected +4 -0
- data/vendor/spinel/test/compile_time_define_method_strings.rb +9 -0
- data/vendor/spinel/test/compile_time_define_method_strings.rb.expected +2 -0
- data/vendor/spinel/test/complex_polar.rb +37 -0
- data/vendor/spinel/test/complex_polar.rb.expected +10 -0
- data/vendor/spinel/test/concat_chain_operand_gc_root.rb +16 -0
- data/vendor/spinel/test/concat_chain_operand_gc_root.rb.expected +4 -0
- data/vendor/spinel/test/concat_print_poly_unbox.rb +115 -0
- data/vendor/spinel/test/concat_print_poly_unbox.rb.expected +9 -0
- data/vendor/spinel/test/const_aliased_class_reopen_include.rb +33 -0
- data/vendor/spinel/test/const_aliased_class_reopen_include.rb.expected +2 -0
- data/vendor/spinel/test/const_compound_assign.rb +34 -0
- data/vendor/spinel/test/const_path_compound_assign.rb +15 -0
- data/vendor/spinel/test/const_path_deep_nesting.rb +30 -0
- data/vendor/spinel/test/const_path_deep_nesting.rb.expected +2 -0
- data/vendor/spinel/test/const_path_unresolved_require.rb +11 -0
- data/vendor/spinel/test/const_path_unresolved_require.rb.expected +2 -0
- data/vendor/spinel/test/const_self_ref_raises_name_error.rb +44 -0
- data/vendor/spinel/test/const_self_ref_raises_name_error.rb.expected +3 -0
- data/vendor/spinel/test/crashers_536.rb +32 -0
- data/vendor/spinel/test/crashers_536.rb.expected +4 -0
- data/vendor/spinel/test/cvar_method_first_assign.rb +6 -0
- data/vendor/spinel/test/data_define.rb +27 -0
- data/vendor/spinel/test/data_define.rb.expected +5 -0
- data/vendor/spinel/test/default_nil_param_with_str_return.rb +30 -0
- data/vendor/spinel/test/default_nil_param_with_str_return.rb.expected +4 -0
- data/vendor/spinel/test/defined_globals_methods.rb +15 -0
- data/vendor/spinel/test/defined_globals_methods.rb.expected +5 -0
- data/vendor/spinel/test/defined_op.rb +17 -0
- data/vendor/spinel/test/defined_op.rb.expected +8 -0
- data/vendor/spinel/test/destructure_typed_ptr_array_return.rb +30 -0
- data/vendor/spinel/test/destructure_typed_ptr_array_return.rb.expected +2 -0
- data/vendor/spinel/test/dir_exist.rb +2 -0
- data/vendor/spinel/test/dir_methods.rb +15 -0
- data/vendor/spinel/test/double_splat_kwargs.rb +26 -0
- data/vendor/spinel/test/double_splat_kwargs.rb.expected +6 -0
- data/vendor/spinel/test/dynamic_class_new.rb +44 -0
- data/vendor/spinel/test/dynamic_class_new.rb.expected +4 -0
- data/vendor/spinel/test/dynamic_is_a.rb +41 -0
- data/vendor/spinel/test/dynamic_is_a.rb.expected +5 -0
- data/vendor/spinel/test/each_cons_block_destructure.rb +10 -0
- data/vendor/spinel/test/each_cons_with_index_map_no_double_gets.rb +21 -0
- data/vendor/spinel/test/each_cons_with_index_map_no_double_gets.rb.expected +3 -0
- data/vendor/spinel/test/each_entry_reverse_each.rb +8 -0
- data/vendor/spinel/test/each_slice_map.rb +7 -0
- data/vendor/spinel/test/empty_array_local_arg_widen.rb +57 -0
- data/vendor/spinel/test/empty_array_local_arg_widen.rb.expected +2 -0
- data/vendor/spinel/test/empty_array_loop_intermediate_push.rb +103 -0
- data/vendor/spinel/test/empty_array_loop_intermediate_push.rb.expected +5 -0
- data/vendor/spinel/test/empty_array_push_container_elem.rb +35 -0
- data/vendor/spinel/test/empty_array_push_ptr.rb +26 -0
- data/vendor/spinel/test/empty_array_push_ptr.rb.expected +3 -0
- data/vendor/spinel/test/empty_hash_arg_param_widen.rb +44 -0
- data/vendor/spinel/test/empty_hash_arg_param_widen.rb.expected +6 -0
- data/vendor/spinel/test/empty_hash_int_int_no_widen.rb +46 -0
- data/vendor/spinel/test/empty_hash_int_int_no_widen.rb.expected +4 -0
- data/vendor/spinel/test/empty_hash_int_int_promote.rb +32 -0
- data/vendor/spinel/test/empty_hash_int_int_promote.rb.expected +8 -0
- data/vendor/spinel/test/empty_int_array_min_max.rb +15 -0
- data/vendor/spinel/test/empty_int_array_min_max.rb.expected +4 -0
- data/vendor/spinel/test/empty_method_returns_nil.rb +8 -0
- data/vendor/spinel/test/empty_method_returns_nil.rb.expected +3 -0
- data/vendor/spinel/test/empty_symbol_literal.rb +23 -0
- data/vendor/spinel/test/empty_symbol_literal.rb.expected +9 -0
- data/vendor/spinel/test/eq_string_vs_int.rb +20 -0
- data/vendor/spinel/test/eq_string_vs_int.rb.expected +9 -0
- data/vendor/spinel/test/exception_backtrace_empty.rb +12 -0
- data/vendor/spinel/test/exception_backtrace_empty.rb.expected +4 -0
- data/vendor/spinel/test/exception_class_new.rb +46 -0
- data/vendor/spinel/test/exception_class_new.rb.expected +10 -0
- data/vendor/spinel/test/exception_namespaced_default_message.rb +28 -0
- data/vendor/spinel/test/exception_namespaced_default_message.rb.expected +4 -0
- data/vendor/spinel/test/exception_object_methods.rb +3 -2
- data/vendor/spinel/test/exception_object_methods.rb.expected +1 -1
- data/vendor/spinel/test/exception_super_interpolated_message.rb +41 -0
- data/vendor/spinel/test/exception_super_interpolated_message.rb.expected +5 -0
- data/vendor/spinel/test/exception_user_subclass.rb +35 -0
- data/vendor/spinel/test/exception_user_subclass.rb.expected +10 -0
- data/vendor/spinel/test/extend_module.rb +30 -0
- data/vendor/spinel/test/extend_module.rb.expected +4 -0
- data/vendor/spinel/test/ffi_array_specs_decl.rb +25 -0
- data/vendor/spinel/test/ffi_int_arg_poly_value.rb +27 -0
- data/vendor/spinel/test/ffi_ptr_array.rb +35 -0
- data/vendor/spinel/test/ffi_ptr_int_literal.rb +31 -0
- data/vendor/spinel/test/ffi_str_arg_poly_value.rb +26 -0
- data/vendor/spinel/test/fiber_capture_no_leak_to_sibling.rb +27 -0
- data/vendor/spinel/test/fiber_capture_no_leak_to_sibling.rb.expected +1 -0
- data/vendor/spinel/test/fiber_gc_root_isolation.rb +76 -0
- data/vendor/spinel/test/file_dir_methods.rb +11 -0
- data/vendor/spinel/test/file_dir_methods.rb.expected +8 -0
- data/vendor/spinel/test/file_expand_path.rb +10 -0
- data/vendor/spinel/test/file_expand_path.rb.expected +8 -0
- data/vendor/spinel/test/file_mtime.rb +10 -0
- data/vendor/spinel/test/file_mtime.rb.expected +2 -0
- data/vendor/spinel/test/file_read_count.rb +19 -0
- data/vendor/spinel/test/file_read_count.rb.expected +5 -0
- data/vendor/spinel/test/file_readlines.rb +15 -0
- data/vendor/spinel/test/file_readlines.rb.expected +4 -0
- data/vendor/spinel/test/file_write_at_tail_position.rb +16 -0
- data/vendor/spinel/test/float_array_first_last_nil.rb +20 -0
- data/vendor/spinel/test/float_array_first_last_nil.rb.expected +8 -0
- data/vendor/spinel/test/float_divmod_zerodiv.rb +57 -0
- data/vendor/spinel/test/float_divmod_zerodiv.rb.expected +7 -0
- data/vendor/spinel/test/float_limit_constants.rb +14 -0
- data/vendor/spinel/test/float_round_ndigits_return_type.rb +24 -0
- data/vendor/spinel/test/float_round_ndigits_return_type.rb.expected +14 -0
- data/vendor/spinel/test/float_round_value_based_type.rb +17 -0
- data/vendor/spinel/test/float_round_value_based_type.rb.expected +14 -0
- data/vendor/spinel/test/float_round_zero.rb +18 -0
- data/vendor/spinel/test/float_round_zero.rb.expected +11 -0
- data/vendor/spinel/test/float_spaceship.rb +13 -0
- data/vendor/spinel/test/float_step_block.rb +16 -0
- data/vendor/spinel/test/float_step_block.rb.expected +3 -0
- data/vendor/spinel/test/float_step_to_a.rb +20 -0
- data/vendor/spinel/test/float_step_to_a.rb.expected +10 -0
- data/vendor/spinel/test/gc_grandparent_ivar_scan.rb +28 -0
- data/vendor/spinel/test/gc_grandparent_ivar_scan.rb.expected +2 -0
- data/vendor/spinel/test/gc_poly_local_int.rb +11 -0
- data/vendor/spinel/test/gc_poly_local_int.rb.expected +1 -0
- data/vendor/spinel/test/gc_poly_local_root.rb +19 -0
- data/vendor/spinel/test/gc_poly_local_root.rb.expected +1 -0
- data/vendor/spinel/test/gc_poly_local_setjmp.rb +16 -0
- data/vendor/spinel/test/gc_poly_local_setjmp.rb.expected +1 -0
- data/vendor/spinel/test/gc_root_call_args.rb +35 -0
- data/vendor/spinel/test/gc_root_call_args.rb.expected +3 -0
- data/vendor/spinel/test/gc_root_heap_param.rb +21 -0
- data/vendor/spinel/test/gc_root_heap_param.rb.expected +1 -0
- data/vendor/spinel/test/global_multi_assign.rb +28 -0
- data/vendor/spinel/test/global_var_punct.rb +9 -0
- data/vendor/spinel/test/gsub_sub_block.rb +14 -0
- data/vendor/spinel/test/gsub_sub_block.rb.expected +7 -0
- data/vendor/spinel/test/gsub_with_hash_replacement.rb +19 -0
- data/vendor/spinel/test/gsub_with_hash_replacement.rb.expected +3 -0
- data/vendor/spinel/test/hangs_548.rb +66 -0
- data/vendor/spinel/test/hangs_548.rb.expected +4 -0
- data/vendor/spinel/test/hash_block_methods_variants.rb +15 -0
- data/vendor/spinel/test/hash_block_methods_variants.rb.expected +12 -0
- data/vendor/spinel/test/hash_clear.rb +43 -0
- data/vendor/spinel/test/hash_clear.rb.expected +12 -0
- data/vendor/spinel/test/hash_compound_assign_more.rb +21 -0
- data/vendor/spinel/test/hash_delete_if_select_reject_bang.rb +19 -0
- data/vendor/spinel/test/hash_delete_if_select_reject_bang.rb.expected +4 -0
- data/vendor/spinel/test/hash_delete_returns_value.rb +21 -0
- data/vendor/spinel/test/hash_delete_returns_value.rb.expected +8 -0
- data/vendor/spinel/test/hash_dispatch_missing_cells.rb +24 -0
- data/vendor/spinel/test/hash_dispatch_missing_cells.rb.expected +8 -0
- data/vendor/spinel/test/hash_each_key_value.rb +85 -0
- data/vendor/spinel/test/hash_each_key_value.rb.expected +72 -0
- data/vendor/spinel/test/hash_each_with_object.rb +16 -0
- data/vendor/spinel/test/hash_each_with_object.rb.expected +2 -0
- data/vendor/spinel/test/hash_fetch_block.rb +31 -0
- data/vendor/spinel/test/hash_fetch_block.rb.expected +13 -0
- data/vendor/spinel/test/hash_fetch_block_key.rb +9 -0
- data/vendor/spinel/test/hash_fetch_block_key.rb.expected +4 -0
- data/vendor/spinel/test/hash_fetch_block_key_type.rb +37 -0
- data/vendor/spinel/test/hash_fetch_block_key_type.rb.expected +7 -0
- data/vendor/spinel/test/hash_fetch_keyerror.rb +23 -0
- data/vendor/spinel/test/hash_flatten_rassoc_compact.rb +33 -0
- data/vendor/spinel/test/hash_float_value_preserved.rb +27 -0
- data/vendor/spinel/test/hash_float_value_preserved.rb.expected +6 -0
- data/vendor/spinel/test/hash_index_assign_expression.rb +21 -0
- data/vendor/spinel/test/hash_inspect_poly.rb +13 -0
- data/vendor/spinel/test/hash_inspect_poly.rb.expected +6 -0
- data/vendor/spinel/test/hash_int_and_or_assign.rb +30 -0
- data/vendor/spinel/test/hash_int_and_or_assign.rb.expected +8 -0
- data/vendor/spinel/test/hash_invert.rb +16 -0
- data/vendor/spinel/test/hash_invert.rb.expected +4 -0
- data/vendor/spinel/test/hash_key_via_intermediate_local.rb +32 -0
- data/vendor/spinel/test/hash_map_block.rb +6 -0
- data/vendor/spinel/test/hash_merge_with_block.rb +10 -0
- data/vendor/spinel/test/hash_new_default_block_assign.rb +16 -0
- data/vendor/spinel/test/hash_param_each_kv_inference.rb +67 -0
- data/vendor/spinel/test/hash_param_each_kv_inference.rb.expected +3 -0
- data/vendor/spinel/test/hash_param_each_kv_weak_default.rb +75 -0
- data/vendor/spinel/test/hash_param_each_kv_weak_default.rb.expected +6 -0
- data/vendor/spinel/test/hash_param_widen_from_callee_slot.rb +43 -0
- data/vendor/spinel/test/hash_replace_variants.rb +17 -0
- data/vendor/spinel/test/hash_replace_variants.rb.expected +6 -0
- data/vendor/spinel/test/hash_temp_gc_root.rb +26 -0
- data/vendor/spinel/test/hash_transform_keys_cross.rb +12 -0
- data/vendor/spinel/test/hash_transform_keys_cross.rb.expected +5 -0
- data/vendor/spinel/test/hash_value_p.rb +19 -0
- data/vendor/spinel/test/hash_value_p.rb.expected +7 -0
- data/vendor/spinel/test/hash_value_split_widen.rb +22 -0
- data/vendor/spinel/test/hash_value_split_widen.rb.expected +2 -0
- data/vendor/spinel/test/hash_values_at_fetch_values.rb +23 -0
- data/vendor/spinel/test/hash_variant_call_boundary_sym.rb +27 -0
- data/vendor/spinel/test/hash_variant_call_boundary_sym.rb.expected +2 -0
- data/vendor/spinel/test/heterogeneous_tuple_return.rb +32 -0
- data/vendor/spinel/test/heterogeneous_tuple_return.rb.expected +7 -0
- data/vendor/spinel/test/i1006.rb +21 -0
- data/vendor/spinel/test/i1006.rb.expected +7 -0
- data/vendor/spinel/test/i1007.rb +25 -0
- data/vendor/spinel/test/i1007.rb.expected +4 -0
- data/vendor/spinel/test/i1009.rb +9 -0
- data/vendor/spinel/test/i1009.rb.expected +4 -0
- data/vendor/spinel/test/i1011.rb +12 -0
- data/vendor/spinel/test/i1011.rb.expected +2 -0
- data/vendor/spinel/test/i1015.rb +11 -0
- data/vendor/spinel/test/i1015.rb.expected +2 -0
- data/vendor/spinel/test/i1017.rb +37 -0
- data/vendor/spinel/test/i1017.rb.expected +1 -0
- data/vendor/spinel/test/i1020.rb +31 -0
- data/vendor/spinel/test/i1020.rb.expected +2 -0
- data/vendor/spinel/test/i1021.rb +12 -0
- data/vendor/spinel/test/i1021.rb.expected +9 -0
- data/vendor/spinel/test/i1027.rb +28 -0
- data/vendor/spinel/test/i1027.rb.expected +1 -0
- data/vendor/spinel/test/i1031.rb +64 -0
- data/vendor/spinel/test/i1031.rb.expected +4 -0
- data/vendor/spinel/test/i1035.rb +18 -0
- data/vendor/spinel/test/i1035.rb.expected +3 -0
- data/vendor/spinel/test/i1038.rb +7 -0
- data/vendor/spinel/test/i1038.rb.expected +4 -0
- data/vendor/spinel/test/i1041.rb +31 -0
- data/vendor/spinel/test/i1041.rb.expected +4 -0
- data/vendor/spinel/test/i709.rb +41 -0
- data/vendor/spinel/test/i709.rb.expected +3 -0
- data/vendor/spinel/test/i898.rb +23 -0
- data/vendor/spinel/test/i898.rb.expected +7 -0
- data/vendor/spinel/test/i912.rb +15 -0
- data/vendor/spinel/test/i912.rb.expected +8 -0
- data/vendor/spinel/test/i916.rb +14 -0
- data/vendor/spinel/test/i916.rb.expected +4 -0
- data/vendor/spinel/test/i918.rb +45 -0
- data/vendor/spinel/test/i918.rb.expected +13 -0
- data/vendor/spinel/test/i919.rb +12 -0
- data/vendor/spinel/test/i919.rb.expected +5 -0
- data/vendor/spinel/test/i920.rb +9 -0
- data/vendor/spinel/test/i920.rb.expected +4 -0
- data/vendor/spinel/test/i960.rb +13 -0
- data/vendor/spinel/test/i960.rb.expected +5 -0
- data/vendor/spinel/test/i972.rb +38 -0
- data/vendor/spinel/test/i972.rb.expected +11 -0
- data/vendor/spinel/test/i974.rb +23 -0
- data/vendor/spinel/test/i974.rb.expected +19 -0
- data/vendor/spinel/test/i994.rb +18 -0
- data/vendor/spinel/test/i994.rb.expected +9 -0
- data/vendor/spinel/test/i997.rb +20 -0
- data/vendor/spinel/test/i997.rb.expected +6 -0
- data/vendor/spinel/test/if_expr_multi_stmt_body.rb +78 -0
- data/vendor/spinel/test/if_expr_multi_stmt_body.rb.expected +13 -0
- data/vendor/spinel/test/implicit_alloc_site_cache_helper_specialization.rb +112 -0
- data/vendor/spinel/test/implicit_alloc_site_cache_helper_specialization.rb.expected +6 -0
- data/vendor/spinel/test/implicit_alloc_site_escape_layout.rb +30 -0
- data/vendor/spinel/test/implicit_alloc_site_escape_layout.rb.expected +2 -0
- data/vendor/spinel/test/implicit_alloc_site_escape_param.rb +27 -0
- data/vendor/spinel/test/implicit_alloc_site_escape_param.rb.expected +2 -0
- data/vendor/spinel/test/implicit_alloc_site_escape_scoped_locals.rb +44 -0
- data/vendor/spinel/test/implicit_alloc_site_escape_scoped_locals.rb.expected +2 -0
- data/vendor/spinel/test/implicit_alloc_site_holder_poly_array.rb +23 -0
- data/vendor/spinel/test/implicit_alloc_site_holder_poly_array.rb.expected +3 -0
- data/vendor/spinel/test/implicit_alloc_site_holder_shared_method.rb +23 -0
- data/vendor/spinel/test/implicit_alloc_site_holder_shared_method.rb.expected +3 -0
- data/vendor/spinel/test/implicit_alloc_site_holder_specialization.rb +19 -0
- data/vendor/spinel/test/implicit_alloc_site_holder_specialization.rb.expected +3 -0
- data/vendor/spinel/test/implicit_alloc_site_ivar_helper_return_specialization.rb +46 -0
- data/vendor/spinel/test/implicit_alloc_site_ivar_helper_return_specialization.rb.expected +3 -0
- data/vendor/spinel/test/implicit_alloc_site_store_specialization.rb +28 -0
- data/vendor/spinel/test/implicit_alloc_site_store_specialization.rb.expected +4 -0
- data/vendor/spinel/test/implicit_new_local_method_scope.rb +65 -0
- data/vendor/spinel/test/implicit_new_local_method_scope.rb.expected +2 -0
- data/vendor/spinel/test/include_chain_const_lookup.rb +48 -0
- data/vendor/spinel/test/include_chain_const_lookup.rb.expected +3 -0
- data/vendor/spinel/test/include_chain_module_nested_const.rb +62 -0
- data/vendor/spinel/test/include_chain_module_nested_const.rb.expected +2 -0
- data/vendor/spinel/test/include_constant_path.rb +98 -0
- data/vendor/spinel/test/include_constant_path.rb.expected +5 -0
- data/vendor/spinel/test/include_nested_module.rb +99 -0
- data/vendor/spinel/test/include_nested_module.rb.expected +3 -0
- data/vendor/spinel/test/include_skips_module_class_methods.rb +27 -0
- data/vendor/spinel/test/include_skips_module_class_methods.rb.expected +3 -0
- data/vendor/spinel/test/inherited_factory_poly_param_narrow_attr.rb +25 -0
- data/vendor/spinel/test/inherited_kwarg_nil_default_string_ivar.rb +61 -0
- data/vendor/spinel/test/inherited_kwarg_nil_default_string_ivar.rb.expected +2 -0
- data/vendor/spinel/test/inherited_method_kwarg_block_self.rb +67 -0
- data/vendor/spinel/test/inherited_method_kwarg_block_self.rb.expected +2 -0
- data/vendor/spinel/test/initialize_override_param_inference.rb +68 -0
- data/vendor/spinel/test/inject_symbol_op.rb +11 -0
- data/vendor/spinel/test/inject_symbol_op.rb.expected +7 -0
- data/vendor/spinel/test/inject_symbol_to_proc.rb +41 -0
- data/vendor/spinel/test/inject_symbol_to_proc.rb.expected +12 -0
- data/vendor/spinel/test/inlined_yield_block_param_type.rb +32 -0
- data/vendor/spinel/test/inlined_yield_block_param_type.rb.expected +2 -0
- data/vendor/spinel/test/inlined_yield_self_locals.rb +49 -0
- data/vendor/spinel/test/inlined_yield_self_locals.rb.expected +5 -0
- data/vendor/spinel/test/instance_eval_block_params.rb +93 -0
- data/vendor/spinel/test/instance_eval_block_params.rb.expected +10 -0
- data/vendor/spinel/test/instance_eval_trampoline.rb +17 -0
- data/vendor/spinel/test/instance_eval_trampoline.rb.expected +1 -0
- data/vendor/spinel/test/instance_exec_capture.rb +48 -0
- data/vendor/spinel/test/instance_exec_capture.rb.expected +7 -0
- data/vendor/spinel/test/instance_exec_direct.rb +72 -0
- data/vendor/spinel/test/instance_exec_direct.rb.expected +5 -0
- data/vendor/spinel/test/instance_exec_override.rb +69 -0
- data/vendor/spinel/test/instance_exec_override.rb.expected +4 -0
- data/vendor/spinel/test/instance_exec_parity.rb +44 -0
- data/vendor/spinel/test/instance_exec_parity.rb.expected +6 -0
- data/vendor/spinel/test/instance_exec_return.rb +54 -0
- data/vendor/spinel/test/instance_exec_return.rb.expected +7 -0
- data/vendor/spinel/test/instance_exec_trampoline.rb +101 -0
- data/vendor/spinel/test/instance_exec_trampoline.rb.expected +6 -0
- data/vendor/spinel/test/instance_exec_valuetype.rb +48 -0
- data/vendor/spinel/test/instance_exec_valuetype.rb.expected +7 -0
- data/vendor/spinel/test/instance_methods_false.rb +41 -0
- data/vendor/spinel/test/instance_methods_false.rb.expected +14 -0
- data/vendor/spinel/test/int_array_bracket_assign_expr.rb +30 -0
- data/vendor/spinel/test/int_array_bracket_assign_expr.rb.expected +8 -0
- data/vendor/spinel/test/int_array_tally.rb +14 -0
- data/vendor/spinel/test/int_array_tally.rb.expected +8 -0
- data/vendor/spinel/test/int_array_uniq_bang.rb +15 -0
- data/vendor/spinel/test/int_array_uniq_bang.rb.expected +3 -0
- data/vendor/spinel/test/int_ceil_floor_round.rb +11 -0
- data/vendor/spinel/test/int_ceil_floor_round.rb.expected +8 -0
- data/vendor/spinel/test/int_ceil_floor_round_truncate_ndigits.rb +17 -0
- data/vendor/spinel/test/int_ceil_floor_round_truncate_ndigits.rb.expected +12 -0
- data/vendor/spinel/test/int_hash_missing_nil_check.rb +27 -0
- data/vendor/spinel/test/int_hash_missing_nil_check.rb.expected +14 -0
- data/vendor/spinel/test/int_int_hash_literal.rb +13 -0
- data/vendor/spinel/test/int_int_hash_literal.rb.expected +7 -0
- data/vendor/spinel/test/int_int_hash_missing_key_nil.rb +10 -0
- data/vendor/spinel/test/int_int_hash_missing_key_nil.rb.expected +8 -0
- data/vendor/spinel/test/int_opt_p_inspect.rb +8 -0
- data/vendor/spinel/test/int_opt_p_inspect.rb.expected +5 -0
- data/vendor/spinel/test/int_overflow_promote.rb +41 -0
- data/vendor/spinel/test/int_overflow_raises.rb +34 -0
- data/vendor/spinel/test/int_overflow_raises.rb.expected +6 -0
- data/vendor/spinel/test/int_round_large_precision.rb +11 -0
- data/vendor/spinel/test/int_round_large_precision.rb.expected +8 -0
- data/vendor/spinel/test/integer_argument_error.rb +116 -0
- data/vendor/spinel/test/integer_argument_error.rb.expected +36 -0
- data/vendor/spinel/test/integer_extra_methods.rb +12 -0
- data/vendor/spinel/test/integer_extra_methods.rb.expected +8 -0
- data/vendor/spinel/test/integer_pow_negative_exponent.rb +17 -0
- data/vendor/spinel/test/integer_pow_negative_exponent.rb.expected +6 -0
- data/vendor/spinel/test/integer_times_as_expr.rb +9 -0
- data/vendor/spinel/test/integer_times_as_expr.rb.expected +3 -0
- data/vendor/spinel/test/interp_array_container.rb +41 -0
- data/vendor/spinel/test/interp_array_container.rb.expected +8 -0
- data/vendor/spinel/test/interpolation_multistmt.rb +15 -0
- data/vendor/spinel/test/interpolation_multistmt.rb.expected +3 -0
- data/vendor/spinel/test/interpolation_symbol_name.rb +23 -0
- data/vendor/spinel/test/interpolation_symbol_name.rb.expected +6 -0
- data/vendor/spinel/test/introspection_constant_path.rb +60 -0
- data/vendor/spinel/test/introspection_constant_path.rb.expected +13 -0
- data/vendor/spinel/test/io_pipe.rb +6 -0
- data/vendor/spinel/test/io_pipe.rb.expected +3 -0
- data/vendor/spinel/test/is_a_descendant_runtime.rb +59 -0
- data/vendor/spinel/test/is_a_descendant_runtime.rb.expected +11 -0
- data/vendor/spinel/test/is_a_included_module.rb +28 -0
- data/vendor/spinel/test/is_a_included_module.rb.expected +9 -0
- data/vendor/spinel/test/ivar_assign_and_expr.rb +22 -0
- data/vendor/spinel/test/ivar_assign_and_expr.rb.expected +3 -0
- data/vendor/spinel/test/ivar_lazy_init_push_via_inherited_getter.rb +67 -0
- data/vendor/spinel/test/ivar_lazy_init_push_via_inherited_getter.rb.expected +6 -0
- data/vendor/spinel/test/json_generate_basic.rb +16 -0
- data/vendor/spinel/test/json_generate_basic.rb.expected +12 -0
- data/vendor/spinel/test/json_generate_struct_record.rb +9 -0
- data/vendor/spinel/test/json_generate_struct_record.rb.expected +4 -0
- data/vendor/spinel/test/kernel_complex.rb +9 -0
- data/vendor/spinel/test/kernel_dir.rb +9 -0
- data/vendor/spinel/test/kernel_dir.rb.expected +2 -0
- data/vendor/spinel/test/kernel_float_strict.rb +16 -0
- data/vendor/spinel/test/kernel_float_strict.rb.expected +6 -0
- data/vendor/spinel/test/kernel_integer_with_base.rb +16 -0
- data/vendor/spinel/test/kernel_integer_with_base.rb.expected +6 -0
- data/vendor/spinel/test/kwarg_back_propagate_callee_type.rb +26 -0
- data/vendor/spinel/test/kwarg_back_propagate_callee_type.rb.expected +1 -0
- data/vendor/spinel/test/kwargs_double_splat.rb +15 -0
- data/vendor/spinel/test/kwargs_double_splat.rb.expected +2 -0
- data/vendor/spinel/test/kwargs_merge_default_hash.rb +51 -0
- data/vendor/spinel/test/lambda_arrow_string_return.rb +8 -0
- data/vendor/spinel/test/lambda_arrow_string_return.rb.expected +2 -0
- data/vendor/spinel/test/lambda_inference_chain.rb +35 -0
- data/vendor/spinel/test/lambda_inference_chain.rb.expected +5 -0
- data/vendor/spinel/test/local_empty_array_push_promotion_propagates.rb +61 -0
- data/vendor/spinel/test/local_empty_array_push_promotion_propagates.rb.expected +3 -0
- data/vendor/spinel/test/logical_pointer_guard.rb +20 -0
- data/vendor/spinel/test/logical_pointer_guard.rb.expected +2 -0
- data/vendor/spinel/test/logical_value_return.rb +15 -0
- data/vendor/spinel/test/lv_widen_from_callee_arg_slot.rb +56 -0
- data/vendor/spinel/test/lv_widen_from_callee_arg_slot.rb.expected +1 -0
- data/vendor/spinel/test/map_block_string_new_join.rb +33 -0
- data/vendor/spinel/test/map_block_string_new_join.rb.expected +3 -0
- data/vendor/spinel/test/map_obj_array_poly_field.rb +28 -0
- data/vendor/spinel/test/map_recv_emitted_once.rb +44 -0
- data/vendor/spinel/test/map_recv_emitted_once.rb.expected +7 -0
- data/vendor/spinel/test/map_to_heap_objects.rb +16 -0
- data/vendor/spinel/test/map_to_heap_objects.rb.expected +4 -0
- data/vendor/spinel/test/map_to_value_type_objects.rb +26 -0
- data/vendor/spinel/test/map_to_value_type_objects.rb.expected +7 -0
- data/vendor/spinel/test/masgn_classvar_target.rb +13 -0
- data/vendor/spinel/test/masgn_constpath_target.rb +11 -0
- data/vendor/spinel/test/method_level_rescue_return.rb +42 -0
- data/vendor/spinel/test/method_level_rescue_return.rb.expected +6 -0
- data/vendor/spinel/test/method_level_rescue_return_string.rb +39 -0
- data/vendor/spinel/test/method_level_rescue_return_string.rb.expected +6 -0
- data/vendor/spinel/test/method_return_mixed_int_string.rb +65 -0
- data/vendor/spinel/test/method_return_mixed_int_string.rb.expected +10 -0
- data/vendor/spinel/test/middle_splat_param.rb +14 -0
- data/vendor/spinel/test/middle_splat_param.rb.expected +4 -0
- data/vendor/spinel/test/missing_positional_arg_warns.rb +23 -0
- data/vendor/spinel/test/missing_positional_arg_warns.rb.expected +2 -0
- data/vendor/spinel/test/module_accessor_delete_chain.rb +32 -0
- data/vendor/spinel/test/module_accessor_delete_chain.rb.expected +1 -0
- data/vendor/spinel/test/module_accessor_nil_check.rb +40 -0
- data/vendor/spinel/test/module_accessor_nil_check.rb.expected +2 -0
- data/vendor/spinel/test/module_body_string_const_interp.rb +40 -0
- data/vendor/spinel/test/module_body_string_const_interp.rb.expected +5 -0
- data/vendor/spinel/test/module_class_body_side_effects.rb +32 -0
- data/vendor/spinel/test/module_class_body_side_effects.rb.expected +7 -0
- data/vendor/spinel/test/module_class_reflection.rb +27 -0
- data/vendor/spinel/test/module_class_reflection.rb.expected +14 -0
- data/vendor/spinel/test/module_const_defined.rb +13 -0
- data/vendor/spinel/test/module_const_defined.rb.expected +4 -0
- data/vendor/spinel/test/module_cvars.rb +32 -0
- data/vendor/spinel/test/module_cvars.rb.expected +4 -0
- data/vendor/spinel/test/module_def_self_ivar.rb +14 -0
- data/vendor/spinel/test/module_def_self_ivar.rb.expected +2 -0
- data/vendor/spinel/test/module_function_dead_method_dce.rb +29 -0
- data/vendor/spinel/test/module_function_dead_method_dce.rb.expected +2 -0
- data/vendor/spinel/test/module_function_namespace.rb.expected +3 -0
- data/vendor/spinel/test/module_function_str_method_param.rb +14 -0
- data/vendor/spinel/test/module_function_str_method_param.rb.expected +1 -0
- data/vendor/spinel/test/module_ivar_empty_hash_reset.rb +64 -0
- data/vendor/spinel/test/module_ivar_empty_hash_reset.rb.expected +7 -0
- data/vendor/spinel/test/module_ivar_nil_poly.rb +17 -0
- data/vendor/spinel/test/module_ivar_op_write.rb +53 -0
- data/vendor/spinel/test/module_ivar_op_write.rb.expected +3 -0
- data/vendor/spinel/test/module_reopen_after_include_ivar.rb +33 -0
- data/vendor/spinel/test/module_reopen_after_include_ivar.rb.expected +2 -0
- data/vendor/spinel/test/module_reopen_after_include_namespaced.rb +33 -0
- data/vendor/spinel/test/module_reopen_after_include_namespaced.rb.expected +1 -0
- data/vendor/spinel/test/module_reopen_cmeth_redefine.rb +26 -0
- data/vendor/spinel/test/module_reopen_cmeth_redefine.rb.expected +2 -0
- data/vendor/spinel/test/module_singleton_attr_accessor.rb +41 -0
- data/vendor/spinel/test/module_singleton_attr_accessor.rb.expected +4 -0
- data/vendor/spinel/test/module_singleton_new_user_method.rb +23 -0
- data/vendor/spinel/test/module_singleton_new_user_method.rb.expected +2 -0
- data/vendor/spinel/test/module_singleton_self_accessor.rb +31 -0
- data/vendor/spinel/test/module_singleton_self_accessor.rb.expected +4 -0
- data/vendor/spinel/test/more_truthies_nil_compare.rb +31 -0
- data/vendor/spinel/test/more_truthies_nil_compare.rb.expected +9 -0
- data/vendor/spinel/test/multi_arg_lambda.rb +31 -0
- data/vendor/spinel/test/multi_arg_lambda.rb.expected +6 -0
- data/vendor/spinel/test/multi_assign_ivar_type.rb +21 -0
- data/vendor/spinel/test/multi_assign_ivar_type.rb.expected +3 -0
- data/vendor/spinel/test/multi_write_call_rhs_as_expr.rb +31 -0
- data/vendor/spinel/test/multi_write_call_rhs_as_expr.rb.expected +10 -0
- data/vendor/spinel/test/multi_write_scalar_rhs.rb +12 -0
- data/vendor/spinel/test/multi_write_scalar_rhs.rb.expected +5 -0
- data/vendor/spinel/test/mutable_str_alias_uaf.rb +62 -0
- data/vendor/spinel/test/mutable_str_alias_uaf.rb.expected +4 -0
- data/vendor/spinel/test/mutable_str_force_encoding_return.rb +21 -0
- data/vendor/spinel/test/mutable_str_force_encoding_return.rb.expected +1 -0
- data/vendor/spinel/test/mutable_str_into_str_array.rb +46 -0
- data/vendor/spinel/test/mutable_str_into_str_array.rb.expected +7 -0
- data/vendor/spinel/test/mutex_synchronize_block.rb +29 -0
- data/vendor/spinel/test/mutex_synchronize_block.rb.expected +6 -0
- data/vendor/spinel/test/narrow_and_predicate.rb +23 -0
- data/vendor/spinel/test/narrow_and_predicate.rb.expected +1 -0
- data/vendor/spinel/test/negative_range_slice.rb +32 -0
- data/vendor/spinel/test/negative_range_slice.rb.expected +12 -0
- data/vendor/spinel/test/nested_array_eq.rb +22 -0
- data/vendor/spinel/test/nested_array_eq.rb.expected +12 -0
- data/vendor/spinel/test/nested_yield_with_block_param.rb +33 -0
- data/vendor/spinel/test/nil_default_param_widens_to_poly.rb +26 -0
- data/vendor/spinel/test/nil_default_param_widens_to_poly.rb.expected +4 -0
- data/vendor/spinel/test/nil_guard_narrows_int_or_nil.rb +40 -0
- data/vendor/spinel/test/nil_guard_narrows_int_or_nil.rb.expected +5 -0
- data/vendor/spinel/test/not_match_op.rb +8 -0
- data/vendor/spinel/test/not_match_op.rb.expected +4 -0
- data/vendor/spinel/test/nullable_hash_recv_bracket.expected +3 -0
- data/vendor/spinel/test/nullable_hash_recv_bracket.rb +33 -0
- data/vendor/spinel/test/nullable_obj_nil_compare.rb +92 -0
- data/vendor/spinel/test/nullable_obj_nil_compare.rb.expected +8 -0
- data/vendor/spinel/test/nullable_poly_hash_arg_unbox.rb +85 -0
- data/vendor/spinel/test/nullable_poly_hash_arg_unbox.rb.expected +4 -0
- data/vendor/spinel/test/numeric_coerce.rb +24 -0
- data/vendor/spinel/test/numeric_coerce.rb.expected +9 -0
- data/vendor/spinel/test/obj_class_dispatch.rb +69 -0
- data/vendor/spinel/test/obj_class_dispatch.rb.expected +4 -0
- data/vendor/spinel/test/object_id_basic.rb +19 -0
- data/vendor/spinel/test/object_id_basic.rb.expected +8 -0
- data/vendor/spinel/test/object_method_gaps_callee_clone_itself.rb +23 -0
- data/vendor/spinel/test/object_method_gaps_callee_clone_itself.rb.expected +7 -0
- data/vendor/spinel/test/op_assign_user_operator.rb.expected +2 -0
- data/vendor/spinel/test/op_method_bitwise.rb +30 -0
- data/vendor/spinel/test/op_method_bitwise.rb.expected +8 -0
- data/vendor/spinel/test/op_method_shift.rb +30 -0
- data/vendor/spinel/test/op_method_shift.rb.expected +3 -0
- data/vendor/spinel/test/open_class_array_builtin.rb +11 -0
- data/vendor/spinel/test/open_class_array_builtin.rb.expected +1 -0
- data/vendor/spinel/test/open_class_bool_builtin.rb +28 -0
- data/vendor/spinel/test/open_class_bool_builtin.rb.expected +6 -0
- data/vendor/spinel/test/open_class_default_arg.rb +47 -0
- data/vendor/spinel/test/open_class_default_arg.rb.expected +9 -0
- data/vendor/spinel/test/open_class_object.rb +26 -0
- data/vendor/spinel/test/open_class_object.rb.expected +5 -0
- data/vendor/spinel/test/pack_utf8.rb +12 -0
- data/vendor/spinel/test/pack_utf8.rb.expected +10 -0
- data/vendor/spinel/test/param_body_array_hash_inference.rb +58 -0
- data/vendor/spinel/test/param_body_array_hash_inference.rb.expected +3 -0
- data/vendor/spinel/test/param_body_hash_inference.rb +72 -0
- data/vendor/spinel/test/param_body_hash_inference.rb.expected +6 -0
- data/vendor/spinel/test/param_include_body_widen.rb +32 -0
- data/vendor/spinel/test/param_include_body_widen.rb.expected +5 -0
- data/vendor/spinel/test/param_lengthlike_body_widen.rb +53 -0
- data/vendor/spinel/test/param_lengthlike_body_widen.rb.expected +6 -0
- data/vendor/spinel/test/param_ptr_from_callee_slot.rb +42 -0
- data/vendor/spinel/test/param_ptr_from_callee_slot.rb.expected +6 -0
- data/vendor/spinel/test/parser_long_ast_record.rb +132 -0
- data/vendor/spinel/test/parser_long_ast_record.rb.expected +3 -0
- data/vendor/spinel/test/pattern_match_as_and_guard.rb +33 -0
- data/vendor/spinel/test/pattern_match_as_and_guard.rb.expected +4 -0
- data/vendor/spinel/test/pattern_match_splat_rest.rb +15 -0
- data/vendor/spinel/test/pattern_match_splat_rest.rb.expected +4 -0
- data/vendor/spinel/test/pattern_pin.rb +105 -0
- data/vendor/spinel/test/pattern_pin.rb.expected +11 -0
- data/vendor/spinel/test/poly_arg_int_keyed_hash.rb +42 -0
- data/vendor/spinel/test/poly_arg_int_keyed_hash.rb.expected +5 -0
- data/vendor/spinel/test/poly_arg_to_typed_method_param.rb +28 -0
- data/vendor/spinel/test/poly_arg_to_typed_method_param.rb.expected +4 -0
- data/vendor/spinel/test/poly_array_assoc.rb +9 -0
- data/vendor/spinel/test/poly_array_compact.rb +15 -0
- data/vendor/spinel/test/poly_array_compact.rb.expected +3 -0
- data/vendor/spinel/test/poly_array_compact_bang.rb +17 -0
- data/vendor/spinel/test/poly_array_compact_bang.rb.expected +3 -0
- data/vendor/spinel/test/poly_array_dup.rb +52 -0
- data/vendor/spinel/test/poly_array_dup.rb.expected +5 -0
- data/vendor/spinel/test/poly_array_flatten.rb +17 -0
- data/vendor/spinel/test/poly_array_flatten.rb.expected +4 -0
- data/vendor/spinel/test/poly_attr_reader_box_dispatch.expected +1 -0
- data/vendor/spinel/test/poly_attr_reader_box_dispatch.rb +35 -0
- data/vendor/spinel/test/poly_attr_writer.rb +95 -0
- data/vendor/spinel/test/poly_attr_writer.rb.expected +5 -0
- data/vendor/spinel/test/poly_class_dispatch.rb +11 -0
- data/vendor/spinel/test/poly_class_dispatch.rb.expected +7 -0
- data/vendor/spinel/test/poly_dispatch_inherited_attr_reader.rb +20 -0
- data/vendor/spinel/test/poly_dispatch_inherited_attr_reader.rb.expected +2 -0
- data/vendor/spinel/test/poly_dispatch_inherited_method.rb +19 -0
- data/vendor/spinel/test/poly_dispatch_inherited_method.rb.expected +2 -0
- data/vendor/spinel/test/poly_dispatch_multilevel_inheritance.rb +28 -0
- data/vendor/spinel/test/poly_dispatch_multilevel_inheritance.rb.expected +4 -0
- data/vendor/spinel/test/poly_dispatch_narrow_return_type.rb +53 -0
- data/vendor/spinel/test/poly_dispatch_narrow_return_type.rb.expected +3 -0
- data/vendor/spinel/test/poly_each_receiver_gc_root.rb +40 -0
- data/vendor/spinel/test/poly_each_receiver_gc_root.rb.expected +1 -0
- data/vendor/spinel/test/poly_gsub_str_arm.rb +24 -0
- data/vendor/spinel/test/poly_gsub_str_arm.rb.expected +1 -0
- data/vendor/spinel/test/poly_gsub_str_str_hash.rb +37 -0
- data/vendor/spinel/test/poly_gsub_str_str_hash.rb.expected +1 -0
- data/vendor/spinel/test/poly_idx_int_nullable.rb +14 -0
- data/vendor/spinel/test/poly_idx_int_nullable.rb.expected +1 -0
- data/vendor/spinel/test/poly_length_string_tag.rb +20 -0
- data/vendor/spinel/test/poly_length_string_tag.rb.expected +3 -0
- data/vendor/spinel/test/poly_local_is_a_string_narrow_in_non_tail_if.rb +39 -0
- data/vendor/spinel/test/poly_local_is_a_string_narrow_in_non_tail_if.rb.expected +1 -0
- data/vendor/spinel/test/poly_local_is_a_string_narrow_in_tail_if.rb +23 -0
- data/vendor/spinel/test/poly_local_is_a_string_narrow_in_tail_if.rb.expected +1 -0
- data/vendor/spinel/test/poly_local_is_a_string_narrow_in_y1_inline.rb +27 -0
- data/vendor/spinel/test/poly_local_is_a_string_narrow_in_y1_inline.rb.expected +1 -0
- data/vendor/spinel/test/poly_poly_hash_each_value.rb +34 -0
- data/vendor/spinel/test/poly_poly_hash_each_value.rb.expected +11 -0
- data/vendor/spinel/test/poly_poly_hash_fetch_dup.rb +26 -0
- data/vendor/spinel/test/poly_poly_hash_fetch_dup.rb.expected +2 -0
- data/vendor/spinel/test/poly_recv_aset_poly_key.rb +30 -0
- data/vendor/spinel/test/poly_recv_aset_poly_key.rb.expected +1 -0
- data/vendor/spinel/test/poly_recv_dispatch_narrow_module.rb +37 -0
- data/vendor/spinel/test/poly_recv_dispatch_narrow_module.rb.expected +3 -0
- data/vendor/spinel/test/poly_recv_fetch_arm_incompat.rb +37 -0
- data/vendor/spinel/test/poly_recv_fetch_arm_incompat.rb.expected +1 -0
- data/vendor/spinel/test/poly_recv_fetch_hash_arms.rb +31 -0
- data/vendor/spinel/test/poly_recv_fetch_hash_arms.rb.expected +2 -0
- data/vendor/spinel/test/poly_recv_hash_dup.rb +48 -0
- data/vendor/spinel/test/poly_recv_hash_each_dispatch.rb +40 -0
- data/vendor/spinel/test/poly_recv_hash_each_dispatch.rb.expected +5 -0
- data/vendor/spinel/test/poly_recv_map_join.rb +31 -0
- data/vendor/spinel/test/poly_recv_map_join.rb.expected +5 -0
- data/vendor/spinel/test/poly_recv_range_sym_hash_dispatch.rb +55 -0
- data/vendor/spinel/test/poly_recv_range_sym_hash_dispatch.rb.expected +9 -0
- data/vendor/spinel/test/poly_recv_two_arg_slice.rb +27 -0
- data/vendor/spinel/test/poly_value_into_str_str_hash.rb +44 -0
- data/vendor/spinel/test/poly_value_into_str_str_hash.rb.expected +2 -0
- data/vendor/spinel/test/prepend_super_basic.rb +18 -0
- data/vendor/spinel/test/prepend_super_basic.rb.expected +1 -0
- data/vendor/spinel/test/prepend_super_chain.rb +23 -0
- data/vendor/spinel/test/prepend_super_chain.rb.expected +1 -0
- data/vendor/spinel/test/prepend_super_forward.rb +17 -0
- data/vendor/spinel/test/prepend_super_forward.rb.expected +1 -0
- data/vendor/spinel/test/prepend_super_multi.rb +25 -0
- data/vendor/spinel/test/prepend_super_multi.rb.expected +1 -0
- data/vendor/spinel/test/prepend_super_subclass.rb +21 -0
- data/vendor/spinel/test/prepend_super_subclass.rb.expected +1 -0
- data/vendor/spinel/test/primitive_eq_user_class.rb +84 -0
- data/vendor/spinel/test/primitive_eq_user_class.rb.expected +49 -0
- data/vendor/spinel/test/proc_anon_dot_call.rb +50 -0
- data/vendor/spinel/test/proc_anon_dot_call.rb.expected +5 -0
- data/vendor/spinel/test/proc_arg_object.rb +17 -0
- data/vendor/spinel/test/proc_arg_object.rb.expected +1 -0
- data/vendor/spinel/test/proc_call_value_return.rb +20 -0
- data/vendor/spinel/test/proc_call_value_return.rb.expected +5 -0
- data/vendor/spinel/test/proc_introspection.rb +11 -0
- data/vendor/spinel/test/proc_introspection.rb.expected +6 -0
- data/vendor/spinel/test/process_pid.rb +5 -0
- data/vendor/spinel/test/process_pid.rb.expected +2 -0
- data/vendor/spinel/test/ptr_array_to_poly_array_at_call.rb +39 -0
- data/vendor/spinel/test/ptr_array_to_poly_array_at_call.rb.expected +2 -0
- data/vendor/spinel/test/public_send.rb +12 -0
- data/vendor/spinel/test/public_send.rb.expected +4 -0
- data/vendor/spinel/test/puts_class_value.rb +10 -0
- data/vendor/spinel/test/puts_class_value.rb.expected +2 -0
- data/vendor/spinel/test/puts_nil.rb +7 -0
- data/vendor/spinel/test/raise_reraise_in_def.rb +44 -0
- data/vendor/spinel/test/raise_unless_isa_narrow.rb +72 -0
- data/vendor/spinel/test/raise_unless_isa_narrow.rb.expected +3 -0
- data/vendor/spinel/test/range_and_array_range_args.rb +43 -0
- data/vendor/spinel/test/range_and_array_range_args.rb.expected +18 -0
- data/vendor/spinel/test/range_begin_end_polyarr_include_delete_bang.rb +21 -0
- data/vendor/spinel/test/range_bsearch.rb +11 -0
- data/vendor/spinel/test/range_bsearch.rb.expected +8 -0
- data/vendor/spinel/test/range_case_eq_type_mismatch.rb +10 -0
- data/vendor/spinel/test/range_case_eq_type_mismatch.rb.expected +7 -0
- data/vendor/spinel/test/range_each_fusion.rb +109 -0
- data/vendor/spinel/test/range_each_fusion.rb.expected +16 -0
- data/vendor/spinel/test/range_each_no_block.rb +5 -0
- data/vendor/spinel/test/range_equality.rb +9 -0
- data/vendor/spinel/test/range_exclude_end_size.rb +24 -0
- data/vendor/spinel/test/range_exclude_end_size.rb.expected +18 -0
- data/vendor/spinel/test/range_exclusive_nonliteral.rb +34 -0
- data/vendor/spinel/test/range_overlap_array_flatten_depth.rb +14 -0
- data/vendor/spinel/test/range_overlap_array_flatten_depth.rb.expected +8 -0
- data/vendor/spinel/test/range_step.rb +15 -0
- data/vendor/spinel/test/range_step.rb.expected +5 -0
- data/vendor/spinel/test/range_string_cover.rb +10 -0
- data/vendor/spinel/test/rational_complex_literals.rb +27 -0
- data/vendor/spinel/test/rational_complex_literals.rb.expected +12 -0
- data/vendor/spinel/test/rbs/README.md +45 -0
- data/vendor/spinel/test/rbs/arrays.rbs +10 -0
- data/vendor/spinel/test/rbs/arrays.seed.expected +7 -0
- data/vendor/spinel/test/rbs/dropped_members.rbs +13 -0
- data/vendor/spinel/test/rbs/dropped_members.seed.expected +2 -0
- data/vendor/spinel/test/rbs/dropped_sigs.rbs +14 -0
- data/vendor/spinel/test/rbs/dropped_sigs.seed.expected +2 -0
- data/vendor/spinel/test/rbs/dropped_types.rbs +14 -0
- data/vendor/spinel/test/rbs/dropped_types.seed.expected +2 -0
- data/vendor/spinel/test/rbs/hashes.rbs +11 -0
- data/vendor/spinel/test/rbs/hashes.seed.expected +7 -0
- data/vendor/spinel/test/rbs/ivars.rbs +8 -0
- data/vendor/spinel/test/rbs/ivars.seed.expected +5 -0
- data/vendor/spinel/test/rbs/members.rbs +7 -0
- data/vendor/spinel/test/rbs/members.seed.expected +5 -0
- data/vendor/spinel/test/rbs/nominal.rbs +7 -0
- data/vendor/spinel/test/rbs/nominal.seed.expected +3 -0
- data/vendor/spinel/test/rbs/nullable.rbs +8 -0
- data/vendor/spinel/test/rbs/nullable.seed.expected +5 -0
- data/vendor/spinel/test/rbs/overloads.rbs +13 -0
- data/vendor/spinel/test/rbs/overloads.seed.expected +3 -0
- data/vendor/spinel/test/rbs/scalars.rbs +12 -0
- data/vendor/spinel/test/rbs/scalars.seed.expected +9 -0
- data/vendor/spinel/test/rbs/union_poly.rbs +9 -0
- data/vendor/spinel/test/rbs/union_poly.seed.expected +4 -0
- data/vendor/spinel/test/rbs/unqualified.rbs +13 -0
- data/vendor/spinel/test/rbs/unqualified.seed.expected +4 -0
- data/vendor/spinel/test/recursive_block_forward_value.rb +19 -0
- data/vendor/spinel/test/recursive_block_forward_value.rb.expected +3 -0
- data/vendor/spinel/test/recursive_implicit_yield_value.rb +35 -0
- data/vendor/spinel/test/recursive_implicit_yield_value.rb.expected +7 -0
- data/vendor/spinel/test/regex.rb +7 -0
- data/vendor/spinel/test/regex.rb.expected +2 -0
- data/vendor/spinel/test/regex_backref_oob_nil.rb +13 -0
- data/vendor/spinel/test/regex_backref_oob_nil.rb.expected +5 -0
- data/vendor/spinel/test/regex_const_freeze.rb +17 -0
- data/vendor/spinel/test/regex_const_freeze.rb.expected +3 -0
- data/vendor/spinel/test/regex_hex_shorthand.rb +13 -0
- data/vendor/spinel/test/regex_hex_shorthand.rb.expected +12 -0
- data/vendor/spinel/test/regex_match_nonstring.rb +18 -0
- data/vendor/spinel/test/regex_match_nonstring.rb.expected +3 -0
- data/vendor/spinel/test/regex_namespaced_const.rb +17 -0
- data/vendor/spinel/test/regex_namespaced_const.rb.expected +4 -0
- data/vendor/spinel/test/regex_negated_shorthand_toplevel.rb +9 -0
- data/vendor/spinel/test/regex_negated_shorthand_toplevel.rb.expected +13 -0
- data/vendor/spinel/test/regex_sub_backref.rb +11 -0
- data/vendor/spinel/test/regex_unanchored_class_seq.rb +13 -0
- data/vendor/spinel/test/regex_unanchored_class_seq.rb.expected +6 -0
- data/vendor/spinel/test/regexp_capture_ivar_hash.rb +48 -0
- data/vendor/spinel/test/regexp_capture_ivar_hash.rb.expected +7 -0
- data/vendor/spinel/test/regexp_error_catchable.rb +14 -0
- data/vendor/spinel/test/regexp_error_catchable.rb.expected +3 -0
- data/vendor/spinel/test/regexp_gsub_zero_width.rb +27 -0
- data/vendor/spinel/test/regexp_gsub_zero_width.rb.expected +12 -0
- data/vendor/spinel/test/regexp_last_match_capture.rb +21 -0
- data/vendor/spinel/test/regexp_last_match_capture.rb.expected +7 -0
- data/vendor/spinel/test/regexp_line_anchors.rb +34 -0
- data/vendor/spinel/test/regexp_line_anchors.rb.expected +15 -0
- data/vendor/spinel/test/regexp_local_if_else_union.rb +36 -0
- data/vendor/spinel/test/regexp_local_if_else_union.rb.expected +5 -0
- data/vendor/spinel/test/regexp_match_data.rb +17 -0
- data/vendor/spinel/test/regexp_match_data.rb.expected +8 -0
- data/vendor/spinel/test/regexp_match_p_position.rb +7 -0
- data/vendor/spinel/test/regexp_match_p_position.rb.expected +4 -0
- data/vendor/spinel/test/regexp_new_literal.rb +72 -0
- data/vendor/spinel/test/regexp_new_literal.rb.expected +24 -0
- data/vendor/spinel/test/regexp_source_options.rb +10 -0
- data/vendor/spinel/test/regexp_source_options.rb.expected +5 -0
- data/vendor/spinel/test/regexp_sub_gsub_length.rb +17 -0
- data/vendor/spinel/test/regexp_sub_gsub_length.rb.expected +10 -0
- data/vendor/spinel/test/regexp_sub_gsub_realloc.rb +25 -0
- data/vendor/spinel/test/regexp_sub_gsub_realloc.rb.expected +6 -0
- data/vendor/spinel/test/regexp_threeq.rb +15 -0
- data/vendor/spinel/test/regexp_threeq.rb.expected +4 -0
- data/vendor/spinel/test/require_first_line.rb +7 -0
- data/vendor/spinel/test/require_first_line.rb.expected +1 -0
- data/vendor/spinel/test/require_modifier.rb +12 -0
- data/vendor/spinel/test/require_same_line.rb +5 -0
- data/vendor/spinel/test/require_same_line.rb.expected +2 -0
- data/vendor/spinel/test/require_unsupported_lib.rb +8 -0
- data/vendor/spinel/test/require_unsupported_lib.rb.expected +2 -0
- data/vendor/spinel/test/rescue_bind_in_fiber_body.rb +24 -0
- data/vendor/spinel/test/rescue_bind_in_fiber_body.rb.expected +6 -0
- data/vendor/spinel/test/rescue_bind_in_lambda_proc_body.rb +16 -0
- data/vendor/spinel/test/rescue_bind_in_lambda_proc_body.rb.expected +4 -0
- data/vendor/spinel/test/rescue_walks_class_hierarchy.rb +37 -0
- data/vendor/spinel/test/rescue_walks_class_hierarchy.rb.expected +7 -0
- data/vendor/spinel/test/rescue_widens_nil_local_to_exception.expected +1 -0
- data/vendor/spinel/test/rescue_widens_nil_local_to_exception.rb +11 -0
- data/vendor/spinel/test/respond_to_def_self_method.rb +14 -0
- data/vendor/spinel/test/respond_to_module_singleton_accessor.rb +10 -0
- data/vendor/spinel/test/respond_to_module_singleton_accessor.rb.expected +3 -0
- data/vendor/spinel/test/respond_to_primitive.rb +9 -0
- data/vendor/spinel/test/respond_to_primitive.rb.expected +5 -0
- data/vendor/spinel/test/return_unify_int_vs_pointer.rb +37 -0
- data/vendor/spinel/test/return_unify_int_vs_pointer.rb.expected +4 -0
- data/vendor/spinel/test/return_unify_isa_early_return.rb +29 -0
- data/vendor/spinel/test/return_unify_isa_early_return.rb.expected +2 -0
- data/vendor/spinel/test/rightward_assign_destructure.rb +27 -0
- data/vendor/spinel/test/rightward_assign_destructure.rb.expected +8 -0
- data/vendor/spinel/test/safe_navigation_returns_nil.expected +6 -0
- data/vendor/spinel/test/safe_navigation_returns_nil.rb +28 -0
- data/vendor/spinel/test/same_named_attr_no_widen.rb +24 -0
- data/vendor/spinel/test/same_named_attr_no_widen.rb.expected +1 -0
- data/vendor/spinel/test/scan_locals_def_boundary.rb +58 -0
- data/vendor/spinel/test/scan_locals_def_boundary.rb.expected +2 -0
- data/vendor/spinel/test/scan_walkers_def_boundary.rb +52 -0
- data/vendor/spinel/test/scan_walkers_def_boundary.rb.expected +4 -0
- data/vendor/spinel/test/self_class_divergent_returns.rb +61 -0
- data/vendor/spinel/test/self_class_divergent_returns.rb.expected +3 -0
- data/vendor/spinel/test/self_class_new_construction.rb +16 -0
- data/vendor/spinel/test/self_class_new_construction.rb.expected +2 -0
- data/vendor/spinel/test/self_operator_subclass_dispatch.rb +40 -0
- data/vendor/spinel/test/self_operator_subclass_dispatch.rb.expected +2 -0
- data/vendor/spinel/test/signal_trap_stub.rb +30 -0
- data/vendor/spinel/test/signal_trap_stub.rb.expected +3 -0
- data/vendor/spinel/test/sort_min_max_block_comparator.rb +18 -0
- data/vendor/spinel/test/sort_min_max_block_comparator.rb.expected +7 -0
- data/vendor/spinel/test/source_encoding.rb +19 -0
- data/vendor/spinel/test/source_encoding.rb.expected +9 -0
- data/vendor/spinel/test/sp_crypto_basic.rb +45 -0
- data/vendor/spinel/test/sp_crypto_basic.rb.expected +6 -0
- data/vendor/spinel/test/sp_crypto_sha1.rb +18 -0
- data/vendor/spinel/test/sp_crypto_sha1.rb.expected +3 -0
- data/vendor/spinel/test/sp_net_basic.rb +17 -0
- data/vendor/spinel/test/sp_net_basic.rb.expected +2 -0
- data/vendor/spinel/test/splat_heterogeneous_call.rb +14 -0
- data/vendor/spinel/test/splat_params_instance.rb +21 -0
- data/vendor/spinel/test/splat_params_instance.rb.expected +8 -0
- data/vendor/spinel/test/sprintf_long_interp.rb +23 -0
- data/vendor/spinel/test/sprintf_long_interp.rb.expected +3 -0
- data/vendor/spinel/test/stdlib_class_in_ivar.rb +85 -0
- data/vendor/spinel/test/stdlib_class_in_ivar.rb.expected +7 -0
- data/vendor/spinel/test/str_array_max_min_by.rb +6 -0
- data/vendor/spinel/test/str_array_sort_by.rb +11 -0
- data/vendor/spinel/test/str_array_sort_by.rb.expected +5 -0
- data/vendor/spinel/test/str_chomp_paragraph_mode.rb +16 -0
- data/vendor/spinel/test/str_chomp_paragraph_mode.rb.expected +9 -0
- data/vendor/spinel/test/str_count_multi_arg.rb +11 -0
- data/vendor/spinel/test/str_count_multi_arg.rb.expected +4 -0
- data/vendor/spinel/test/str_delete_count_negation.rb +16 -0
- data/vendor/spinel/test/str_delete_count_negation.rb.expected +6 -0
- data/vendor/spinel/test/str_force_encoding_return.rb +26 -0
- data/vendor/spinel/test/str_force_encoding_return.rb.expected +3 -0
- data/vendor/spinel/test/str_int_hash_missing_key_nil.rb +16 -0
- data/vendor/spinel/test/str_int_hash_missing_key_nil.rb.expected +10 -0
- data/vendor/spinel/test/str_match_position.rb +15 -0
- data/vendor/spinel/test/str_match_position.rb.expected +8 -0
- data/vendor/spinel/test/str_method_nil_arg_no_segv.rb +47 -0
- data/vendor/spinel/test/str_method_nil_arg_no_segv.rb.expected +7 -0
- data/vendor/spinel/test/str_oct_prefix.rb +11 -0
- data/vendor/spinel/test/str_oct_prefix.rb.expected +5 -0
- data/vendor/spinel/test/str_ord_empty.rb +11 -0
- data/vendor/spinel/test/str_ord_empty.rb.expected +3 -0
- data/vendor/spinel/test/str_poly_hash_dup_widen.rb +21 -0
- data/vendor/spinel/test/str_poly_hash_dup_widen.rb.expected +4 -0
- data/vendor/spinel/test/str_poly_hash_dup_widen_from_int.rb +17 -0
- data/vendor/spinel/test/str_poly_hash_dup_widen_from_int.rb.expected +3 -0
- data/vendor/spinel/test/str_rindex_position.rb +23 -0
- data/vendor/spinel/test/str_rindex_position.rb.expected +17 -0
- data/vendor/spinel/test/str_split_space_whitespace.rb +10 -0
- data/vendor/spinel/test/str_split_space_whitespace.rb.expected +4 -0
- data/vendor/spinel/test/str_split_trailing_empty.rb +12 -0
- data/vendor/spinel/test/str_split_trailing_empty.rb.expected +7 -0
- data/vendor/spinel/test/str_squeeze_arg.rb +18 -0
- data/vendor/spinel/test/str_squeeze_arg.rb.expected +7 -0
- data/vendor/spinel/test/str_str_hash_nullable_bracket_assign.rb +39 -0
- data/vendor/spinel/test/str_str_hash_nullable_bracket_assign.rb.expected +5 -0
- data/vendor/spinel/test/str_to_i_overflow.rb +32 -0
- data/vendor/spinel/test/str_to_i_overflow.rb.expected +6 -0
- data/vendor/spinel/test/str_tr_negation.rb +10 -0
- data/vendor/spinel/test/str_tr_negation.rb.expected +4 -0
- data/vendor/spinel/test/string_byteslice.rb +9 -0
- data/vendor/spinel/test/string_byteslice.rb.expected +6 -0
- data/vendor/spinel/test/string_casecmp.rb +9 -0
- data/vendor/spinel/test/string_casecmp.rb.expected +7 -0
- data/vendor/spinel/test/string_charset_range_notation.rb +9 -0
- data/vendor/spinel/test/string_charset_range_notation.rb.expected +5 -0
- data/vendor/spinel/test/string_chomp_bang_mutates.rb +20 -0
- data/vendor/spinel/test/string_chomp_bang_mutates.rb.expected +4 -0
- data/vendor/spinel/test/string_crypt.rb +22 -0
- data/vendor/spinel/test/string_crypt.rb.expected +7 -0
- data/vendor/spinel/test/string_delete_prefix_suffix_bang.rb +29 -0
- data/vendor/spinel/test/string_delete_prefix_suffix_bang.rb.expected +5 -0
- data/vendor/spinel/test/string_each_char_returns_self.rb +15 -0
- data/vendor/spinel/test/string_each_line_expr.rb +25 -0
- data/vendor/spinel/test/string_each_line_expr.rb.expected +19 -0
- data/vendor/spinel/test/string_each_line_keeps_newline.rb +15 -0
- data/vendor/spinel/test/string_encoding.rb +8 -0
- data/vendor/spinel/test/string_encoding.rb.expected +5 -0
- data/vendor/spinel/test/string_enum_block_returns_self.rb +27 -0
- data/vendor/spinel/test/string_enum_block_returns_self.rb.expected +11 -0
- data/vendor/spinel/test/string_format_polyarr.rb +6 -0
- data/vendor/spinel/test/string_frozen_mutation_raises.rb +27 -0
- data/vendor/spinel/test/string_frozen_mutation_raises.rb.expected +4 -0
- data/vendor/spinel/test/string_gsub_block.rb +8 -0
- data/vendor/spinel/test/string_index_nil_typeerror.rb +9 -0
- data/vendor/spinel/test/string_index_nil_typeerror.rb.expected +1 -0
- data/vendor/spinel/test/string_index_regex.rb +9 -0
- data/vendor/spinel/test/string_index_regex.rb.expected +6 -0
- data/vendor/spinel/test/string_lshift_int_codepoint.rb +9 -0
- data/vendor/spinel/test/string_lshift_int_codepoint.rb.expected +2 -0
- data/vendor/spinel/test/string_multiply_overflow.rb +14 -0
- data/vendor/spinel/test/string_multiply_overflow.rb.expected +4 -0
- data/vendor/spinel/test/string_nil_arg_typeerror.rb +38 -0
- data/vendor/spinel/test/string_nil_arg_typeerror.rb.expected +5 -0
- data/vendor/spinel/test/string_param_inference_from_body.rb +40 -0
- data/vendor/spinel/test/string_param_inference_from_body.rb.expected +3 -0
- data/vendor/spinel/test/string_partition_regex_and_puts.rb +8 -0
- data/vendor/spinel/test/string_partition_regex_and_puts.rb.expected +6 -0
- data/vendor/spinel/test/string_range_to_a.rb +10 -0
- data/vendor/spinel/test/string_range_to_a.rb.expected +4 -0
- data/vendor/spinel/test/string_replace_prepend_insert_clear.rb +34 -0
- data/vendor/spinel/test/string_rpartition_regex.rb +10 -0
- data/vendor/spinel/test/string_scanner_basic.rb +35 -0
- data/vendor/spinel/test/string_scanner_check_unscan.rb +24 -0
- data/vendor/spinel/test/string_scanner_getch_utf8.rb +26 -0
- data/vendor/spinel/test/string_scanner_nullable.rb +75 -0
- data/vendor/spinel/test/string_scanner_nullable.rb.expected +37 -0
- data/vendor/spinel/test/string_scanner_scan_to_local.rb +11 -0
- data/vendor/spinel/test/string_scanner_unscan_error.rb +54 -0
- data/vendor/spinel/test/string_scrub.rb +7 -0
- data/vendor/spinel/test/string_slice_range.rb +18 -0
- data/vendor/spinel/test/string_split_capture.rb +8 -0
- data/vendor/spinel/test/string_split_inline_arg_gc_root.rb +77 -0
- data/vendor/spinel/test/string_split_inline_arg_gc_root.rb.expected +1 -0
- data/vendor/spinel/test/string_squeeze_no_trailing_nul.rb +12 -0
- data/vendor/spinel/test/string_sub_hash_replacement.rb +8 -0
- data/vendor/spinel/test/string_to_i_base.rb +9 -0
- data/vendor/spinel/test/string_to_i_base.rb.expected +6 -0
- data/vendor/spinel/test/string_to_i_base_zero.rb +9 -0
- data/vendor/spinel/test/string_to_i_overflow_raises.rb +30 -0
- data/vendor/spinel/test/string_to_i_overflow_raises.rb.expected +6 -0
- data/vendor/spinel/test/string_undump.rb +9 -0
- data/vendor/spinel/test/string_upto.rb +20 -0
- data/vendor/spinel/test/string_with_embedded_nul.rb +46 -0
- data/vendor/spinel/test/string_with_embedded_nul.rb.expected +16 -0
- data/vendor/spinel/test/stringio_new_mode.rb +21 -0
- data/vendor/spinel/test/stringio_new_mode.rb.expected +5 -0
- data/vendor/spinel/test/stringio_new_nil.rb +14 -0
- data/vendor/spinel/test/stringio_new_nil.rb.expected +2 -0
- data/vendor/spinel/test/stringio_open.rb +30 -0
- data/vendor/spinel/test/stringio_open.rb.expected +10 -0
- data/vendor/spinel/test/stringio_putc_fsync.rb +24 -0
- data/vendor/spinel/test/stringio_putc_fsync.rb.expected +3 -0
- data/vendor/spinel/test/strip_nul.rb +13 -0
- data/vendor/spinel/test/strip_nul.rb.expected +8 -0
- data/vendor/spinel/test/struct_dig.rb +16 -0
- data/vendor/spinel/test/struct_int_member_unboxed.rb +14 -0
- data/vendor/spinel/test/struct_int_member_unboxed.rb.expected +6 -0
- data/vendor/spinel/test/struct_member_name_no_global_merge.rb +28 -0
- data/vendor/spinel/test/struct_member_name_no_global_merge.rb.expected +3 -0
- data/vendor/spinel/test/struct_to_a_values.rb +12 -0
- data/vendor/spinel/test/struct_to_a_values.rb.expected +6 -0
- data/vendor/spinel/test/struct_to_h.rb +8 -0
- data/vendor/spinel/test/struct_to_h.rb.expected +4 -0
- data/vendor/spinel/test/struct_to_h_block.rb +30 -0
- data/vendor/spinel/test/super_in_non_initialize.rb +44 -0
- data/vendor/spinel/test/super_in_non_initialize.rb.expected +3 -0
- data/vendor/spinel/test/super_with_args.rb +25 -0
- data/vendor/spinel/test/super_with_args.rb.expected +4 -0
- data/vendor/spinel/test/sym_hash_cross_variant_merge.rb +40 -0
- data/vendor/spinel/test/sym_hash_cross_variant_merge.rb.expected +3 -0
- data/vendor/spinel/test/sym_int_hash_merge.rb +52 -0
- data/vendor/spinel/test/sym_int_hash_merge.rb.expected +11 -0
- data/vendor/spinel/test/sym_int_hash_missing_key_nil.rb +15 -0
- data/vendor/spinel/test/sym_int_hash_missing_key_nil.rb.expected +11 -0
- data/vendor/spinel/test/sym_poly_hash_merge_sym_int.rb +18 -0
- data/vendor/spinel/test/sym_poly_hash_merge_sym_int.rb.expected +4 -0
- data/vendor/spinel/test/symbol_id2name_ruby_desc_minmax.rb +13 -0
- data/vendor/spinel/test/symbol_id2name_ruby_desc_minmax.rb.expected +7 -0
- data/vendor/spinel/test/symbol_to_proc_after_positional.rb +18 -0
- data/vendor/spinel/test/symbol_to_proc_after_positional.rb.expected +5 -0
- data/vendor/spinel/test/symbol_upcase_interpolation.rb +24 -0
- data/vendor/spinel/test/symbol_upcase_interpolation.rb.expected +5 -0
- data/vendor/spinel/test/system_argument_list.rb +15 -0
- data/vendor/spinel/test/system_argument_list.rb.expected +7 -0
- data/vendor/spinel/test/thread_new_value.rb +5 -0
- data/vendor/spinel/test/thread_new_value.rb.expected +2 -0
- data/vendor/spinel/test/time_localtime_gmtime.rb +19 -0
- data/vendor/spinel/test/time_mktime_local_utc.rb +24 -0
- data/vendor/spinel/test/time_mktime_local_utc.rb.expected +13 -0
- data/vendor/spinel/test/time_strftime_long_format.rb +21 -0
- data/vendor/spinel/test/time_strftime_long_format.rb.expected +5 -0
- data/vendor/spinel/test/time_subsec_utc.rb +19 -0
- data/vendor/spinel/test/time_subsec_utc.rb.expected +9 -0
- data/vendor/spinel/test/time_to_s.rb +5 -0
- data/vendor/spinel/test/toplevel_include_module_function.rb +101 -0
- data/vendor/spinel/test/toplevel_include_module_function.rb.expected +8 -0
- data/vendor/spinel/test/toplevel_kwrest_block_param.rb +19 -0
- data/vendor/spinel/test/toplevel_kwrest_block_param.rb.expected +2 -0
- data/vendor/spinel/test/tuple_inspect.rb +9 -0
- data/vendor/spinel/test/tuple_inspect.rb.expected +4 -0
- data/vendor/spinel/test/typed_array_empty_returns_nil.rb +19 -0
- data/vendor/spinel/test/typed_array_empty_returns_nil.rb.expected +8 -0
- data/vendor/spinel/test/typed_array_include_cross_type.rb +6 -0
- data/vendor/spinel/test/typed_hash_caller_no_body_widen.rb +46 -0
- data/vendor/spinel/test/typed_hash_caller_no_body_widen.rb.expected +1 -0
- data/vendor/spinel/test/typed_hash_inspect_and_each_value.rb +12 -0
- data/vendor/spinel/test/typed_hash_inspect_and_each_value.rb.expected +6 -0
- data/vendor/spinel/test/typed_hash_missing_returns_nil.rb +17 -0
- data/vendor/spinel/test/typed_hash_missing_returns_nil.rb.expected +4 -0
- data/vendor/spinel/test/unary_operator_methods.rb +19 -0
- data/vendor/spinel/test/unary_operator_methods.rb.expected +3 -0
- data/vendor/spinel/test/undef_method_raises.rb +34 -0
- data/vendor/spinel/test/undef_method_raises.rb.expected +3 -0
- data/vendor/spinel/test/uninit_const_raises_nameerror.rb +18 -0
- data/vendor/spinel/test/uninit_ivar_returns_nil.rb +23 -0
- data/vendor/spinel/test/uninit_ivar_returns_nil.rb.expected +4 -0
- data/vendor/spinel/test/unless_return_path_hash.rb +39 -0
- data/vendor/spinel/test/unless_return_path_hash.rb.expected +6 -0
- data/vendor/spinel/test/user_class_aset_dispatch.rb +75 -0
- data/vendor/spinel/test/user_class_aset_dispatch.rb.expected +3 -0
- data/vendor/spinel/test/value_type_tuple_gc_scan.rb +28 -0
- data/vendor/spinel/test/value_type_tuple_gc_scan.rb.expected +2 -0
- data/vendor/spinel/test/values_at.rb +19 -0
- data/vendor/spinel/test/values_at.rb.expected +4 -0
- data/vendor/spinel/test/volatile_strip_skips_coerced_arg.expected +1 -0
- data/vendor/spinel/test/volatile_strip_skips_coerced_arg.rb +30 -0
- data/vendor/spinel/test/warn_kernel.rb +13 -0
- data/vendor/spinel/test/warn_kernel.rb.expected +3 -0
- data/vendor/spinel/test/warn_unresolved_call_context.rb +20 -0
- data/vendor/spinel/test/when_splat_rational_complex.rb +30 -0
- data/vendor/spinel/test/when_splat_rational_complex.rb.expected +6 -0
- data/vendor/spinel/test/yield_call_assigned_return.rb +41 -0
- data/vendor/spinel/test/yield_call_assigned_return.rb.expected +6 -0
- data/vendor/spinel/test/yield_typed_hash_block_local.rb +41 -0
- data/vendor/spinel/test/yield_typed_hash_block_local.rb.expected +2 -0
- data/vendor/spinel/test/yield_value_return.rb +52 -0
- data/vendor/spinel/test/yield_value_return.rb.expected +8 -0
- data/vendor/spinel/test/yield_value_returns_from_method.expected +6 -0
- data/vendor/spinel/test/yield_value_returns_from_method.rb +27 -0
- data/vendor/spinel/tools/fast-bootstrap +74 -0
- metadata +1326 -279
- data/vendor/spinel/test/alias_method.rb +0 -28
- data/vendor/spinel/test/alias_method.rb.expected +0 -5
- data/vendor/spinel/test/and_node_poly_operand.rb +0 -24
- data/vendor/spinel/test/array_3d_nested.rb +0 -48
- data/vendor/spinel/test/array_clear_typed.rb +0 -40
- data/vendor/spinel/test/array_clear_typed.rb.expected +0 -7
- data/vendor/spinel/test/array_concat.rb +0 -18
- data/vendor/spinel/test/array_concat.rb.expected +0 -2
- data/vendor/spinel/test/array_each_with_object.rb +0 -17
- data/vendor/spinel/test/array_flat_map.rb +0 -16
- data/vendor/spinel/test/array_flat_map.rb.expected +0 -2
- data/vendor/spinel/test/array_keyed_hash_int_array_eql.rb +0 -29
- data/vendor/spinel/test/array_keyed_hash_int_array_eql.rb.expected +0 -6
- data/vendor/spinel/test/array_method_name_clash.rb +0 -15
- data/vendor/spinel/test/array_new_block_typed_container.rb +0 -37
- data/vendor/spinel/test/array_new_block_typed_container.rb.expected +0 -7
- data/vendor/spinel/test/array_new_empty_inner_deferred.rb +0 -47
- data/vendor/spinel/test/array_new_empty_inner_deferred.rb.expected +0 -8
- data/vendor/spinel/test/array_partition_gc.rb +0 -20
- data/vendor/spinel/test/array_partition_gc.rb.expected +0 -3
- data/vendor/spinel/test/array_plus.rb +0 -18
- data/vendor/spinel/test/array_plus.rb.expected +0 -2
- data/vendor/spinel/test/array_rotate_bang.rb +0 -54
- data/vendor/spinel/test/array_rotate_bang.rb.expected +0 -34
- data/vendor/spinel/test/array_shuffle_ptr.rb +0 -11
- data/vendor/spinel/test/attr_writer_poly_box.rb +0 -24
- data/vendor/spinel/test/attr_writer_poly_no_double_eval.rb +0 -29
- data/vendor/spinel/test/attr_writer_poly_no_double_eval.rb.expected +0 -3
- data/vendor/spinel/test/attr_writer_returns_rhs.rb +0 -23
- data/vendor/spinel/test/auto_unbox_keeps_int_slot.rb +0 -38
- data/vendor/spinel/test/auto_unbox_keeps_int_slot.rb.expected +0 -3
- data/vendor/spinel/test/auto_unbox_poly_to_int_local.rb +0 -36
- data/vendor/spinel/test/auto_unbox_poly_to_int_local.rb.expected +0 -2
- data/vendor/spinel/test/bare_return_in_cls_method.rb +0 -46
- data/vendor/spinel/test/bare_return_in_cls_method.rb.expected +0 -2
- data/vendor/spinel/test/bare_return_in_poly_method.rb +0 -26
- data/vendor/spinel/test/bare_return_in_poly_method.rb.expected +0 -2
- data/vendor/spinel/test/bound_method_array.rb +0 -22
- data/vendor/spinel/test/bound_method_array.rb.expected +0 -4
- data/vendor/spinel/test/bound_method_basic.rb +0 -27
- data/vendor/spinel/test/bound_method_basic.rb.expected +0 -2
- data/vendor/spinel/test/call_op_write.rb +0 -51
- data/vendor/spinel/test/call_op_write.rb.expected +0 -11
- data/vendor/spinel/test/chained_attr_setter.rb +0 -55
- data/vendor/spinel/test/chained_ivar_op_assign_emits_inner_write.rb +0 -28
- data/vendor/spinel/test/chained_ivar_op_assign_emits_inner_write.rb.expected +0 -3
- data/vendor/spinel/test/chained_ivar_write_split.rb +0 -26
- data/vendor/spinel/test/chained_ivar_write_split.rb.expected +0 -3
- data/vendor/spinel/test/chained_ivar_write_subclass.rb +0 -26
- data/vendor/spinel/test/chained_ivar_write_subclass.rb.expected +0 -2
- data/vendor/spinel/test/chained_or_assign_collection_array_nested.rb +0 -32
- data/vendor/spinel/test/chained_or_assign_collection_array_nested.rb.expected +0 -3
- data/vendor/spinel/test/chained_or_assign_collection_element.rb +0 -29
- data/vendor/spinel/test/chained_or_assign_collection_element.rb.expected +0 -2
- data/vendor/spinel/test/chained_or_assign_collection_poly_array.rb +0 -25
- data/vendor/spinel/test/chained_or_assign_collection_poly_array.rb.expected +0 -3
- data/vendor/spinel/test/chained_or_assign_collection_str_keys.rb +0 -24
- data/vendor/spinel/test/chained_or_assign_collection_str_keys.rb.expected +0 -3
- data/vendor/spinel/test/class_constant_sym_array.rb +0 -19
- data/vendor/spinel/test/class_var_write.rb +0 -19
- data/vendor/spinel/test/cls_ivar_type_parent_defer.rb +0 -32
- data/vendor/spinel/test/cls_method_object.rb +0 -31
- data/vendor/spinel/test/cls_method_object.rb.expected +0 -2
- data/vendor/spinel/test/comparable.rb +0 -21
- data/vendor/spinel/test/comparable.rb.expected +0 -5
- data/vendor/spinel/test/default_argv_narrows_from_string_call_site.rb +0 -32
- data/vendor/spinel/test/each_poly_recv_block_auto_splat.rb +0 -43
- data/vendor/spinel/test/each_poly_recv_block_auto_splat.rb.expected +0 -2
- data/vendor/spinel/test/each_with_object_seed_shadow.rb +0 -14
- data/vendor/spinel/test/each_with_object_seed_shadow.rb.expected +0 -4
- data/vendor/spinel/test/empty_hash_ivar_string_value.rb +0 -51
- data/vendor/spinel/test/empty_hash_ivar_string_value.rb.expected +0 -4
- data/vendor/spinel/test/ensure_raise_overrides_body_raise.rb +0 -19
- data/vendor/spinel/test/ensure_raise_overrides_body_raise.rb.expected +0 -1
- data/vendor/spinel/test/ensure_runs_on_raise.rb +0 -32
- data/vendor/spinel/test/ensure_runs_on_raise.rb.expected +0 -3
- data/vendor/spinel/test/ensure_runs_on_raise_nested.rb +0 -38
- data/vendor/spinel/test/ensure_runs_on_raise_nested.rb.expected +0 -4
- data/vendor/spinel/test/ensure_runs_on_return_from_rescue.rb +0 -26
- data/vendor/spinel/test/ensure_runs_on_return_from_rescue.rb.expected +0 -2
- data/vendor/spinel/test/ensure_runs_on_return_nested.rb +0 -37
- data/vendor/spinel/test/ensure_runs_on_return_nested.rb.expected +0 -3
- data/vendor/spinel/test/enumerable.rb +0 -19
- data/vendor/spinel/test/enumerable.rb.expected +0 -2
- data/vendor/spinel/test/exceptions.rb +0 -34
- data/vendor/spinel/test/exceptions.rb.expected +0 -4
- data/vendor/spinel/test/fiber_ivar_persists_across_yield.rb +0 -22
- data/vendor/spinel/test/fiber_ivar_persists_across_yield.rb.expected +0 -3
- data/vendor/spinel/test/fiber_yield_across_method_call.rb +0 -28
- data/vendor/spinel/test/fiber_yield_across_method_call.rb.expected +0 -3
- data/vendor/spinel/test/file_class_methods_int_recv.rb +0 -20
- data/vendor/spinel/test/file_class_methods_int_recv.rb.expected +0 -3
- data/vendor/spinel/test/float_array_sort.rb +0 -18
- data/vendor/spinel/test/float_array_sort.rb.expected +0 -8
- data/vendor/spinel/test/forward_call_class_method_inherited_init.rb +0 -36
- data/vendor/spinel/test/forward_call_class_method_inherited_init.rb.expected +0 -1
- data/vendor/spinel/test/forward_call_class_method_inherited_init_int_array.rb +0 -32
- data/vendor/spinel/test/forward_call_class_method_inherited_init_obj.rb +0 -41
- data/vendor/spinel/test/forward_call_class_method_inherited_init_obj.rb.expected +0 -1
- data/vendor/spinel/test/forward_call_class_method_int_array.rb +0 -26
- data/vendor/spinel/test/forward_call_class_method_int_array.rb.expected +0 -1
- data/vendor/spinel/test/forward_call_class_method_nested.rb +0 -35
- data/vendor/spinel/test/forward_call_class_method_obj.rb +0 -36
- data/vendor/spinel/test/forward_call_class_method_obj.rb.expected +0 -1
- data/vendor/spinel/test/forward_call_param_type_int_array.rb +0 -34
- data/vendor/spinel/test/forward_call_param_type_int_array.rb.expected +0 -1
- data/vendor/spinel/test/forward_call_param_type_obj.rb +0 -38
- data/vendor/spinel/test/forward_call_param_type_obj.rb.expected +0 -1
- data/vendor/spinel/test/gc_save_double_in_new.rb +0 -13
- data/vendor/spinel/test/gc_save_double_in_new.rb.expected +0 -1
- data/vendor/spinel/test/gc_scan_skip_inherited_ivar.rb +0 -54
- data/vendor/spinel/test/gc_scan_skip_inherited_ivar.rb.expected +0 -2
- data/vendor/spinel/test/heterogeneous_dispatch_int_return_narrow.rb +0 -46
- data/vendor/spinel/test/heterogeneous_dispatch_int_return_narrow.rb.expected +0 -2
- data/vendor/spinel/test/if_static_false_skips_dead_branch_compile.rb +0 -50
- data/vendor/spinel/test/if_static_false_skips_dead_branch_compile.rb.expected +0 -3
- data/vendor/spinel/test/implicit_self_param_poly.rb +0 -17
- data/vendor/spinel/test/implicit_self_param_poly.rb.expected +0 -1
- data/vendor/spinel/test/inherit.rb +0 -52
- data/vendor/spinel/test/inherit.rb.expected +0 -7
- data/vendor/spinel/test/inherited_method_param_widen.rb +0 -49
- data/vendor/spinel/test/init_locals.rb +0 -43
- data/vendor/spinel/test/init_locals.rb.expected +0 -3
- data/vendor/spinel/test/initialize_param_poly_call_sites.rb +0 -20
- data/vendor/spinel/test/initialize_param_poly_call_sites.rb.expected +0 -2
- data/vendor/spinel/test/initialize_param_through_call.rb +0 -15
- data/vendor/spinel/test/initialize_void_wrapper_gc_save.rb +0 -40
- data/vendor/spinel/test/int_array_replace_expr.rb +0 -23
- data/vendor/spinel/test/int_array_replace_expr.rb.expected +0 -7
- data/vendor/spinel/test/intarray_slice_assign_from_intarray_ptr_array_first.rb +0 -25
- data/vendor/spinel/test/intarray_slice_assign_from_intarray_ptr_array_first.rb.expected +0 -1
- data/vendor/spinel/test/integer_div.rb +0 -21
- data/vendor/spinel/test/integer_div.rb.expected +0 -10
- data/vendor/spinel/test/introspect.rb +0 -35
- data/vendor/spinel/test/introspect.rb.expected +0 -11
- data/vendor/spinel/test/issue176_empty_hash_default.rb +0 -34
- data/vendor/spinel/test/issue176_empty_hash_default.rb.expected +0 -3
- data/vendor/spinel/test/issue204_user_find_fetch.rb +0 -25
- data/vendor/spinel/test/issue204_user_find_fetch.rb.expected +0 -5
- data/vendor/spinel/test/issue207_factory_pattern.rb +0 -35
- data/vendor/spinel/test/issue207_factory_pattern.rb.expected +0 -1
- data/vendor/spinel/test/issue207_full_repro.rb +0 -52
- data/vendor/spinel/test/issue207_full_repro.rb.expected +0 -1
- data/vendor/spinel/test/issue208_inherited_class_method.rb +0 -24
- data/vendor/spinel/test/issue208_inherited_class_method.rb.expected +0 -4
- data/vendor/spinel/test/issue219_aref_chain.rb +0 -36
- data/vendor/spinel/test/issue219_aref_chain.rb.expected +0 -5
- data/vendor/spinel/test/issue235_chain_tail_widening.rb +0 -48
- data/vendor/spinel/test/issue235_chain_tail_widening.rb.expected +0 -5
- data/vendor/spinel/test/ivar_and_write_basic.rb +0 -34
- data/vendor/spinel/test/ivar_and_write_basic.rb.expected +0 -5
- data/vendor/spinel/test/ivar_c_keyword.rb +0 -14
- data/vendor/spinel/test/ivar_c_keyword.rb.expected +0 -1
- data/vendor/spinel/test/ivar_float_array.rb +0 -59
- data/vendor/spinel/test/ivar_float_array.rb.expected +0 -11
- data/vendor/spinel/test/ivar_op_assign_bitwise_and_shift.rb +0 -22
- data/vendor/spinel/test/ivar_op_assign_bitwise_and_shift.rb.expected +0 -6
- data/vendor/spinel/test/ivar_or_write_basic.rb +0 -57
- data/vendor/spinel/test/ivar_or_write_basic.rb.expected +0 -9
- data/vendor/spinel/test/ivar_writer_heterogeneity.rb +0 -34
- data/vendor/spinel/test/ivar_writer_heterogeneity.rb.expected +0 -2
- data/vendor/spinel/test/known_constants.rb +0 -25
- data/vendor/spinel/test/known_constants.rb.expected +0 -4
- data/vendor/spinel/test/kw_nil_default_string_call.rb +0 -6
- data/vendor/spinel/test/kw_nil_default_string_call.rb.expected +0 -2
- data/vendor/spinel/test/map_array_block_result.rb +0 -29
- data/vendor/spinel/test/map_array_block_result.rb.expected +0 -2
- data/vendor/spinel/test/map_block_returns_nested_array.rb +0 -53
- data/vendor/spinel/test/map_empty_block.rb +0 -26
- data/vendor/spinel/test/map_empty_block.rb.expected +0 -6
- data/vendor/spinel/test/map_range_recv_array_block.rb +0 -31
- data/vendor/spinel/test/method_param_unify_to_poly.rb +0 -40
- data/vendor/spinel/test/method_param_unify_to_poly.rb.expected +0 -2
- data/vendor/spinel/test/multi_arg_block_call.rb +0 -56
- data/vendor/spinel/test/multi_arg_block_call.rb.expected +0 -5
- data/vendor/spinel/test/multi_assign_ivar.rb +0 -33
- data/vendor/spinel/test/multi_assign_ivar.rb.expected +0 -1
- data/vendor/spinel/test/multi_write_const.rb +0 -36
- data/vendor/spinel/test/multi_write_const.rb.expected +0 -9
- data/vendor/spinel/test/multi_write_from_poly_recv.rb +0 -34
- data/vendor/spinel/test/multi_write_ivar.rb +0 -34
- data/vendor/spinel/test/multi_write_ivar.rb.expected +0 -3
- data/vendor/spinel/test/multi_write_ivar_widening.rb +0 -10
- data/vendor/spinel/test/multi_write_ivar_widening.rb.expected +0 -2
- data/vendor/spinel/test/multi_write_map_block.rb +0 -31
- data/vendor/spinel/test/multi_write_map_block.rb.expected +0 -7
- data/vendor/spinel/test/multi_write_setter.rb +0 -28
- data/vendor/spinel/test/multi_write_setter.rb.expected +0 -3
- data/vendor/spinel/test/multi_write_typed_array_dispatch.rb +0 -44
- data/vendor/spinel/test/multi_write_typed_array_dispatch.rb.expected +0 -3
- data/vendor/spinel/test/nested_class_in_class.rb +0 -38
- data/vendor/spinel/test/nested_class_in_class.rb.expected +0 -3
- data/vendor/spinel/test/no_attr_write_shortcut_complex.rb +0 -33
- data/vendor/spinel/test/no_attr_write_shortcut_complex.rb.expected +0 -3
- data/vendor/spinel/test/no_attr_write_shortcut_multi.rb +0 -38
- data/vendor/spinel/test/no_attr_write_shortcut_multi.rb.expected +0 -4
- data/vendor/spinel/test/no_keywords_param.rb +0 -15
- data/vendor/spinel/test/no_keywords_param.rb.expected +0 -2
- data/vendor/spinel/test/obj_array.rb +0 -26
- data/vendor/spinel/test/obj_array.rb.expected +0 -6
- data/vendor/spinel/test/obj_class_returns_string.rb +0 -24
- data/vendor/spinel/test/obj_class_returns_string.rb.expected +0 -2
- data/vendor/spinel/test/optional_string_param_method.rb +0 -11
- data/vendor/spinel/test/optional_string_param_method.rb.expected +0 -3
- data/vendor/spinel/test/poly_array_literal_callnode_typed_elem.rb +0 -37
- data/vendor/spinel/test/poly_array_literal_callnode_typed_elem.rb.expected +0 -9
- data/vendor/spinel/test/poly_array_slot_literal.rb +0 -41
- data/vendor/spinel/test/poly_array_slot_sized_default.rb +0 -33
- data/vendor/spinel/test/poly_box_int_array.rb +0 -13
- data/vendor/spinel/test/poly_box_int_array.rb.expected +0 -2
- data/vendor/spinel/test/poly_dispatch_args_ret.rb +0 -45
- data/vendor/spinel/test/poly_dispatch_args_ret.rb.expected +0 -4
- data/vendor/spinel/test/poly_dispatch_arity_padding.rb +0 -36
- data/vendor/spinel/test/poly_dispatch_arity_truncate.rb +0 -45
- data/vendor/spinel/test/poly_hash_literal_from_ivar.rb +0 -47
- data/vendor/spinel/test/poly_hash_literal_from_ivar.rb.expected +0 -5
- data/vendor/spinel/test/poly_int_arith_auto_unify.rb +0 -26
- data/vendor/spinel/test/poly_int_arith_auto_unify.rb.expected +0 -4
- data/vendor/spinel/test/poly_int_bit_index.rb +0 -50
- data/vendor/spinel/test/poly_int_bit_index.rb.expected +0 -14
- data/vendor/spinel/test/poly_or_returns_value.rb +0 -13
- data/vendor/spinel/test/poly_or_returns_value.rb.expected +0 -4
- data/vendor/spinel/test/poly_recv_bracket_assign.rb +0 -31
- data/vendor/spinel/test/poly_recv_bracket_assign.rb.expected +0 -1
- data/vendor/spinel/test/poly_recv_each.rb +0 -35
- data/vendor/spinel/test/poly_recv_each.rb.expected +0 -7
- data/vendor/spinel/test/poly_shl_array_push_dispatch.rb +0 -35
- data/vendor/spinel/test/poly_shl_array_push_dispatch.rb.expected +0 -5
- data/vendor/spinel/test/proc_hash_value.rb +0 -27
- data/vendor/spinel/test/regexp.rb +0 -34
- data/vendor/spinel/test/regexp.rb.expected +0 -12
- data/vendor/spinel/test/reopen_class.rb +0 -33
- data/vendor/spinel/test/reopen_class.rb.expected +0 -5
- data/vendor/spinel/test/runtime_widen_int_to_poly_array.rb +0 -27
- data/vendor/spinel/test/runtime_widen_int_to_poly_array.rb.expected +0 -3
- data/vendor/spinel/test/sample_user_method.rb +0 -20
- data/vendor/spinel/test/scan_ivars_inherited_slot.rb +0 -32
- data/vendor/spinel/test/scan_new_calls_class_scope.rb +0 -35
- data/vendor/spinel/test/send.rb +0 -15
- data/vendor/spinel/test/send.rb.expected +0 -2
- data/vendor/spinel/test/stdlib.rb +0 -28
- data/vendor/spinel/test/stdlib.rb.expected +0 -5
- data/vendor/spinel/test/strip_nullable_int_cast.rb +0 -24
- data/vendor/spinel/test/super_arg_cross_class_cast.rb +0 -39
- data/vendor/spinel/test/super_arg_cross_class_cast.rb.expected +0 -2
- data/vendor/spinel/test/super_forwarding.rb +0 -25
- data/vendor/spinel/test/super_forwarding.rb.expected +0 -3
- data/vendor/spinel/test/sym_case.rb +0 -15
- data/vendor/spinel/test/sym_case.rb.expected +0 -4
- data/vendor/spinel/test/symbol_ivar_reassign.rb +0 -25
- data/vendor/spinel/test/symbol_ivar_reassign.rb.expected +0 -2
- data/vendor/spinel/test/toplevel_ivar_array.rb +0 -19
- data/vendor/spinel/test/toplevel_ivar_array.rb.expected +0 -4
- data/vendor/spinel/test/unbox_poly_index_in_dispatch.rb +0 -20
- data/vendor/spinel/test/unbox_poly_index_in_dispatch.rb.expected +0 -1
- data/vendor/spinel/test/undef.rb +0 -33
- data/vendor/spinel/test/undef.rb.expected +0 -2
- data/vendor/spinel/test/user_method_named_like_mutator.rb +0 -30
- data/vendor/spinel/test/user_method_named_like_mutator.rb.expected +0 -2
- data/vendor/spinel/test/value_type_ctor_gc_save.rb +0 -46
- data/vendor/spinel/test/value_type_ctor_gc_save.rb.expected +0 -3
- data/vendor/spinel/test/widen_int_obj_to_poly.rb +0 -29
- /data/vendor/spinel/test/{multi_write_from_poly_recv.rb.expected → bare_arg_in_module_body.rb.expected} +0 -0
- /data/vendor/spinel/test/{default_argv_narrows_from_string_call_site.rb.expected → cvar_method_first_assign.rb.expected} +0 -0
- /data/vendor/spinel/test/{array_each_with_object.rb.expected → empty_array_push_container_elem.rb.expected} +0 -0
- /data/vendor/spinel/test/{class_var_write.rb.expected → ffi_array_specs_decl.rb.expected} +0 -0
- /data/vendor/spinel/test/{array_method_name_clash.rb.expected → ffi_int_arg_poly_value.rb.expected} +0 -0
- /data/vendor/spinel/test/{initialize_void_wrapper_gc_save.rb.expected → ffi_ptr_array.rb.expected} +0 -0
- /data/vendor/spinel/test/{inherited_method_param_widen.rb.expected → ffi_ptr_int_literal.rb.expected} +0 -0
- /data/vendor/spinel/test/{forward_call_class_method_nested.rb.expected → ffi_str_arg_poly_value.rb.expected} +0 -0
- /data/vendor/spinel/test/{proc_hash_value.rb.expected → file_write_at_tail_position.rb.expected} +0 -0
- /data/vendor/spinel/test/{array_shuffle_ptr.rb.expected → hash_key_via_intermediate_local.rb.expected} +0 -0
- /data/vendor/spinel/test/{forward_call_class_method_inherited_init_int_array.rb.expected → hash_param_widen_from_callee_slot.rb.expected} +0 -0
- /data/vendor/spinel/test/{strip_nullable_int_cast.rb.expected → hash_temp_gc_root.rb.expected} +0 -0
- /data/vendor/spinel/test/{scan_new_calls_class_scope.rb.expected → poly_recv_hash_dup.rb.expected} +0 -0
- /data/vendor/spinel/test/{class_constant_sym_array.rb.expected → respond_to_def_self_method.rb.expected} +0 -0
- /data/vendor/spinel/test/{initialize_param_through_call.rb.expected → warn_unresolved_call_context.rb.expected} +0 -0
data/vendor/spinel/Makefile
CHANGED
|
@@ -5,9 +5,19 @@
|
|
|
5
5
|
# make parse Build C parser only
|
|
6
6
|
# make bootstrap Bootstrap the compiler backend
|
|
7
7
|
# make test Run feature tests (requires bootstrap first)
|
|
8
|
+
# make fast-test Force feature tests with cheaper C optimization
|
|
8
9
|
# make bench Run benchmarks (requires bootstrap first)
|
|
9
10
|
# make clean Remove built binaries
|
|
10
11
|
|
|
12
|
+
# Machine-local overrides (gitignored). Lets a developer point the
|
|
13
|
+
# bootstrap at an alternative Ruby -- e.g. a YJIT-enabled miniruby --
|
|
14
|
+
# and set OPT/CC/etc. without editing committed defaults. Included
|
|
15
|
+
# before the `?=` defaults below so its values win; a command-line
|
|
16
|
+
# `make VAR=...` still overrides everything. Example local.mk:
|
|
17
|
+
# BOOTSTRAP_RUBY = /path/to/ruby/miniruby
|
|
18
|
+
# YJIT = 1
|
|
19
|
+
-include local.mk
|
|
20
|
+
|
|
11
21
|
CC ?= cc
|
|
12
22
|
# Auto-wrap CC with sccache or ccache when present. Skip when CC is
|
|
13
23
|
# already wrapped — the substring guard catches both "ccache" and
|
|
@@ -104,6 +114,28 @@ endif
|
|
|
104
114
|
# which the bootstrap miniruby can't load.
|
|
105
115
|
REF_RUBY ?= ruby
|
|
106
116
|
|
|
117
|
+
# Ruby used to run the bootstrap compiler (spinel_analyze.rb /
|
|
118
|
+
# spinel_codegen.rb interpret the compiler on its own source). These
|
|
119
|
+
# are long-running, hot-loop-heavy processes — exactly where YJIT
|
|
120
|
+
# amortizes its warmup — so `YJIT=1 make` adds `--yjit` here only.
|
|
121
|
+
# Opt-in because it requires a Ruby built with YJIT (3.3+ default-on,
|
|
122
|
+
# 3.1/3.2 need a YJIT-enabled build). The per-test REF_RUBY is left on
|
|
123
|
+
# plain `ruby`: those spawn a fresh short-lived process per file, so
|
|
124
|
+
# YJIT warmup never pays off before the process exits. YJIT does not
|
|
125
|
+
# change semantics, so the emitted IR / C is identical either way.
|
|
126
|
+
BOOTSTRAP_RUBY ?= ruby
|
|
127
|
+
ifeq ($(YJIT),1)
|
|
128
|
+
BOOTSTRAP_RUBY := $(BOOTSTRAP_RUBY) --yjit
|
|
129
|
+
endif
|
|
130
|
+
|
|
131
|
+
# FAST_BOOTSTRAP: how `make all` rebuilds the compiler backend.
|
|
132
|
+
# auto (default) -- use the previous compiled binaries (stage0) via
|
|
133
|
+
# tools/fast-bootstrap (~3.5x faster than the CRuby round);
|
|
134
|
+
# falls back to CRuby when stage0 is missing/unusable.
|
|
135
|
+
# 0 -- always use the CRuby authority round.
|
|
136
|
+
# `make bootstrap` always forces the CRuby round regardless of this.
|
|
137
|
+
FAST_BOOTSTRAP ?= auto
|
|
138
|
+
|
|
107
139
|
# Prism library: prefer vendor/prism (fetched via `make deps`), then
|
|
108
140
|
# fall back to the Prism gem if one is installed. Override by setting
|
|
109
141
|
# PRISM_DIR=/path/to/prism on the command line.
|
|
@@ -119,17 +151,41 @@ PRISM_SRC = $(wildcard $(PRISM_DIR)/src/*.c) $(wildcard $(PRISM_DIR)/src/util
|
|
|
119
151
|
PRISM_OBJ = $(patsubst $(PRISM_DIR)/src/%.c,build/prism/%.o,$(PRISM_SRC))
|
|
120
152
|
PRISM_LIB = build/libprism.a
|
|
121
153
|
|
|
154
|
+
# rbs C parser. Fetched via `make deps` from rubygems.org (the rbs
|
|
155
|
+
# gem bundles its standalone C parser under src/ + include/, the same
|
|
156
|
+
# way prism does). Consumed by spinel_rbs_extract to produce a seed
|
|
157
|
+
# file for spinel_analyze when --rbs is passed.
|
|
158
|
+
RBS_VERSION ?= 4.0.1
|
|
159
|
+
RBS_DIR = vendor/rbs
|
|
160
|
+
RBS_INC = $(RBS_DIR)/include
|
|
161
|
+
RBS_SRC = $(wildcard $(RBS_DIR)/src/*.c) $(wildcard $(RBS_DIR)/src/util/*.c)
|
|
162
|
+
RBS_OBJ = $(patsubst $(RBS_DIR)/src/%.c,build/rbs/%.o,$(RBS_SRC))
|
|
163
|
+
RBS_LIB = build/librbs.a
|
|
164
|
+
|
|
122
165
|
CODEGEN_STAMP := build/stamps/spinel_codegen.rb.stamp
|
|
166
|
+
ANALYZE_STAMP := build/stamps/spinel_analyze.rb.stamp
|
|
167
|
+
NODE_TABLE_LOADER_STAMP := build/stamps/node_table_loader.rb.stamp
|
|
168
|
+
COMPILER_HELPERS_STAMP := build/stamps/compiler_helpers.rb.stamp
|
|
123
169
|
PARSE_STAMP := build/stamps/spinel_parse.c.stamp
|
|
124
170
|
|
|
125
|
-
.PHONY: all parse bootstrap codegen test retest clean-test-results regen-expected bench optcarrot clean install uninstall deps
|
|
171
|
+
.PHONY: all parse bootstrap bootstrap-fixpoint fast-bootstrap codegen rbs_extract rbs-test analyze-fail-test regen-rbs-expected test retest fast-test clean-test-results regen-expected bench optcarrot gate check gate-legs gate-test gate-bench gate-optcarrot clean install uninstall deps FORCE
|
|
172
|
+
|
|
173
|
+
# `make all` includes spinel_rbs_extract when vendor/rbs has been
|
|
174
|
+
# fetched (via `make deps`). Without vendor/rbs the extractor is
|
|
175
|
+
# silently omitted -- spinel still works; `spinel --rbs DIR` then
|
|
176
|
+
# becomes a no-op (warns and proceeds without seeds).
|
|
177
|
+
ifneq ($(wildcard $(RBS_INC)/rbs/parser.h),)
|
|
178
|
+
RBS_EXTRACT_TARGET = spinel_rbs_extract$(EXE)
|
|
179
|
+
else
|
|
180
|
+
RBS_EXTRACT_TARGET =
|
|
181
|
+
endif
|
|
126
182
|
|
|
127
|
-
all: parse regexp spinel_codegen$(EXE)
|
|
183
|
+
all: parse regexp spinel_analyze$(EXE) spinel_codegen$(EXE) $(RBS_EXTRACT_TARGET)
|
|
128
184
|
|
|
129
185
|
# ---- Dependencies ----
|
|
130
186
|
# Clone Prism into vendor/prism at the pinned version. Run this once
|
|
131
187
|
# after cloning Spinel if you don't have the Prism gem installed.
|
|
132
|
-
deps: vendor/prism/include/prism/diagnostic.h
|
|
188
|
+
deps: vendor/prism/include/prism/diagnostic.h vendor/rbs/include/rbs/parser.h
|
|
133
189
|
|
|
134
190
|
# Download the pre-built Prism gem from rubygems.org and extract its C
|
|
135
191
|
# sources. We use the .gem tarball instead of a git clone because it
|
|
@@ -145,6 +201,21 @@ vendor/prism/include/prism/diagnostic.h:
|
|
|
145
201
|
rm -rf $$tmpdir /tmp/prism-$(PRISM_VERSION).gem
|
|
146
202
|
@test -f $@ && echo "prism v$(PRISM_VERSION) ready at vendor/prism"
|
|
147
203
|
|
|
204
|
+
# Same shape as the prism fetch above: download the rbs gem from
|
|
205
|
+
# rubygems.org and extract its bundled C parser into vendor/rbs.
|
|
206
|
+
# The gem ships src/ + include/ (the same files used to build the
|
|
207
|
+
# Rust ruby-rbs binding and the Ruby C-extension) which is exactly
|
|
208
|
+
# what spinel_rbs_extract needs.
|
|
209
|
+
vendor/rbs/include/rbs/parser.h:
|
|
210
|
+
@mkdir -p vendor/rbs
|
|
211
|
+
@echo "Fetching rbs v$(RBS_VERSION) from rubygems.org..."
|
|
212
|
+
curl -sL -o /tmp/rbs-$(RBS_VERSION).gem https://rubygems.org/gems/rbs-$(RBS_VERSION).gem
|
|
213
|
+
@tmpdir=$$(mktemp -d); \
|
|
214
|
+
tar -xf /tmp/rbs-$(RBS_VERSION).gem -C $$tmpdir data.tar.gz; \
|
|
215
|
+
tar -xzf $$tmpdir/data.tar.gz -C vendor/rbs; \
|
|
216
|
+
rm -rf $$tmpdir /tmp/rbs-$(RBS_VERSION).gem
|
|
217
|
+
@test -f $@ && echo "rbs v$(RBS_VERSION) ready at vendor/rbs"
|
|
218
|
+
|
|
148
219
|
# If PRISM_DIR ended up empty (no vendor/prism, no gem), halt with a
|
|
149
220
|
# clear message before trying to build anything that needs it.
|
|
150
221
|
ifeq ($(PRISM_DIR),)
|
|
@@ -167,16 +238,33 @@ build/prism/%.o: $(PRISM_DIR)/src/%.c
|
|
|
167
238
|
@mkdir -p $(dir $@)
|
|
168
239
|
$(CC) -c -O2 -I$(PRISM_INC) -I$(PRISM_DIR)/src $< -o $@
|
|
169
240
|
|
|
241
|
+
# ---- rbs static library ----
|
|
242
|
+
|
|
243
|
+
build/librbs.a: $(RBS_OBJ)
|
|
244
|
+
@mkdir -p build
|
|
245
|
+
ar rcs $@ $^
|
|
246
|
+
|
|
247
|
+
build/rbs/%.o: $(RBS_DIR)/src/%.c
|
|
248
|
+
@mkdir -p $(dir $@)
|
|
249
|
+
$(CC) -c -O2 -Wno-all -I$(RBS_INC) -I$(RBS_DIR)/src $< -o $@
|
|
250
|
+
|
|
170
251
|
# ---- Content stamps ----
|
|
171
|
-
# Content stamps: rules depend on `build/stamps/foo.stamp`
|
|
172
|
-
# `foo` directly, so `touch foo` (or `git checkout` of an
|
|
173
|
-
# version) doesn't invalidate
|
|
174
|
-
#
|
|
252
|
+
# Content stamps: downstream rules depend on `build/stamps/foo.stamp`
|
|
253
|
+
# instead of `foo` directly, so `touch foo` (or `git checkout` of an
|
|
254
|
+
# identical version) doesn't invalidate bootstrap/test targets.
|
|
255
|
+
#
|
|
256
|
+
# The stamp rule intentionally does not list `%` as a normal prerequisite:
|
|
257
|
+
# if it did, a same-content but newer source would make GNU make consider
|
|
258
|
+
# the stamp out-of-date on every run when cmp leaves the stamp untouched.
|
|
259
|
+
# FORCE lets us cheaply re-check content each invocation, while downstream
|
|
260
|
+
# targets only rebuild when cp actually advances the stamp's mtime.
|
|
175
261
|
build/stamps:
|
|
176
262
|
@mkdir -p $@
|
|
177
263
|
|
|
178
|
-
|
|
179
|
-
|
|
264
|
+
FORCE:
|
|
265
|
+
|
|
266
|
+
build/stamps/%.stamp: FORCE | build/stamps
|
|
267
|
+
@cmp -s $* $@ 2>/dev/null || cp $* $@
|
|
180
268
|
|
|
181
269
|
# Without .PRECIOUS make would delete these as pattern-rule
|
|
182
270
|
# intermediates, recreating them with fresh mtimes next run.
|
|
@@ -189,6 +277,23 @@ parse: spinel_parse$(EXE)
|
|
|
189
277
|
spinel_parse$(EXE): $(PARSE_STAMP) $(PRISM_LIB)
|
|
190
278
|
$(CC) $(CFLAGS) -I$(PRISM_INC) spinel_parse.c $(PRISM_LIB) -lm -o $@
|
|
191
279
|
|
|
280
|
+
# ---- RBS extractor ----
|
|
281
|
+
# Reads sig/**/*.rbs, emits the seed-file format spinel_analyze
|
|
282
|
+
# consumes when invoked with `spinel --rbs DIR`.
|
|
283
|
+
|
|
284
|
+
ifeq ($(wildcard $(RBS_INC)/rbs/parser.h),)
|
|
285
|
+
rbs_extract: rbs-missing
|
|
286
|
+
rbs-missing:
|
|
287
|
+
@echo "Error: rbs C parser not found at $(RBS_INC)/rbs/parser.h."; \
|
|
288
|
+
echo " Run 'make deps' to fetch it from rubygems.org into vendor/rbs."; \
|
|
289
|
+
exit 1
|
|
290
|
+
else
|
|
291
|
+
rbs_extract: spinel_rbs_extract$(EXE)
|
|
292
|
+
|
|
293
|
+
spinel_rbs_extract$(EXE): spinel_rbs_extract.c $(RBS_LIB)
|
|
294
|
+
$(CC) $(CFLAGS) -I$(RBS_INC) spinel_rbs_extract.c $(RBS_LIB) -o $@
|
|
295
|
+
endif
|
|
296
|
+
|
|
192
297
|
# ---- Runtime library (regexp + bigint) ----
|
|
193
298
|
|
|
194
299
|
RE_SRC = lib/regexp/re_compile.c lib/regexp/re_exec.c lib/regexp/re_utf8.c
|
|
@@ -202,49 +307,201 @@ build/sp_bigint.o: lib/sp_bigint.c lib/sp_bigint.h lib/mruby_shim.h
|
|
|
202
307
|
@mkdir -p build
|
|
203
308
|
$(CC) -c -O2 -Wno-all $(SEC_FLAGS) -Ilib lib/sp_bigint.c -o build/sp_bigint.o
|
|
204
309
|
|
|
310
|
+
build/sp_crypto.o: lib/sp_crypto.c lib/sp_crypto.h
|
|
311
|
+
@mkdir -p build
|
|
312
|
+
$(CC) -c -O2 -Wno-all $(SEC_FLAGS) -Ilib lib/sp_crypto.c -o build/sp_crypto.o
|
|
313
|
+
|
|
314
|
+
build/sp_pack.o: lib/sp_pack.c lib/mruby_shim.h
|
|
315
|
+
@mkdir -p build
|
|
316
|
+
$(CC) -c -O2 -Wno-all $(SEC_FLAGS) -Ilib lib/sp_pack.c -o build/sp_pack.o
|
|
317
|
+
|
|
318
|
+
build/sp_strscan.o: lib/sp_strscan.c lib/mruby_shim.h
|
|
319
|
+
@mkdir -p build
|
|
320
|
+
$(CC) -c -O2 -Wno-all $(SEC_FLAGS) -Ilib -Ilib/regexp lib/sp_strscan.c -o build/sp_strscan.o
|
|
321
|
+
|
|
322
|
+
build/sp_time.o: lib/sp_time.c lib/sp_time.h
|
|
323
|
+
@mkdir -p build
|
|
324
|
+
$(CC) -c -O2 -Wno-all $(SEC_FLAGS) -Ilib lib/sp_time.c -o build/sp_time.o
|
|
325
|
+
|
|
326
|
+
build/sp_core.o: lib/sp_core.c lib/sp_core.h
|
|
327
|
+
@mkdir -p build
|
|
328
|
+
$(CC) -c -O2 -Wno-all $(SEC_FLAGS) -Ilib lib/sp_core.c -o build/sp_core.o
|
|
329
|
+
|
|
330
|
+
build/sp_system.o: lib/sp_system.c lib/sp_system.h
|
|
331
|
+
@mkdir -p build
|
|
332
|
+
$(CC) -c -O2 -Wno-all $(SEC_FLAGS) -Ilib lib/sp_system.c -o build/sp_system.o
|
|
333
|
+
|
|
334
|
+
build/sp_gc.o: lib/sp_gc.c lib/sp_gc.h lib/sp_types.h
|
|
335
|
+
@mkdir -p build
|
|
336
|
+
$(CC) -c -O2 -Wno-all $(SEC_FLAGS) -Ilib lib/sp_gc.c -o build/sp_gc.o
|
|
337
|
+
|
|
338
|
+
build/sp_fiber.o: lib/sp_fiber.c lib/sp_fiber.h lib/sp_gc.h lib/sp_types.h
|
|
339
|
+
@mkdir -p build
|
|
340
|
+
$(CC) -c -O2 -Wno-all $(SEC_FLAGS) -Ilib lib/sp_fiber.c -o build/sp_fiber.o
|
|
341
|
+
|
|
342
|
+
build/sp_net.o: lib/sp_net.c lib/sp_net.h
|
|
343
|
+
@mkdir -p build
|
|
344
|
+
$(CC) -c -O2 -Wno-all $(SEC_FLAGS) -Ilib lib/sp_net.c -o build/sp_net.o
|
|
345
|
+
|
|
346
|
+
build/sp_io.o: lib/sp_io.c lib/sp_io.h lib/sp_gc.h lib/sp_types.h
|
|
347
|
+
@mkdir -p build
|
|
348
|
+
$(CC) -c -O2 -Wno-all $(SEC_FLAGS) -Ilib lib/sp_io.c -o build/sp_io.o
|
|
349
|
+
|
|
205
350
|
SP_RT_LIB = lib/libspinel_rt.a
|
|
206
351
|
|
|
207
|
-
$(SP_RT_LIB): $(RE_OBJ) build/sp_bigint.o
|
|
352
|
+
$(SP_RT_LIB): $(RE_OBJ) build/sp_bigint.o build/sp_crypto.o build/sp_pack.o build/sp_strscan.o build/sp_time.o build/sp_core.o build/sp_net.o build/sp_system.o build/sp_gc.o build/sp_fiber.o build/sp_io.o
|
|
208
353
|
ar rcs $@ $^
|
|
209
354
|
|
|
210
355
|
regexp: $(SP_RT_LIB)
|
|
211
356
|
|
|
212
357
|
# ---- Build the codegen binary (fast path) ----
|
|
213
|
-
#
|
|
214
|
-
#
|
|
215
|
-
#
|
|
216
|
-
#
|
|
358
|
+
# Build both binaries via CRuby (the bootstrap "round 1"). Each
|
|
359
|
+
# spinel_<phase>.rb is its own ~20K-line source; we compile each
|
|
360
|
+
# through the same parse → analyze → codegen → cc pipeline. Use
|
|
361
|
+
# `make bootstrap` for the full self-hosting fixed-point check.
|
|
362
|
+
|
|
363
|
+
codegen: spinel_analyze$(EXE) spinel_codegen$(EXE)
|
|
364
|
+
|
|
365
|
+
# Round 1 pipeline split into per-stage rules. Previously the
|
|
366
|
+
# `spinel_<phase>$(EXE)` recipe produced its AST/IR/C1 outputs as
|
|
367
|
+
# side effects, which left those files without proper Make rules.
|
|
368
|
+
# Under parallel make that races: `build/codegen2.ir` (declared to
|
|
369
|
+
# depend on `build/codegen.ast`) could be scheduled before the
|
|
370
|
+
# spinel_codegen recipe had refreshed the AST, so it read a stale
|
|
371
|
+
# AST while later steps used the fresh one. The bid mismatch then
|
|
372
|
+
# corrupted scope tables in the bootstrap fixpoint output. See #620.
|
|
373
|
+
|
|
374
|
+
build/analyze.ast: $(ANALYZE_STAMP) $(NODE_TABLE_LOADER_STAMP) $(COMPILER_HELPERS_STAMP) spinel_parse$(EXE)
|
|
375
|
+
./spinel_parse$(EXE) spinel_analyze.rb build/analyze.ast
|
|
376
|
+
|
|
377
|
+
build/codegen.ast: $(CODEGEN_STAMP) $(NODE_TABLE_LOADER_STAMP) $(COMPILER_HELPERS_STAMP) spinel_parse$(EXE)
|
|
378
|
+
./spinel_parse$(EXE) spinel_codegen.rb build/codegen.ast
|
|
217
379
|
|
|
218
|
-
|
|
380
|
+
build/analyze.ir: build/analyze.ast $(ANALYZE_STAMP) $(NODE_TABLE_LOADER_STAMP) $(COMPILER_HELPERS_STAMP)
|
|
381
|
+
$(BOOTSTRAP_RUBY) spinel_analyze.rb build/analyze.ast build/analyze.ir
|
|
219
382
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
bootstrap
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
383
|
+
build/codegen.ir: build/codegen.ast $(ANALYZE_STAMP) $(NODE_TABLE_LOADER_STAMP) $(COMPILER_HELPERS_STAMP)
|
|
384
|
+
$(BOOTSTRAP_RUBY) spinel_analyze.rb build/codegen.ast build/codegen.ir
|
|
385
|
+
|
|
386
|
+
build/analyze1.c: build/analyze.ast build/analyze.ir $(CODEGEN_STAMP) $(NODE_TABLE_LOADER_STAMP) $(COMPILER_HELPERS_STAMP)
|
|
387
|
+
$(BOOTSTRAP_RUBY) spinel_codegen.rb build/analyze.ast build/analyze.ir build/analyze1.c
|
|
388
|
+
|
|
389
|
+
build/codegen1.c: build/codegen.ast build/codegen.ir $(CODEGEN_STAMP) $(NODE_TABLE_LOADER_STAMP) $(COMPILER_HELPERS_STAMP)
|
|
390
|
+
$(BOOTSTRAP_RUBY) spinel_codegen.rb build/codegen.ast build/codegen.ir build/codegen1.c
|
|
391
|
+
|
|
392
|
+
ifeq ($(FAST_BOOTSTRAP),auto)
|
|
393
|
+
# Default: rebuild BOTH compiler binaries from the previous binaries (stage0)
|
|
394
|
+
# via tools/fast-bootstrap, gated on the source stamps. Helper falls back to
|
|
395
|
+
# the CRuby rules (FAST_BOOTSTRAP=0) when stage0 is missing or can't compile
|
|
396
|
+
# the source.
|
|
397
|
+
#
|
|
398
|
+
# spinel_analyze carries the recipe and the helper produces BOTH binaries;
|
|
399
|
+
# spinel_codegen just waits on it. We deliberately do NOT use a `&:` grouped
|
|
400
|
+
# target: macOS's system Make (GNU Make 3.81) predates `&:` and runs the recipe
|
|
401
|
+
# once PER target, spawning two concurrent helpers that race on the shared
|
|
402
|
+
# build/*.ast / *.ir intermediates (a flaky macOS-only build break -- corrupt
|
|
403
|
+
# IR -> "undeclared identifier" in codegen1.c). Listing both source stamps as
|
|
404
|
+
# prereqs of spinel_analyze means any compiler-source edit re-runs the helper.
|
|
405
|
+
spinel_analyze$(EXE): $(ANALYZE_STAMP) $(CODEGEN_STAMP) $(NODE_TABLE_LOADER_STAMP) $(COMPILER_HELPERS_STAMP) $(SP_RT_LIB) | spinel_parse$(EXE)
|
|
406
|
+
@CC='$(CC)' EXE='$(EXE)' BOOTSTRAP_CFLAGS='$(BOOTSTRAP_CFLAGS)' SP_RT_LIB='$(SP_RT_LIB)' LDFLAGS='$(LDFLAGS)' sh tools/fast-bootstrap
|
|
407
|
+
spinel_codegen$(EXE): spinel_analyze$(EXE)
|
|
408
|
+
@:
|
|
409
|
+
else
|
|
410
|
+
spinel_analyze$(EXE): build/analyze1.c $(SP_RT_LIB)
|
|
411
|
+
$(CC) $(BOOTSTRAP_CFLAGS) -Ilib build/analyze1.c $(SP_RT_LIB) $(LDFLAGS) -lm -o spinel_analyze$(EXE)
|
|
412
|
+
|
|
413
|
+
spinel_codegen$(EXE): build/codegen1.c $(SP_RT_LIB)
|
|
414
|
+
$(CC) $(BOOTSTRAP_CFLAGS) -Ilib build/codegen1.c $(SP_RT_LIB) $(LDFLAGS) -lm -o spinel_codegen$(EXE)
|
|
415
|
+
endif
|
|
416
|
+
|
|
417
|
+
# ---- Self-hosting verification ----
|
|
418
|
+
# After CRuby builds spinel_{analyze,codegen}, run them on each
|
|
419
|
+
# source file to produce a "round 2" pair of binaries. Then run
|
|
420
|
+
# bin2_{analyze,codegen} on each source again to produce "round 3"
|
|
421
|
+
# outputs and assert byte equality. The fixpoint covers both the
|
|
422
|
+
# analysis IR and the emitted C, so any drift in either phase is
|
|
423
|
+
# caught.
|
|
424
|
+
|
|
425
|
+
# Round 2: gen1 binaries (spinel_{analyze,codegen}) compile each .rb
|
|
426
|
+
# source into a fresh `bin2_*` binary. The analyze and codegen sources
|
|
427
|
+
# are independent, so the two pipelines are split into per-binary
|
|
428
|
+
# targets that `make -j` can run in parallel. Same for the round 3
|
|
429
|
+
# verify step.
|
|
430
|
+
|
|
431
|
+
build/analyze2.ir: build/analyze.ast spinel_analyze$(EXE)
|
|
432
|
+
./spinel_analyze$(EXE) build/analyze.ast build/analyze2.ir
|
|
433
|
+
|
|
434
|
+
build/analyze2.c: build/analyze.ast build/analyze2.ir spinel_codegen$(EXE)
|
|
435
|
+
./spinel_codegen$(EXE) build/analyze.ast build/analyze2.ir build/analyze2.c
|
|
436
|
+
|
|
437
|
+
build/bin2_analyze$(EXE): build/analyze2.c $(SP_RT_LIB)
|
|
438
|
+
$(CC) $(BOOTSTRAP_CFLAGS) -Ilib build/analyze2.c $(SP_RT_LIB) $(LDFLAGS) -lm -o build/bin2_analyze$(EXE)
|
|
439
|
+
|
|
440
|
+
build/codegen2.ir: build/codegen.ast spinel_analyze$(EXE)
|
|
441
|
+
./spinel_analyze$(EXE) build/codegen.ast build/codegen2.ir
|
|
442
|
+
|
|
443
|
+
build/codegen2.c: build/codegen.ast build/codegen2.ir spinel_codegen$(EXE)
|
|
444
|
+
./spinel_codegen$(EXE) build/codegen.ast build/codegen2.ir build/codegen2.c
|
|
445
|
+
|
|
446
|
+
build/bin2_codegen$(EXE): build/codegen2.c $(SP_RT_LIB)
|
|
447
|
+
$(CC) $(BOOTSTRAP_CFLAGS) -Ilib build/codegen2.c $(SP_RT_LIB) $(LDFLAGS) -lm -o build/bin2_codegen$(EXE)
|
|
448
|
+
|
|
449
|
+
build/analyze3.ir: build/analyze.ast build/bin2_analyze$(EXE)
|
|
450
|
+
./build/bin2_analyze$(EXE) build/analyze.ast build/analyze3.ir
|
|
451
|
+
|
|
452
|
+
build/analyze3.c: build/analyze.ast build/analyze3.ir build/bin2_codegen$(EXE)
|
|
453
|
+
./build/bin2_codegen$(EXE) build/analyze.ast build/analyze3.ir build/analyze3.c
|
|
454
|
+
|
|
455
|
+
build/codegen3.ir: build/codegen.ast build/bin2_analyze$(EXE)
|
|
456
|
+
./build/bin2_analyze$(EXE) build/codegen.ast build/codegen3.ir
|
|
457
|
+
|
|
458
|
+
build/codegen3.c: build/codegen.ast build/codegen3.ir build/bin2_codegen$(EXE)
|
|
459
|
+
./build/bin2_codegen$(EXE) build/codegen.ast build/codegen3.ir build/codegen3.c
|
|
460
|
+
|
|
461
|
+
# bootstrap: the CRuby-seeded self-host fixpoint AUTHORITY (CI/release). Always
|
|
462
|
+
# rebuilds the compiler via the CRuby round (forces FAST_BOOTSTRAP=0, never the
|
|
463
|
+
# fast path), then verifies round2 == round3 byte-for-byte.
|
|
464
|
+
bootstrap:
|
|
465
|
+
@$(MAKE) --no-print-directory FAST_BOOTSTRAP=0 bootstrap-fixpoint
|
|
466
|
+
|
|
467
|
+
bootstrap-fixpoint: build/analyze3.c build/codegen3.c
|
|
468
|
+
@diff build/analyze2.ir build/analyze3.ir > /dev/null && echo "analyze.rb: IR fixpoint OK" || (echo "BOOTSTRAP FAILED: analyze.rb IR diverged" && exit 1)
|
|
469
|
+
@diff build/analyze2.c build/analyze3.c > /dev/null && echo "analyze.rb: C fixpoint OK" || (echo "BOOTSTRAP FAILED: analyze.rb C diverged" && exit 1)
|
|
470
|
+
@diff build/codegen2.ir build/codegen3.ir > /dev/null && echo "codegen.rb: IR fixpoint OK" || (echo "BOOTSTRAP FAILED: codegen.rb IR diverged" && exit 1)
|
|
471
|
+
@diff build/codegen2.c build/codegen3.c > /dev/null && echo "codegen.rb: C fixpoint OK" || (echo "BOOTSTRAP FAILED: codegen.rb C diverged" && exit 1)
|
|
472
|
+
cp build/bin2_analyze$(EXE) spinel_analyze$(EXE)
|
|
473
|
+
cp build/bin2_codegen$(EXE) spinel_codegen$(EXE)
|
|
474
|
+
|
|
475
|
+
# fast-bootstrap: rebuild the compiler from the PREVIOUS compiled binaries
|
|
476
|
+
# (stage0) instead of the slow CRuby round, then atomically promote. Speed
|
|
477
|
+
# path: no self-host fixpoint (that is `make bootstrap`). Falls back to the
|
|
478
|
+
# CRuby authority path when stage0 is missing or can't compile the current
|
|
479
|
+
# source. See tools/fast-bootstrap.
|
|
480
|
+
fast-bootstrap: spinel_parse$(EXE) $(SP_RT_LIB)
|
|
481
|
+
@CC='$(CC)' EXE='$(EXE)' BOOTSTRAP_CFLAGS='$(BOOTSTRAP_CFLAGS)' SP_RT_LIB='$(SP_RT_LIB)' LDFLAGS='$(LDFLAGS)' sh tools/fast-bootstrap
|
|
239
482
|
|
|
240
483
|
# ---- Test ----
|
|
241
484
|
|
|
242
485
|
TESTS := $(wildcard test/*.rb)
|
|
486
|
+
ANALYZE_FAIL_TESTS := $(sort $(wildcard test/analyze_fail/*.rb))
|
|
487
|
+
# Mode-incompatible tests: int_overflow_raises pins raise-mode semantics
|
|
488
|
+
# (RangeError on overflow); under --int-overflow=promote the same code
|
|
489
|
+
# auto-promotes to bigint and the expected output diverges by design.
|
|
490
|
+
ifeq ($(SPINEL_INT_OVERFLOW),promote)
|
|
491
|
+
TESTS := $(filter-out test/int_overflow_raises.rb,$(TESTS))
|
|
492
|
+
endif
|
|
493
|
+
# sp_net is POSIX-only; on Windows the TU compiles to stubs, so the
|
|
494
|
+
# sp_net smoke's output diverges. Skip it there (the POSIX surface is
|
|
495
|
+
# exercised by consumer suites on POSIX targets).
|
|
496
|
+
ifeq ($(OS),Windows_NT)
|
|
497
|
+
TESTS := $(filter-out test/sp_net_basic.rb,$(TESTS))
|
|
498
|
+
endif
|
|
243
499
|
TEST_TARGETS := $(patsubst test/%.rb,build/test-results/%.ok,$(TESTS))
|
|
244
500
|
|
|
245
501
|
# `make test` is incremental via mtime tracking on .ok files;
|
|
246
|
-
# `make retest` wipes them for a forced rerun.
|
|
247
|
-
|
|
502
|
+
# `make retest` wipes them for a forced rerun. The rbs-test prereq
|
|
503
|
+
# golden-checks the RBS extractor (cheap, runs every invocation).
|
|
504
|
+
test: rbs-test analyze-fail-test $(TEST_TARGETS)
|
|
248
505
|
@if [ -z "$(TIMEOUT_BIN)" ]; then echo "Note: no 'timeout' command found; running without time limits."; fi
|
|
249
506
|
@if [ -t 1 ]; then printf '\n'; fi
|
|
250
507
|
@pass=$$(grep -l '^PASS' build/test-results/*.ok 2>/dev/null | wc -l); \
|
|
@@ -266,34 +523,120 @@ test: $(TEST_TARGETS)
|
|
|
266
523
|
retest: clean-test-results
|
|
267
524
|
@$(MAKE) --no-print-directory test
|
|
268
525
|
|
|
526
|
+
fast-test: clean-test-results
|
|
527
|
+
@$(MAKE) --no-print-directory test OPT=-O0 LTO=0
|
|
528
|
+
|
|
529
|
+
# ---- RBS extractor golden tests ----
|
|
530
|
+
# spinel_rbs_extract is a pure text transform (*.rbs -> seed lines on
|
|
531
|
+
# stdout), so it golden-tests cleanly without Ruby at test time. Each
|
|
532
|
+
# test/rbs/<name>.rbs has a committed test/rbs/<name>.seed.expected;
|
|
533
|
+
# `rbs-test` diffs live output against it. Regenerate after intentional
|
|
534
|
+
# extractor changes with `make regen-rbs-expected` and commit the diff.
|
|
535
|
+
# Skips (rather than fails) when vendor/rbs hasn't been fetched, so a
|
|
536
|
+
# `make deps`-less checkout can still run the rest of `make test`.
|
|
537
|
+
RBS_TEST_SRCS := $(sort $(wildcard test/rbs/*.rbs))
|
|
538
|
+
|
|
539
|
+
ifeq ($(wildcard $(RBS_INC)/rbs/parser.h),)
|
|
540
|
+
rbs-test:
|
|
541
|
+
@echo "rbs-test: skipped (vendor/rbs not fetched; run 'make deps')"
|
|
542
|
+
regen-rbs-expected:
|
|
543
|
+
@echo "regen-rbs-expected: skipped (vendor/rbs not fetched; run 'make deps')"
|
|
544
|
+
else
|
|
545
|
+
rbs-test: spinel_rbs_extract$(EXE)
|
|
546
|
+
@fail=0; n=0; \
|
|
547
|
+
for f in $(RBS_TEST_SRCS); do \
|
|
548
|
+
n=$$((n+1)); \
|
|
549
|
+
exp="$${f%.rbs}.seed.expected"; \
|
|
550
|
+
if [ ! -f "$$exp" ]; then echo "rbs-test: MISSING golden $$exp"; fail=1; continue; fi; \
|
|
551
|
+
d=$$(./spinel_rbs_extract$(EXE) "$$f" 2>/dev/null | diff -u "$$exp" - 2>&1); \
|
|
552
|
+
if [ -z "$$d" ]; then \
|
|
553
|
+
if [ -t 1 ]; then printf .; fi; \
|
|
554
|
+
else \
|
|
555
|
+
echo; echo "rbs-test FAIL: $$f"; echo "$$d"; fail=1; \
|
|
556
|
+
fi; \
|
|
557
|
+
done; \
|
|
558
|
+
if [ -t 1 ]; then printf '\n'; fi; \
|
|
559
|
+
if [ $$fail -ne 0 ]; then echo "RBS extractor tests: FAIL"; exit 1; fi; \
|
|
560
|
+
echo "RBS extractor tests: $$n pass"
|
|
561
|
+
|
|
562
|
+
regen-rbs-expected: spinel_rbs_extract$(EXE)
|
|
563
|
+
@for f in $(RBS_TEST_SRCS); do \
|
|
564
|
+
./spinel_rbs_extract$(EXE) "$$f" > "$${f%.rbs}.seed.expected"; \
|
|
565
|
+
echo "regen: $${f%.rbs}.seed.expected"; \
|
|
566
|
+
done
|
|
567
|
+
endif
|
|
568
|
+
|
|
569
|
+
# Analyze-fail fixtures are intentionally rejected during the
|
|
570
|
+
# spinel_analyze phase. They cover semantic subset limits that should
|
|
571
|
+
# produce a stable diagnostic, not a generated binary.
|
|
572
|
+
analyze-fail-test: spinel_parse$(EXE) spinel_analyze$(EXE)
|
|
573
|
+
@mkdir -p build/analyze-fail-results
|
|
574
|
+
@fail=0; n=0; \
|
|
575
|
+
for f in $(ANALYZE_FAIL_TESTS); do \
|
|
576
|
+
n=$$((n+1)); \
|
|
577
|
+
bn=$$(basename "$$f" .rb); \
|
|
578
|
+
tmpdir=$$(mktemp -d /tmp/spinel-analyze-fail.XXXXXX); \
|
|
579
|
+
ast=$$tmpdir/test.ast; ir=$$tmpdir/test.ir; err=$$tmpdir/analyze.err; \
|
|
580
|
+
exp="$${f%.rb}.stderr.expected"; \
|
|
581
|
+
if ! ./spinel_parse$(EXE) "$$f" "$$ast" >/dev/null 2>"$$tmpdir/parse.err"; then \
|
|
582
|
+
echo "analyze-fail ERR: $$bn (parse failed)"; \
|
|
583
|
+
cat "$$tmpdir/parse.err"; \
|
|
584
|
+
fail=1; rm -rf "$$tmpdir"; continue; \
|
|
585
|
+
fi; \
|
|
586
|
+
if ./spinel_analyze$(EXE) "$$ast" "$$ir" >/dev/null 2>"$$err"; then \
|
|
587
|
+
echo "analyze-fail FAIL: $$bn (analyze succeeded)"; \
|
|
588
|
+
fail=1; rm -rf "$$tmpdir"; continue; \
|
|
589
|
+
fi; \
|
|
590
|
+
if [ ! -f "$$exp" ]; then \
|
|
591
|
+
echo "analyze-fail ERR: $$bn missing $$exp"; \
|
|
592
|
+
fail=1; rm -rf "$$tmpdir"; continue; \
|
|
593
|
+
fi; \
|
|
594
|
+
LC_ALL=C sed 's/\r$$//' "$$exp" > "$$tmpdir/expected.n"; \
|
|
595
|
+
LC_ALL=C sed 's/\r$$//' "$$err" > "$$tmpdir/actual.n"; \
|
|
596
|
+
if cmp -s "$$tmpdir/expected.n" "$$tmpdir/actual.n"; then \
|
|
597
|
+
echo PASS > "build/analyze-fail-results/$$bn.ok"; \
|
|
598
|
+
else \
|
|
599
|
+
echo "analyze-fail FAIL: $$bn"; \
|
|
600
|
+
diff -u "$$tmpdir/expected.n" "$$tmpdir/actual.n" || true; \
|
|
601
|
+
fail=1; \
|
|
602
|
+
fi; \
|
|
603
|
+
rm -rf "$$tmpdir"; \
|
|
604
|
+
done; \
|
|
605
|
+
echo "Analyze-fail tests: $$n pass"; \
|
|
606
|
+
if [ $$fail -ne 0 ]; then exit 1; fi
|
|
607
|
+
|
|
269
608
|
# The .ok target is the test's stamp; mtime tracking gives per-test
|
|
270
|
-
# caching for free. Order-only spinel_parse$(EXE) /
|
|
271
|
-
# stop a bootstrap relink from invalidating every test.
|
|
272
|
-
build/test-results/%.ok: test/%.rb $(SP_RT_LIB) $(CODEGEN_STAMP) $(PARSE_STAMP) | spinel_parse$(EXE) spinel_codegen$(EXE)
|
|
609
|
+
# caching for free. Order-only spinel_parse$(EXE) / spinel_analyze$(EXE)
|
|
610
|
+
# / spinel_codegen$(EXE) stop a bootstrap relink from invalidating every test.
|
|
611
|
+
build/test-results/%.ok: test/%.rb $(SP_RT_LIB) $(CODEGEN_STAMP) $(ANALYZE_STAMP) $(NODE_TABLE_LOADER_STAMP) $(COMPILER_HELPERS_STAMP) $(PARSE_STAMP) | spinel_parse$(EXE) spinel_analyze$(EXE) spinel_codegen$(EXE)
|
|
273
612
|
@mkdir -p build/test-results
|
|
274
613
|
@tmpdir=$$(mktemp -d /tmp/spinel-test.XXXXXX); \
|
|
275
614
|
ast=$$tmpdir/test.ast; \
|
|
615
|
+
ir=$$tmpdir/test.ir; \
|
|
276
616
|
cfile=$$tmpdir/test.c; \
|
|
277
617
|
bin=$$tmpdir/test_bin$(EXE); \
|
|
278
618
|
exp=$$tmpdir/expected; \
|
|
279
619
|
act=$$tmpdir/actual; \
|
|
620
|
+
args=""; \
|
|
621
|
+
if [ -f "$<.args" ]; then args=$$(cat "$<.args"); fi; \
|
|
280
622
|
rm -f "$@.diff"; \
|
|
281
623
|
./spinel_parse$(EXE) "$<" "$$ast" 2>/dev/null && \
|
|
282
|
-
./
|
|
624
|
+
./spinel_analyze$(EXE) "$$ast" "$$ir" 2>/dev/null && \
|
|
625
|
+
./spinel_codegen$(EXE) "$$ast" "$$ir" "$$cfile" 2>/dev/null && \
|
|
283
626
|
$(CC) $(CFLAGS) -Werror $(SEC_FLAGS) -Ilib -c "$$cfile" -o "$$cfile.o" 2>/dev/null && \
|
|
284
627
|
$(CC) $(CFLAGS) "$$cfile.o" $(SP_RT_LIB) $(LDFLAGS) -lm $(GC_FLAGS) -o "$$bin" 2>/dev/null; \
|
|
285
628
|
if [ $$? -eq 0 ]; then \
|
|
286
629
|
if [ -f "$<.expected" ]; then \
|
|
287
630
|
LC_ALL=C sed 's/\r$$//' "$<.expected" >"$$exp.n"; \
|
|
288
631
|
else \
|
|
289
|
-
$(TIMEOUT10) $(REF_RUBY) "$<" >"$$exp" 2>/dev/null; \
|
|
632
|
+
$(TIMEOUT10) $(REF_RUBY) "$<" $$args >"$$exp" 2>/dev/null; \
|
|
290
633
|
ruby_rc=$$?; \
|
|
291
634
|
if [ $$ruby_rc -ne 0 ] && [ "$(REF_RUBY)" != "ruby" ]; then \
|
|
292
|
-
$(TIMEOUT10) ruby "$<" >"$$exp" 2>/dev/null; \
|
|
635
|
+
$(TIMEOUT10) ruby "$<" $$args >"$$exp" 2>/dev/null; \
|
|
293
636
|
fi; \
|
|
294
637
|
LC_ALL=C sed 's/\r$$//' "$$exp" >"$$exp.n"; \
|
|
295
638
|
fi; \
|
|
296
|
-
$(TIMEOUT10) "$$bin" >"$$act" 2>/dev/null; \
|
|
639
|
+
$(TIMEOUT10) "$$bin" $$args >"$$act" 2>/dev/null; \
|
|
297
640
|
LC_ALL=C sed 's/\r$$//' "$$act" >"$$act.n"; \
|
|
298
641
|
if cmp -s "$$exp.n" "$$act.n"; then \
|
|
299
642
|
echo PASS > "$@"; \
|
|
@@ -310,7 +653,7 @@ build/test-results/%.ok: test/%.rb $(SP_RT_LIB) $(CODEGEN_STAMP) $(PARSE_STAMP)
|
|
|
310
653
|
rm -rf "$$tmpdir"
|
|
311
654
|
|
|
312
655
|
clean-test-results:
|
|
313
|
-
@rm -rf build/test-results
|
|
656
|
+
@rm -rf build/test-results build/analyze-fail-results
|
|
314
657
|
|
|
315
658
|
# ---- Expected-output regeneration ----
|
|
316
659
|
# Capture each test's reference Ruby output into test/<name>.rb.expected.
|
|
@@ -324,15 +667,23 @@ EXPECTED_FILES := $(patsubst test/%.rb,test/%.rb.expected,$(TESTS))
|
|
|
324
667
|
regen-expected: $(EXPECTED_FILES)
|
|
325
668
|
|
|
326
669
|
test/%.rb.expected: test/%.rb
|
|
327
|
-
|
|
670
|
+
@args=""; \
|
|
671
|
+
if [ -f "$<.args" ]; then args=$$(cat "$<.args"); fi; \
|
|
672
|
+
$(TIMEOUT10) $(REF_RUBY) $< $$args >$@.tmp 2>/dev/null; \
|
|
328
673
|
rc=$$?; \
|
|
329
674
|
if [ $$rc -ne 0 ] && [ "$(REF_RUBY)" != "ruby" ]; then \
|
|
330
|
-
$(TIMEOUT10) ruby $< >$@.tmp 2>/dev/null; \
|
|
675
|
+
$(TIMEOUT10) ruby $< $$args >$@.tmp 2>/dev/null; \
|
|
676
|
+
rc=$$?; \
|
|
331
677
|
fi; \
|
|
332
|
-
|
|
333
|
-
|
|
678
|
+
if [ $$rc -ne 0 ]; then \
|
|
679
|
+
echo "regen-expected: $< failed (rc=$$rc); skipping" >&2; \
|
|
680
|
+
rm -f $@.tmp; \
|
|
681
|
+
else \
|
|
682
|
+
LC_ALL=C sed 's/\r$$//' $@.tmp > $@; \
|
|
683
|
+
rm -f $@.tmp; \
|
|
684
|
+
fi
|
|
334
685
|
|
|
335
|
-
bench: spinel_parse$(EXE) $(SP_RT_LIB) spinel_codegen$(EXE)
|
|
686
|
+
bench: spinel_parse$(EXE) $(SP_RT_LIB) spinel_analyze$(EXE) spinel_codegen$(EXE)
|
|
336
687
|
@if [ -z "$(TIMEOUT_BIN)" ]; then echo "Note: no 'timeout' command found; running without time limits."; fi
|
|
337
688
|
@total=$$(ls benchmark/*.rb | wc -l); \
|
|
338
689
|
if [ -t 1 ]; then tty=1; else tty=0; fi; \
|
|
@@ -342,7 +693,8 @@ bench: spinel_parse$(EXE) $(SP_RT_LIB) spinel_codegen$(EXE)
|
|
|
342
693
|
bn=$$(basename "$$f" .rb); \
|
|
343
694
|
if [ "$$tty" = 1 ]; then printf '\r\033[K [%d/%d] %s' "$$i" "$$total" "$$bn"; fi; \
|
|
344
695
|
$(TIMEOUT10) ./spinel_parse$(EXE) "$$f" /tmp/_sp_b.ast 2>/dev/null && \
|
|
345
|
-
$(TIMEOUT10) ./
|
|
696
|
+
$(TIMEOUT10) ./spinel_analyze$(EXE) /tmp/_sp_b.ast /tmp/_sp_b.ir 2>/dev/null && \
|
|
697
|
+
$(TIMEOUT10) ./spinel_codegen$(EXE) /tmp/_sp_b.ast /tmp/_sp_b.ir /tmp/_sp_b.c 2>/dev/null && \
|
|
346
698
|
$(CC) $(CFLAGS) -Werror $(SEC_FLAGS) -Ilib -c /tmp/_sp_b.c -o /tmp/_sp_b.c.o 2>/dev/null && \
|
|
347
699
|
$(CC) $(CFLAGS) /tmp/_sp_b.c.o $(SP_RT_LIB) $(LDFLAGS) -lm $(GC_FLAGS) -o /tmp/_sp_b_bin$(EXE) 2>/dev/null; \
|
|
348
700
|
if [ $$? -eq 0 ]; then \
|
|
@@ -374,7 +726,7 @@ bench: spinel_parse$(EXE) $(SP_RT_LIB) spinel_codegen$(EXE)
|
|
|
374
726
|
fi; \
|
|
375
727
|
done; \
|
|
376
728
|
if [ "$$tty" = 1 ]; then printf '\r\033[K'; fi; \
|
|
377
|
-
rm -f /tmp/_sp_b.ast /tmp/_sp_b.c /tmp/_sp_b.c.o /tmp/_sp_b_bin$(EXE) /tmp/_sp_b_exp /tmp/_sp_b_act /tmp/_sp_b_exp.n /tmp/_sp_b_act.n; \
|
|
729
|
+
rm -f /tmp/_sp_b.ast /tmp/_sp_b.ir /tmp/_sp_b.c /tmp/_sp_b.c.o /tmp/_sp_b_bin$(EXE) /tmp/_sp_b_exp /tmp/_sp_b_act /tmp/_sp_b_exp.n /tmp/_sp_b_act.n; \
|
|
378
730
|
echo "Benchmarks: $$pass pass, $$fail fail, $$err error, $$skip skip"; \
|
|
379
731
|
if [ $$fail -ne 0 ] || [ $$err -ne 0 ]; then exit 1; fi
|
|
380
732
|
|
|
@@ -391,12 +743,12 @@ OPTCARROT_DIR := build/optcarrot
|
|
|
391
743
|
OPTCARROT_REPO := https://github.com/mame/optcarrot.git
|
|
392
744
|
OPTCARROT_BRANCH := experiment/spinel
|
|
393
745
|
|
|
394
|
-
optcarrot: spinel_parse$(EXE) $(SP_RT_LIB) spinel_codegen$(EXE)
|
|
746
|
+
optcarrot: spinel_parse$(EXE) $(SP_RT_LIB) spinel_analyze$(EXE) spinel_codegen$(EXE)
|
|
395
747
|
@if [ ! -d $(OPTCARROT_DIR) ]; then \
|
|
396
748
|
git clone --depth=1 --branch=$(OPTCARROT_BRANCH) $(OPTCARROT_REPO) $(OPTCARROT_DIR); \
|
|
397
749
|
fi
|
|
398
750
|
@ruby $(OPTCARROT_DIR)/tools/pack-for-spinel.rb > build/optcarrot-single.rb
|
|
399
|
-
@./spinel build/optcarrot-single.rb -o build/optcarrot-single
|
|
751
|
+
@./spinel --int-overflow=wrap build/optcarrot-single.rb -o build/optcarrot-single
|
|
400
752
|
@out=$$($(TIMEOUT60) ./build/optcarrot-single 2>&1); \
|
|
401
753
|
echo "$$out"; \
|
|
402
754
|
if echo "$$out" | grep -qE "^fps: [0-9.]+$$" && echo "$$out" | grep -q "^checksum: 59662$$"; then \
|
|
@@ -406,6 +758,52 @@ optcarrot: spinel_parse$(EXE) $(SP_RT_LIB) spinel_codegen$(EXE)
|
|
|
406
758
|
exit 1; \
|
|
407
759
|
fi
|
|
408
760
|
|
|
761
|
+
# ---- Developer gates ----
|
|
762
|
+
#
|
|
763
|
+
# Two composite targets to cut the edit/verify loop. The full gate is
|
|
764
|
+
# dominated by the self-host bootstrap (~3x the rest); `test`, `bench`
|
|
765
|
+
# and `optcarrot` only READ the compiler binaries and write to disjoint
|
|
766
|
+
# build/ dirs, so they run concurrently as parallel prerequisites, while
|
|
767
|
+
# `bootstrap` rewrites spinel_{analyze,codegen} (round-3 cp) and must run
|
|
768
|
+
# alone afterward.
|
|
769
|
+
#
|
|
770
|
+
# These rely on make's own jobserver rather than a hand-rolled `-jN` +
|
|
771
|
+
# `&` background loop: every recursive `$(MAKE)` is `+`-prefixed so the
|
|
772
|
+
# jobserver fd is inherited (no "jobserver unavailable -> -j1" fallback),
|
|
773
|
+
# and none pass an explicit `-j` (which would force a sub-make to reset
|
|
774
|
+
# the jobserver and spawn its own full pool -> oversubscription). The
|
|
775
|
+
# default-`-j` logic above gives the top-level invocation its pool.
|
|
776
|
+
|
|
777
|
+
# Fast pre-commit check: rebuild the compiler and run the full test
|
|
778
|
+
# suite with the optimizer off (type-checking still happens). Skips
|
|
779
|
+
# bench/optcarrot/bootstrap — run `make gate` before pushing for those.
|
|
780
|
+
# LTO=0 keeps the compiler rebuild fast (no -O3 -flto link of the ~80k
|
|
781
|
+
# line generated C); it doesn't affect type-checking or test output.
|
|
782
|
+
check:
|
|
783
|
+
+@$(MAKE) --no-print-directory LTO=0 all
|
|
784
|
+
+@$(MAKE) --no-print-directory clean-test-results
|
|
785
|
+
+@$(MAKE) --no-print-directory test OPT=-O0
|
|
786
|
+
|
|
787
|
+
# Full pre-push gate: test || bench || optcarrot in parallel (via the
|
|
788
|
+
# gate-legs prerequisites), then the self-host bootstrap. ~90s faster
|
|
789
|
+
# than the four in sequence.
|
|
790
|
+
gate:
|
|
791
|
+
+@$(MAKE) --no-print-directory LTO=0 all
|
|
792
|
+
+@$(MAKE) --no-print-directory clean-test-results
|
|
793
|
+
+@$(MAKE) --no-print-directory gate-legs
|
|
794
|
+
+@$(MAKE) --no-print-directory LTO=0 bootstrap
|
|
795
|
+
@echo "gate: ALL GREEN"
|
|
796
|
+
|
|
797
|
+
# The three read-only legs as parallel prerequisites; make schedules
|
|
798
|
+
# them across the jobserver pool.
|
|
799
|
+
gate-legs: gate-test gate-bench gate-optcarrot
|
|
800
|
+
gate-test:
|
|
801
|
+
+@$(MAKE) --no-print-directory test OPT=-O0
|
|
802
|
+
gate-bench:
|
|
803
|
+
+@$(MAKE) --no-print-directory bench
|
|
804
|
+
gate-optcarrot:
|
|
805
|
+
+@$(MAKE) --no-print-directory optcarrot
|
|
806
|
+
|
|
409
807
|
# ---- Install ----
|
|
410
808
|
|
|
411
809
|
PREFIX ?= /usr/local
|
|
@@ -415,10 +813,21 @@ install: all
|
|
|
415
813
|
install -d $(SPNLDIR)/lib
|
|
416
814
|
install -m 755 spinel $(SPNLDIR)/
|
|
417
815
|
install -m 755 spinel_parse$(EXE) $(SPNLDIR)/
|
|
816
|
+
install -m 755 spinel_analyze$(EXE) $(SPNLDIR)/
|
|
418
817
|
install -m 755 spinel_codegen$(EXE) $(SPNLDIR)/
|
|
818
|
+
install -m 644 node_table_loader.rb $(SPNLDIR)/
|
|
819
|
+
install -m 644 spinel_analyze.rb $(SPNLDIR)/
|
|
419
820
|
install -m 644 spinel_codegen.rb $(SPNLDIR)/
|
|
420
821
|
install -m 644 lib/libspinel_rt.a $(SPNLDIR)/lib/
|
|
421
822
|
install -m 644 lib/sp_runtime.h $(SPNLDIR)/lib/
|
|
823
|
+
install -m 644 lib/sp_types.h $(SPNLDIR)/lib/
|
|
824
|
+
install -m 644 lib/sp_core.h $(SPNLDIR)/lib/
|
|
825
|
+
install -m 644 lib/sp_system.h $(SPNLDIR)/lib/
|
|
826
|
+
install -m 644 lib/sp_gc.h $(SPNLDIR)/lib/
|
|
827
|
+
install -m 644 lib/sp_fiber.h $(SPNLDIR)/lib/
|
|
828
|
+
install -m 644 lib/sp_io.h $(SPNLDIR)/lib/
|
|
829
|
+
install -m 644 lib/sp_time.h $(SPNLDIR)/lib/
|
|
830
|
+
install -m 644 lib/sp_net.h $(SPNLDIR)/lib/
|
|
422
831
|
install -m 644 lib/*.rb $(SPNLDIR)/lib/
|
|
423
832
|
install -d $(PREFIX)/bin
|
|
424
833
|
ln -sf $(SPNLDIR)/spinel $(PREFIX)/bin/spinel
|
|
@@ -431,4 +840,4 @@ uninstall:
|
|
|
431
840
|
|
|
432
841
|
clean:
|
|
433
842
|
rm -rf build/
|
|
434
|
-
rm -f spinel_parse$(EXE) spinel_codegen$(EXE)
|
|
843
|
+
rm -f spinel_parse$(EXE) spinel_analyze$(EXE) spinel_codegen$(EXE)
|