carray 3.0.2 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +568 -0
  3. data/README.md +6 -6
  4. data/carray.gemspec +1 -1
  5. data/ext/ca_axis_descriptor.h +27 -24
  6. data/ext/ca_axis_dispatch.c +220 -0
  7. data/ext/ca_axis_group.c +201 -123
  8. data/ext/ca_binop_dispatch.c +46 -52
  9. data/ext/ca_binop_dispatch.h +1 -1
  10. data/ext/ca_categorical_iterator.c +249 -183
  11. data/ext/ca_compare.c +7 -12
  12. data/ext/ca_for_buffer.h +21 -68
  13. data/ext/ca_group_iter.c +38 -23
  14. data/ext/ca_kernel_iterator.c +1765 -2076
  15. data/ext/ca_kernel_iterator.h +584 -566
  16. data/ext/ca_monop_dispatch.c +86 -63
  17. data/ext/ca_monop_dispatch.h +5 -0
  18. data/ext/ca_obj_array.c +223 -56
  19. data/ext/ca_obj_bincmp.c +172 -138
  20. data/ext/ca_obj_binop.c +116 -230
  21. data/ext/ca_obj_bitarray.c +40 -26
  22. data/ext/ca_obj_bitfield.c +100 -68
  23. data/ext/ca_obj_block.c +19 -9
  24. data/ext/ca_obj_byte_swap.c +45 -46
  25. data/ext/ca_obj_const_string.c +269 -44
  26. data/ext/ca_obj_face.c +612 -89
  27. data/ext/ca_obj_face.h +111 -47
  28. data/ext/ca_obj_fake.c +36 -79
  29. data/ext/ca_obj_farray.c +7 -3
  30. data/ext/ca_obj_field.c +33 -8
  31. data/ext/ca_obj_fixlen_string.c +23 -24
  32. data/ext/ca_obj_grid.c +541 -210
  33. data/ext/ca_obj_meld.c +331 -111
  34. data/ext/ca_obj_moncmp.c +80 -65
  35. data/ext/ca_obj_monop.c +177 -149
  36. data/ext/ca_obj_object.c +664 -248
  37. data/ext/ca_obj_record.c +63 -23
  38. data/ext/ca_obj_reduce.c +18 -16
  39. data/ext/ca_obj_refer.c +140 -58
  40. data/ext/ca_obj_remap.c +85 -24
  41. data/ext/ca_obj_repeat.c +24 -9
  42. data/ext/ca_obj_roll.c +121 -16
  43. data/ext/ca_obj_select.c +61 -58
  44. data/ext/ca_obj_select_axis.c +73 -107
  45. data/ext/ca_obj_shift.c +32 -102
  46. data/ext/ca_obj_stack.c +372 -122
  47. data/ext/ca_obj_stride.c +348 -140
  48. data/ext/ca_obj_string.c +88 -22
  49. data/ext/ca_obj_tile.c +38 -21
  50. data/ext/ca_obj_time.c +45 -31
  51. data/ext/ca_obj_timedelta.c +43 -29
  52. data/ext/ca_obj_transpose.c +17 -6
  53. data/ext/ca_obj_triop.c +125 -141
  54. data/ext/ca_obj_window.c +330 -44
  55. data/ext/ca_op_ipower.c +24 -11
  56. data/ext/ca_op_powi.h +57 -30
  57. data/ext/ca_pow5_table.h +656 -0
  58. data/ext/ca_sort_kernels.h +70 -0
  59. data/ext/ca_sweep_engine.c +104 -81
  60. data/ext/ca_sweep_engine.h +7 -20
  61. data/ext/ca_triop_dispatch.c +4 -1
  62. data/ext/ca_triop_dispatch.h +5 -2
  63. data/ext/caframe_csv_reader.c +542 -0
  64. data/ext/carray.h +241 -92
  65. data/ext/carray_access.c +608 -276
  66. data/ext/carray_address_basis.c +494 -97
  67. data/ext/carray_attribute.c +129 -4
  68. data/ext/carray_bincount.c +39 -7
  69. data/ext/carray_broadcast.c +56 -19
  70. data/ext/carray_build_flags.h +1 -1
  71. data/ext/carray_call_cfunc.c +108 -28
  72. data/ext/carray_cast.c +1576 -223
  73. data/ext/carray_cast_func.rb +77 -24
  74. data/ext/carray_class.c +4 -3
  75. data/ext/carray_conversion.c +208 -75
  76. data/ext/carray_copy.c +82 -24
  77. data/ext/carray_core.c +646 -162
  78. data/ext/carray_count.c +171 -88
  79. data/ext/carray_element.c +94 -60
  80. data/ext/carray_factorize.c +670 -324
  81. data/ext/carray_generate.c +260 -83
  82. data/ext/carray_histogram.c +209 -106
  83. data/ext/carray_hold.c +14 -16
  84. data/ext/carray_index_classifier.c +422 -243
  85. data/ext/carray_internal.h +692 -3
  86. data/ext/carray_kernels_bincmp.c +7 -0
  87. data/ext/carray_kernels_binop.c +487 -120
  88. data/ext/carray_kernels_init.c +653 -50
  89. data/ext/carray_kernels_moncmp.c +15 -8
  90. data/ext/carray_kernels_monop.c +99 -43
  91. data/ext/carray_kernels_reduce_aggregate.c +3925 -6112
  92. data/ext/carray_kernels_reduce_boolean.c +112 -36
  93. data/ext/carray_kernels_reduce_cumulative.c +2127 -6903
  94. data/ext/carray_kernels_reduce_extreme.c +3032 -2892
  95. data/ext/carray_kernels_reduce_variance.c +439 -500
  96. data/ext/carray_kernels_scan.c +1097 -488
  97. data/ext/carray_kernels_search.c +3787 -2176
  98. data/ext/carray_kernels_sort.c +1200 -920
  99. data/ext/carray_kernels_triop.c +479 -7
  100. data/ext/carray_key_windows.c +216 -0
  101. data/ext/carray_lazy.c +967 -153
  102. data/ext/carray_loop.c +81 -65
  103. data/ext/carray_mask.c +910 -324
  104. data/ext/carray_math_kernel.h +1 -0
  105. data/ext/carray_median_percentile.c +299 -100
  106. data/ext/carray_memory_view.c +872 -758
  107. data/ext/carray_operator.c +1171 -364
  108. data/ext/carray_order.c +505 -133
  109. data/ext/carray_partition.c +112 -65
  110. data/ext/carray_random.c +327 -239
  111. data/ext/carray_round.c +273 -0
  112. data/ext/carray_scatter.c +346 -78
  113. data/ext/carray_segment.c +257 -0
  114. data/ext/carray_slab.c +249 -86
  115. data/ext/carray_sort.c +224 -227
  116. data/ext/carray_sort_kernel.c +8 -1
  117. data/ext/carray_struct.c +118 -39
  118. data/ext/carray_test.c +193 -69
  119. data/ext/carray_time_text.c +1182 -0
  120. data/ext/carray_undef.c +4 -0
  121. data/ext/carray_utils.c +579 -113
  122. data/ext/extconf.rb +27 -2
  123. data/ext/mk_call_cfunc.rb +19 -4
  124. data/ext/mk_pow5_table.rb +35 -0
  125. data/ext/mkkernel.rb +1202 -1014
  126. data/ext/ruby_carray.c +17 -5
  127. data/ext/version.h +4 -4
  128. data/ext/version.rb +4 -2
  129. data/lib/carray/attribute.rb +160 -17
  130. data/lib/carray/autoload_carray.rb +23 -27
  131. data/lib/carray/autoload_method_extension.rb +20 -5
  132. data/lib/carray/axis_group.rb +360 -63
  133. data/lib/carray/basics.rb +162 -28
  134. data/lib/carray/bincount_nd.rb +18 -2
  135. data/lib/carray/block_iterator.rb +231 -58
  136. data/lib/carray/boolean_reduce.rb +34 -42
  137. data/lib/carray/categorical.rb +242 -52
  138. data/lib/carray/categorical_iterator.rb +437 -827
  139. data/lib/carray/complex.rb +41 -34
  140. data/lib/carray/conditional.rb +150 -14
  141. data/lib/carray/const_string.rb +59 -4
  142. data/lib/carray/construct.rb +15 -11
  143. data/lib/carray/data_type_extension.rb +1 -0
  144. data/lib/carray/distance_limit.rb +77 -0
  145. data/lib/carray/fixlen_string.rb +7 -1
  146. data/lib/carray/frame/column_verbs.rb +70 -0
  147. data/lib/carray/frame/concat.rb +157 -6
  148. data/lib/carray/frame/convert.rb +82 -7
  149. data/lib/carray/frame/csv_parser.rb +688 -87
  150. data/lib/carray/frame/describe.rb +80 -0
  151. data/lib/carray/frame/frame.rb +369 -45
  152. data/lib/carray/frame/group.rb +631 -90
  153. data/lib/carray/frame/io.rb +506 -79
  154. data/lib/carray/frame/join.rb +411 -62
  155. data/lib/carray/frame/records.rb +116 -19
  156. data/lib/carray/frame/reshape.rb +455 -0
  157. data/lib/carray/frame/sort.rb +30 -18
  158. data/lib/carray/frame/verbs.rb +868 -61
  159. data/lib/carray/frame/windows.rb +117 -0
  160. data/lib/carray/frame.rb +4 -0
  161. data/lib/carray/fuse_source.rb +118 -2
  162. data/lib/carray/fusion.rb +257 -42
  163. data/lib/carray/histogram.rb +6 -1
  164. data/lib/carray/inspect.rb +54 -13
  165. data/lib/carray/iterator.rb +99 -9
  166. data/lib/carray/key_windows.rb +620 -0
  167. data/lib/carray/lazy.rb +216 -193
  168. data/lib/carray/mask_gap_fill.rb +112 -92
  169. data/lib/carray/math.rb +32 -19
  170. data/lib/carray/meld_reduce.rb +52 -21
  171. data/lib/carray/methods/align_addr.rb +8 -4
  172. data/lib/carray/methods/bin.rb +26 -18
  173. data/lib/carray/methods/bincount.rb +18 -2
  174. data/lib/carray/methods/bit_string.rb +15 -4
  175. data/lib/carray/methods/choose.rb +16 -3
  176. data/lib/carray/methods/composition.rb +18 -10
  177. data/lib/carray/methods/factorize.rb +2 -2
  178. data/lib/carray/methods/gather_nd.rb +25 -5
  179. data/lib/carray/methods/insert_block.rb +9 -14
  180. data/lib/carray/methods/is_between.rb +59 -0
  181. data/lib/carray/methods/is_in.rb +140 -10
  182. data/lib/carray/methods/join.rb +2 -7
  183. data/lib/carray/methods/lag.rb +49 -0
  184. data/lib/carray/methods/locate_addr.rb +182 -45
  185. data/lib/carray/methods/mode.rb +18 -1
  186. data/lib/carray/methods/nunique.rb +11 -6
  187. data/lib/carray/methods/repeat.rb +1 -20
  188. data/lib/carray/methods/resize.rb +21 -23
  189. data/lib/carray/methods/snap.rb +34 -12
  190. data/lib/carray/methods/unique.rb +11 -2
  191. data/lib/carray/methods/value_counts.rb +4 -11
  192. data/lib/carray/record_order.rb +208 -0
  193. data/lib/carray/rng.rb +3 -0
  194. data/lib/carray/runtime.rb +65 -17
  195. data/lib/carray/segment_iterator.rb +1221 -0
  196. data/lib/carray/serialize.rb +214 -30
  197. data/lib/carray/slab_iterator.rb +101 -27
  198. data/lib/carray/stack.rb +10 -4
  199. data/lib/carray/string.rb +105 -5
  200. data/lib/carray/string_operation_extension.rb +12 -4
  201. data/lib/carray/struct.rb +137 -58
  202. data/lib/carray/struct_builder.rb +124 -17
  203. data/lib/carray/time.rb +1222 -186
  204. data/lib/carray/window_iterator.rb +242 -81
  205. data/lib/carray.rb +9 -2
  206. data/yard-stubs/ca_obj_array.rb +4 -4
  207. data/yard-stubs/ca_obj_bitarray.rb +7 -0
  208. data/yard-stubs/ca_obj_bitfield.rb +23 -12
  209. data/yard-stubs/ca_obj_fake.rb +1 -1
  210. data/yard-stubs/ca_obj_field.rb +5 -1
  211. data/yard-stubs/ca_obj_grid.rb +21 -10
  212. data/yard-stubs/ca_obj_refer.rb +5 -4
  213. data/yard-stubs/ca_obj_roll.rb +2 -3
  214. data/yard-stubs/ca_obj_shift.rb +5 -1
  215. data/yard-stubs/ca_obj_stride.rb +10 -7
  216. data/yard-stubs/ca_obj_tile.rb +1 -1
  217. data/yard-stubs/ca_obj_transpose.rb +1 -1
  218. data/yard-stubs/ca_obj_window.rb +9 -5
  219. data/yard-stubs/carray_access.rb +11 -5
  220. data/yard-stubs/carray_attribute.rb +0 -5
  221. data/yard-stubs/carray_broadcast.rb +1 -1
  222. data/yard-stubs/carray_cast.rb +88 -43
  223. data/yard-stubs/carray_conversion.rb +15 -2
  224. data/yard-stubs/carray_copy.rb +12 -5
  225. data/yard-stubs/carray_core.rb +3 -3
  226. data/yard-stubs/carray_count.rb +9 -0
  227. data/yard-stubs/carray_element.rb +10 -4
  228. data/yard-stubs/carray_generate.rb +21 -1
  229. data/yard-stubs/carray_lazy.rb +5 -1
  230. data/yard-stubs/carray_loop.rb +4 -1
  231. data/yard-stubs/carray_mask.rb +60 -12
  232. data/yard-stubs/carray_math.rb +52 -14
  233. data/yard-stubs/carray_median_percentile.rb +15 -8
  234. data/yard-stubs/carray_memory_view.rb +40 -23
  235. data/yard-stubs/carray_order.rb +61 -29
  236. data/yard-stubs/carray_random.rb +13 -4
  237. data/yard-stubs/carray_scatter.rb +21 -9
  238. data/yard-stubs/carray_segment.rb +72 -0
  239. data/yard-stubs/carray_slab.rb +10 -2
  240. data/yard-stubs/carray_sort.rb +49 -8
  241. data/yard-stubs/carray_test.rb +15 -3
  242. data/yard-stubs/carray_utils.rb +0 -26
  243. metadata +19 -5
  244. data/ext/ca_for_each_element.h +0 -239
  245. data/ext/carray_kernels_map.c +0 -3467
  246. data/lib/carray/arrow_tensor.rb +0 -401
  247. data/lib/carray/table.rb +0 -108
@@ -146,7 +146,6 @@ ca_call_cfunc_1 (void (*func)(void *p0), const char *fsync,
146
146
  state.stride = stride;
147
147
  state.owned_buf = owned_buf;
148
148
  state.attached = attached;
149
- state.no_mask = 0;
150
149
  state.src_label = "ca_call_cfunc_1";
151
150
 
152
151
  ca_sweep_acquire(&state);
@@ -218,7 +217,6 @@ ca_call_cfunc_2 (void (*func)(void *p0, void *p1), const char *fsync,
218
217
  state.stride = stride;
219
218
  state.owned_buf = owned_buf;
220
219
  state.attached = attached;
221
- state.no_mask = 0;
222
220
  state.src_label = "ca_call_cfunc_2";
223
221
 
224
222
  ca_sweep_acquire(&state);
@@ -228,6 +226,8 @@ ca_call_cfunc_2 (void (*func)(void *p0, void *p1), const char *fsync,
228
226
  ctx.userdata = NULL;
229
227
  ca_sweep_run(&state, ca_call_cfunc_2_walk, (VALUE) &ctx);
230
228
 
229
+ RB_GC_GUARD(rcx1);
230
+
231
231
  return rcx0;
232
232
  }
233
233
 
@@ -291,7 +291,6 @@ ca_call_cfunc_3 (void (*func)(void *p0, void *p1, void *p2), const char *fsync,
291
291
  state.stride = stride;
292
292
  state.owned_buf = owned_buf;
293
293
  state.attached = attached;
294
- state.no_mask = 0;
295
294
  state.src_label = "ca_call_cfunc_3";
296
295
 
297
296
  ca_sweep_acquire(&state);
@@ -301,6 +300,9 @@ ca_call_cfunc_3 (void (*func)(void *p0, void *p1, void *p2), const char *fsync,
301
300
  ctx.userdata = NULL;
302
301
  ca_sweep_run(&state, ca_call_cfunc_3_walk, (VALUE) &ctx);
303
302
 
303
+ RB_GC_GUARD(rcx1);
304
+ RB_GC_GUARD(rcx2);
305
+
304
306
  return rcx0;
305
307
  }
306
308
 
@@ -365,7 +367,6 @@ ca_call_cfunc_4 (void (*func)(void *p0, void *p1, void *p2, void *p3), const cha
365
367
  state.stride = stride;
366
368
  state.owned_buf = owned_buf;
367
369
  state.attached = attached;
368
- state.no_mask = 0;
369
370
  state.src_label = "ca_call_cfunc_4";
370
371
 
371
372
  ca_sweep_acquire(&state);
@@ -375,6 +376,10 @@ ca_call_cfunc_4 (void (*func)(void *p0, void *p1, void *p2, void *p3), const cha
375
376
  ctx.userdata = NULL;
376
377
  ca_sweep_run(&state, ca_call_cfunc_4_walk, (VALUE) &ctx);
377
378
 
379
+ RB_GC_GUARD(rcx1);
380
+ RB_GC_GUARD(rcx2);
381
+ RB_GC_GUARD(rcx3);
382
+
378
383
  return rcx0;
379
384
  }
380
385
 
@@ -440,7 +445,6 @@ ca_call_cfunc_5 (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4),
440
445
  state.stride = stride;
441
446
  state.owned_buf = owned_buf;
442
447
  state.attached = attached;
443
- state.no_mask = 0;
444
448
  state.src_label = "ca_call_cfunc_5";
445
449
 
446
450
  ca_sweep_acquire(&state);
@@ -450,6 +454,11 @@ ca_call_cfunc_5 (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4),
450
454
  ctx.userdata = NULL;
451
455
  ca_sweep_run(&state, ca_call_cfunc_5_walk, (VALUE) &ctx);
452
456
 
457
+ RB_GC_GUARD(rcx1);
458
+ RB_GC_GUARD(rcx2);
459
+ RB_GC_GUARD(rcx3);
460
+ RB_GC_GUARD(rcx4);
461
+
453
462
  return rcx0;
454
463
  }
455
464
 
@@ -516,7 +525,6 @@ ca_call_cfunc_6 (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4,
516
525
  state.stride = stride;
517
526
  state.owned_buf = owned_buf;
518
527
  state.attached = attached;
519
- state.no_mask = 0;
520
528
  state.src_label = "ca_call_cfunc_6";
521
529
 
522
530
  ca_sweep_acquire(&state);
@@ -526,6 +534,12 @@ ca_call_cfunc_6 (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4,
526
534
  ctx.userdata = NULL;
527
535
  ca_sweep_run(&state, ca_call_cfunc_6_walk, (VALUE) &ctx);
528
536
 
537
+ RB_GC_GUARD(rcx1);
538
+ RB_GC_GUARD(rcx2);
539
+ RB_GC_GUARD(rcx3);
540
+ RB_GC_GUARD(rcx4);
541
+ RB_GC_GUARD(rcx5);
542
+
529
543
  return rcx0;
530
544
  }
531
545
 
@@ -593,7 +607,6 @@ ca_call_cfunc_7 (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4,
593
607
  state.stride = stride;
594
608
  state.owned_buf = owned_buf;
595
609
  state.attached = attached;
596
- state.no_mask = 0;
597
610
  state.src_label = "ca_call_cfunc_7";
598
611
 
599
612
  ca_sweep_acquire(&state);
@@ -603,6 +616,13 @@ ca_call_cfunc_7 (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4,
603
616
  ctx.userdata = NULL;
604
617
  ca_sweep_run(&state, ca_call_cfunc_7_walk, (VALUE) &ctx);
605
618
 
619
+ RB_GC_GUARD(rcx1);
620
+ RB_GC_GUARD(rcx2);
621
+ RB_GC_GUARD(rcx3);
622
+ RB_GC_GUARD(rcx4);
623
+ RB_GC_GUARD(rcx5);
624
+ RB_GC_GUARD(rcx6);
625
+
606
626
  return rcx0;
607
627
  }
608
628
 
@@ -1054,7 +1074,6 @@ ca_call_cfunc_1_r (void (*func)(void *p0, void *userdata), const char *fsync,
1054
1074
  state.stride = stride;
1055
1075
  state.owned_buf = owned_buf;
1056
1076
  state.attached = attached;
1057
- state.no_mask = 0;
1058
1077
  state.src_label = "ca_call_cfunc_1_r";
1059
1078
 
1060
1079
  ca_sweep_acquire(&state);
@@ -1127,7 +1146,6 @@ ca_call_cfunc_2_r (void (*func)(void *p0, void *p1, void *userdata), const char
1127
1146
  state.stride = stride;
1128
1147
  state.owned_buf = owned_buf;
1129
1148
  state.attached = attached;
1130
- state.no_mask = 0;
1131
1149
  state.src_label = "ca_call_cfunc_2_r";
1132
1150
 
1133
1151
  ca_sweep_acquire(&state);
@@ -1137,6 +1155,8 @@ ca_call_cfunc_2_r (void (*func)(void *p0, void *p1, void *userdata), const char
1137
1155
  ctx.userdata = userdata;
1138
1156
  ca_sweep_run(&state, ca_call_cfunc_2_r_walk, (VALUE) &ctx);
1139
1157
 
1158
+ RB_GC_GUARD(rcx1);
1159
+
1140
1160
  return rcx0;
1141
1161
  }
1142
1162
 
@@ -1201,7 +1221,6 @@ ca_call_cfunc_3_r (void (*func)(void *p0, void *p1, void *p2, void *userdata), c
1201
1221
  state.stride = stride;
1202
1222
  state.owned_buf = owned_buf;
1203
1223
  state.attached = attached;
1204
- state.no_mask = 0;
1205
1224
  state.src_label = "ca_call_cfunc_3_r";
1206
1225
 
1207
1226
  ca_sweep_acquire(&state);
@@ -1211,6 +1230,9 @@ ca_call_cfunc_3_r (void (*func)(void *p0, void *p1, void *p2, void *userdata), c
1211
1230
  ctx.userdata = userdata;
1212
1231
  ca_sweep_run(&state, ca_call_cfunc_3_r_walk, (VALUE) &ctx);
1213
1232
 
1233
+ RB_GC_GUARD(rcx1);
1234
+ RB_GC_GUARD(rcx2);
1235
+
1214
1236
  return rcx0;
1215
1237
  }
1216
1238
 
@@ -1276,7 +1298,6 @@ ca_call_cfunc_4_r (void (*func)(void *p0, void *p1, void *p2, void *p3, void *us
1276
1298
  state.stride = stride;
1277
1299
  state.owned_buf = owned_buf;
1278
1300
  state.attached = attached;
1279
- state.no_mask = 0;
1280
1301
  state.src_label = "ca_call_cfunc_4_r";
1281
1302
 
1282
1303
  ca_sweep_acquire(&state);
@@ -1286,6 +1307,10 @@ ca_call_cfunc_4_r (void (*func)(void *p0, void *p1, void *p2, void *p3, void *us
1286
1307
  ctx.userdata = userdata;
1287
1308
  ca_sweep_run(&state, ca_call_cfunc_4_r_walk, (VALUE) &ctx);
1288
1309
 
1310
+ RB_GC_GUARD(rcx1);
1311
+ RB_GC_GUARD(rcx2);
1312
+ RB_GC_GUARD(rcx3);
1313
+
1289
1314
  return rcx0;
1290
1315
  }
1291
1316
 
@@ -1352,7 +1377,6 @@ ca_call_cfunc_5_r (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4
1352
1377
  state.stride = stride;
1353
1378
  state.owned_buf = owned_buf;
1354
1379
  state.attached = attached;
1355
- state.no_mask = 0;
1356
1380
  state.src_label = "ca_call_cfunc_5_r";
1357
1381
 
1358
1382
  ca_sweep_acquire(&state);
@@ -1362,6 +1386,11 @@ ca_call_cfunc_5_r (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4
1362
1386
  ctx.userdata = userdata;
1363
1387
  ca_sweep_run(&state, ca_call_cfunc_5_r_walk, (VALUE) &ctx);
1364
1388
 
1389
+ RB_GC_GUARD(rcx1);
1390
+ RB_GC_GUARD(rcx2);
1391
+ RB_GC_GUARD(rcx3);
1392
+ RB_GC_GUARD(rcx4);
1393
+
1365
1394
  return rcx0;
1366
1395
  }
1367
1396
 
@@ -1429,7 +1458,6 @@ ca_call_cfunc_6_r (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4
1429
1458
  state.stride = stride;
1430
1459
  state.owned_buf = owned_buf;
1431
1460
  state.attached = attached;
1432
- state.no_mask = 0;
1433
1461
  state.src_label = "ca_call_cfunc_6_r";
1434
1462
 
1435
1463
  ca_sweep_acquire(&state);
@@ -1439,6 +1467,12 @@ ca_call_cfunc_6_r (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4
1439
1467
  ctx.userdata = userdata;
1440
1468
  ca_sweep_run(&state, ca_call_cfunc_6_r_walk, (VALUE) &ctx);
1441
1469
 
1470
+ RB_GC_GUARD(rcx1);
1471
+ RB_GC_GUARD(rcx2);
1472
+ RB_GC_GUARD(rcx3);
1473
+ RB_GC_GUARD(rcx4);
1474
+ RB_GC_GUARD(rcx5);
1475
+
1442
1476
  return rcx0;
1443
1477
  }
1444
1478
 
@@ -1507,7 +1541,6 @@ ca_call_cfunc_7_r (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4
1507
1541
  state.stride = stride;
1508
1542
  state.owned_buf = owned_buf;
1509
1543
  state.attached = attached;
1510
- state.no_mask = 0;
1511
1544
  state.src_label = "ca_call_cfunc_7_r";
1512
1545
 
1513
1546
  ca_sweep_acquire(&state);
@@ -1517,6 +1550,13 @@ ca_call_cfunc_7_r (void (*func)(void *p0, void *p1, void *p2, void *p3, void *p4
1517
1550
  ctx.userdata = userdata;
1518
1551
  ca_sweep_run(&state, ca_call_cfunc_7_r_walk, (VALUE) &ctx);
1519
1552
 
1553
+ RB_GC_GUARD(rcx1);
1554
+ RB_GC_GUARD(rcx2);
1555
+ RB_GC_GUARD(rcx3);
1556
+ RB_GC_GUARD(rcx4);
1557
+ RB_GC_GUARD(rcx5);
1558
+ RB_GC_GUARD(rcx6);
1559
+
1520
1560
  return rcx0;
1521
1561
  }
1522
1562
 
@@ -1934,7 +1974,6 @@ ca_call_cslab_1 (ca_cslab_t func, const char *fsync,
1934
1974
  state.stride = stride;
1935
1975
  state.owned_buf = owned_buf;
1936
1976
  state.attached = attached;
1937
- state.no_mask = 0;
1938
1977
  state.src_label = "ca_call_cslab_1";
1939
1978
 
1940
1979
  ca_sweep_acquire_chunked(&state);
@@ -1978,7 +2017,6 @@ ca_call_cslab_2 (ca_cslab_t func, const char *fsync,
1978
2017
  state.stride = stride;
1979
2018
  state.owned_buf = owned_buf;
1980
2019
  state.attached = attached;
1981
- state.no_mask = 0;
1982
2020
  state.src_label = "ca_call_cslab_2";
1983
2021
 
1984
2022
  ca_sweep_acquire_chunked(&state);
@@ -1989,6 +2027,8 @@ ca_call_cslab_2 (ca_cslab_t func, const char *fsync,
1989
2027
  ctx.userdata = NULL;
1990
2028
  ca_sweep_run_chunked(&state, ca_cslab_walk, (VALUE) &ctx);
1991
2029
 
2030
+ RB_GC_GUARD(rcx1);
2031
+
1992
2032
  return rcx0;
1993
2033
  }
1994
2034
 
@@ -2023,7 +2063,6 @@ ca_call_cslab_3 (ca_cslab_t func, const char *fsync,
2023
2063
  state.stride = stride;
2024
2064
  state.owned_buf = owned_buf;
2025
2065
  state.attached = attached;
2026
- state.no_mask = 0;
2027
2066
  state.src_label = "ca_call_cslab_3";
2028
2067
 
2029
2068
  ca_sweep_acquire_chunked(&state);
@@ -2034,6 +2073,9 @@ ca_call_cslab_3 (ca_cslab_t func, const char *fsync,
2034
2073
  ctx.userdata = NULL;
2035
2074
  ca_sweep_run_chunked(&state, ca_cslab_walk, (VALUE) &ctx);
2036
2075
 
2076
+ RB_GC_GUARD(rcx1);
2077
+ RB_GC_GUARD(rcx2);
2078
+
2037
2079
  return rcx0;
2038
2080
  }
2039
2081
 
@@ -2069,7 +2111,6 @@ ca_call_cslab_4 (ca_cslab_t func, const char *fsync,
2069
2111
  state.stride = stride;
2070
2112
  state.owned_buf = owned_buf;
2071
2113
  state.attached = attached;
2072
- state.no_mask = 0;
2073
2114
  state.src_label = "ca_call_cslab_4";
2074
2115
 
2075
2116
  ca_sweep_acquire_chunked(&state);
@@ -2080,6 +2121,10 @@ ca_call_cslab_4 (ca_cslab_t func, const char *fsync,
2080
2121
  ctx.userdata = NULL;
2081
2122
  ca_sweep_run_chunked(&state, ca_cslab_walk, (VALUE) &ctx);
2082
2123
 
2124
+ RB_GC_GUARD(rcx1);
2125
+ RB_GC_GUARD(rcx2);
2126
+ RB_GC_GUARD(rcx3);
2127
+
2083
2128
  return rcx0;
2084
2129
  }
2085
2130
 
@@ -2116,7 +2161,6 @@ ca_call_cslab_5 (ca_cslab_t func, const char *fsync,
2116
2161
  state.stride = stride;
2117
2162
  state.owned_buf = owned_buf;
2118
2163
  state.attached = attached;
2119
- state.no_mask = 0;
2120
2164
  state.src_label = "ca_call_cslab_5";
2121
2165
 
2122
2166
  ca_sweep_acquire_chunked(&state);
@@ -2127,6 +2171,11 @@ ca_call_cslab_5 (ca_cslab_t func, const char *fsync,
2127
2171
  ctx.userdata = NULL;
2128
2172
  ca_sweep_run_chunked(&state, ca_cslab_walk, (VALUE) &ctx);
2129
2173
 
2174
+ RB_GC_GUARD(rcx1);
2175
+ RB_GC_GUARD(rcx2);
2176
+ RB_GC_GUARD(rcx3);
2177
+ RB_GC_GUARD(rcx4);
2178
+
2130
2179
  return rcx0;
2131
2180
  }
2132
2181
 
@@ -2164,7 +2213,6 @@ ca_call_cslab_6 (ca_cslab_t func, const char *fsync,
2164
2213
  state.stride = stride;
2165
2214
  state.owned_buf = owned_buf;
2166
2215
  state.attached = attached;
2167
- state.no_mask = 0;
2168
2216
  state.src_label = "ca_call_cslab_6";
2169
2217
 
2170
2218
  ca_sweep_acquire_chunked(&state);
@@ -2175,6 +2223,12 @@ ca_call_cslab_6 (ca_cslab_t func, const char *fsync,
2175
2223
  ctx.userdata = NULL;
2176
2224
  ca_sweep_run_chunked(&state, ca_cslab_walk, (VALUE) &ctx);
2177
2225
 
2226
+ RB_GC_GUARD(rcx1);
2227
+ RB_GC_GUARD(rcx2);
2228
+ RB_GC_GUARD(rcx3);
2229
+ RB_GC_GUARD(rcx4);
2230
+ RB_GC_GUARD(rcx5);
2231
+
2178
2232
  return rcx0;
2179
2233
  }
2180
2234
 
@@ -2213,7 +2267,6 @@ ca_call_cslab_7 (ca_cslab_t func, const char *fsync,
2213
2267
  state.stride = stride;
2214
2268
  state.owned_buf = owned_buf;
2215
2269
  state.attached = attached;
2216
- state.no_mask = 0;
2217
2270
  state.src_label = "ca_call_cslab_7";
2218
2271
 
2219
2272
  ca_sweep_acquire_chunked(&state);
@@ -2224,6 +2277,13 @@ ca_call_cslab_7 (ca_cslab_t func, const char *fsync,
2224
2277
  ctx.userdata = NULL;
2225
2278
  ca_sweep_run_chunked(&state, ca_cslab_walk, (VALUE) &ctx);
2226
2279
 
2280
+ RB_GC_GUARD(rcx1);
2281
+ RB_GC_GUARD(rcx2);
2282
+ RB_GC_GUARD(rcx3);
2283
+ RB_GC_GUARD(rcx4);
2284
+ RB_GC_GUARD(rcx5);
2285
+ RB_GC_GUARD(rcx6);
2286
+
2227
2287
  return rcx0;
2228
2288
  }
2229
2289
 
@@ -2257,7 +2317,6 @@ ca_call_cslab_1_r (ca_cslab_r_t func, const char *fsync,
2257
2317
  state.stride = stride;
2258
2318
  state.owned_buf = owned_buf;
2259
2319
  state.attached = attached;
2260
- state.no_mask = 0;
2261
2320
  state.src_label = "ca_call_cslab_1_r";
2262
2321
 
2263
2322
  ca_sweep_acquire_chunked(&state);
@@ -2302,7 +2361,6 @@ ca_call_cslab_2_r (ca_cslab_r_t func, const char *fsync,
2302
2361
  state.stride = stride;
2303
2362
  state.owned_buf = owned_buf;
2304
2363
  state.attached = attached;
2305
- state.no_mask = 0;
2306
2364
  state.src_label = "ca_call_cslab_2_r";
2307
2365
 
2308
2366
  ca_sweep_acquire_chunked(&state);
@@ -2313,6 +2371,8 @@ ca_call_cslab_2_r (ca_cslab_r_t func, const char *fsync,
2313
2371
  ctx.userdata = userdata;
2314
2372
  ca_sweep_run_chunked(&state, ca_cslab_r_walk, (VALUE) &ctx);
2315
2373
 
2374
+ RB_GC_GUARD(rcx1);
2375
+
2316
2376
  return rcx0;
2317
2377
  }
2318
2378
 
@@ -2348,7 +2408,6 @@ ca_call_cslab_3_r (ca_cslab_r_t func, const char *fsync,
2348
2408
  state.stride = stride;
2349
2409
  state.owned_buf = owned_buf;
2350
2410
  state.attached = attached;
2351
- state.no_mask = 0;
2352
2411
  state.src_label = "ca_call_cslab_3_r";
2353
2412
 
2354
2413
  ca_sweep_acquire_chunked(&state);
@@ -2359,6 +2418,9 @@ ca_call_cslab_3_r (ca_cslab_r_t func, const char *fsync,
2359
2418
  ctx.userdata = userdata;
2360
2419
  ca_sweep_run_chunked(&state, ca_cslab_r_walk, (VALUE) &ctx);
2361
2420
 
2421
+ RB_GC_GUARD(rcx1);
2422
+ RB_GC_GUARD(rcx2);
2423
+
2362
2424
  return rcx0;
2363
2425
  }
2364
2426
 
@@ -2395,7 +2457,6 @@ ca_call_cslab_4_r (ca_cslab_r_t func, const char *fsync,
2395
2457
  state.stride = stride;
2396
2458
  state.owned_buf = owned_buf;
2397
2459
  state.attached = attached;
2398
- state.no_mask = 0;
2399
2460
  state.src_label = "ca_call_cslab_4_r";
2400
2461
 
2401
2462
  ca_sweep_acquire_chunked(&state);
@@ -2406,6 +2467,10 @@ ca_call_cslab_4_r (ca_cslab_r_t func, const char *fsync,
2406
2467
  ctx.userdata = userdata;
2407
2468
  ca_sweep_run_chunked(&state, ca_cslab_r_walk, (VALUE) &ctx);
2408
2469
 
2470
+ RB_GC_GUARD(rcx1);
2471
+ RB_GC_GUARD(rcx2);
2472
+ RB_GC_GUARD(rcx3);
2473
+
2409
2474
  return rcx0;
2410
2475
  }
2411
2476
 
@@ -2443,7 +2508,6 @@ ca_call_cslab_5_r (ca_cslab_r_t func, const char *fsync,
2443
2508
  state.stride = stride;
2444
2509
  state.owned_buf = owned_buf;
2445
2510
  state.attached = attached;
2446
- state.no_mask = 0;
2447
2511
  state.src_label = "ca_call_cslab_5_r";
2448
2512
 
2449
2513
  ca_sweep_acquire_chunked(&state);
@@ -2454,6 +2518,11 @@ ca_call_cslab_5_r (ca_cslab_r_t func, const char *fsync,
2454
2518
  ctx.userdata = userdata;
2455
2519
  ca_sweep_run_chunked(&state, ca_cslab_r_walk, (VALUE) &ctx);
2456
2520
 
2521
+ RB_GC_GUARD(rcx1);
2522
+ RB_GC_GUARD(rcx2);
2523
+ RB_GC_GUARD(rcx3);
2524
+ RB_GC_GUARD(rcx4);
2525
+
2457
2526
  return rcx0;
2458
2527
  }
2459
2528
 
@@ -2492,7 +2561,6 @@ ca_call_cslab_6_r (ca_cslab_r_t func, const char *fsync,
2492
2561
  state.stride = stride;
2493
2562
  state.owned_buf = owned_buf;
2494
2563
  state.attached = attached;
2495
- state.no_mask = 0;
2496
2564
  state.src_label = "ca_call_cslab_6_r";
2497
2565
 
2498
2566
  ca_sweep_acquire_chunked(&state);
@@ -2503,6 +2571,12 @@ ca_call_cslab_6_r (ca_cslab_r_t func, const char *fsync,
2503
2571
  ctx.userdata = userdata;
2504
2572
  ca_sweep_run_chunked(&state, ca_cslab_r_walk, (VALUE) &ctx);
2505
2573
 
2574
+ RB_GC_GUARD(rcx1);
2575
+ RB_GC_GUARD(rcx2);
2576
+ RB_GC_GUARD(rcx3);
2577
+ RB_GC_GUARD(rcx4);
2578
+ RB_GC_GUARD(rcx5);
2579
+
2506
2580
  return rcx0;
2507
2581
  }
2508
2582
 
@@ -2542,7 +2616,6 @@ ca_call_cslab_7_r (ca_cslab_r_t func, const char *fsync,
2542
2616
  state.stride = stride;
2543
2617
  state.owned_buf = owned_buf;
2544
2618
  state.attached = attached;
2545
- state.no_mask = 0;
2546
2619
  state.src_label = "ca_call_cslab_7_r";
2547
2620
 
2548
2621
  ca_sweep_acquire_chunked(&state);
@@ -2553,6 +2626,13 @@ ca_call_cslab_7_r (ca_cslab_r_t func, const char *fsync,
2553
2626
  ctx.userdata = userdata;
2554
2627
  ca_sweep_run_chunked(&state, ca_cslab_r_walk, (VALUE) &ctx);
2555
2628
 
2629
+ RB_GC_GUARD(rcx1);
2630
+ RB_GC_GUARD(rcx2);
2631
+ RB_GC_GUARD(rcx3);
2632
+ RB_GC_GUARD(rcx4);
2633
+ RB_GC_GUARD(rcx5);
2634
+ RB_GC_GUARD(rcx6);
2635
+
2556
2636
  return rcx0;
2557
2637
  }
2558
2638