From 1171c3c7b6ff7632959493dd3dc234d7f6011f88 Mon Sep 17 00:00:00 2001 From: ribet Date: Thu, 25 Jun 2009 14:43:50 +0000 Subject: Version 1.2 --- calibration.e | 550 +- debian/changelog | 14 + reference_points.e | 189 +- wacom_pointer.e | 67 +- xinput_ivy.c | 22228 +++++++++++++++++++++++++-------------------------- xinput_ivy.e | 18 +- xinput_ivy.h | 3374 ++++---- 7 files changed, 13229 insertions(+), 13211 deletions(-) diff --git a/calibration.e b/calibration.e index e1b2d6a..fc6b3e0 100644 --- a/calibration.e +++ b/calibration.e @@ -5,102 +5,542 @@ class CALIBRATION -- - reload calibration grid, -- - use calibration grid for coordinates conversion. +-- Calibration file format: +-- device_description_file_name +-- [offset_map] x +-- [offset_map] y +-- [parameter_offset] p0 x +-- [parameter_offset] p0 y +-- [parameter_offset] p1 x +-- [parameter_offset] p1 y +-- ... +-- [parameter_offset] pnb_param-1 x +-- [parameter_offset] pnb_param-1 y +-- +-- +-- offset_map format: +-- nb_point_x nb_point_y +-- offset +-- ... +-- offset (nb_point_x * nb_point_y values) +-- +-- +-- parameter_offset format: +-- nb_point_x nb_point_y nb_param_values +-- offset +-- ... +-- offset (nb_point_x * nb_point_y * nb_param_values values) +-- + create {ANY} - make + make, load_from +create {CALIBRATION_HANDLER} + uncalibrated + feature {} make is do - create reference_points.make end feature {ANY} - ready: BOOLEAN - - build (display_width_, display_height_: INTEGER) is + write_to (os: OUTPUT_STREAM) is + require + os.is_connected local - uncalibrated: FAST_ARRAY[INTEGER] + i: INTEGER do - display_width := display_width_ - display_height := display_height_ + os.put_line(device_description_name) + x_map.write_to(os) + y_map.write_to(os) from - uncalibrated := {FAST_ARRAY[INTEGER] <<0, 0, display_width, display_height>>} + i := x_parameters_maps.lower until - uncalibrated.is_empty + i > x_parameters_maps.upper loop - + x_parameters_maps.item(i).write_to(os) + y_parameters_maps.item(i).write_to(os) + i := i + 1 end ensure - ready + os.is_connected end - write_to (os: OUTPUT_STREAM) is + load_from (data: INPUT_STREAM) is require - os.is_connected + data.is_connected + local + i: INTEGER + po: PARAMETER_OFFSET + device_file: TEXT_FILE_READ do - ensure - os.is_connected + data.read_line + device_description_name := data.last_string.twin + create device_file.connect_to(device_description_name) + create device.load_from(device_file) + device_file.disconnect + create x_map.load_from(data, device) + create y_map.load_from(data, device) + from + create x_parameters_maps.make(device.nb_parameters) + create y_parameters_maps.make(device.nb_parameters) + i := x_parameters_maps.lower + until + i > x_parameters_maps.upper + loop + create po.load_from(data, device, i + 1) + x_parameters_maps.put(po, i) + create po.load_from(data, device, i + 1) + y_parameters_maps.put(po, i) + i := i + 1 + end end - load_from (data: INPUT_STREAM) is + + convert (x_device, y_device: INTEGER ; params: FAST_ARRAY[INTEGER]) is + -- Result is available in last_x, last_y require - data.is_connected + x_device.in_range(0, device.width) + y_device.in_range(0, device.height) + params /= Void implies params.count = device.nb_parameters + local + i: INTEGER do + last_x := x_device + x_map.offset_at(x_device, y_device) + last_y := y_device + y_map.offset_at(x_device, y_device) + if params /= Void then + from + i := x_parameters_maps.lower + until + i > x_parameters_maps.upper + loop + last_x := last_x + x_parameters_maps.item(i).offset_at(x_device, y_device, params.item(i)) + last_y := last_y + y_parameters_maps.item(i).offset_at(x_device, y_device, params.item(i)) + i := i + 1 + end + end + if last_x < 0 then + last_x := 0 + end + if last_y < 0 then + last_y := 0 + end + if last_x > device.width then + last_x := device.width + end + if last_y > device.height then + last_y := device.height + end + ensure + last_x.in_range(0, device.width) + last_y.in_range(0, device.height) end - set_offset(x_display, y_display: INTEGER) is + last_x, last_y: INTEGER + -- Last conversion result (in device coordinates) + +feature {} + partial_offset (x_device, y_device, param_index: INTEGER) is + -- Sum offset with parameters set to 0, up to param_index excluded. + -- Result is available in last_x, last_y + require + x_device.in_range(0, device.width) + y_device.in_range(0, device.height) + param_index.in_range(0, device.nb_parameters - 1) + local + i: INTEGER do - x_offset := x_display - y_offset := y_display + last_x := x_map.offset_at(x_device, y_device) + last_y := y_map.offset_at(x_device, y_device) + from + i := x_parameters_maps.lower + until + i >= param_index + loop + last_x := last_x + x_parameters_maps.item(i).offset_at(x_device, y_device, 0) + last_y := last_y + y_parameters_maps.item(i).offset_at(x_device, y_device, 0) + i := i + 1 + end end + +feature {} + file_tools: FILE_TOOLS - convert (x_device, y_device: INTEGER) is - -- Result is available in last_x, last_y + uncalibrated(device_file_name: STRING) is require - x_device.in_range(0, device_width) - y_device.in_range(0, device_height) + file_tools.file_exists(device_file_name) + local + i: INTEGER + po: PARAMETER_OFFSET + device_file: TEXT_FILE_READ + do + device_description_name := device_file_name + create device_file.connect_to(device_file_name) + create device.load_from(device_file) + device_file.disconnect + create x_map.uncalibrated(device) + create y_map.uncalibrated(device) + from + create x_parameters_maps.make(device.nb_parameters) + create y_parameters_maps.make(device.nb_parameters) + i := x_parameters_maps.lower + until + i > x_parameters_maps.upper + loop + create po.uncalibrated(device, i + 1) + x_parameters_maps.put(po, i) + create po.uncalibrated(device, i + 1) + y_parameters_maps.put(po, i) + i := i + 1 + end + create reference_points.make(device.nb_parameters) + end + + reference_points: REFERENCE_POINTS + + rebuild_maps is + local + i: INTEGER + do + from + i := x_parameters_maps.lower + until + i > x_parameters_maps.upper + loop + x_parameters_maps.item(i).reset + y_parameters_maps.item(i).reset + i := i + 1 + end + from + build_position_maps + i := x_parameters_maps.lower + until + i > x_parameters_maps.upper + loop + build_parameter_maps(i) + i := i + 1 + end + end + +feature {} -- building maps +-- nb_intervals: INTEGER is 100 --*** auto ? + nb_intervals: INTEGER is 10 + + build_position_maps is local i, j: INTEGER - x_rest, y_rest: INTEGER - + xmap, ymap: FAST_ARRAY2[INTEGER] do - i := x_device // horizontal_step - j := y_device // vertical_step - x_rest := x_device - i * horizontal_step - y_rest := y_device - j * vertical_step - if y_rest * 2 < vertical_step then - last_x := ((x_table.item(i, j) * x_rest + x_table.item(i + 1, j) * (horizontal_step - x_rest)) / horizontal_step).force_to_integer_32 + from + xmap := x_map.empty_map(nb_intervals + 1) + ymap := y_map.empty_map(nb_intervals + 1) + i := xmap.lower1 + until + i > xmap.upper1 + loop + from + j := xmap.lower2 + until + j > xmap.upper2 + loop + xmap.put(build_x_offset_for(i/nb_intervals, j/nb_intervals), i, j) + ymap.put(build_y_offset_for(i/nb_intervals, j/nb_intervals), i, j) + j := j + 1 + end + i := i + 1 + end + end + + build_x_offset_for(x, y: REAL): INTEGER is + local + i, j, v: INTEGER + continue: BOOLEAN + left_index, right_index: INTEGER + left_distance, right_distance: REAL + left_error, right_error: INTEGER + tmp, length, dev: REAL + do + from + left_distance := device.nb_parameters * 3 + right_distance := left_distance + left_index := -1 + right_index := -1 + i := reference_points.count - 1 + until + i < 0 + loop + from + tmp := (reference_points.x_target(i) / device.width - x) * 3 + length := tmp * tmp + tmp := reference_points.y_target(i) / device.height - y + length := length + tmp * tmp + j := device.nb_parameters - 1 + continue := True + until + j < 0 or not continue + loop + v := reference_points.parameter_value(i, j) + dev := rate(v, device.min_parameter(j + 1), device.max_parameter(j + 1)) + continue := dev.in_range(0.4, 0.6) + dev := dev - 0.5 + length := length + dev * dev + j := j - 1 + end + if continue then + if reference_points.x_target(i) / device.width < x then + if length < left_distance then + left_index := i + left_distance := length + end + else + if length < right_distance then + right_index := i + right_distance := length + end + end + end + i := i - 1 + end + if right_index = -1 then + Result := reference_points.x_target(left_index) - reference_points.x_measure(left_index) + elseif left_index = -1 then + Result := reference_points.x_target(right_index) - reference_points.x_measure(right_index) else - last_x := ((x_table.item(i, j + 1) * x_rest + x_table.item(i + 1, j + 1) * (horizontal_step - x_rest)) / horizontal_step).force_to_integer_32 + left_distance := left_distance.sqrt + right_distance := right_distance.sqrt +-- io.put_string(once "x = "); io.put_real(x); io.put_string(once " y = "); io.put_real(y); io.put_new_line +-- io.put_string(once "ld = "); io.put_real(left_distance); io.put_character(' '); io.put_integer(left_index);io.put_new_line +-- io.put_string(once "rd = "); io.put_real(right_distance); io.put_character(' '); io.put_integer(right_index); io.put_new_line + left_error := reference_points.x_target(left_index) - reference_points.x_measure(left_index) + right_error := reference_points.x_target(right_index) - reference_points.x_measure(right_index) +-- io.put_string(once "le = "); io.put_real(left_error); io.put_new_line +-- io.put_string(once "re = "); io.put_real(right_error); io.put_new_line + Result := ((right_error*left_distance + left_error*right_distance) / (left_distance + right_distance)).force_to_integer_32 +-- io.put_string(once "R = "); io.put_integer(Result); io.put_new_line; io.put_new_line + end + end + + build_y_offset_for(x, y: REAL): INTEGER is + local + i, j, v: INTEGER + continue: BOOLEAN + up_index, down_index: INTEGER + up_distance, down_distance: REAL + up_error, down_error: INTEGER + tmp, length, dev: REAL + do + from + up_distance := device.nb_parameters * 3 + down_distance := up_distance + up_index := -1 + down_index := -1 + i := reference_points.count - 1 + until + i < 0 + loop + from + tmp := reference_points.x_target(i) / device.width - x + length := tmp * tmp + tmp := (reference_points.y_target(i) / device.height - y) * 3 + length := length + tmp * tmp + j := device.nb_parameters - 1 + continue := True + until + j < 0 or not continue + loop + v := reference_points.parameter_value(i, j) + dev := rate(v, device.min_parameter(j + 1), device.max_parameter(j + 1)) + continue := dev.in_range(0.4, 0.6) + dev := dev - 0.5 + length := length + dev * dev + j := j - 1 + end + if continue then + if reference_points.y_target(i) / device.height < y then + if length < up_distance then + up_index := i + up_distance := length + end + else + if length < down_distance then + down_index := i + down_distance := length + end + end + end + i := i - 1 end - if x_rest * 2 < horizontal_step then - last_y := ((y_table.item(i, j) * y_rest + y_table.item(i, j + 1) * (vertical_step - y_rest)) / vertical_step).force_to_integer_32 + if down_index = -1 then + Result := reference_points.y_target(up_index) - reference_points.y_measure(up_index) + elseif up_index = -1 then + Result := reference_points.y_target(down_index) - reference_points.y_measure(down_index) else - last_y := ((y_table.item(i + 1, j) * y_rest + y_table.item(i + 1, j + 1) * (vertical_step - y_rest)) / vertical_step).force_to_integer_32 + up_distance := up_distance.sqrt + down_distance := down_distance.sqrt + up_error := reference_points.y_target(up_index) - reference_points.y_measure(up_index) + down_error := reference_points.y_target(down_index) - reference_points.y_measure(down_index) + Result := ((down_error*up_distance + up_error*down_distance) / (up_distance + down_distance)).force_to_integer_32 end - ensure - last_x.in_range(x_offset, x_offset + display_width -1) - last_y.in_range(y_offset, y_offset + display_height - 1) end - last_x, last_y: INTEGER - -- Last conversion result (in display coordinates) + param_division: INTEGER is 4 -feature {} - x_offset, y_offset, display_width, display_height: INTEGER - -- coordinates and size of the displayed area in pixels + build_parameter_maps(param: INTEGER) is + require + param.in_range(0, device.nb_parameters - 1) + local + i, j, k: INTEGER + xmap, ymap: FAST_ARRAY3[INTEGER] + hstep, vstep: INTEGER + correction_x, correction_y: INTEGER + do + hstep := x_map.horizontal_step.to_integer_32 + vstep := y_map.vertical_step.to_integer_32 + xmap := x_parameters_maps.item(param).empty_map(nb_intervals + 1, param_division + 1) + ymap := y_parameters_maps.item(param).empty_map(nb_intervals + 1, param_division + 1) + from + i := xmap.lower1 + until + i > xmap.upper1 + loop + from + j := xmap.lower2 + until + j > xmap.upper2 + loop + from + k := xmap.lower3 + partial_offset(i * hstep, j * vstep, param) + correction_x := last_x + correction_y := last_y + until + k > xmap.upper3 + loop + xmap.put(build_x_offset_for_parameter(i/nb_intervals, j/nb_intervals, k / param_division, param, correction_x), i, j, k) + ymap.put(build_y_offset_for_parameter(i/nb_intervals, j/nb_intervals, k / param_division, param, correction_y), i, j, k) + k := k + 1 + end + j := j + 1 + end + i := i + 1 + end + end + + build_x_offset_for_parameter(x, y, z: REAL; index: INTEGER; cumulated_correction: INTEGER): INTEGER is + local + i, j, v: INTEGER + continue: BOOLEAN + left_index, right_index: INTEGER + left_distance, right_distance: REAL + left_error, right_error: INTEGER + tmp, length, dev: REAL + do + from + left_distance := device.nb_parameters * 3 + right_distance := left_distance + left_index := -1 + right_index := -1 + i := reference_points.count - 1 + until + i < 0 + loop + from + tmp := reference_points.x_target(i) / device.width - x + length := tmp * tmp + tmp := reference_points.y_target(i) / device.height - y + length := length + tmp * tmp + j := device.nb_parameters - 1 + continue := True + until + j < 0 or not continue + loop + v := reference_points.parameter_value(i, j) + dev := rate(v, device.min_parameter(j + 1), device.max_parameter(j + 1)) + if j = index then + continue := dev.in_range(z - 0.15, z + 0.15) + dev := (dev - z) * 3 + else + continue := dev.in_range(0.4, 0.6) + dev := dev - 0.5 + end + length := length + dev * dev + j := j - 1 + end + if continue then + if reference_points.x_target(i) / device.width < x then + if length < left_distance then + left_index := i + left_distance := length + end + else + if length < right_distance then + right_index := i + right_distance := length + end + end + end + i := i - 1 + end + if right_index /= -1 then + if left_index /= -1 then + left_distance := left_distance.sqrt + right_distance := right_distance.sqrt + left_error := reference_points.x_target(left_index) - reference_points.x_measure(left_index) + right_error := reference_points.x_target(right_index) - reference_points.x_measure(right_index) + Result := ((right_error*left_distance + left_error*right_distance) / (left_distance + right_distance)).force_to_integer_32 - cumulated_correction + else + Result := reference_points.x_target(right_index) - reference_points.x_measure(right_index) - cumulated_correction + end + else + if left_index /= -1 then + Result := reference_points.x_target(left_index) - reference_points.x_measure(left_index) - cumulated_correction + else + Result := 0 + end + end + end + + build_y_offset_for_parameter(x, y, z: REAL; index: INTEGER; cumulated_correction: INTEGER): INTEGER is + do + end + + rate(value, min, max: INTEGER): REAL is + require + value.in_range(min, max) + do + Result := (value - min) / (max - min) + ensure + Result.in_range(0, 1) + end + +feature {CALIBRATION_HANDLER} + add_measure(x_target, y_target: INTEGER; x_measure, y_measure: INTEGER; parameters_values: FAST_ARRAY[INTEGER]) is + require + device.valid_x(x_target) + device.valid_y(y_target) + device.valid_x(x_measure) + device.valid_y(y_measure) + device.valid_parameters(parameters_values) + do + reference_points.add_point(x_target, y_target, x_measure, y_measure, parameters_values) + rebuild_maps + end - x_table, y_table: FAST_ARRAY2[REAL] - -- Store display coordinates for device coordinate. Use - -- `horizontal_step' and `vertical_step' for table indexes values. + x_map, y_map: OFFSET_MAP - horizontal_step, vertical_step: INTEGER - -- Indexes steps for tables + x_parameters_maps, y_parameters_maps: FAST_ARRAY[PARAMETER_OFFSET] - device_width, device_height: INTEGER - -- Digitizer size + device: DEVICE_DESCRIPTION + +feature {} + device_description_name: STRING + +invariant + (x_parameters_maps /= Void) = (y_parameters_maps /= Void) - reference_points: REFERENCE_POINTS - -- 4 values per reference point x_device + x_parameters_maps /= Void implies x_parameters_maps.count = y_parameters_maps.count + + device.nb_parameters = 0 implies x_parameters_maps = Void + + device.nb_parameters /= 0 implies x_parameters_maps.count = device.nb_parameters end - diff --git a/debian/changelog b/debian/changelog index c621b15..8b88483 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,17 @@ +xinput-ivy (1.2-1) unstable; urgency=low + + * Modification pour lenny (problème d'état unavailable des périphériques). + * Prise en compte de la variable d'environnement IVYBUS pour le bus par + défaut. + * Ajout d'une option crop qui permet de réduire le nombre de messages : + lorsque le pointeur est hors de la zonne définie, les évènements move ne + sont pas émis. Les positions hires à l'intérieur de la fenêtre définie + parcourent l'intervalle [0,1], au-delà elles sortent de l'intervalle. + * Ajustement de la calibration pour être en ligne avec la calibration + communément utilisée dans la configuration du serveur X. + + -- Philippe Ribet Wed, 24 Jun 2009 16:03:00 +0100 + xinput-ivy (1.1-1) unstable; urgency=low * Ajout de l'information hires (précision subpixel de la position du diff --git a/reference_points.e b/reference_points.e index 8059108..ff5237f 100644 --- a/reference_points.e +++ b/reference_points.e @@ -6,28 +6,94 @@ create {CALIBRATION} make feature {} - make is + default_capacity: INTEGER is 10 + + make(nb_parameters_: INTEGER) is + local + i: INTEGER + tmp: FAST_ARRAY[INTEGER] do - create x_device_points.with_capacity(10) - create y_device_points.with_capacity(10) - create x_display_points.with_capacity(10) - create y_display_points.with_capacity(10) + create x_target_points.with_capacity(default_capacity) + create y_target_points.with_capacity(default_capacity) + create x_measure_points.with_capacity(default_capacity) + create y_measure_points.with_capacity(default_capacity) + from + nb_parameters := nb_parameters_ + create parameters.with_capacity(nb_parameters) + i := 0 + until + i >= nb_parameters + loop + create tmp.with_capacity(default_capacity) + parameters.add_last(tmp) + i := i + 1 + end + ensure + nb_parameters = nb_parameters_ end feature {ANY} - add_point(x_device, y_device, x_display, y_display: INTEGER) is + add_point(a_x_target, a_y_target: INTEGER; a_x_measure, a_y_measure: INTEGER; parameters_values: FAST_ARRAY[INTEGER]) is + require + parameters_values.count = nb_parameters + local + i: INTEGER do - x_device_points.add_last(x_device) - y_device_points.add_last(y_device) - x_display_points.add_last(x_display) - y_display_points.add_last(y_display) + x_target_points.add_last(a_x_target) + y_target_points.add_last(a_y_target) + x_measure_points.add_last(a_x_measure) + y_measure_points.add_last(a_y_measure) + from + i := parameters.lower + until + i > parameters.upper + loop + parameters.item(i).add_last(parameters_values.item(i)) + i := i + 1 + end ensure count = old count + 1 end count: INTEGER is do - Result := x_device_points.count + Result := x_target_points.count + end + + x_target(point: INTEGER): INTEGER is + require + point.in_range(0, count - 1) + do + Result := x_target_points.item(point) + end + + y_target(point: INTEGER): INTEGER is + require + point.in_range(0, count - 1) + do + Result := y_target_points.item(point) + end + + x_measure(point: INTEGER): INTEGER is + require + point.in_range(0, count - 1) + do + Result := x_measure_points.item(point) + end + + y_measure(point: INTEGER): INTEGER is + require + point.in_range(0, count - 1) + do + Result := y_measure_points.item(point) + end + + parameter_value(point, param: INTEGER): INTEGER is + require + point.in_range(0, count - 1) + param.in_range(0, nb_parameters - 1) + do + Result := parameters.item(param).item(point) end find_best_pair_for(x, y: INTEGER) is @@ -42,62 +108,69 @@ feature {ANY} i1, i2: INTEGER x1, y1, x2, y2: INTEGER do - from - i1 := x_device_points.upper - d_min := Maximum_integer_64 - until - i1 < x_device_points.lower - loop - x1 := x_device_points.item(i1) - d1 := x1 - x - d1 := d1 * d1 - y1 := y_device_points.item(i1) - tmp := y1 - y - d1 := d1 + tmp * tmp - if d1 < d_min then - from - i2 := i1 - 1 - until - i2 < x_device_points.lower - loop - x2 := x_device_points.item(i2) - y2 := y_device_points.item(i2) - if ((x1 < x) xor (x2 < x)) and then - ((y1 < y) xor (y2 < y)) then - d2 := x2 - x - tmp := y2 - y - d2 := d2 * d2 + tmp * tmp + d1 - if d2 < d_min then - d_min := d2 - p1 := i1 - p2 := i2 - end - end - i2 := i2 - 1 - end - end - i1 := i1 - 1 - end +-- from +-- i1 := x_device_points.upper +-- d_min := Maximum_integer_64 +-- until +-- i1 < x_device_points.lower +-- loop +-- x1 := x_device_points.item(i1) +-- d1 := x1 - x +-- d1 := d1 * d1 +-- y1 := y_device_points.item(i1) +-- tmp := y1 - y +-- d1 := d1 + tmp * tmp +-- if d1 < d_min then +-- from +-- i2 := i1 - 1 +-- until +-- i2 < x_device_points.lower +-- loop +-- x2 := x_device_points.item(i2) +-- y2 := y_device_points.item(i2) +-- if ((x1 < x) xor (x2 < x)) and then +-- ((y1 < y) xor (y2 < y)) then +-- d2 := x2 - x +-- tmp := y2 - y +-- d2 := d2 * d2 + tmp * tmp + d1 +-- if d2 < d_min then +-- d_min := d2 +-- p1 := i1 +-- p2 := i2 +-- end +-- end +-- i2 := i2 - 1 +-- end +-- end +-- i1 := i1 - 1 +-- end -- *** le cas où on ne peut pas trouver un point de chaque -- coté n'est pas géré -- *** a la fin, il faudrait renseigner last_* end - last_point1_x, last_point1_y: INTEGER - -- Answer point for `find_best_pair_for' +-- last_point1_x, last_point1_y: INTEGER +-- -- Answer point for `find_best_pair_for' + +-- last_point2_x, last_point2_y: INTEGER +-- -- Answer point for `find_best_pair_for' - last_point2_x, last_point2_y: INTEGER - -- Answer point for `find_best_pair_for' - feature {} - x_device_points, y_device_points: FAST_ARRAY[INTEGER] + nb_parameters: INTEGER + + x_target_points, y_target_points: FAST_ARRAY[INTEGER] + -- in device coordinates - x_display_points, y_display_points: FAST_ARRAY[INTEGER] + x_measure_points, y_measure_points: FAST_ARRAY[INTEGER] + parameters: FAST_ARRAY[FAST_ARRAY[INTEGER]] + invariant - x_display_points.count = count - y_display_points.count = count - x_device_points.count = count - y_device_points.count = count + x_target_points.count = count + y_target_points.count = count + x_measure_points.count = count + y_measure_points.count = count + + parameters.count = nb_parameters end diff --git a/wacom_pointer.e b/wacom_pointer.e index 1325625..8bfd40c 100644 --- a/wacom_pointer.e +++ b/wacom_pointer.e @@ -54,6 +54,10 @@ feature {} x_offset, y_offset: INTEGER + cropping: BOOLEAN + + x_min_crop, y_min_crop, x_max_crop, y_max_crop, crop_width, crop_height: INTEGER + prediction_time: REAL ignore_rate, ignored_counter: INTEGER @@ -107,6 +111,46 @@ feature {XINPUT_IVY} y_offset := offset end + is_valid_crop(description: STRING): BOOLEAN is + require + description /= Void + local + tmp: STRING + values: ARRAY[STRING] + do + Result := description.occurrences(',') = 3 + if Result then + tmp := description.twin + tmp.replace_all(',', ' ') + from + values := tmp.split + Result := values.count = 4 + until + not Result or else values.is_empty + loop + Result := values.last.is_integer + values.remove_last + end + end + end + + set_crop(description: STRING) is + require + is_valid_crop(description) + local + values: ARRAY[STRING] + do + description.replace_all(',', ' ') + values := description.split + x_min_crop := values.item(1).to_integer + y_min_crop := values.item(2).to_integer + x_max_crop := values.item(3).to_integer + y_max_crop := values.item(4).to_integer + cropping := True + crop_width := x_max_crop - x_min_crop + crop_height := y_max_crop - y_min_crop + end + set_prediction(milliseconds: REAL) is do prediction_time := milliseconds @@ -133,12 +177,12 @@ feature {XINPUT_IVY} device_to_screen_x(x: INTEGER): INTEGER is do - Result := (x / 86400 * 1600 + x_offset).force_to_integer_32 -- **** geometrie paramétrable + Result := ((x - 150) / 86650 * 1600 + x_offset).force_to_integer_32 -- **** geometrie paramétrable end device_to_screen_y(y: INTEGER): INTEGER is do - Result := (y / 65000 * 1200 + y_offset).force_to_integer_32 -- **** geometrie paramétrable + Result := ((y - 300) / 64700 * 1200 + y_offset).force_to_integer_32 -- **** geometrie paramétrable end x_history, y_history, time_history: RING_ARRAY[INTEGER] @@ -161,7 +205,7 @@ feature {XINPUT_IVY} Result := sum / history.count end - move(pointer: X_INPUT_DEVICE) is + move (pointer: X_INPUT_DEVICE) is local x, y, presure: INTEGER t3: REAL_64 @@ -181,6 +225,11 @@ feature {XINPUT_IVY} update_predicted_position(mean(x_history), mean(y_history), t3) end presure := pointer.motion_axis_data(3) + if cropping then + if x < x_min_crop or else y < y_min_crop or else x > x_max_crop or else y > y_max_crop then + ignored_counter := -1 + end + end if ignored_counter < ignore_rate and then ((old_presure = 0) = (presure = 0)) then ignored_counter := ignored_counter + 1 else @@ -222,9 +271,17 @@ feature {XINPUT_IVY} message.append(once " time=") time.append_in(message) message.append(once " hires_x=") - (x/86400).append_in(message) -- **** geometrie paramétrable + if not cropping then + (x/86400).append_in(message) -- **** geometrie paramétrable + else + ((x - x_min_crop) / crop_width).append_in(message) + end message.append(once " hires_y=") - (y/65000).append_in(message) -- **** geometrie paramétrable + if not cropping then + (y/65000).append_in(message) -- **** geometrie paramétrable + else + ((y - y_min_crop) / crop_height).append_in(message) + end message.append(once " proximity=") message.append(proximity_description) end diff --git a/xinput_ivy.c b/xinput_ivy.c index 3804a6d..12a0e83 100644 --- a/xinput_ivy.c +++ b/xinput_ivy.c @@ -3,7 +3,7 @@ extern "C" { #endif /* ANSI C code generated by SmartEiffel The GNU Eiffel Compiler, Eiffel tools and libraries -Release 2.4 (??? September ??th 2007) [????] +Release 2.4 (??? June ??th 2009) [????] Copyright (C), 1994-2002 - INRIA - LORIA - ESIAL UHP Nancy 1 - FRANCE Copyright (C), 2003-2005 - INRIA - LORIA - IUT Charlemagne Nancy 2 - FRANCE D.COLNET, P.RIBET, C.ADRIAN, V.CROIZIER F.MERIZEN - SmartEiffel@loria.fr @@ -133,7 +133,7 @@ void se_die (int code) { */ static se_runtime_handler_t** handlers = NULL; -int handlers_count; +int handlers_count=0; void register_handler(se_runtime_handler_t*handler) { int new_count = handlers_count + 1; @@ -146,193 +146,46 @@ void _handle(se_handler_action_t action, void*data) { int i; for (i = 0; i < handlers_count; i++) { handlers[i](action, data); + /* *** Check type of this array. Function pointer may have different size from data pointer. (PH 17/07/08) */ } } +#if IsXExtensionPointer +int x_device_info_is_available_extension(XDeviceInfo *device_list, int index) { + int use = device_list[index].use; + return (use == IsXExtensionDevice) || (use == IsXExtensionKeyboard) || (use == IsXExtensionPointer); +} +#else +/* Defined in .h */ +#endif -int se_cmpT189(T189 o1,T189 o2){ -return memcmp(&o1,&o2,sizeof(o1));}/*--*/ - -int se_cmpT176(T176 o1,T176 o2){ -return memcmp(&o1,&o2,sizeof(o1));}/*--*/ -T110 M110={110,(void*)0}; -T120 M120={120,(void*)0}; -T189 M189={0}; -T176 M176={{0},0}; -T286 M286={286,(void*)0}; -T277 M277={277,(void*)0}; -T271 M271={271,(void*)0}; -T268 M268={268,(void*)0}; -T266 M266={(void*)0,(void*)0,(void*)0}; -T265 M265={265,(void*)0}; -T264 M264={(void*)0,0,(void*)0}; -T258 M258={258,(void*)0}; -T256 M256={(void*)0,(void*)0,(void*)0}; -T254 M254={(void*)0,0,0}; -T253 M253={253,(void*)0}; -T252 M252={0,0,(void*)0}; -T249 M249={249,(void*)0}; -T246 M246={(void*)0,(void*)0,(void*)0}; -T245 M245={245,(void*)0}; -T244 M244={(void*)0,0,0,0,(void*)0}; -T243 M243={243,(void*)0}; -T147 M147={0,0,{{0},0},0,0,(void*)0,0,(void*)0,0,(void*)0,0,0}; -T236 M236={(void*)0,0,0}; -T235 M235={(void*)0,0,0}; -T234 M234={(void*)0,0,0,0,(void*)0}; -T232 M232={(void*)0,0,0}; -T230 M230={(void*)0,0,0,0,(void*)0}; -T228 M228={(void*)0,0,0,0,(void*)0}; -T227 M227={(void*)0,0,0,0,(void*)0}; -T226 M226={(void*)0,0,0,0,(void*)0}; -T225 M225={(void*)0,0,0}; -T158 M158={(void*)0}; -T54 M54={(void*)0,(void*)0,0}; -T139 M139={0,0,0}; -T223 M223={(void*)0,0,0}; -T142 M142={0}; -T222 M222={(void*)0,0,0}; -T141 M141={0,0,(void*)0,(void*)0,(void*)0}; -T221 M221={(void*)0,0,0}; -T218 M218={(void*)0,0,0,0,(void*)0}; -T217 M217={(void*)0,0,0}; -T216 M216={(void*)0,0,0}; -T215 M215={(void*)0,0,0,0,(void*)0}; -T214 M214={(void*)0,0,0}; -T213 M213={(void*)0,0,0,0,0}; -T211 M211={(void*)0,0,0,0,(void*)0}; -T208 M208={(void*)0,0,0,0,(void*)0}; -T146 M146={146,(void*)0,(void*)0,0,0,(void*)0,(void*)0,(void*)0}; -T207 M207={(void*)0,0,0}; -T206 M206={(void*)0,0,0}; -T148 M148={(void*)0,(void*)0,(void*)0,(void*)0,0,0}; -T131 M131={131,(void*)0,0}; -T130 M130={(void*)0,0,(void*)0,(void*)0}; -T128 M128={128,0,0,0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,0,(void*)0}; -T72 M72={(void*)0,0,0,(void*)0,0,0,0,0,0,0,(void*)0}; -T53 M53={(void*)0,0,(void*)0,0}; -T46 M46=(void*)0; -T175 M175={(void*)0}; -T205 M205={(void*)0,0,0}; -T143 M143=0; -T204 M204={(void*)0,0,0}; -T67 M67={0,(void*)0,(void*)0,0,0,0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0}; -T43 M43={(void*)0}; -T69 M69={(void*)0,0,0,0,0,0,(void*)0,(void*)0,0,(void*)0,(void*)0,(void*)0,0,0,0,0,0,0,0,0,0,0,0,0,0}; -T7 M7={(void*)0,0,0}; -T70 M70={70,0,0,(void*)0,(void*)0,0,(void*)0,0,(void*)0,(void*)0,(void*)0,(void*)0}; -T64 M64={0,0,(void*)0,(void*)0,(void*)0,(void*)0}; -T25 M25={(void*)0,(void*)0,(void*)0,(void*)0,0,0,0,(void*)0}; -/*Aliased storage area or unicode storage.*/ -char*s25_0=""; -char*s25_21190322=" Status: "; -char*s25_314746909=" status=up time="; -char*s69_190991=" type="; -char*s69_475="In"; -char*s13_1432888418="Some feature is not yet implemented (i.e. feature `not_yet_implemented\' of\nclass ANY has been called somewhere). Just run this code under the debugger\nto know the `not_yet_implemented\' caller. If this is a feature of the\nSmartEiffel library, you may consider to post your implementation on the\nSmartEiffel mailing list.\n e-mail: SmartEiffel@loria.fr\n Happy debug and thanks in advance.\n http://SmartEiffel.loria.fr\n The SmartEiffel team.\n\nThe error occured in the type "; -char*s69_697="up"; -char*s69_1961093439="marker_pen_2181"; -char*s69_104371129="airbrush_2323"; -char*s25_44143=":3110"; -char*s69_104371267="airbrush_3346"; -char*s69_1699147265="classic_pen_eraser_2075"; -char*s13_1210=".\n\n"; -char*s69_1756148648=" predicted_x="; -char*s69_1756148653=" predicted_y="; -char*s25_1948078333="slider_event device_id="; -char*s69_1461=" x="; -char*s69_1466=" y="; -char*s69_23436791=" presure="; -char*s25_1666922512="pad_event device_id="; -char*s69_56246305="unchanged"; -char*s25_1957581="default"; -char*s25_1403610646=" side=left time="; -char*s69_4725661=" tilt_x="; -char*s69_4725666=" tilt_y="; -char*s69_4738061=" status="; -char*s25_1213754110="XInputExtension is not available."; -char*s25_765567725="_event device_id="; -char*s69_2179769="pointer"; -char*s25_751291742="\" is not a valid y_offset (an integer is needed).\n"; -char*s25_1554692325="Missing bus identifier after -b option.\n"; -char*s25_357338863="\" is not a valid time (a real number is needed).\n"; -char*s69_2676="Out"; -char*s69_1874520032="stroke_pen_2098"; -char*s69_1619665677="classic_pen_2067"; -char*s25_1491411490="\" is not a valid x_offset (an integer is needed).\n"; -char*s25_4487261=" button="; -char*s69_1940108584="grip_pen_2083"; -char*s25_694149733=" status=down time="; -char*s64_1686724329="Vision is currently written for X and Windows.\n"; -char*s69_586741066=" proximity="; -char*s25_703548632="This tool get data from wacom pen screen and is\n able to send them to applications using ivy bus.\n\nOptions:\n -help: print this help.\n\n -list_devices: all available devices are listed.\n\n -pad=name: report pad data from the pad device with this name.\n\n -wacom_pointer=name: report pointer data from the pointer device with\n this name. Ex: stylus.\n\n -bus=[address]:port: specify the ivy bus (default is :3110).\n\n -b [address]:port: specify the ivy bus (default is :3110) (added for\n compatibility with other ivy tools).\n\n -application=name: specify the application name on the ivy bus\n (default is wacom).\n\n -identifier=id: this identifier will be used in ivy messages\n device_id value (default is \"default\").\n\n -x_offset=n: specify the x-offset for the wacom device\n for the display configuration (default is 0).\n\n -y_offset=n: " -" specify the y-offset for the wacom device\n for the display configuration (default is 0).\n\n -prediction=t: change the prediction time for the physical position.\n (default is 25ms).\n\n -ignore=n: number of messages to ignore before sending a new\n position message (this reduces message frequency).\n (default is 0 => \176""120message/s).\n\011""\nOptions are considered in the order they appear in the command line. A new\nvalue overrides the previous one. \"wacom_pointer\" and \"pad\" are created where they\nappear, with known information.\n\nMessages:\n slider_event device_id=radar_wacom value=4 side=left time=4523271\n device_id: identifier (see options).\n value: new slider value (0 when the\n\011""\011""\011""\011""\011""\011""\011""\011""\011""\011""finger leaves the slider).\n side: left or right.\n time: event time (ms), X server reference.\n\n pad_event device_id=radar_wacom butt" -"on=12 status=left time=4523271\n device_id: identifier (see options).\n button: button identifier.\n status: up or down.\n time: event time (ms), X server reference.\n\n button_event device_id=radar_wacom button=2 status=up x=1290 y=325\n presure=307 tilt_x=-20 tilt_y=15 wheel=0 predicted_x=1272 predicted_y=322\n type=123 serial_number=429389 time=4523271 hires_x=0.827 hires_y=0.231\n proximity=unchanged\n pointer_event device_id=radar_wacom x=1290 y=325\n presure=307 tilt_x=-20 tilt_y=15 wheel=0 predicted_x=1272 predicted_y=322\n type=123 serial_number=429389 time=4523271 hires_x=0.827 hires_y=0.231\n proximity=unchanged\n device_id: identifier (see options).\n button: button identifier.\n status: up or down.\n x: pointer position (display coordinates).\n y: pointer position (display coordi" -"nates).\n presure: presure value ([0, 1023] for intuos 3).\n tilt_x: device tilt in degrees.\n tilt_y: device tilt in degrees.\n wheel: rotation value (device type dependent value).\n predicted_x: predicted position. It is expected to be\n the current position of the real device.\n predicted_y: predicted position. It is expected to be\n the current position of the real device.\n type: the type of the device (pen, eraser, mouse,\n cursor, airbrush...).\n serial_number: the serial number of the device.\n time: event time (ms), X server reference.\n hires_x: pointer position (device coordinates, in range [0,1]).\n hires_y: pointer position (device coordinates, in range [0,1]).\n " -" proximity: unchanged, in, out\n"; -char*s25_89639="wacom"; -char*s69_15980="down"; -char*s69_397440="button"; -char*s25_69208946="\" is not a valid pad name.\n"; -char*s69_188916=" time="; -char*s25_447643634="\" is not a valid pointer name.\n"; -char*s69_2057747851="grip_pen_eraser_2091"; -char*s25_3479972=" (Type: "; -char*s25_557679246=" available)"; -char*s25_1638797568=" side=right time="; -char*s25_1260406502="Unknown option "; -char*s69_22702411=" hires_x="; -char*s69_22702416=" hires_y="; -char*s25_946366=" value="; -char*s69_1501987274="airbrush_eraser_2331"; -char*s25_382517595="\" is not a valid ignore rate (an integer is needed).\n"; -char*s69_952626=" wheel="; -char*s69_2112369621=" serial_number="; -char*s69_10739017="pen_2049"; -char*s69_10739024="pen_2066"; -char*s69_10739030="pen_2082"; -char*s70_202554="-READY"; -char*s143_1472358418="XInputExtension"; -char*s25_1959886733=" unavailable)"; -char*s69_1257860908="eraser_2090"; -/* --- ------------------------------------------------------------------------------------------------------------ --- Copyright notice below. Please read. --- --- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE --- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE --- --- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN --- --- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated --- documentation files (the "Software"), to deal in the Software without restriction, including without --- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of --- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following --- conditions: --- --- The above copyright notice and this permission notice shall be included in all copies or substantial --- portions of the Software. --- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT --- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO --- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN --- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE --- OR OTHER DEALINGS IN THE SOFTWARE. --- --- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr --- ------------------------------------------------------------------------------------------------------------ -*/ -void se_print_run_time_stack (void) { - handle(SE_HANDLE_ENTER_PRINT_STACK, NULL); - fprintf(SE_ERR,"Eiffel program crash at run time.\n"); - fprintf(SE_ERR,"No trace when using option \"-boost\"\n"); - handle(SE_HANDLE_EXIT_PRINT_STACK, NULL); +void x_key_info_init(XKeyInfo *info, int *min_k, int *max_k, int *num_k) { + *min_k = info->min_keycode; + *max_k = info->max_keycode; + *num_k = info->num_keys; } -void se_signal_handler(int sig) { - handle(SE_HANDLE_RUNTIME_ERROR, NULL); - printf("Received signal %d.\n",sig); - se_print_run_time_stack(); - exit(EXIT_FAILURE); +void x_valuator_info_init(XValuatorInfo *info, int *nb_axes, int *is_absolute, int *buf_size) { + *nb_axes = info->num_axes; + *is_absolute = (info->mode == Absolute); + *buf_size = info->motion_buffer; +} + +void * x_device_init_events(XDevice * device, int * events_id) { + XEventClass * result; + + result = malloc(7 * sizeof(XEventClass)); /* see also x_device_select_events */ + DeviceKeyPress(device, events_id[0], result[0]); + DeviceKeyRelease(device, events_id[1], result[1]); + DeviceButtonPress(device, events_id[2], result[2]); + DeviceButtonRelease(device, events_id[3], result[3]); + DeviceMotionNotify(device, events_id[4], result[4]); + ProximityIn(device, events_id[5], result[5]); + ProximityOut(device, events_id[6], result[6]); + return result; +} + +void x_device_select_events(void * window, XEventClass * events_classes) { + XSelectExtensionEvent(dpy, (Window)window, events_classes, 7); } /* -- ------------------------------------------------------------------------------------------------------------ @@ -361,1066 +214,1132 @@ void se_signal_handler(int sig) { -- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr -- ------------------------------------------------------------------------------------------------------------ */ +#ifdef WIN32 +HINSTANCE main_hInstance; +int main_nCmdShow; +const char *CLASSNAME="Vision window"; +MSG last_message; +HDC hdc; +HWND hwnd; +PAINTSTRUCT paintstruct; +RECT windowRect; +DWORD message_thread_id; +DWORD main_thread_id; +static HANDLE message_thread_handle; +int decorated_window_x_offset; +int decorated_window_y_offset; +int decorated_window_width_offset; +int decorated_window_height_offset; +HANDLE sem_paint; +HANDLE sem_new_window; +HANDLE sem_thread_finished_work; +HANDLE sems_wait_end_paint[3]; +# ifndef WM_MOUSELEAVE +# define WM_MOUSELEAVE 0x2a3 +# endif +# define WM_MOUSEENTER (WM_USER + 5) +HWND pointer_window=NULL; +int button_swapped; -/* - This file (SmartEiffel/sys/runtime/gc_lib.c) is automatically included - when the Garbage Collector is used (default, unless option -no_gc has been - selected). -*/ -/* - The `mark_stack_and_registers' C function is called by the Garbage - Collector (GC) of SmartEiffel. It has to be customized for some systems, - but also for some C compilers. This file provides some definitions in the - end and has to be completed for systems which need specific work. - - On some architectures, addresses increase as the stack grows; or, - conversely, addresses decrease as the stack grows. A C compiler may be - clever enough to hide some root object inside registers. Unfortunately all - registers are not always accessible via the C `setjmp' function! - - Thus, in order to be able to use the GC on your architecture/C-compiler, - you have to provide the correct `mark_stack_and_registers' function. - - What is the `mark_stack_and_registers' function supposed to do? The - `mark_stack_and_registers' function is supposed to notify the GC with all - the possible roots one can find in the C stack and registers by calling the - `gc_mark' function. A root is an object which must not be collected. The - SmartEiffel GC already knows about some root objects like once function - results or manifest strings. The `mark_stack_and_registers' function has to - notify the other possible roots. Obviously, one can find in the C stack any - kind of adresses, but the `gc_mark' function is clever enough to determine - if the passed pointer is an Eiffel object or not. When the passed pointer - reaches some Eiffel object, this object as well as its descendant(s) are - automatically marked as un-collectable. - - In order to provide the most appropriate `mark_stack_and_registers' - function, the very first question is to know about the way the C stack is - managed (addresses of the stack may increase or decrease as the C stack - grows). The DEFAULT BEHAVIOUR FOR UNKNOWN SYSTEMS is to consider ADDRESSES - DECREASE AS THE STACK GROWS, as it's the most common case. The global C - variable `stack_bottom' is set with some pointer which is supposed to be - the bottom of the stack (this variable is automatically initialized in the - C main function). Note: using the current stack pointer inside - `mark_stack_and_registers', it is quite obvious to determine if addresses - increase or not as the C stack grows. Note2: on some systems, the stack is - not in contiguous addresses. In such case, `mark_stack_and_registers' has - to go through all the stack fragments. - - Some roots may be stored only in registers and not in the C stack. In - order to reach the registers as well, the first attempt is to use setjmp, - in the hope that setjmp will save registers in the stack! Note: this - technique do not work on processors using windows registers (such as sparc - processors). - -*/ - -int se_gc_strategy = SE_GC_DEFAULT_MEMORY_STRATEGY; - -int collector_counter = 0; - -static void gcna_align_mark(rsoc*c,void*o); -static rsoc*rsocfl=NULL; /* ReSizable Object Chunk Free List. */ +/* This list is a ring. It is "empty" when first_message == first_free. */ +/* empty means "no message enqueued". Cells remains to avoid malloc/free. */ +/* Used for messages sent from the message's thread to the main thread. */ +struct message_list {struct message_list * next; MSG msg;}; +volatile static struct message_list *first_message; +volatile static struct message_list *first_free; -void**stack_bottom=NULL; -mch**gcmt=NULL; /* Garbage Collector Main Table. */ -int gcmt_max=2048; -int gcmt_used=0; -fsoc*fsocfl=NULL; /* Fixed Size Object Chunk Free List. */ -int gc_is_off=1; -unsigned int fsoc_count=0; -unsigned int rsoc_count=0; -void*gcmt_tail_addr=NULL; +/* This list is a ring. It is "empty" when first_cmd == first_free_cmd. */ +/* empty means "no message enqueued". Cells remains to avoid malloc/free. */ +/* Used for commands sent from the main thread to the message's thread. */ +volatile struct cmd_list *first_cmd; +volatile struct cmd_list *first_free_cmd; +HANDLE sem_cmd_ready; +HANDLE sems_wait_cmd[2]; +window_description screen_desc; -static int chunk_rounded(int size) { - int rounded_size = size; - int diff = rounded_size%RSOC_SIZE; +#else +# include +Display *dpy; /* X server connection */ +int red_mask, green_mask, blue_mask; +int red_shift, blue_shift, green_shift; +XEvent last_event; +int vision_error_handler(Display *disp, XErrorEvent *err); +Atom atom_DELWIN = 0; +Atom atom_PROTOCOLS = 0; +#endif - if (diff != 0) rounded_size += (RSOC_SIZE-diff); - return rounded_size; -} +#ifdef WIN32 +static DWORD WINAPI MessageCallBackThread(LPVOID unused); -/* Return the index where chunk `c' is (or is to be) in the `gcmt', - between `min' and `max' indexes. */ -static unsigned int binary_search_in_gcmt(register unsigned int min, - register unsigned int max, - register mch* c){ - register unsigned int mid; - while (min>1; - if (gcmt[mid] 50) && (count > (rsoc_count >> 1))) { - current=rsocfl; - rsocfl=NULL; - while (NULL != current) { - next=current->next; - if (current->isize == current->header.size) { - where = binary_search_in_gcmt(0, where-1, (mch*)current); - how_many = gcmt_used - 1 - where; - if (how_many > 0) - memmove(gcmt+where, gcmt+where+1, how_many*sizeof(mch*)); - free(current); gcmt_used--; rsoc_count--; - } - else { - current->next=rsocfl; - rsocfl=current; - } - current = next; - } +static void run_first_cmd(void) { + vision_check(first_cmd != first_free_cmd); /* non empty list */ + switch (first_cmd->cmd_type) { + case SET_TITLE: + if (!*(char*)first_cmd->param2) + vision_check_call(SetWindowText ((HWND)first_cmd->param1, " ")); + else + vision_check_call(SetWindowText ((HWND)first_cmd->param1, + (char *)first_cmd->param2)); + break; + case CLEAR_AREA: + vision_check_call(InvalidateRect((HWND)first_cmd->param1, + (RECT*)(&(first_cmd->param2)), TRUE)); + break; + case MAP_WINDOW: + ShowWindow((HWND)(first_cmd->param1), first_cmd->param2); + break; + case MOVE_WINDOW: + vision_check_call(MoveWindow((HWND)first_cmd->param1, + first_cmd->param2, first_cmd->param3, + first_cmd->param4, first_cmd->param5, + first_cmd->param6)); + break; + case SET_FOCUS: + vision_check_call(SetFocus((HWND)first_cmd->param1)); + break; } + first_cmd = first_cmd->next; } -int gc_memory_used(void) { - int i; - int result = 0; - mch* mch; - for (i = gcmt_used; i --> 0; ) { - mch = gcmt[i]; - switch(mch->state_type) { - case RSO_USED_CHUNK: - case FSO_USED_CHUNK: - case FSO_STORE_CHUNK: - result += mch->size; - break; - default: - break; - } +void emit_event(int event, HWND window) { + MSG *msg = (MSG*)&(first_free->msg); + + msg->hwnd = window; + msg->message = event; + msg->time = timeGetTime(); + vision_check_call(GetCursorPos(&(msg->pt))); + if (first_free->next == first_message) { + struct message_list *new_cell = malloc(sizeof(struct message_list)); + new_cell->next = first_free->next; + first_free->next = new_cell; + first_free = new_cell; /* don't merge with previous line, first_free + * is the last change done and + * then the consumer may use this cell */ + } else { + first_free = first_free->next; } - return result; + vision_check_call(ReleaseSemaphore(sem_msg_ready, 1, NULL)); } -void gc_sweep(void) { - mch** p2 = gcmt; - mch** p1 = gcmt+1; - mch**eogcmt=gcmt+gcmt_used; - if (FREE_CHUNK((*p2)->state_type)) { - if (RSO_FREE_CHUNK == ((*p2)->state_type)) { - ((rsoc*)(*p2))->next=NULL; - rsocfl=((rsoc*)(*p2)); - } - else { - rsocfl=NULL; - } - } - else { - ((*gcmt)->swfp)(*p2); - if (RSO_FREE_CHUNK==((*p2)->state_type)) { - ((rsoc*)(*p2))->next=NULL; - rsocfl=((rsoc*)(*p2)); - } - else { - rsocfl=NULL; - } - } - while (p1 < eogcmt) { - if (FREE_CHUNK((*p1)->state_type)) { - if (RSO_FREE_CHUNK == ((*p1)->state_type)) { - if (RSO_FREE_CHUNK == ((*p2)->state_type)) { - if ( (((rsoc*)*p1)->isize==0) && ((char*)(*p2))+(*p2)->size == ((char*)(*p1))) { - ((*p2)->size)+=((*p1)->size); - p1++; - } - else { - ((rsoc*)(*p1))->next=rsocfl; - rsocfl=((rsoc*)(*p1)); - *(p2+1)=*p1; p2++; p1++; - } - } - else { - ((rsoc*)(*p1))->next=rsocfl; - rsocfl=((rsoc*)(*p1)); - *(p2+1)=*p1; p2++; p1++; - } - } - else { - *(p2+1)=*p1; p2++; p1++; - } - } - else { - ((*p1)->swfp)(*p1); - if (RSO_FREE_CHUNK == ((*p1)->state_type)) { - if (RSO_FREE_CHUNK == ((*p2)->state_type)) { - if ( (((rsoc*)*p1)->isize==0) && ((char*)(*p2))+(*p2)->size == ((char*)(*p1))) { - ((*p2)->size)+=((*p1)->size); - p1++; - } - else { - ((rsoc*)(*p1))->next=rsocfl; - rsocfl=((rsoc*)(*p1)); - *(p2+1)=*p1; p2++; p1++; - } - } - else { - ((rsoc*)(*p1))->next=rsocfl; - rsocfl=((rsoc*)(*p1)); - *(p2+1)=*p1; p2++; p1++; - } - } - else { - *(p2+1)=*p1; p2++; p1++; - } +static void generate_leave_enter_events(window_description* from, + window_description* to){ + if (to->marked) { + /* End recursivity case */ + window_description* wnd = from; + to->marked = 0; + if (wnd) { + while(wnd->marked) { + emit_event(WM_MOUSELEAVE, wnd->Current); + wnd->marked = 0; + wnd = wnd->parent; + }; + wnd = wnd->parent; } + while(wnd) { + wnd->marked = 0; + wnd = wnd->parent; + }; + } else { + /* recursive call */ + generate_leave_enter_events(from, to->parent); + emit_event(WM_MOUSEENTER, to->Current); } - gcmt_used=(p2-gcmt)+1; - may_free_rsocfl(); } -/* return the mch containing p or NULL if p is not - * a valid address or was externally allocated - */ -mch * gc_find_chunk(void * p){ - if ((p>((void*)*gcmt))&&(p<=gcmt_tail_addr)) { - int i1=0; - int i2=gcmt_used-1; - int m=i2>>1; - mch*c; - for (;i2>i1;m=((i1+i2)>>1)) { - if (p<=((void*)gcmt[m+1])) { - i2=m; - } - else { - i1=m+1; - } + + +static DWORD WINAPI MessageCallBackThread(LPVOID unused) { + /* --TODO: ExitThread ? CloseHandle in the main thread ? */ + MSG local_message; + BOOL status; + + /* Send "ready" message */ + vision_check_call(PostThreadMessage(main_thread_id, WM_USER+2, 0, 0)); + + while(1){ + status = MsgWaitForMultipleObjects(2, sems_wait_cmd, FALSE, + INFINITE, QS_ALLINPUT); + if (status == WAIT_OBJECT_0 + 2) { + while(PeekMessage(&local_message, NULL, 0, 0, PM_REMOVE)) + DispatchMessage(&local_message); + } else if (status == WAIT_OBJECT_0) { + run_first_cmd(); + } else { + vision_check(status == WAIT_OBJECT_0 + 1); + /* Request to create new window */ + new_window(); } - c=gcmt[i2]; - if((char*)p<(char*)c+c->size) /* check for upper bound */ - if (!(FREE_CHUNK(c->state_type))) - return c; } - return NULL; + return 0; } -void gc_mark(void*p) { - mch * c = gc_find_chunk(p); - if(NULL != c) - (c->amfp)(c,p); -} +void display_error(int num) { + LPVOID lpMsgBuf; -int gc_stack_size(void) { - void*stack_top[2]={NULL,NULL}; - if (stack_top > stack_bottom) { - return ((void**)stack_top)-((void**)stack_bottom); - } - else { - return ((void**)stack_bottom)-((void**)stack_top); - } + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, num, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL); + MessageBox(NULL, lpMsgBuf, "GetLastError", MB_OK|MB_ICONINFORMATION); + LocalFree(lpMsgBuf); } -/* - To delay Garbage Collection when the stack is too large. - To allow fast increase of ceils. -*/ -#define FSOC_LIMIT (10240/((FSOC_SIZE)>>10)) -#define RSOC_LIMIT (10240/((RSOC_SIZE)>>10)) - -/* - When stack is too large, collection may be delayed. -*/ -#define GCLARGESTACK 50000 +LRESULT CALLBACK WndProc(HWND hWnd, unsigned int iMessage, WPARAM wParam, LPARAM lParam) +{ + MSG * msg; -int garbage_delayed(void) { - /* - To delay the first GC call. - */ - if (gc_stack_size() > GCLARGESTACK) { - if (fsoc_count_ceil <= fsoc_count) { - if (rsoc_count_ceil <= rsoc_count) { - if ((fsoc_countright - rect->left; + int height = rect->bottom - rect->top; + + if (edge % 3 == 1) { /* Left border control */ + if (width < desc->min_width) + rect->left -= (desc->min_width - width); + else if (width > desc->max_width) + rect->left += (width - desc->max_width); + } else if (edge % 3 == 2) { /* Right border control */ + if (width < desc->min_width) + rect->right += (desc->min_width - width); + else if (width > desc->max_width) + rect->right -= (width - desc->max_width); } - } - else { - if (rsoc_count_ceil <= rsoc_count) { - if (rsoc_count= 6) { /* Bottom border control */ + if (height < desc->min_height) + rect->bottom += (desc->min_height - height); + else if (height > desc->max_height) + rect->bottom -= (height - desc->max_height); + } else if (edge >= 3) { /* Top border control */ + if (height < desc->min_height) + rect->top -= (desc->min_height - height); + else if (height > desc->max_height) + rect->top += (height - desc->max_height); } - else return 0; + + return TRUE; } - } - else { + case WM_ERASEBKGND: return 0; - } -} - -void gc_update_ceils(void) { - /* This function is automatically called after each collection - cycle. - */ - if (se_gc_strategy == SE_GC_LOW_MEMORY_STRATEGY) { - fsoc_count_ceil = fsoc_count; - rsoc_count_ceil = rsoc_count; - /* Todo: we should also consider to free unused chunks here. */ - return; - } - if (se_gc_strategy == SE_GC_HIGH_MEMORY_STRATEGY) { - fsoc_count_ceil = (256 + fsoc_count) << 2; - rsoc_count_ceil = (256 + rsoc_count) << 2; - return; - } - /* The SE_GC_DEFAULT_MEMORY_STRATEGY. */ - /* Compute fsoc_count_ceil: */ - - /* The lines commented out with --perf-- were killing performance under certain circumstances, * - * especially with gcc -O3 */ - - /* --perf-- if (fsocfl == NULL) { */ - if (fsoc_count >= fsoc_count_ceil) { - if (fsoc_count_ceil < FSOC_LIMIT) { - fsoc_count_ceil <<= 1; + case WM_PAINT: + hwnd = hWnd; + hdc = BeginPaint(hWnd, &paintstruct); + vision_check(hdc); + break; + /* no return !!! */ + case WM_MOUSEMOVE: + if (hWnd != pointer_window) { + window_description* from=NULL; + window_description* to; + RECT rect; + vision_check_call(GetClientRect(hWnd, &rect)); + if (!(LOWORD(lParam)<0 || LOWORD(lParam)>=rect.right || HIWORD(lParam)<0 || HIWORD(lParam)>=rect.bottom)) { + if (pointer_window) { + window_description* wnd; + from = wnd = (window_description*)GetWindowLong((HWND)pointer_window, + GWL_USERDATA); + do { + wnd->marked = 1; + wnd = wnd->parent; + } while (wnd); + } else + screen_desc.marked = 1; + to = (window_description*)GetWindowLong(hWnd, GWL_USERDATA); + generate_leave_enter_events(from, to); + pointer_window = hWnd; + } + } else { + RECT rect; + vision_check_call(GetClientRect(hWnd, &rect)); + if (LOWORD(lParam)<0 || LOWORD(lParam)>=rect.right || HIWORD(lParam)<0 || HIWORD(lParam)>=rect.bottom) + { + window_description* wnd; + wnd = (window_description*)GetWindowLong((HWND)pointer_window, + GWL_USERDATA); + emit_event(WM_MOUSELEAVE, hWnd); + pointer_window = wnd->parent->Current; + } } + break; + /* no return !!! */ + case WM_KILLFOCUS: /* --TODO: it's keyboard focus. Useful ? */ + break; + /* no return !!! */ + case WM_NCACTIVATE: + if ((BOOL)wParam) + return DefWindowProc(hWnd, iMessage, wParam, lParam); + else + return TRUE; + case WM_ACTIVATE: + if (LOWORD(wParam)) + return DefWindowProc(hWnd, iMessage, wParam, lParam); else { - unsigned int c = fsoc_count + (fsoc_count/3); - if (fsoc_count_ceil < c) - fsoc_count_ceil = c; + window_description* desc; + desc = (window_description*)GetWindowLong((HWND) lParam, GWL_USERDATA); + /* --TODO: check if this window belongs to this program instead of just testing if desc is not null (list all toplevel windows?) */ + if (!desc || desc->decorated) { + DefWindowProc(hWnd, WM_NCACTIVATE, FALSE, lParam); + return DefWindowProc(hWnd, iMessage, wParam, lParam); + } else + return FALSE; + } + case WM_LBUTTONDOWN: + case WM_MBUTTONDOWN: + case WM_RBUTTONDOWN: + SetCapture(hWnd); + break; + /* no return !!! */ + case WM_LBUTTONUP: + case WM_MBUTTONUP: + case WM_RBUTTONUP: + ReleaseCapture(); + break; + /* no return !!! */ + case WM_MOUSEWHEEL: + { + /* Search window under mouse cursor and convert coordinates */ + POINT p; + p.x = (short) LOWORD(lParam); + p.y = (short) HIWORD(lParam); + hWnd = WindowFromPoint(p); + ScreenToClient(hWnd, &p); + lParam = POINTTOPOINTS(p); } + break; + /* no return !!! */ + case WM_KEYDOWN: + case WM_KEYUP: + case WM_SETFOCUS: + case WM_SHOWWINDOW: + case WM_CLOSE: + case WM_QUIT: + case WM_DESTROY: + case WM_MOVE: + case WM_SIZE: + break; + default: + return DefWindowProc(hWnd, iMessage, wParam, lParam); } - /* --perf-- } - else { - if (fsoc_count_ceil < fsoc_count) { - fsoc_count_ceil = fsoc_count; - } - } - */ - /* Compute rsoc_count_ceil: */ - /* --perf-- if (rsocfl == NULL) {*/ - if (rsoc_count >= rsoc_count_ceil) { - if (rsoc_count_ceil < RSOC_LIMIT) { - rsoc_count_ceil <<= 1; - } - else { - unsigned int c = rsoc_count + (rsoc_count / 3); - if (rsoc_count_ceil < c) { - rsoc_count_ceil = c; + msg = (MSG*)&(first_free->msg); + + msg->hwnd = hWnd; + msg->message = iMessage; + msg->wParam = wParam; + msg->lParam = lParam; + msg->time = timeGetTime(); + vision_check_call(GetCursorPos(&(msg->pt))); + + if (first_free->next == first_message) { + struct message_list *new_cell = malloc(sizeof(struct message_list)); + new_cell->next = first_free->next; + first_free->next = new_cell; + first_free = new_cell; /* don't merge with previous line, first_free + * is the last change done and + * then the consumer may use this cell */ + } else { + first_free = first_free->next; + } + vision_check_call(ReleaseSemaphore(sem_msg_ready, 1, NULL)); + if (iMessage == WM_PAINT) { + int status; + + /* Wait for "endpaint" message from appli */ + do { + status = WaitForMultipleObjects(3, sems_wait_end_paint, + FALSE, INFINITE); + vision_check(status != WAIT_FAILED); + if (status == WAIT_OBJECT_0 + 2) { + run_first_cmd(); + } else if (status == WAIT_OBJECT_0 + 1) { + /* Request to create new window */ + new_window(); } - } + } while (status != WAIT_OBJECT_0); + EndPaint(hWnd, &paintstruct); + hwnd = NULL; + hdc = NULL; } - /* --perf -- } - else { - if (rsoc_count_ceil < rsoc_count) { - rsoc_count_ceil = rsoc_count; - } - } - */ + return 0; } +#else +int vision_error_handler(Display *disp, XErrorEvent *err) { + char buf[128]; -static void gc_add_into_gcmt(mch*c) { - /* Update the `gcmt' (Garbage Collector Main Table) by adding the - new `mch' (Memory Chunk Header).`gcmt_used' is updated. - */ - unsigned int where=0; - unsigned how_many; - if (gcmt_used>0){ - where=binary_search_in_gcmt(0, gcmt_used-1, c); - if (gcmt_used == gcmt_max) { - gcmt_max <<= 1; - gcmt = ((mch**)(se_realloc(gcmt,(gcmt_max+1)*sizeof(void*)))); - } - how_many = gcmt_used - where; - if (how_many > 0) - memmove(gcmt+where+1, gcmt+where, how_many*sizeof(mch*)); - } - gcmt[where]=c; - gcmt_used++; + /* in case the error occurred during the Grab command... */ + XUngrabServer(disp); + XUngrabButton(disp, (unsigned int) AnyButton, 0, DefaultRootWindow(disp)); + se_print_run_time_stack(); + XGetErrorText(disp, err->error_code, buf, 128); + fprintf(SE_ERR,"X Error: %s.\n",buf); + fprintf(SE_ERR," Major Opcode: %d\n",err->request_code); + + exit(-1); } +#endif -static char*rso_from_store(na_env*nae,unsigned int size) { - rsoh*r=(nae->store); - nae->store_left-=size; - if ((nae->store_left) > sizeof(rsoh)) { - r->header.size=size; - nae->store=((rsoh*)(((char*)(nae->store))+size)); - } - else { - r->header.size=size+nae->store_left; - nae->store_left=0; +#ifndef WIN32 +int higher_bit(int val) { + int i=0; + while (val >= 0) { + val = val << 1; + i++; } - (r->header.magic_flag)=RSOH_UNMARKED; - ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); - return (char*)(r+1); + return 32-i; } +#endif -static void rsoc_sweep(rsoc*c) { - na_env*nae=c->nae; - rsoh*gp=(rsoh*)&(c->first_header); - rsoh*pp; - rsoh*eoc=((rsoh*)(((char*)c)+c->header.size)); - c->free_list_of_large=NULL; - if (c->header.size > RSOC_SIZE) { - if (gp->header.magic_flag == RSOH_MARKED) { - gp->header.magic_flag=RSOH_UNMARKED; - /* No need to register chunks with no free_list_of_large - c->next=nae->chunk_list; - nae->chunk_list=c; - */ - } - else { - c->header.state_type=RSO_FREE_CHUNK; - } - return; - } - while (gpheader.magic_flag == RSOH_MARKED) { - gp->header.magic_flag=RSOH_UNMARKED; - gp=((rsoh*)(((char*)gp)+gp->header.size)); - if(gp>=eoc) { - /* No need to register chunks with no free_list_of_large - c->next=nae->chunk_list; - nae->chunk_list=c; - */ - return; - } - } - gp->header.magic_flag=RSOH_FREE; - pp=(rsoh*)(((char*)gp)+gp->header.size); - while ((ppheader.magic_flag != RSOH_MARKED)) { - gp->header.size+=pp->header.size; - pp=((rsoh*)(((char*)pp)+pp->header.size)); +int _basic_vision_init(void) { +#ifdef WIN32 + + WNDCLASS WndClass; + NONCLIENTMETRICS ncm; + + main_hInstance = (HINSTANCE)GetModuleHandle(NULL); + main_nCmdShow = SW_SHOWDEFAULT; /* First window display mode: minimized, normal, + * maximized, hide, ... */ + + /* Initialize the lists to empty state. */ + first_message = first_free = malloc(sizeof(struct message_list)); + first_free->next = (struct message_list *)first_message; + first_cmd = first_free_cmd = malloc(sizeof(struct cmd_list)); + first_free_cmd->next = (struct cmd_list *)first_cmd; + sem_paint = CreateSemaphore(NULL, 0, 1, NULL); + sem_new_window = CreateSemaphore(NULL, 0, 1, NULL); + sem_thread_finished_work = CreateSemaphore(NULL, 0, 1, NULL); + sem_msg_ready = CreateSemaphore(NULL, 0, INT32_MAX, NULL); + sem_cmd_ready = CreateSemaphore(NULL, 0, INT32_MAX, NULL); + sems_wait_end_paint[0] = sem_paint; + sems_wait_end_paint[1] = sem_new_window; + sems_wait_end_paint[2] = sem_cmd_ready; + sems_wait_cmd[0] = sem_cmd_ready; + sems_wait_cmd[1] = sem_new_window; + screen_desc.Current = NULL; + screen_desc.parent = NULL; + button_swapped = GetSystemMetrics(SM_SWAPBUTTON); + vision_check(sem_paint); + vision_check(sem_new_window); + vision_check(sem_msg_ready); + vision_check(sem_cmd_ready); + + ncm.cbSize = sizeof(ncm); + vision_check_call(SystemParametersInfo(SPI_GETNONCLIENTMETRICS, + sizeof(ncm), &ncm, 0)); + decorated_window_x_offset = GetSystemMetrics(SM_CXFRAME); + decorated_window_width_offset = 2* decorated_window_x_offset; + decorated_window_y_offset = ncm.iCaptionHeight+decorated_window_x_offset+1; + decorated_window_height_offset = decorated_window_y_offset + decorated_window_x_offset; + + main_thread_id = GetCurrentThreadId(); + message_thread_handle = CreateThread(NULL,100 /* ??? */, + MessageCallBackThread, + NULL, 0, &message_thread_id); + vision_check(message_thread_handle); + vision_check(message_thread_id); + + /* Wait for "ready" message from the thread */ + vision_check_call(GetMessage(&last_message, NULL, WM_USER+2, WM_USER+2)); + register_handler(vision_handler); + memset(&WndClass, 0, sizeof(WndClass)); + WndClass.cbClsExtra = 0; + WndClass.cbWndExtra = sizeof(window_description *); /* extra bytes allocated for window instance <= 40 for Win95, advice: no more than 4 */ + WndClass.hbrBackground = GetStockObject(BLACK_BRUSH); + WndClass.hCursor = LoadCursor(NULL, IDC_ARROW); + WndClass.hIcon = LoadIcon(main_hInstance, NULL); + WndClass.hInstance = main_hInstance; + WndClass.lpfnWndProc = WndProc; + WndClass.lpszClassName = CLASSNAME; + WndClass.style = CS_HREDRAW | CS_VREDRAW; /* --TODO: 0 to suppress complete redraw on WM_SIZE and WM_MOVE */ /* use CS_PARENTDC? */ + if(!RegisterClass(&WndClass)) + exit(0); + + return -1; +#else + Visual *visual; + /* + * Open the display using the $DISPLAY environment variable to locate + * the X server. See Section 2.1. + */ + if ((dpy = XOpenDisplay(NULL)) == NULL) { + fprintf(stderr, "Can't open \"%s\"\n", XDisplayName(NULL)); + return (0); } - if (gp->header.size >= RSOC_MIN_STORE) { - if (nae->store_left==0) { - nae->store_left=gp->header.size; - nae->store=gp; - nae->store_chunk=c; - } - else if (nae->store->header.size < gp->header.size) { - ((fll_rsoh*)nae->store)->nextflol=nae->store_chunk->free_list_of_large; - nae->store_chunk->free_list_of_large=((fll_rsoh*)nae->store); - nae->store_left=gp->header.size; - nae->store=gp; - nae->store_chunk=c; - } - else { - ((fll_rsoh*)gp)->nextflol=c->free_list_of_large; - c->free_list_of_large=((fll_rsoh*)gp); - } +# ifdef VISION_DEBUG + XSynchronize(dpy, True); +# endif + XSetErrorHandler(vision_error_handler); + + visual = DefaultVisual(dpy,DefaultScreen(dpy)); + red_mask = visual->red_mask; + green_mask = visual->green_mask; + blue_mask = visual->blue_mask; + if (red_mask) { + red_shift = higher_bit(red_mask) - 16; + blue_shift = higher_bit(blue_mask) - 16; + green_shift = higher_bit(green_mask) - 16; } - gp=pp; - } - if (((rsoh*)(&c->first_header))->header.size >= - (c->header.size-sizeof(rsoc)+sizeof(rsoh))){ - c->header.state_type=RSO_FREE_CHUNK; - nae->store_chunk=NULL; - nae->store_left=0; - } - else{ - c->next=nae->chunk_list; - nae->chunk_list=c; - } + + return(ConnectionNumber(dpy)); +#endif } -/* *** To be removed */ -#ifdef __TINYC__ -static rsoc MRSOC = { +int _basic_vision_character() { + /* --TODO: unicode result ! */ + int res; + +#ifdef WIN32 + char chars[2]; + unsigned char keystate[256]; + GetKeyboardState(keystate); + ToAscii((int)last_message.wParam,(HIWORD(last_message.lParam)) & 0xFF, + keystate,(LPWORD)chars,0); + res = (int)chars[0]; #else -static const rsoc MRSOC = { + XKeyEvent* key_event = (XKeyEvent*)&last_event; + char r; + + if(XLookupString(key_event, &r, 1, NULL, NULL)) + res = (int)r; + else + res= 0; #endif - { - RSOC_SIZE, - RSO_USED_CHUNK, - ((void(*)(mch*,void*))gcna_align_mark), - ((void(*)(mch*))rsoc_sweep) - }, - 0, - NULL, - NULL, - NULL, - { - { - 0, - RSOH_MARKED - } - } -}; + return res; +} -static void rsoc_malloc(na_env*nae) { - rsoc* r = ((rsoc*)(se_malloc(RSOC_SIZE))); - rsoc_count++; - *r=MRSOC; - r->nae=nae; - r->isize=RSOC_SIZE; - nae->store=(&(r->first_header)); - nae->store_left=RSOC_SIZE-sizeof(rsoc)+sizeof(rsoh); - nae->store_chunk=r; - r->next=nae->chunk_list; - nae->chunk_list=r; - gc_add_into_gcmt((mch*)r); +int _basic_vision_key() { + int res; + +#ifdef WIN32 + res = _basic_vision_character(); +#else + XKeyEvent* key_event = (XKeyEvent*)&last_event; + + res = (int)XKeycodeToKeysym(dpy, key_event->keycode, 0); + if(res == NoSymbol) + res = 0; +#endif + return res; } -static rsoc* rsocfl_best_fit(unsigned int size) { - register unsigned int best_size = 0; - unsigned int acceptable_loss; - register rsoc *pc, *best_pc, *best_c, *c; - if (NULL==rsocfl) - return NULL; - pc=NULL; - best_pc=NULL; - best_c=NULL; - c=rsocfl; - if (SE_GC_DEFAULT_MEMORY_STRATEGY == se_gc_strategy) - acceptable_loss = (size >> 4); - else if (SE_GC_LOW_MEMORY_STRATEGY == se_gc_strategy) - acceptable_loss = 0; - else /* SE_GC_HIGH_MEMORY_STRATEGY == se_gc_strategy */ - acceptable_loss = (size >> 2); - - while ((NULL!=c)&&(NULL==best_c)){ - if (c->header.size>=size){ - best_c=c; - best_pc=pc; - best_size=c->header.size; - } - pc=c; - c=c->next; - } - if (NULL==c){ - if (NULL != best_pc) - best_pc->next=best_c->next; - else if (best_c==rsocfl) - rsocfl=best_c->next; - return best_c; - } - if ((best_size - size) > acceptable_loss){ - do { - if ((c->header.size >= size) && (c->header.size < best_size)) { - best_c = c; - best_pc = pc; - best_size = c->header.size; - if ((best_size - size) <= acceptable_loss) break; - } - pc=c; - c=c->next; - } - while(NULL!=c); - } - if (NULL==best_pc) { - rsocfl = best_c->next; - } - else { - best_pc->next=best_c->next; - } - return best_c; +int basic_vision_get_keysym(char* string) { + int res = 0; +#ifdef WIN32 +#else + res = (int)XStringToKeysym(string); + if(res == NoSymbol) + res = 0; +#endif + return res; } -static int get_store_in(rsoc*c,unsigned int size) { - na_env*nae=c->nae; - fll_rsoh*pf=NULL; - fll_rsoh*f=c->free_list_of_large; - while (f != NULL) { - if (f->rsoh_field.size >= size) { - nae->store_left=f->rsoh_field.size; - nae->store=(rsoh*)f; - nae->store_chunk=c; - if (pf == NULL) { - c->free_list_of_large=f->nextflol; - } - else { - pf->nextflol=f->nextflol; - } - return 1; +#ifdef WIN32 +static int exist_message(UINT type, HWND window) { + struct message_list *msg = (struct message_list *)first_message; + + while (msg != first_free) + { + if ((msg->msg.message == type) && (msg->msg.hwnd == window)) + return 1; + msg = msg->next; } - pf = f; - f = f->nextflol; - } return 0; } +#endif -char*new_na_from_chunk_list(na_env*nae,unsigned int size) { - rsoc*c=nae->chunk_list; - unsigned int csize; - while (c != NULL) { - if (get_store_in(c,size)) { - return rso_from_store(nae,size); - } - c = c->next; - } - csize=size+(sizeof(rsoc)-sizeof(rsoh)); - c=rsocfl_best_fit(csize); - if (c != NULL){ - if (c->header.size > RSOC_SIZE) { - if (c->header.size-csize > RSOC_MIN_STORE*4) { - int csize_left=c->header.size-csize; - if ((csize_left%sizeof(double))!=0) { - csize_left-=(csize_left%sizeof(double)); - csize=c->header.size-csize_left; - } - c->header.size=csize_left; - c->next=rsocfl; - rsocfl=c; - c=(rsoc*)(((char*)c)+csize_left); - c->isize=0; /* c split from a larger chunk */ - gc_add_into_gcmt((mch*)c); - c->header.amfp=(void(*)(mch*,void*))gcna_align_mark; - c->header.swfp=(void(*)(mch*))rsoc_sweep; - } - /* since objects bigger than RSOC_SIZE must be the only object in their chunk, we do not want to have - some store left after them. Therefore, we do not set csize to c->header.size in an else block - here. */ - c->header.size=csize; - } - else { - csize=c->header.size; - } - c->header.state_type=RSO_USED_CHUNK; - c->free_list_of_large=NULL; - c->nae=nae; - nae->store=(&(c->first_header)); - nae->store_left=csize-sizeof(rsoc)+sizeof(rsoh); - nae->store_chunk=c; - /* No need to register chunks with no free_list_of_large - c->next=nae->chunk_list; - nae->chunk_list=c; - */ - return rso_from_store(nae,size); - } - return NULL; +static int get_next_event(void); +int _basic_vision_next_event(void) { + int result; + while((result=get_next_event())==-2); + return result; } -/* size in bytes, including header size */ -char*new_na(na_env*nae,unsigned int size) { - if (size == 0) { -#ifdef SE_BOOST - handle(SE_HANDLE_RUNTIME_ERROR, NULL); - se_print_run_time_stack(); - exit(EXIT_FAILURE); -#else - char msg[512]; - sprintf(msg, "Bad native array size: %d.\n", size); - error0(msg, NULL); -#endif - } - if (nae->store_left>0) { - nae->store->header.size=nae->store_left; - nae->store->header.magic_flag=RSOH_FREE; - if (nae->store_left >= RSOC_MIN_STORE) { - ((fll_rsoh*)(nae->store))->nextflol=nae->store_chunk->free_list_of_large; - nae->store_chunk->free_list_of_large=((fll_rsoh*)nae->store); - } - nae->store_left=0; - } - if ((nae->store_chunk!=NULL)&&(get_store_in(nae->store_chunk,size))) { - return rso_from_store(nae,size); - } - { - char*r=new_na_from_chunk_list(nae,size); - if (r!=NULL) - return r; - } - if (rsoc_countRSOC_SIZE){ - rsoc*c; - rsoh*r; - unsigned int rounded_size= chunk_rounded(size+sizeof(rsoc)-sizeof(rsoh)); - c=((rsoc*)(se_malloc(rounded_size))); - r=(&(c->first_header)); - rsoc_count++; - *c=MRSOC; - c->isize = rounded_size; - c->header.size=rounded_size; - c->nae=nae; - /* No need to register chunks with no free_list_of_large - c->next=nae->chunk_list; - nae->chunk_list=c; - */ - gc_add_into_gcmt((mch*)c); - r->header.size=size; - (r->header.magic_flag)=RSOH_UNMARKED; - ((void)memset((r+1),0,size-sizeof(rsoh))); - return (char*)(r+1); - } - else { - rsoc_malloc(nae); - return rso_from_store(nae,size); - } - } - gc_start(); - if (size<=(nae->store_left)) { - return rso_from_store(nae,size); - } - { - char*r=new_na_from_chunk_list(nae,size); - if (r!=NULL) { - return r; - } - } - if((size+sizeof(rsoc)-sizeof(rsoh))>RSOC_SIZE){ - rsoc*c; - rsoh*r; - unsigned int rounded_size = chunk_rounded(size+sizeof(rsoc)-sizeof(rsoh)); - c=((rsoc*)(se_malloc(rounded_size))); - r=(&(c->first_header)); - rsoc_count++; - *c=MRSOC; - c->isize = rounded_size; - c->header.size=rounded_size; - c->nae=nae; - /* No need to register chunks with no free_list_of_large - c->next=nae->chunk_list; - nae->chunk_list=c; - */ - gc_add_into_gcmt((mch*)c); - r->header.size=size; - (r->header.magic_flag)=RSOH_UNMARKED; - ((void)memset((r+1),0,size-sizeof(rsoh))); - gc_update_ceils(); - return (char*)(r+1); +static int get_next_event(void) { + /* return event number, -1 if no event is available, -2 if new call to + * this function is needed. */ +#ifdef WIN32 + if (last_message.message==WM_PAINT) { + SetBkMode(hdc, TRANSPARENT); + TextOut(hdc, 0, 0, " ", 1); /* THIS IS AWFUL HACK FOR WINDOWS 2000 */ + /* --TODO: search if some "flushing" is required for Windows 2000 */ + vision_check_call(ReleaseSemaphore(sem_paint, 1, NULL)); + last_message.message = -1; } - else { - rsoc_malloc(nae); - gc_update_ceils(); - return rso_from_store(nae,size); + if (first_message != first_free){ /* non empty list */ + last_message = first_message->msg; + first_message = first_message->next; + vision_check_call(WaitForSingleObject(sem_msg_ready, INFINITE) == WAIT_OBJECT_0); /* never wait, only decrease sem value here */ + } else { + return -1; } -} - -static void gcna_align_mark(rsoc*c,void*o) { - na_env* nae = c->nae; - fll_rsoh* f; - fll_rsoh* pf; - char* b = (char*)&(c->first_header); + /*printf("Message %d received\n",last_message.message);*/ + switch (last_message.message) + { + case WM_KEYDOWN: + last_message.hwnd = pointer_window; + return 2; + case WM_KEYUP: + last_message.hwnd = pointer_window; + return 3; + case WM_MOUSEENTER: + return 7; + case WM_MOUSELEAVE: + return 8; + case WM_SETFOCUS: /* --TODO: it's keyboard focus. Useful ? */ + return -2; /*9*/ + case WM_KILLFOCUS: /* --TODO: it's keyboard focus. Useful ? */ + return -2; /*10*/ + case WM_PAINT: + if (paintstruct.fErase) + { + window_description *desc = (window_description*)GetWindowLong((HWND)last_message.hwnd, GWL_USERDATA); + /* --TODO: handle pixmap case */ + vision_check_call(FillRect(hdc, &(paintstruct.rcPaint), + desc->background)); + } + return 12; + /* unmaped ? */ + case WM_SHOWWINDOW: + return 19; + case WM_LBUTTONDOWN: + return 40; + case WM_MBUTTONDOWN: + return 41; + case WM_RBUTTONDOWN: + return 42; + case WM_MOUSEWHEEL: + return ((short)HIWORD(last_message.wParam)>0)?43:44; /* --TODO: 120 value...*/ + case WM_LBUTTONUP: + return 50; + case WM_MBUTTONUP: + return 51; + case WM_RBUTTONUP: + return 52; + /* fully_visible ? */ + /* partially_visible ? */ + /* not_visible ? */ + case WM_CLOSE: + /* user requested to close the window, call DestroyWindow if agree */ + return 63; + case WM_QUIT: + /* application requested to terminate via PostQuitMessage */ + printf("Quit !!! \n"); + return 63; + case WM_DESTROY: + /* window is being destroyed. --TODO:process clipboard ! */ + printf("Destroy !!! \n"); + return 63; + case WM_MOUSEMOVE: + return 100; + case WM_MOVE: + /* --TODO: remove ? */ + if (exist_message(WM_MOVE, last_message.hwnd)) return -2; + windowRect.left = (int) LOWORD(last_message.lParam); + windowRect.top = (int) HIWORD(last_message.lParam); + return 102; + case WM_SIZE: + /* --TODO: remove ? */ + if (exist_message(WM_SIZE, last_message.hwnd)) return -2; + windowRect.right = (int) LOWORD(last_message.lParam); + windowRect.bottom = (int) HIWORD(last_message.lParam); + return 103; + case 280: + DefWindowProc(last_message.hwnd, last_message.message, last_message.wParam, last_message.lParam); + return -2; /* ??????? */ + default: + fprintf(stderr,"Event number %d not handled.\n", last_message.message); + DefWindowProc(last_message.hwnd, last_message.message, last_message.wParam, last_message.lParam); + return -2; + } +#else + XEvent peek; - /* properly aligned ? */ - if (((((char*)o)-((char*)c))%sizeof(int)) != 0) { - return; - } - /* already marked ? */ - if ((((rsoh*)o)-1)->header.magic_flag != RSOH_UNMARKED) { - return; - } - if (((char*)o) < ((char*)(c+1))) { - return; - } - /* a large chunck ? */ - if (c->header.size > RSOC_SIZE) { - if (o == (c+1)) { - nae->gc_mark((T0*)o); + /* if (XEventsQueued(dpy,QueuedAlready)) { */ + /*if (XEventsQueued(dpy,QueuedAfterReading)) { */ + if (XEventsQueued(dpy,QueuedAfterFlush)) { + XNextEvent(dpy,&last_event); + switch (last_event.type) + { + case 4: + /* For button press, events 40, 41, ... */ + return 39+((XButtonEvent*)&last_event)->button; + case 5: + /* For button release, events 50, 51, ... */ + return 49+((XButtonEvent*)&last_event)->button; + case 6: + return 100; + case 7: + if (((XCrossingEvent*)&last_event)->detail == NotifyInferior) + return -2; + else + return 7; + case 8: + if (((XCrossingEvent*)&last_event)->detail == NotifyInferior) + return -2; + else + return 8; + case 9: + case 10: + ((XFocusChangeEvent*)&last_event)->window = DefaultRootWindow(dpy); + return(last_event.type); + case 15: + return 60+((XVisibilityEvent*)&last_event)->state; + case 22: + while (XCheckTypedWindowEvent(dpy, last_event.xany.window, + 22, &last_event)) + ; + return 101; + /* case 25: + *{ + *XResizeRequestEvent*e=(XResizeRequestEvent*)&last_event; + *printf("Request : %d, %d\n",e->width,e->height); + *XResizeWindow(dpy, e->window, e->width, (e->height+4)&~7); + *} + * + *return 25; + */ + case 33: /* ClientMessage */ + if ((((XClientMessageEvent*)&last_event)->message_type==atom_PROTOCOLS) + && + (((XClientMessageEvent *)&last_event)->data.l[0] == atom_DELWIN)) { + /* it's a WM_DELETE_WINDOW event */ + return 63; + } + + return 33; + case 3: + if(XPending(dpy)) { + /* If the next event is a KeyPressed, than we have a repeat */ + XPeekEvent(dpy, &peek); + if(peek.type == 2 && peek.xkey.keycode == last_event.xkey.keycode && peek.xkey.time == last_event.xkey.time) { + XNextEvent(dpy, &peek); + return 2; + } + return 3; + } + default: + if (last_event.type >= LASTEvent) { + return 110; /* Extension */ + } else { + return last_event.type; + } } - return; - } - pf=NULL; - f=c->free_list_of_large; - while ((f != NULL) && (f < ((fll_rsoh*)o))) { - pf=f; - f=f->nextflol; - } - if (pf == NULL) { - pf=(fll_rsoh*)b; - } - while ((((rsoh*)pf)+1) < (rsoh*)o) { - pf = ((fll_rsoh*)(((char*)pf)+pf->rsoh_field.size)); - } - if (o == (((rsoh*)pf)+1)) { - nae->gc_mark((T0*)o); - } + } else return -1; +#endif } -unsigned int rsocfl_count(void) { - /* Returns the number of items in the ReSizable Object Free List. - */ - register unsigned int r=0; - register rsoc*p=rsocfl; - while (p!=NULL) { - r++; - p=p->next; - } - return r; + +#ifndef WIN32 +/* X help function */ +struct color_dist{ + int index; /* color index in colormap */ + int distance; /* distance from searched color */ +}; + +static int color_cmp(const void* a, const void* b) { + return (((struct color_dist *)a)->distance - ((struct color_dist *)b)->distance); } -unsigned int fsocfl_count(void) { - register unsigned int r=0; - register fsoc*p=fsocfl; - while (p!=NULL) { - r++; - p=p->next; +#define nb_col 256 /* visual dependant ? */ + +static void * search_X_color(int *r, int *g, int *b) { + static XColor * c_map = NULL; + static struct color_dist * distances = NULL; + XColor *xcol; + int status; + int i; + int x, y, z; + int rmean; + + if (!c_map) c_map = malloc(nb_col*sizeof(XColor)); + if (!distances) distances = malloc(nb_col*sizeof(struct color_dist)); + for (i=0; i>5; + x=(*r - c_map[i].red)>>4; + y=(*g - c_map[i].green)>>4; + z=(*b - c_map[i].blue)>>4; + distances[i].distance=(((((8192+rmean)*x)>>10)*x)>>2) + 4*y*y + (((((12287-rmean)*z)>>10)*z)>>2); } - return r; + qsort(distances, nb_col, sizeof(struct color_dist), color_cmp); + /* printf("searched : %d %d %d, found : %d %d %d\n",*r >> 8, *g >> 8, *b >> 8, c_map[distances->index].red >> 8, c_map[distances->index].green >> 8, c_map[distances->index].blue >> 8); */ + + for (status=0, i=0; (status==0) && (ired; + *g = xcol->green; + *b = xcol->blue; + return (void*)xcol->pixel; } -void gc_dispose_before_exit(void) { - mch** p = gcmt; - mch**eogcmt=gcmt+gcmt_used; - while (p < eogcmt) { - if (((*p)->state_type == FSO_STORE_CHUNK) || - ((*p)->state_type == FSO_USED_CHUNK)) { - ((*p)->swfp)(*p); - } - p++; - } -} +static int search_X_color2(int *r, int *g, int *b) { + static XcmsColor * c_map = NULL; + static XColor * rgb_c_map = NULL; + static struct color_dist * distances = NULL; + XcmsColor search; + XColor xcol; + int status; + int i; -fsoc* gc_fsoc_get1(void) { - /* Get a `fsoc' (Fixed Size Object Chunk) from the free fsoc list or - allocate a new one (using `se_malloc') only when the ceil is not - yet reached. Otherwise, call the `gc_start()' function and - return NULL. - */ - fsoc* result; - if (fsocfl != NULL) { - result = fsocfl; - fsocfl = fsocfl->next; - return result; - } - else if (fsoc_count_ceil > fsoc_count) { - result = ((fsoc*)se_malloc(FSOC_SIZE)); - fsoc_count++; - gc_add_into_gcmt((mch*)result); - return result; + if (!distances) distances = malloc(nb_col*sizeof(struct color_dist)); + if (!c_map) { + c_map = malloc(nb_col*sizeof(XcmsColor)); + for (i=0; inext; - return result; + search.format = XcmsRGBFormat; + search.spec.RGB.red = *r; + search.spec.RGB.green = *g; + search.spec.RGB.blue = *b; + printf("rgb %d %d %d ", *r, *g, *b); + XcmsConvertColors(XcmsDefaultCCC(dpy,DefaultScreen(dpy)),&search,1,XcmsTekHVCFormat,NULL); + printf("hvc %f %f %f ", search.spec.TekHVC.H, search.spec.TekHVC.V, search.spec.TekHVC.C); + for (i=0; i180) d = 360.0 - d; + if (d<0) exit(0); + d = d * abs(search.spec.TekHVC.C)/10; + d += abs(search.spec.TekHVC.C - c_map[i].spec.TekHVC.C); + d += abs(search.spec.TekHVC.V - c_map[i].spec.TekHVC.V); + distances[i].distance = (int)d; } - else { - result = ((fsoc*)(se_malloc(FSOC_SIZE))); - fsoc_count++; - gc_update_ceils(); - gc_add_into_gcmt((mch*)result); - return result; + qsort(distances, nb_col, sizeof(struct color_dist), color_cmp); + for (status=0, i=0; (status==0) && (i>8) + 25)/51))*51)<<8; + xcol.green = (((int)(((*g>>8) + 25)/51))*51)<<8; + xcol.blue = (((int)(((*b>>8) + 25)/51))*51)<<8; + status = XAllocColor(dpy,DefaultColormap(dpy,DefaultScreen(dpy)),&xcol); + if (status) + return (void*)(xcol.pixel); + else + return search_X_color(r, g, b); } } +#endif -void mark_stack_and_registers(void) { -# if defined(__sparcv9) - asm(" flushw"); -# else - asm(" ta 0x3 ! ST_FLUSH_WINDOWS"); -# endif - mark_loop(); -} -#elif defined(__ELATE__) || defined(ELATE) -/* GNU Eiffel's VP (Virtual Processor) garbage collector for Elate. - (c) 2000 Rudi Chiarito +void *basic_vision_get_color(int *r, int *g, int *b) { +#ifdef WIN32 + return (void*)RGB((*r>>8), (*g>>8), (*b>>8)); +#else + if (red_mask) + return (void*)(long)((((red_shift>0)?(*r)<>-red_shift)&red_mask) | + (((green_shift>0)?(*g)<>-green_shift)&green_mask) | + (((blue_shift>0)?(*b)<>-blue_shift)&blue_mask)); + else + return get_color_from_server(r, g, b); +#endif +} - Thanks to Andy Stout and Kevin Croombs at Tao Group for their - precious help! +/* +XGrabPointer(dpy, win, 0, ButtonPressMask|ButtonReleaseMask|EnterWindowMask|LeaveWindowMask| PointerMotionMask|Button1MotionMask|Button2MotionMask|Button3MotionMask|Button4MotionMask|Button5MotionMask|ButtonMotionMask, GrabModeAsync, GrabModeAsync, None , None, 0) +*/ - ChangeLog: - - 2000-06-12 Rudi Chiarito - * Version 1.0 - - 2001-01-01 Joseph Kiniry - * Integrated with new SE 0.75b - - 2001-08-10 Rudi Chiarito - * Inlined and optimised range marking - * Added some more comments - * Added conditional breakpoint in mark_stack_and_registers - - 2002-09-21 Rudi Chiarito - * Removed redundant 'ret' +int vision_available(void) { +#ifdef WIN32 + return 1; +#else + return getenv("DISPLAY") != NULL; +#endif +} +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ */ +#if defined __USE_POSIX || defined __unix__ || defined _POSIX_C_SOURCE +/* macro read is used of read_stdin */ -__inline__ void mark_stack_and_registers(void) -{ +void io_copy (char*source, char*target) { + /* We use the low-level descriptor functions rather than stream-oriented functions. + * This allows us to copy the file's permissions. */ - void *pointer_to_gc_mark = &gc_mark; + int src; + int tgt; + struct stat info; + static char *buffer = NULL; + static int bufsize = 0; + int read_count, write_count, written; - __asm__ __volatile__ - ( - /* - WARNING: funky code ahead! - \t and \n are needed to make the final output easier to read - while debugging. Hopefully you'll never have to bother with all - of this. + src=open (source, O_RDONLY); + if (fstat (src, &info)) + return; /* Ooops */ + if (bufsize < info.st_blksize) + buffer=se_realloc (buffer, info.st_blksize); + tgt=creat (target, info.st_mode); + do { + read_count = read (src, buffer, info.st_blksize); + write_count = 0; written = 0; + while ((write_count < read_count) && (written >= 0)) + { + written = write (tgt, buffer + write_count, read_count - write_count); + write_count += written; + } + } while ((read_count > 0) && (written >= 0)); + close (src); + close (tgt); +} - Registers: - p0 pointer to stack block - p1 pointer to gc_mark() - p2 scratch pointer - i0 length of current stack block - i1 scratch register - */ +int io_same_physical_file(char*path1,char*path2) { + struct stat info1, info2; + if (stat(path1, &info1)) + return 0; /* oops */ + if (stat(path2, &info2)) + return 0; /* oops */ + return (info1.st_dev == info2.st_dev) && (info1.st_ino == info2.st_ino); +} -# ifdef __ELATE_SE_DEBUG_GC - "\tqcall sys/cii/breakpt,(-:-)\n" -# endif - - "\tsync\n" /* spill all the registers */ - "\tsyncreg\n" /* to the stack */ - - "\tcpy.p %0,p1\n" /* pointer to gc_mark() */ - - /* pointer to the current stack block */ - "\tcpy.p [gp+PROC_STACK],p0\n" - - /* point to last location in the block, before the descriptor */ - "\tcpy.p p0 + ([(p0 - STK_SIZE) + STK_LENGTH] - STK_SIZE - 4),p2\n" - - /* mark the contents of the current stack block */ - "\twhile p2>=sp\n" - "\t\tgos p1,(p2 : -)\n" - "\t\tsub.p 4,p2\n" - "\tendwhile\n" - - /* now scan other blocks (if any) */ - - "\tloop\n" - "\t\tcpy.p [p0 - STK_SIZE + STK_LINK],p0\n" /* get next block */ - "\t\tbreakif p0=NULL\n" +#else +#define IO_COPY_BUFSIZE 4096 - /* point to last location in the block, before the descriptor */ - "\t\tcpy.p p0 + ([(p0 - STK_SIZE) + STK_LENGTH] - STK_SIZE - 4),p2\n" +int read_stdin(EIF_CHARACTER *buffer, int size) { + int c; + c = getc(stdin); + if (c==EOF) + return 0; + *buffer = (EIF_CHARACTER)c; + return 1; +} - /* mark this block */ - "\t\twhile p2>=p0\n" +void io_copy(char*source, char*target) { + static char *buffer = NULL; + int read_count; + FILE*src=fopen(source, "rb"); + FILE*tgt=fopen(target, "wb"); - "\t\t\tgos p1,(p2 : -)\n" - "\t\t\tsub.p 4,p2\n" - "\t\tendwhile\n" - "\tendloop\n" + if(!buffer) + buffer = (char*)se_malloc(IO_COPY_BUFSIZE); - : /* no output */ - : "p" (pointer_to_gc_mark) - : "p0", "p1", "p2", "i0" - ); + while ((read_count = fread(buffer, 1, IO_COPY_BUFSIZE, src)), read_count) { + size_t dummy = fwrite(buffer, 1, read_count, tgt); + } + fclose(src); + fclose(tgt); } -#elif defined(__hppa__) || defined(__hppa) || defined(__hp9000) || \ - defined(__hp9000s300) || defined(hp9000s300) || \ - defined(__hp9000s700) || defined(hp9000s700) || \ - defined(__hp9000s800) || defined(hp9000s800) || defined(hp9000s820) - -/**************************************************************************** - * Generic code for architectures where addresses increase as the stack grows. - ****************************************************************************/ - -void mark_stack_and_registers(void){ - void** max = stack_bottom; - JMP_BUF registers; /* The jmp_buf buffer is in the C stack. */ - void**stack_pointer; /* Used to traverse the stack and registers assuming - that `setjmp' will save registers in the C stack. - */ +int io_same_physical_file(char*path1,char*path2) { + /* default implementation returns true only if the paths are the same */ + return !strcmp(path1, path2); +} +#endif - (void)SETJMP(registers); /* To fill the C stack with registers. */ - stack_pointer = (void**)(void*)(®isters) + ((sizeof(JMP_BUF)/sizeof(void*))-1); - /* stack_pointer will traverse the JMP_BUF as well (jmp_buf size is added, - otherwise stack_pointer would be below the registers structure). */ +int io_file_exists(char*source) { + FILE*src=fopen(source, "rb"); + if (src!=NULL) { + fclose(src); + return 1; + } + else { + return (errno != ENOENT); + } +} +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +EIF_REAL_64 time_difftime(time_t t2, time_t t1) { + return difftime((time_t)t2, (time_t)t1); +} -# if !defined(SE_BOOST) - if (stack_pointer < max) { - fprintf(stderr, "Wrong stack direction: your stack decrease as the stack grows (or complex stack management). Please drop an e-mail to SmartEiffel@loria.fr\n"); - exit(1); } -# endif +EIF_INTEGER time_getyear(time_t t, EIF_INTEGER m) { + if (m == 1) { + return (gmtime((time_t *)(&t)))->tm_year + 1900; + } + else { + return (localtime((time_t *)(&t)))->tm_year + 1900; + } +} - while (stack_pointer >= max) { - gc_mark(*(stack_pointer--)); +EIF_INTEGER time_getmonth(time_t t, EIF_INTEGER m) { + if (m == 1) { + return (gmtime((time_t *)(&t)))->tm_mon + 1; + } + else { + return (localtime((time_t *)(&t)))->tm_mon + 1; } } -#else -/**************************************************************************** - * Generic code for architectures where addresses decrease as the stack grows. - ****************************************************************************/ +EIF_INTEGER time_getday(time_t t, EIF_INTEGER m) { + if (m == 1) { + return (gmtime((time_t *)(&t)))->tm_mday; + } + else { + return (localtime((time_t *)(&t)))->tm_mday; + } +} -void mark_stack_and_registers(void){ - void** max = stack_bottom; - JMP_BUF registers; /* The jmp_buf buffer is in the C stack. */ - void**stack_pointer; /* Used to traverse the stack and registers assuming - that `setjmp' will save registers in the C stack. - */ +EIF_INTEGER time_gethour(time_t t, EIF_INTEGER m) { + if (m == 1) { + return (gmtime((time_t *)(&t)))->tm_hour; + } + else { + return (localtime((time_t *)(&t)))->tm_hour; + } +} - (void)SETJMP(registers); /* To fill the C stack with registers. */ - stack_pointer = (void**)(void*)(®isters); +EIF_INTEGER time_getminute(time_t t, EIF_INTEGER m) { + if (m == 1) { + return (gmtime((time_t *)(&t)))->tm_min; + } + else { + return (localtime((time_t *)(&t)))->tm_min; + } +} -# if !defined(SE_BOOST) - if (stack_pointer > max) { - fprintf(stderr, "Wrong stack direction: the stack addresses increase as the stack grows (or complex stack management). Please drop an e-mail to SmartEiffel@loria.fr\n"); - exit(1); } -# endif +EIF_INTEGER time_getsecond(time_t t, EIF_INTEGER m) { + if (m == 1) { + return (gmtime((time_t *)(&t)))->tm_sec; + } + else { + return (localtime((time_t *)(&t)))->tm_sec; + } +} - while (stack_pointer <= max) { - gc_mark(*(stack_pointer++)); +EIF_INTEGER time_getwday(time_t t, EIF_INTEGER m) { + if (m == 1) { + return (gmtime((time_t *)(&t)))->tm_wday; + } + else { + return (localtime((time_t *)(&t)))->tm_wday; } } -#endif -void x_key_info_init(XKeyInfo *info, int *min_k, int *max_k, int *num_k) { - *min_k = info->min_keycode; - *max_k = info->max_keycode; - *num_k = info->num_keys; +EIF_INTEGER time_getyday(time_t t, EIF_INTEGER m) { + if (m == 1) { + return (gmtime((time_t *)(&t)))->tm_yday; + } + else { + return (localtime((time_t *)(&t)))->tm_yday; + } } -void x_valuator_info_init(XValuatorInfo *info, int *nb_axes, int *is_absolute, int *buf_size) { - *nb_axes = info->num_axes; - *is_absolute = (info->mode == Absolute); - *buf_size = info->motion_buffer; +EIF_BOOLEAN time_is_summer_time_used(time_t t) { + return (EIF_BOOLEAN)(((localtime((time_t *)(&t)))->tm_isdst) != 0); } -void * x_device_init_events(XDevice * device, int * events_id) { - XEventClass * result; +EIF_INTEGER_64 time_mktime(EIF_INTEGER year, + EIF_INTEGER mon, + EIF_INTEGER mday, + EIF_INTEGER hour, + EIF_INTEGER min, + EIF_INTEGER sec) { + struct tm tm_buf; - result = malloc(7 * sizeof(XEventClass)); /* see also x_device_select_events */ - DeviceKeyPress(device, events_id[0], result[0]); - DeviceKeyRelease(device, events_id[1], result[1]); - DeviceButtonPress(device, events_id[2], result[2]); - DeviceButtonRelease(device, events_id[3], result[3]); - DeviceMotionNotify(device, events_id[4], result[4]); - ProximityIn(device, events_id[5], result[5]); - ProximityOut(device, events_id[6], result[6]); - return result; + tm_buf.tm_year = (year - 1900); + tm_buf.tm_mon = (mon - 1); + tm_buf.tm_mday = mday; + tm_buf.tm_hour = hour; + tm_buf.tm_min = min; + tm_buf.tm_sec = sec; + tm_buf.tm_isdst = -1; + + return (EIF_INTEGER_64)mktime(&tm_buf); } -void x_device_select_events(void * window, XEventClass * events_classes) { - XSelectExtensionEvent(dpy, (Window)window, events_classes, 7); +void time_add_second(EIF_INTEGER_64 *t, EIF_INTEGER s) { + *t += s; } /* -- ------------------------------------------------------------------------------------------------------------ @@ -1449,1133 +1368,989 @@ void x_device_select_events(void * window, XEventClass * events_classes) { -- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr -- ------------------------------------------------------------------------------------------------------------ */ -#ifdef WIN32 -HINSTANCE main_hInstance; -int main_nCmdShow; -const char *CLASSNAME="Vision window"; -MSG last_message; -HDC hdc; -HWND hwnd; -PAINTSTRUCT paintstruct; -RECT windowRect; -DWORD message_thread_id; -DWORD main_thread_id; -static HANDLE message_thread_handle; -int decorated_window_x_offset; -int decorated_window_y_offset; -int decorated_window_width_offset; -int decorated_window_height_offset; -HANDLE sem_paint; -HANDLE sem_new_window; -HANDLE sem_thread_finished_work; -HANDLE sems_wait_end_paint[3]; -# ifndef WM_MOUSELEAVE -# define WM_MOUSELEAVE 0x2a3 -# endif -# define WM_MOUSEENTER (WM_USER + 5) -HWND pointer_window=NULL; -int button_swapped; +void sprintf_real_64(EIF_CHARACTER* b, EIF_CHARACTER m, int32_t f, real64_t r) { + char fmt[32]; + fmt[0]='%'; + fmt[1]='.'; + sprintf(fmt+2, "%d%c", f, m); + sprintf((char*)b, fmt, r); +} -/* This list is a ring. It is "empty" when first_message == first_free. */ -/* empty means "no message enqueued". Cells remains to avoid malloc/free. */ -/* Used for messages sent from the message's thread to the main thread. */ -struct message_list {struct message_list * next; MSG msg;}; -volatile static struct message_list *first_message; -volatile static struct message_list *first_free; +void sprintf_real_extended(EIF_CHARACTER* b, EIF_CHARACTER m, int32_t f, real_extended_t r) { + char fmt[32]; + fmt[0]='%'; + fmt[1]='.'; + sprintf(fmt+2, "%dL%c", f, m); + sprintf((char*)b, fmt, r); +} -/* This list is a ring. It is "empty" when first_cmd == first_free_cmd. */ -/* empty means "no message enqueued". Cells remains to avoid malloc/free. */ -/* Used for commands sent from the main thread to the message's thread. */ -volatile struct cmd_list *first_cmd; -volatile struct cmd_list *first_free_cmd; -HANDLE sem_cmd_ready; -HANDLE sems_wait_cmd[2]; -window_description screen_desc; -#else -# include -Display *dpy; /* X server connection */ -int red_mask, green_mask, blue_mask; -int red_shift, blue_shift, green_shift; -XEvent last_event; -int vision_error_handler(Display *disp, XErrorEvent *err); -Atom atom_DELWIN = 0; -Atom atom_PROTOCOLS = 0; -#endif +int x_query_extension(char * extension_name) +{ + int major_opcode, first_event_code, first_error_code; + return XQueryExtension(dpy, extension_name, &major_opcode, &first_event_code, &first_error_code); +} +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ #ifdef WIN32 -static DWORD WINAPI MessageCallBackThread(LPVOID unused); +int win32_msg=0; +int win32_msg_ready=FALSE; +HANDLE sem_msg_ready; +#endif -static void vision_handler(se_handler_action_t action, void *data) { - switch(action) { - case SE_HANDLE_NO_MORE_MEMORY: - case SE_HANDLE_RUNTIME_ERROR: - case SE_HANDLE_DIE_WITH_CODE: - case SE_HANDLE_NORMAL_EXIT: - CloseHandle(message_thread_handle); +EIF_POINTER _sequencer_create_set(void) { + void * mem; + mem = malloc(sizeof(fd_set)); + if (!mem) { + fprintf(stderr, "Error in malloc for select, exiting\n"); + exit(1); } + return mem; } -static void run_first_cmd(void) { - vision_check(first_cmd != first_free_cmd); /* non empty list */ - switch (first_cmd->cmd_type) { - case SET_TITLE: - if (!*(char*)first_cmd->param2) - vision_check_call(SetWindowText ((HWND)first_cmd->param1, " ")); - else - vision_check_call(SetWindowText ((HWND)first_cmd->param1, - (char *)first_cmd->param2)); - break; - case CLEAR_AREA: - vision_check_call(InvalidateRect((HWND)first_cmd->param1, - (RECT*)(&(first_cmd->param2)), TRUE)); - break; - case MAP_WINDOW: - ShowWindow((HWND)(first_cmd->param1), first_cmd->param2); - break; - case MOVE_WINDOW: - vision_check_call(MoveWindow((HWND)first_cmd->param1, - first_cmd->param2, first_cmd->param3, - first_cmd->param4, first_cmd->param5, - first_cmd->param6)); - break; - case SET_FOCUS: - vision_check_call(SetFocus((HWND)first_cmd->param1)); - break; - } - first_cmd = first_cmd->next; -} +int sequencer_wait(int n, fd_set *read_set, int read_size, fd_set *write_set, int write_size, fd_set *exception_set, int exception_size, int s, int us){ + struct timeval tv; + int ret=0; -void emit_event(int event, HWND window) { - MSG *msg = (MSG*)&(first_free->msg); - - msg->hwnd = window; - msg->message = event; - msg->time = timeGetTime(); - vision_check_call(GetCursorPos(&(msg->pt))); - if (first_free->next == first_message) { - struct message_list *new_cell = malloc(sizeof(struct message_list)); - new_cell->next = first_free->next; - first_free->next = new_cell; - first_free = new_cell; /* don't merge with previous line, first_free - * is the last change done and - * then the consumer may use this cell */ + tv.tv_sec = s; + tv.tv_usec = us; +#ifndef WIN32 + if (select(n, read_set, write_set, exception_set, &tv) == -1) + ret = -1; +#else + if (win32_msg == 0) { + if (n==0) + Sleep(s*1000+us/1000); + else { + if (select(n, (read_size?read_set:NULL), (write_size?write_set:NULL), (exception_size?exception_set:NULL), &tv) == -1) + ret = -1; + } } else { - first_free = first_free->next; - } - vision_check_call(ReleaseSemaphore(sem_msg_ready, 1, NULL)); -} + if (WaitForSingleObject(sem_msg_ready, 0) == WAIT_OBJECT_0) { + ReleaseSemaphore(sem_msg_ready, 1, NULL); + win32_msg_ready = TRUE; + } else { + if ((s != 0) || (us != 0)) { + HANDLE pHandles[MAXIMUM_WAIT_OBJECTS]; + int nCount = 0; + int to; + int i; -static void generate_leave_enter_events(window_description* from, - window_description* to){ - if (to->marked) { - /* End recursivity case */ - window_description* wnd = from; - to->marked = 0; - if (wnd) { - while(wnd->marked) { - emit_event(WM_MOUSELEAVE, wnd->Current); - wnd->marked = 0; - wnd = wnd->parent; - }; - wnd = wnd->parent; + if (s>2) { + /* Never wait more than 2 seconds in case race condition occured */ + to = 2000; + } else { + to = 1000*s + us/1000; + } + pHandles[nCount++] = sem_msg_ready; + for (i = read_set->fd_count-1; i >= 0; i--) + pHandles[nCount++] = (HANDLE)read_set->fd_array[i]; + for (i = write_set->fd_count-1; i >= 0; i--) + pHandles[nCount++] = (HANDLE)write_set->fd_array[i]; + ret = WaitForMultipleObjects(nCount, pHandles, FALSE, to); + if (ret == WAIT_OBJECT_0) { + ReleaseSemaphore(sem_msg_ready, 1, NULL); + win32_msg_ready = TRUE; + } + if (ret != WAIT_TIMEOUT) { + ret -= WAIT_OBJECT_0; + if (ret < 0 || ret >= nCount) { + fprintf(stderr, "Error in WaitForMultipleObjects\n"); + ret = -1; + } + } + } + if (n) { + struct timeval nowait={0,0}; + /* use read_size-1 because win32_msg was counted as read fd */ + if (select(n, ((read_size-1)?read_set:NULL), (write_size?write_set:NULL), (exception_size?exception_set:NULL),&nowait) == -1) + ret = -1; + } } - while(wnd) { - wnd->marked = 0; - wnd = wnd->parent; - }; - } else { - /* recursive call */ - generate_leave_enter_events(from, to->parent); - emit_event(WM_MOUSEENTER, to->Current); } +#endif + return ret; } +struct _channel { + Channel next; + HANDLE fd; + void *data; + int tobedeleted; + ChannelHandleDelete handle_delete; + ChannelHandleRead handle_read; +}; +void * eiffel_ivy_object; +void * eiffel_up_fct; +void * eiffel_down_fct; +void * eiffel_callback_fct; -static DWORD WINAPI MessageCallBackThread(LPVOID unused) { - /* --TODO: ExitThread ? CloseHandle in the main thread ? */ - MSG local_message; - BOOL status; - - /* Send "ready" message */ - vision_check_call(PostThreadMessage(main_thread_id, WM_USER+2, 0, 0)); +void IvyChannelInit(void) { + /* Do not exit when others core-dump */ + signal (SIGPIPE, SIG_IGN); +} - while(1){ - status = MsgWaitForMultipleObjects(2, sems_wait_cmd, FALSE, - INFINITE, QS_ALLINPUT); - if (status == WAIT_OBJECT_0 + 2) { - while(PeekMessage(&local_message, NULL, 0, 0, PM_REMOVE)) - DispatchMessage(&local_message); - } else if (status == WAIT_OBJECT_0) { - run_first_cmd(); - } else { - vision_check(status == WAIT_OBJECT_0 + 1); - /* Request to create new window */ - new_window(); - } - } - return 0; +Channel IvyChannelAdd (HANDLE fd, void *data, + ChannelHandleDelete handle_delete, + ChannelHandleRead handle_read, + ChannelHandleRead handle_write + ) { + return ((void * (*)(void*, int, void*, void*, void*, void*))eiffel_up_fct)(eiffel_ivy_object, fd, data, handle_delete, handle_read, handle_write); } -void display_error(int num) { - LPVOID lpMsgBuf; - - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, num, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL); - MessageBox(NULL, lpMsgBuf, "GetLastError", MB_OK|MB_ICONINFORMATION); - LocalFree(lpMsgBuf); +void IvyChannelRemove (Channel channel) { + ((void (*)(void*, void*))eiffel_down_fct)(eiffel_ivy_object, channel); } -LRESULT CALLBACK WndProc(HWND hWnd, unsigned int iMessage, WPARAM wParam, LPARAM lParam) -{ - MSG * msg; +void plugin_read_callback(IvyClientPtr app, void *user_data, int argc, char **argv ) { + ((void (*)(void*, void*, int, char**))eiffel_callback_fct)(eiffel_ivy_object, user_data, argc, argv); +} - switch (iMessage) { - case WM_SIZING: - { - int edge = wParam; - RECT *rect = (LPRECT)lParam; - window_description *desc = (window_description*)GetWindowLong((HWND)hWnd, GWL_USERDATA); - int width = rect->right - rect->left; - int height = rect->bottom - rect->top; - - if (edge % 3 == 1) { /* Left border control */ - if (width < desc->min_width) - rect->left -= (desc->min_width - width); - else if (width > desc->max_width) - rect->left += (width - desc->max_width); - } else if (edge % 3 == 2) { /* Right border control */ - if (width < desc->min_width) - rect->right += (desc->min_width - width); - else if (width > desc->max_width) - rect->right -= (width - desc->max_width); - } - - if (edge >= 6) { /* Bottom border control */ - if (height < desc->min_height) - rect->bottom += (desc->min_height - height); - else if (height > desc->max_height) - rect->bottom -= (height - desc->max_height); - } else if (edge >= 3) { /* Top border control */ - if (height < desc->min_height) - rect->top -= (desc->min_height - height); - else if (height > desc->max_height) - rect->top += (height - desc->max_height); - } - - return TRUE; - } - case WM_ERASEBKGND: - return 0; - case WM_PAINT: - hwnd = hWnd; - hdc = BeginPaint(hWnd, &paintstruct); - vision_check(hdc); - break; - /* no return !!! */ - case WM_MOUSEMOVE: - if (hWnd != pointer_window) { - window_description* from=NULL; - window_description* to; - RECT rect; - vision_check_call(GetClientRect(hWnd, &rect)); - if (!(LOWORD(lParam)<0 || LOWORD(lParam)>=rect.right || HIWORD(lParam)<0 || HIWORD(lParam)>=rect.bottom)) { - if (pointer_window) { - window_description* wnd; - from = wnd = (window_description*)GetWindowLong((HWND)pointer_window, - GWL_USERDATA); - do { - wnd->marked = 1; - wnd = wnd->parent; - } while (wnd); - } else - screen_desc.marked = 1; - to = (window_description*)GetWindowLong(hWnd, GWL_USERDATA); - generate_leave_enter_events(from, to); - pointer_window = hWnd; - } - } else { - RECT rect; - vision_check_call(GetClientRect(hWnd, &rect)); - if (LOWORD(lParam)<0 || LOWORD(lParam)>=rect.right || HIWORD(lParam)<0 || HIWORD(lParam)>=rect.bottom) - { - window_description* wnd; - wnd = (window_description*)GetWindowLong((HWND)pointer_window, - GWL_USERDATA); - emit_event(WM_MOUSELEAVE, hWnd); - pointer_window = wnd->parent->Current; - } - } - break; - /* no return !!! */ - case WM_KILLFOCUS: /* --TODO: it's keyboard focus. Useful ? */ - break; - /* no return !!! */ - case WM_NCACTIVATE: - if ((BOOL)wParam) - return DefWindowProc(hWnd, iMessage, wParam, lParam); - else - return TRUE; - case WM_ACTIVATE: - if (LOWORD(wParam)) - return DefWindowProc(hWnd, iMessage, wParam, lParam); - else { - window_description* desc; - desc = (window_description*)GetWindowLong((HWND) lParam, GWL_USERDATA); - /* --TODO: check if this window belongs to this program instead of just testing if desc is not null (list all toplevel windows?) */ - if (!desc || desc->decorated) { - DefWindowProc(hWnd, WM_NCACTIVATE, FALSE, lParam); - return DefWindowProc(hWnd, iMessage, wParam, lParam); - } else - return FALSE; - } - case WM_LBUTTONDOWN: - case WM_MBUTTONDOWN: - case WM_RBUTTONDOWN: - SetCapture(hWnd); - break; - /* no return !!! */ - case WM_LBUTTONUP: - case WM_MBUTTONUP: - case WM_RBUTTONUP: - ReleaseCapture(); - break; - /* no return !!! */ - case WM_MOUSEWHEEL: - { - /* Search window under mouse cursor and convert coordinates */ - POINT p; - p.x = (short) LOWORD(lParam); - p.y = (short) HIWORD(lParam); - hWnd = WindowFromPoint(p); - ScreenToClient(hWnd, &p); - lParam = POINTTOPOINTS(p); - } - break; - /* no return !!! */ - case WM_KEYDOWN: - case WM_KEYUP: - case WM_SETFOCUS: - case WM_SHOWWINDOW: - case WM_CLOSE: - case WM_QUIT: - case WM_DESTROY: - case WM_MOVE: - case WM_SIZE: - break; - default: - return DefWindowProc(hWnd, iMessage, wParam, lParam); - } - msg = (MSG*)&(first_free->msg); - - msg->hwnd = hWnd; - msg->message = iMessage; - msg->wParam = wParam; - msg->lParam = lParam; - msg->time = timeGetTime(); - vision_check_call(GetCursorPos(&(msg->pt))); +void ivy_init(char * application_name, char * ready_text, void * eiffel_object, void * channel_up_callback, void * channel_down_callback, void * agent_call_callback) { + eiffel_ivy_object = eiffel_object; + eiffel_up_fct = channel_up_callback; + eiffel_down_fct = channel_down_callback; + eiffel_callback_fct = agent_call_callback; - if (first_free->next == first_message) { - struct message_list *new_cell = malloc(sizeof(struct message_list)); - new_cell->next = first_free->next; - first_free->next = new_cell; - first_free = new_cell; /* don't merge with previous line, first_free - * is the last change done and - * then the consumer may use this cell */ - } else { - first_free = first_free->next; - } - vision_check_call(ReleaseSemaphore(sem_msg_ready, 1, NULL)); - if (iMessage == WM_PAINT) { - int status; - - /* Wait for "endpaint" message from appli */ - do { - status = WaitForMultipleObjects(3, sems_wait_end_paint, - FALSE, INFINITE); - vision_check(status != WAIT_FAILED); - if (status == WAIT_OBJECT_0 + 2) { - run_first_cmd(); - } else if (status == WAIT_OBJECT_0 + 1) { - /* Request to create new window */ - new_window(); - } - } while (status != WAIT_OBJECT_0); - EndPaint(hWnd, &paintstruct); - hwnd = NULL; - hdc = NULL; - } - return 0; + IvyInit(application_name, ready_text, NULL, NULL, NULL, NULL); } -#else -int vision_error_handler(Display *disp, XErrorEvent *err) { - char buf[128]; - /* in case the error occurred during the Grab command... */ - XUngrabServer(disp); - XUngrabButton(disp, (unsigned int) AnyButton, 0, DefaultRootWindow(disp)); - se_print_run_time_stack(); - XGetErrorText(disp, err->error_code, buf, 128); - fprintf(SE_ERR,"X Error: %s.\n",buf); - fprintf(SE_ERR," Major Opcode: %d\n",err->request_code); - - exit(-1); +void * bind_message(char * pattern, void * agent) { + return IvyBindMsg(plugin_read_callback, agent, "%s", pattern); } -#endif -#ifndef WIN32 -int higher_bit(int val) { - int i=0; - while (val >= 0) { - val = val << 1; - i++; - } - return 32-i; +void IvyChannelStop (void) +{ } -#endif - -int _basic_vision_init(void) { -#ifdef WIN32 - - WNDCLASS WndClass; - NONCLIENTMETRICS ncm; - - main_hInstance = (HINSTANCE)GetModuleHandle(NULL); - main_nCmdShow = SW_SHOWDEFAULT; /* First window display mode: minimized, normal, - * maximized, hide, ... */ - - /* Initialize the lists to empty state. */ - first_message = first_free = malloc(sizeof(struct message_list)); - first_free->next = (struct message_list *)first_message; - first_cmd = first_free_cmd = malloc(sizeof(struct cmd_list)); - first_free_cmd->next = (struct cmd_list *)first_cmd; - sem_paint = CreateSemaphore(NULL, 0, 1, NULL); - sem_new_window = CreateSemaphore(NULL, 0, 1, NULL); - sem_thread_finished_work = CreateSemaphore(NULL, 0, 1, NULL); - sem_msg_ready = CreateSemaphore(NULL, 0, INT32_MAX, NULL); - sem_cmd_ready = CreateSemaphore(NULL, 0, INT32_MAX, NULL); - sems_wait_end_paint[0] = sem_paint; - sems_wait_end_paint[1] = sem_new_window; - sems_wait_end_paint[2] = sem_cmd_ready; - sems_wait_cmd[0] = sem_cmd_ready; - sems_wait_cmd[1] = sem_new_window; - screen_desc.Current = NULL; - screen_desc.parent = NULL; - button_swapped = GetSystemMetrics(SM_SWAPBUTTON); - vision_check(sem_paint); - vision_check(sem_new_window); - vision_check(sem_msg_ready); - vision_check(sem_cmd_ready); - - ncm.cbSize = sizeof(ncm); - vision_check_call(SystemParametersInfo(SPI_GETNONCLIENTMETRICS, - sizeof(ncm), &ncm, 0)); - decorated_window_x_offset = GetSystemMetrics(SM_CXFRAME); - decorated_window_width_offset = 2* decorated_window_x_offset; - decorated_window_y_offset = ncm.iCaptionHeight+decorated_window_x_offset+1; - decorated_window_height_offset = decorated_window_y_offset + decorated_window_x_offset; - - main_thread_id = GetCurrentThreadId(); - message_thread_handle = CreateThread(NULL,100 /* ??? */, - MessageCallBackThread, - NULL, 0, &message_thread_id); - vision_check(message_thread_handle); - vision_check(message_thread_id); +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +EIF_INTEGER basic_microsecond_microsecond = 0; +EIF_INTEGER_64 basic_microsecond_time = 0; - /* Wait for "ready" message from the thread */ - vision_check_call(GetMessage(&last_message, NULL, WM_USER+2, WM_USER+2)); - register_handler(vision_handler); - memset(&WndClass, 0, sizeof(WndClass)); - WndClass.cbClsExtra = 0; - WndClass.cbWndExtra = sizeof(window_description *); /* extra bytes allocated for window instance <= 40 for Win95, advice: no more than 4 */ - WndClass.hbrBackground = GetStockObject(BLACK_BRUSH); - WndClass.hCursor = LoadCursor(NULL, IDC_ARROW); - WndClass.hIcon = LoadIcon(main_hInstance, NULL); - WndClass.hInstance = main_hInstance; - WndClass.lpfnWndProc = WndProc; - WndClass.lpszClassName = CLASSNAME; - WndClass.style = CS_HREDRAW | CS_VREDRAW; /* --TODO: 0 to suppress complete redraw on WM_SIZE and WM_MOVE */ /* use CS_PARENTDC? */ - if(!RegisterClass(&WndClass)) - exit(0); +void _basic_microsecond_update(void) { +#ifndef WIN32 + struct timeval t; - return -1; + gettimeofday (&t, NULL); + basic_microsecond_time = t.tv_sec; + basic_microsecond_microsecond = t.tv_usec; #else - Visual *visual; - /* - * Open the display using the $DISPLAY environment variable to locate - * the X server. See Section 2.1. - */ - if ((dpy = XOpenDisplay(NULL)) == NULL) { - fprintf(stderr, "Can't open \"%s\"\n", XDisplayName(NULL)); - return (0); - } -# ifdef VISION_DEBUG - XSynchronize(dpy, True); -# endif - XSetErrorHandler(vision_error_handler); - - visual = DefaultVisual(dpy,DefaultScreen(dpy)); - red_mask = visual->red_mask; - green_mask = visual->green_mask; - blue_mask = visual->blue_mask; - if (red_mask) { - red_shift = higher_bit(red_mask) - 16; - blue_shift = higher_bit(blue_mask) - 16; - green_shift = higher_bit(green_mask) - 16; - } - - return(ConnectionNumber(dpy)); -#endif -} + static DWORD ref_uptime = -1; /* max value as ref_uptime is unsigned */ + static time_t ref_time; + DWORD uptime; -int _basic_vision_character() { - /* --TODO: unicode result ! */ - int res; + /* uptime = timeGetTime();*/ + uptime = GetTickCount(); -#ifdef WIN32 - char chars[2]; - unsigned char keystate[256]; - GetKeyboardState(keystate); - ToAscii((int)last_message.wParam,(HIWORD(last_message.lParam)) & 0xFF, - keystate,(LPWORD)chars,0); - res = (int)chars[0]; -#else - XKeyEvent* key_event = (XKeyEvent*)&last_event; - char r; + if (uptime < ref_uptime) { + /* !!! this test manages first call AND 50th day ;-) */ + ref_uptime = uptime; + time(&ref_time); + } - if(XLookupString(key_event, &r, 1, NULL, NULL)) - res = (int)r; - else - res= 0; + basic_microsecond_time = ref_time + (uptime - ref_uptime)/1000; + basic_microsecond_microsecond = ((uptime - ref_uptime) % 1000) * 1000; #endif - return res; } - -int _basic_vision_key() { - int res; - +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ #ifdef WIN32 - res = _basic_vision_character(); -#else - XKeyEvent* key_event = (XKeyEvent*)&last_event; - - res = (int)XKeycodeToKeysym(dpy, key_event->keycode, 0); - if(res == NoSymbol) - res = 0; +const char *WINNAME="Window app"; /* --TODO: use exe name */ #endif - return res; -} -int basic_vision_get_keysym(char* string) { - int res = 0; #ifdef WIN32 -#else - res = (int)XStringToKeysym(string); - if(res == NoSymbol) - res = 0; -#endif - return res; -} +static HWND new_window_handle; +static int new_window_x, new_window_y, new_window_width, new_window_height; +static int new_window_decorate; +static void * new_window_parent; -#ifdef WIN32 -static int exist_message(UINT type, HWND window) { - struct message_list *msg = (struct message_list *)first_message; +void new_window(void) { + /* --TODO: replace CLASSNAME with ATOM registred with GlobalAddAtom, see RegisterClass too */ + /* --TODO: add WS_CLIPCHILDREN ? WS_CLIPSIBLINGS ? */ + window_description *desc; - while (msg != first_free) - { - if ((msg->msg.message == type) && (msg->msg.hwnd == window)) - return 1; - msg = msg->next; - } - return 0; -} -#endif + if (new_window_parent) + new_window_handle = CreateWindow(CLASSNAME, WINNAME, WS_CHILD, + new_window_x, new_window_y, + new_window_width, new_window_height, + (HWND)new_window_parent, NULL, + main_hInstance, NULL); + else + if (new_window_decorate) + new_window_handle = CreateWindow(CLASSNAME, WINNAME, WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, CW_USEDEFAULT, + new_window_width + decorated_window_width_offset, + new_window_height + decorated_window_height_offset, + NULL, NULL, main_hInstance, NULL); + else + { + LONG style; + new_window_handle = CreateWindowEx(WS_EX_TOOLWINDOW, CLASSNAME, WINNAME, + WS_POPUP | WS_CLIPCHILDREN | + WS_CLIPSIBLINGS, + new_window_x, new_window_y, + new_window_width, new_window_height, + NULL, NULL, main_hInstance, NULL); + style = GetWindowLong (new_window_handle, GWL_STYLE); -static int get_next_event(void); -int _basic_vision_next_event(void) { - int result; - while((result=get_next_event())==-2); - return result; -} + /*style &= (WS_OVERLAPPED|WS_POPUP|WS_CHILD|WS_MINIMIZE|WS_VISIBLE|WS_DISABLED + |WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_MAXIMIZE|WS_CAPTION|WS_BORDER + |WS_SYSMENU); + SetWindowLong (new_window_handle, GWL_STYLE, style); + SetWindowPos (new_window_handle, HWND_TOPMOST , 0, 0, 0, 0, + SWP_NOACTIVATE | SWP_NOMOVE | + SWP_NOSIZE);*/ + } + /* new_window_handle = CreateWindow(CLASSNAME, WINNAME, WS_POPUP | + WS_CLIPCHILDREN | WS_CLIPSIBLINGS, + CW_USEDEFAULT, CW_USEDEFAULT, + new_window_width, + new_window_height, + NULL, NULL, main_hInstance, NULL); + */ + vision_check(new_window_handle); + if (!new_window_handle) display_error(GetLastError()); + desc = malloc(sizeof(window_description)); + desc->Current = new_window_handle; -static int get_next_event(void) { - /* return event number, -1 if no event is available, -2 if new call to - * this function is needed. */ -#ifdef WIN32 - if (last_message.message==WM_PAINT) { - SetBkMode(hdc, TRANSPARENT); - TextOut(hdc, 0, 0, " ", 1); /* THIS IS AWFUL HACK FOR WINDOWS 2000 */ - /* --TODO: search if some "flushing" is required for Windows 2000 */ - vision_check_call(ReleaseSemaphore(sem_paint, 1, NULL)); - last_message.message = -1; - } - if (first_message != first_free){ /* non empty list */ - last_message = first_message->msg; - first_message = first_message->next; - vision_check_call(WaitForSingleObject(sem_msg_ready, INFINITE) == WAIT_OBJECT_0); /* never wait, only decrease sem value here */ + desc->background = CreateSolidBrush(RGB(255, 255, 255)); + vision_check(desc->background); + desc->decorated = new_window_decorate; + desc->parent = (new_window_parent?(window_description*)GetWindowLong((HWND)new_window_parent, GWL_USERDATA):&screen_desc); + desc->marked = 0; + SetWindowLong(new_window_handle, GWL_USERDATA, (long int)desc); + /* signal work done */ + vision_check_call(ReleaseSemaphore(sem_thread_finished_work, 1, NULL)); +} + + +void move_window(HWND window, int x, int y, int w, int h, BOOL b) { + first_free_cmd->cmd_type = MOVE_WINDOW; + first_free_cmd->param1 = (int)window; + first_free_cmd->param2 = x; + first_free_cmd->param3 = y; + first_free_cmd->param4 = w; + first_free_cmd->param5 = h; + first_free_cmd->param6 = b; + if (first_free_cmd->next == first_cmd) { + struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); + new_cell->next = first_free_cmd->next; + first_free_cmd->next = new_cell; + first_free_cmd = new_cell; /* don't merge with previous line, + * first_free_cmd is the last change done and + * then the consumer may use this cell */ } else { - return -1; + first_free_cmd = first_free_cmd->next; } - /*printf("Message %d received\n",last_message.message);*/ - switch (last_message.message) - { - case WM_KEYDOWN: - last_message.hwnd = pointer_window; - return 2; - case WM_KEYUP: - last_message.hwnd = pointer_window; - return 3; - case WM_MOUSEENTER: - return 7; - case WM_MOUSELEAVE: - return 8; - case WM_SETFOCUS: /* --TODO: it's keyboard focus. Useful ? */ - return -2; /*9*/ - case WM_KILLFOCUS: /* --TODO: it's keyboard focus. Useful ? */ - return -2; /*10*/ - case WM_PAINT: - if (paintstruct.fErase) - { - window_description *desc = (window_description*)GetWindowLong((HWND)last_message.hwnd, GWL_USERDATA); - /* --TODO: handle pixmap case */ - vision_check_call(FillRect(hdc, &(paintstruct.rcPaint), - desc->background)); - } - return 12; - /* unmaped ? */ - case WM_SHOWWINDOW: - return 19; - case WM_LBUTTONDOWN: - return 40; - case WM_MBUTTONDOWN: - return 41; - case WM_RBUTTONDOWN: - return 42; - case WM_MOUSEWHEEL: - return ((short)HIWORD(last_message.wParam)>0)?43:44; /* --TODO: 120 value...*/ - case WM_LBUTTONUP: - return 50; - case WM_MBUTTONUP: - return 51; - case WM_RBUTTONUP: - return 52; - /* fully_visible ? */ - /* partially_visible ? */ - /* not_visible ? */ - case WM_CLOSE: - /* user requested to close the window, call DestroyWindow if agree */ - return 63; - case WM_QUIT: - /* application requested to terminate via PostQuitMessage */ - printf("Quit !!! \n"); - return 63; - case WM_DESTROY: - /* window is being destroyed. --TODO:process clipboard ! */ - printf("Destroy !!! \n"); - return 63; - case WM_MOUSEMOVE: - return 100; - case WM_MOVE: - /* --TODO: remove ? */ - if (exist_message(WM_MOVE, last_message.hwnd)) return -2; - windowRect.left = (int) LOWORD(last_message.lParam); - windowRect.top = (int) HIWORD(last_message.lParam); - return 102; - case WM_SIZE: - /* --TODO: remove ? */ - if (exist_message(WM_SIZE, last_message.hwnd)) return -2; - windowRect.right = (int) LOWORD(last_message.lParam); - windowRect.bottom = (int) HIWORD(last_message.lParam); - return 103; - case 280: - DefWindowProc(last_message.hwnd, last_message.message, last_message.wParam, last_message.lParam); - return -2; /* ??????? */ - default: - fprintf(stderr,"Event number %d not handled.\n", last_message.message); - DefWindowProc(last_message.hwnd, last_message.message, last_message.wParam, last_message.lParam); - return -2; - } -#else - XEvent peek; + vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); +} +#endif - /* if (XEventsQueued(dpy,QueuedAlready)) { */ - /*if (XEventsQueued(dpy,QueuedAfterReading)) { */ - if (XEventsQueued(dpy,QueuedAfterFlush)) { - XNextEvent(dpy,&last_event); - switch (last_event.type) - { - case 4: - /* For button press, events 40, 41, ... */ - return 39+((XButtonEvent*)&last_event)->button; - case 5: - /* For button release, events 50, 51, ... */ - return 49+((XButtonEvent*)&last_event)->button; - case 6: - return 100; - case 7: - if (((XCrossingEvent*)&last_event)->detail == NotifyInferior) - return -2; - else - return 7; - case 8: - if (((XCrossingEvent*)&last_event)->detail == NotifyInferior) - return -2; - else - return 8; - case 9: - case 10: - ((XFocusChangeEvent*)&last_event)->window = DefaultRootWindow(dpy); - return(last_event.type); - case 15: - return 60+((XVisibilityEvent*)&last_event)->state; - case 22: - while (XCheckTypedWindowEvent(dpy, last_event.xany.window, - 22, &last_event)) - ; - return 101; - /* case 25: - *{ - *XResizeRequestEvent*e=(XResizeRequestEvent*)&last_event; - *printf("Request : %d, %d\n",e->width,e->height); - *XResizeWindow(dpy, e->window, e->width, (e->height+4)&~7); - *} - * - *return 25; - */ - case 33: /* ClientMessage */ - if ((((XClientMessageEvent*)&last_event)->message_type==atom_PROTOCOLS) - && - (((XClientMessageEvent *)&last_event)->data.l[0] == atom_DELWIN)) { - /* it's a WM_DELETE_WINDOW event */ - return 63; - } +void * basic_window_create(int x, int y, int width, int height, void * parent, int decorate) +{ +#ifdef WIN32 + new_window_x = x; + new_window_y = y; + new_window_width = width; + new_window_height = height; + new_window_parent = parent; + new_window_decorate = decorate; - return 33; - case 3: - if(XPending(dpy)) { - /* If the next event is a KeyPressed, than we have a repeat */ - XPeekEvent(dpy, &peek); - if(peek.type == 2 && peek.xkey.keycode == last_event.xkey.keycode && peek.xkey.time == last_event.xkey.time) { - XNextEvent(dpy, &peek); - return 2; - } - return 3; - } - default: - if (last_event.type >= LASTEvent) { - return 110; /* Extension */ - } else { - return last_event.type; - } - } - } else return -1; -#endif -} + vision_check_call(ReleaseSemaphore(sem_new_window, 1, NULL)); + /* Wait for "ready" message from the thread */ + vision_check_call(WaitForSingleObject(sem_thread_finished_work, INFINITE) == WAIT_OBJECT_0); + return (void *)new_window_handle; +#else + Window win; /* Window ID */ + unsigned long fg, bg, bd; /* Pixel values */ + unsigned long bw; /* Border width */ + XSizeHints xsh; /* Size hints for window manager */ + /*XSetWindowAttributes attr;*/ + /* + * Select colors for the border, the window background, and the + * foreground. + */ + bd = WhitePixel(dpy, DefaultScreen(dpy)); + bg = BlackPixel(dpy, DefaultScreen(dpy)); + fg = WhitePixel(dpy, DefaultScreen(dpy)); -#ifndef WIN32 -/* X help function */ -struct color_dist{ - int index; /* color index in colormap */ - int distance; /* distance from searched color */ -}; + /* + * Set the border width of the window, and the gap between the text + * and the edge of the window, "pad". + */ + bw = 0; -static int color_cmp(const void* a, const void* b) { - return (((struct color_dist *)a)->distance - ((struct color_dist *)b)->distance); -} + /* + * Deal with providing the window with an initial position & size. + * Fill out the XSizeHints struct to inform the window manager. See + * Sections 9.1.6 & 10.3. + */ + xsh.flags = (PPosition | PSize); + xsh.height = height; + xsh.width = width; + xsh.x = x; + xsh.y = y; /*(DisplayHeight(dpy, DefaultScreen(dpy)) - xsh.height) / 2;*/ -#define nb_col 256 /* visual dependant ? */ + /* + * Create the Window with the information in the XSizeHints, the + * border width, and the border & background pixels. See Section 3.3. + */ -static void * search_X_color(int *r, int *g, int *b) { - static XColor * c_map = NULL; - static struct color_dist * distances = NULL; - XColor *xcol; - int status; - int i; - int x, y, z; - int rmean; + /* + DIALOG: + XSetTransientForHint (xdisplay, xid, xparent); + */ - if (!c_map) c_map = malloc(nb_col*sizeof(XColor)); - if (!distances) distances = malloc(nb_col*sizeof(struct color_dist)); - for (i=0; i>5; - x=(*r - c_map[i].red)>>4; - y=(*g - c_map[i].green)>>4; - z=(*b - c_map[i].blue)>>4; - distances[i].distance=(((((8192+rmean)*x)>>10)*x)>>2) + 4*y*y + (((((12287-rmean)*z)>>10)*z)>>2); - } - qsort(distances, nb_col, sizeof(struct color_dist), color_cmp); - /* printf("searched : %d %d %d, found : %d %d %d\n",*r >> 8, *g >> 8, *b >> 8, c_map[distances->index].red >> 8, c_map[distances->index].green >> 8, c_map[distances->index].blue >> 8); */ - - for (status=0, i=0; (status==0) && (ired; - *g = xcol->green; - *b = xcol->blue; - return (void*)xcol->pixel; -} + win = XCreateSimpleWindow(dpy, + parent?(Window)parent:DefaultRootWindow(dpy), + xsh.x, xsh.y, xsh.width, xsh.height, + bw, bd, bg); + if (!decorate) { + XSetWindowAttributes xattributes; + long xattributes_mask; -static int search_X_color2(int *r, int *g, int *b) { - static XcmsColor * c_map = NULL; - static XColor * rgb_c_map = NULL; - static struct color_dist * distances = NULL; - XcmsColor search; - XColor xcol; - int status; - int i; + xattributes.save_under = True; + xattributes.override_redirect = True; + xattributes.cursor = None; + xattributes_mask = CWCursor | CWSaveUnder | CWOverrideRedirect; + XChangeWindowAttributes(dpy, win, xattributes_mask, &xattributes); + } + /* + * { + * Atom mwmhints; + * MwmHints hints; + * + * mwmhints = XInternAtom(dpy, _XA_MWM_HINTS, False); + * hints.decorations = 0; + * hints.flags = MWM_HINTS_DECORATIONS; + * XChangeProperty(dpy, win, mwmhints, mwmhints, 32, + * PropModeReplace, (unsigned char *)&hints, 4); + * } + */ + /* attr.background_pixel = bg; + attr.border_pixel = bd; + attr.backing_store = NotUseful; + attr.save_under = 0; + + win = XCreateWindow(dpy, + parent?(Window)parent:DefaultRootWindow(dpy), + xsh.x, xsh.y, xsh.width, xsh.height, + bw, CopyFromParent, CopyFromParent, CopyFromParent,CWBackPixel | CWBorderPixel | CWBackingStore | CWSaveUnder, &attr); + */ + /*printf("Fenetre parente : %d, nouvelle fenetre : %d\n",parent,win);*/ + /* + * Set the standard properties for the window managers. See Section + * 9.1. + */ + /*XSetStandardProperties(dpy, win, STRING, STRING, None, argv, argc, &xsh); + *XSetWMHints(dpy, win, &xwmh); + */ + /* + * Ensure that the window's colormap field points to the default + * colormap, so that the window manager knows the correct colormap to + * use for the window. See Section 3.2.9. Also, set the window's Bit + * Gravity to reduce Expose events. + */ + /* xswa.colormap = DefaultColormap(dpy, DefaultScreen(dpy)); + * xswa.bit_gravity = CenterGravity; + * XChangeWindowAttributes(dpy, win, (CWColormap | CWBitGravity), &xswa); + */ + /* + * Create the GC for writing the text. See Section 5.3. + */ + /* gcv.font = fontstruct->fid; + * gcv.foreground = fg; + * gcv.background = bg; + * gc = XCreateGC(dpy, win, (GCFont | GCForeground | GCBackground), &gcv); + */ - if (!distances) distances = malloc(nb_col*sizeof(struct color_dist)); - if (!c_map) { - c_map = malloc(nb_col*sizeof(XcmsColor)); - for (i=0; i180) d = 360.0 - d; - if (d<0) exit(0); - d = d * abs(search.spec.TekHVC.C)/10; - d += abs(search.spec.TekHVC.C - c_map[i].spec.TekHVC.C); - d += abs(search.spec.TekHVC.V - c_map[i].spec.TekHVC.V); - distances[i].distance = (int)d; - } - qsort(distances, nb_col, sizeof(struct color_dist), color_cmp); - for (status=0, i=0; (status==0) && (i>8) + 25)/51))*51)<<8; - xcol.green = (((int)(((*g>>8) + 25)/51))*51)<<8; - xcol.blue = (((int)(((*b>>8) + 25)/51))*51)<<8; - status = XAllocColor(dpy,DefaultColormap(dpy,DefaultScreen(dpy)),&xcol); - if (status) - return (void*)(xcol.pixel); - else - return search_X_color(r, g, b); - } -} + return (void *)win; #endif +} +extern void * basic_window_get_drawing_widget(void *window){ +#ifdef WIN32 + /* --TODO: change into macro */ + return hdc; +#else + return window; +#endif +} -void *basic_vision_get_color(int *r, int *g, int *b) { +char* basic_window_get_title(void *window){ #ifdef WIN32 - return (void*)RGB((*r>>8), (*g>>8), (*b>>8)); + char *result=NULL; + int size = GetWindowTextLength((HWND)window); + if (size++) { + result = malloc(size); + GetWindowText((HWND)window, result, size); + } + return result; #else - if (red_mask) - return (void*)(long)((((red_shift>0)?(*r)<>-red_shift)&red_mask) | - (((green_shift>0)?(*g)<>-green_shift)&green_mask) | - (((blue_shift>0)?(*b)<>-blue_shift)&blue_mask)); + char *title; + if (!XFetchName(dpy,(Window)window,&title)) + return NULL; else - return get_color_from_server(r, g, b); + return title; #endif } -/* -XGrabPointer(dpy, win, 0, ButtonPressMask|ButtonReleaseMask|EnterWindowMask|LeaveWindowMask| PointerMotionMask|Button1MotionMask|Button2MotionMask|Button3MotionMask|Button4MotionMask|Button5MotionMask|ButtonMotionMask, GrabModeAsync, GrabModeAsync, None , None, 0) -*/ - -int vision_available(void) { +void basic_window_free_title(void *title){ #ifdef WIN32 - return 1; + free(title); #else - return getenv("DISPLAY") != NULL; + XFree(title); #endif } -/* --- ------------------------------------------------------------------------------------------------------------ --- Copyright notice below. Please read. --- --- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE --- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE --- --- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN --- --- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated --- documentation files (the "Software"), to deal in the Software without restriction, including without --- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of --- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following --- conditions: --- --- The above copyright notice and this permission notice shall be included in all copies or substantial --- portions of the Software. --- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT --- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO --- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN --- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE --- OR OTHER DEALINGS IN THE SOFTWARE. --- --- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr --- ------------------------------------------------------------------------------------------------------------ -*/ -#if defined __USE_POSIX || defined __unix__ || defined _POSIX_C_SOURCE -/* macro read is used of read_stdin */ - -void io_copy (char*source, char*target) { - /* We use the low-level descriptor functions rather than stream-oriented functions. - * This allows us to copy the file's permissions. */ - - int src; - int tgt; - struct stat info; - static char *buffer = NULL; - static int bufsize = 0; - int read_count, write_count, written; - - src=open (source, O_RDONLY); - if (fstat (src, &info)) - return; /* Ooops */ - if (bufsize < info.st_blksize) - buffer=se_realloc (buffer, info.st_blksize); - tgt=creat (target, info.st_mode); - do { - read_count = read (src, buffer, info.st_blksize); - write_count = 0; written = 0; - while ((write_count < read_count) && (written >= 0)) - { - written = write (tgt, buffer + write_count, read_count - write_count); - write_count += written; - } - } while ((read_count > 0) && (written >= 0)); - close (src); - close (tgt); -} -int io_same_physical_file(char*path1,char*path2) { - struct stat info1, info2; - if (stat(path1, &info1)) - return 0; /* oops */ - if (stat(path2, &info2)) - return 0; /* oops */ - return (info1.st_dev == info2.st_dev) && (info1.st_ino == info2.st_ino); +void basic_window_set_title(void *window, void *title){ +#ifdef WIN32 + first_free_cmd->cmd_type = SET_TITLE; + first_free_cmd->param1 = (int)window; + first_free_cmd->param2 = (int)title; + if (first_free_cmd->next == first_cmd) { + struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); + new_cell->next = first_free_cmd->next; + first_free_cmd->next = new_cell; + first_free_cmd = new_cell; /* don't merge with previous line, + * first_free_cmd is the last change done and + * then the consumer may use this cell */ + } else { + first_free_cmd = first_free_cmd->next; + } + vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); +#else + XStoreName(dpy,(Window)window,(char *)title); +#endif } +void basic_window_set_bg_color(void *window, void *color){ +#ifdef WIN32 + /* --TODO: handle pixmap background */ + window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); + DeleteObject (desc->background); + desc->background = CreateSolidBrush((COLORREF)color); + vision_check(desc->background); #else -#define IO_COPY_BUFSIZE 4096 - -int read_stdin(EIF_CHARACTER *buffer, int size) { - int c; - c = getc(stdin); - if (c==EOF) - return 0; - *buffer = (EIF_CHARACTER)c; - return 1; + XSetWindowBackground(dpy,(Window)window,(unsigned long)color); +#endif } -void io_copy(char*source, char*target) { - static char *buffer = NULL; - int read_count; - FILE*src=fopen(source, "rb"); - FILE*tgt=fopen(target, "wb"); +void basic_window_set_bg_pixmap(void *window, void *pixmap){ +#ifdef WIN32 + /* --TODO: review this function for window 95 pixmap limited to 8x8. */ + window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); + DeleteObject (desc->background); + desc->background = CreatePatternBrush((HBITMAP)pixmap); + vision_check(desc->background); - if(!buffer) - buffer = (char*)se_malloc(IO_COPY_BUFSIZE); +#if 0 + use part of this code in basic_vision for background painting - while ((read_count = fread(buffer, 1, IO_COPY_BUFSIZE, src)), read_count) { - fwrite(buffer, 1, read_count, tgt); - } - fclose(src); - fclose(tgt); -} + RECT rect; + HBRUSH hbr; + HDC hdc_bg; + HBITMAP oldbitmap; -int io_same_physical_file(char*path1,char*path2) { - /* default implementation returns true only if the paths are the same */ - return !strcmp(path1, path2); -} -#endif + GetClipBox (hdc, &rect); + /* if (version windows != 95 || (pixmap->width <= 8 && pixmap->height <= 8)) */ + { + /* use brush only with small pixmap with Windows 95 (other version support any size).*/ + hbr = CreatePatternBrush (pixmap); + FillRect (hdc, &rect, hbr); + DeleteObject (hbr); + } + /* else*/ + { + /* use BitBlt */ + int i, j; + hdc_bg = CreateCompatibleDC (hdc); + oldbitmap = SelectObject (hdc_bg, pixmap); + i = 0; + /* while (i < rect.right) + { + j = 0; + while (j < rect.bottom) + { + if (i+pixmap->width >= rect.left && j+pixmap->height >= rect.top) + { + BitBlt (hdc, i, j, pixmap->width, pixmap->height, + bgdc, 0, 0, SRCCOPY); + } + j += pixmap->height; + } + i += pixmap->width; + } + */ + SelectObject (hdc_bg, oldbitmap); + DeleteDC (hdc_bg); + } -int io_file_exists(char*source) { - FILE*src=fopen(source, "rb"); - if (src!=NULL) { - fclose(src); - return 1; - } - else { - return (errno != ENOENT); - } -} -/* --- ------------------------------------------------------------------------------------------------------------ --- Copyright notice below. Please read. --- --- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE --- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE --- --- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN --- --- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated --- documentation files (the "Software"), to deal in the Software without restriction, including without --- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of --- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following --- conditions: --- --- The above copyright notice and this permission notice shall be included in all copies or substantial --- portions of the Software. --- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT --- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO --- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN --- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE --- OR OTHER DEALINGS IN THE SOFTWARE. --- --- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr --- ------------------------------------------------------------------------------------------------------------ -*/ -EIF_REAL_64 time_difftime(time_t t2, time_t t1) { - return difftime((time_t)t2, (time_t)t1); -} +#endif -EIF_INTEGER time_getyear(time_t t, EIF_INTEGER m) { - if (m == 1) { - return (gmtime((time_t *)(&t)))->tm_year + 1900; - } - else { - return (localtime((time_t *)(&t)))->tm_year + 1900; - } +#else + XSetWindowBackgroundPixmap(dpy,(Window)window,(Pixmap) pixmap); +#endif } -EIF_INTEGER time_getmonth(time_t t, EIF_INTEGER m) { - if (m == 1) { - return (gmtime((time_t *)(&t)))->tm_mon + 1; - } - else { - return (localtime((time_t *)(&t)))->tm_mon + 1; - } +void basic_window_clear_no_expose(void *window) { + /* clear window (restore background) without expose event */ +#ifdef WIN32 + HDC hdc = GetDC((HWND)window); + window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); + RECT area; + vision_check_call(GetClientRect((HWND)window, &area)); + /* --TODO: handle pixmap case */ + vision_check_call(FillRect(hdc, &area, desc->background)); + vision_check_call(ReleaseDC((HWND)window, hdc)); +#else + XClearWindow(dpy,(Window)window); +#endif } -EIF_INTEGER time_getday(time_t t, EIF_INTEGER m) { - if (m == 1) { - return (gmtime((time_t *)(&t)))->tm_mday; - } - else { - return (localtime((time_t *)(&t)))->tm_mday; - } +void basic_window_clear_area_no_expose(void *window, int x, int y, int w, int h){ + /* clear area (restore background) without expose event */ +#ifdef WIN32 + HDC hdc = GetDC((HWND)window); + window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); + RECT area; + area.left = x; + area.top = y; + area.right = x + w; + area.bottom = y + h; + /* --TODO: handle pixmap case */ + vision_check_call(FillRect(hdc, &area, desc->background)); + vision_check_call(ReleaseDC((HWND)window, hdc)); +#else + XClearArea(dpy,(Window)window, x, y, w, h, False); +#endif } -EIF_INTEGER time_gethour(time_t t, EIF_INTEGER m) { - if (m == 1) { - return (gmtime((time_t *)(&t)))->tm_hour; - } - else { - return (localtime((time_t *)(&t)))->tm_hour; +void basic_window_clear_area(void *window, int x, int y, int w, int h){ + /* clear window (restore background) and emit expose event on this area */ +#ifdef WIN32 + first_free_cmd->cmd_type = CLEAR_AREA; + first_free_cmd->param1 = (int)window; + first_free_cmd->param2 = x; + first_free_cmd->param3 = y; + first_free_cmd->param4 = x + w; + first_free_cmd->param5 = y + h; + if (first_free_cmd->next == first_cmd) { + struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); + new_cell->next = first_free_cmd->next; + first_free_cmd->next = new_cell; + first_free_cmd = new_cell; /* don't merge with previous line, + * first_free_cmd is the last change done and + * then the consumer may use this cell */ + } else { + first_free_cmd = first_free_cmd->next; } + vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); +#else + XClearArea(dpy,(Window)window, x, y, w, h, True); +#endif } -EIF_INTEGER time_getminute(time_t t, EIF_INTEGER m) { - if (m == 1) { - return (gmtime((time_t *)(&t)))->tm_min; - } - else { - return (localtime((time_t *)(&t)))->tm_min; +void basic_window_set_kbd_focus(void *window){ + /*--TODO: remove set_kbd_focus? */ +#ifdef WIN32 + first_free_cmd->cmd_type = SET_FOCUS; + first_free_cmd->param1 = (int)window; + if (first_free_cmd->next == first_cmd) { + struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); + new_cell->next = first_free_cmd->next; + first_free_cmd->next = new_cell; + first_free_cmd = new_cell; /* don't merge with previous line, + * first_free_cmd is the last change done and + * then the consumer may use this cell */ + } else { + first_free_cmd = first_free_cmd->next; } -} + vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); +#else -EIF_INTEGER time_getsecond(time_t t, EIF_INTEGER m) { - if (m == 1) { - return (gmtime((time_t *)(&t)))->tm_sec; - } - else { - return (localtime((time_t *)(&t)))->tm_sec; - } +#endif } -EIF_INTEGER time_getwday(time_t t, EIF_INTEGER m) { - if (m == 1) { - return (gmtime((time_t *)(&t)))->tm_wday; - } - else { - return (localtime((time_t *)(&t)))->tm_wday; +void basic_window_map(void *window) { +#ifdef WIN32 + first_free_cmd->cmd_type = MAP_WINDOW; + first_free_cmd->param1 = (int)window; + first_free_cmd->param2 = main_nCmdShow; + if (first_free_cmd->next == first_cmd) { + struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); + new_cell->next = first_free_cmd->next; + first_free_cmd->next = new_cell; + first_free_cmd = new_cell; /* don't merge with previous line, + * first_free_cmd is the last change done and + * then the consumer may use this cell */ + } else { + first_free_cmd = first_free_cmd->next; } + vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); + /*UpdateWindow((HWND)window);*/ /* --TODO: really needed ? */ + main_nCmdShow = SW_SHOW; +#else + XMapWindow(dpy,(Window)window); +#endif } -EIF_INTEGER time_getyday(time_t t, EIF_INTEGER m) { - if (m == 1) { - return (gmtime((time_t *)(&t)))->tm_yday; - } - else { - return (localtime((time_t *)(&t)))->tm_yday; +void basic_window_unmap(void *window) { +#ifdef WIN32 + first_free_cmd->cmd_type = MAP_WINDOW; + first_free_cmd->param1 = (int)window; + first_free_cmd->param2 = SW_HIDE; + if (first_free_cmd->next == first_cmd) { + struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); + new_cell->next = first_free_cmd->next; + first_free_cmd->next = new_cell; + first_free_cmd = new_cell; /* don't merge with previous line, + * first_free_cmd is the last change done and + * then the consumer may use this cell */ + } else { + first_free_cmd = first_free_cmd->next; } + vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); +#else + XUnmapWindow(dpy,(Window)window); +#endif } -EIF_BOOLEAN time_is_summer_time_used(time_t t) { - return (EIF_BOOLEAN)(((localtime((time_t *)(&t)))->tm_isdst) != 0); +void basic_window_set_geometry(void *window,int x, int y, int w, int h){ +#ifdef WIN32 + window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); + if (desc->decorated) + move_window((HWND)window, x - decorated_window_x_offset, + y - decorated_window_y_offset, + w + decorated_window_width_offset, + h + decorated_window_height_offset, TRUE); + else + move_window((HWND)window, x, y, w, h, TRUE); +#else + XMoveResizeWindow(dpy, (Window)window, x, y, w, h); +#endif } - -EIF_INTEGER_64 time_mktime(EIF_INTEGER year, - EIF_INTEGER mon, - EIF_INTEGER mday, - EIF_INTEGER hour, - EIF_INTEGER min, - EIF_INTEGER sec) { - struct tm tm_buf; - - tm_buf.tm_year = (year - 1900); - tm_buf.tm_mon = (mon - 1); - tm_buf.tm_mday = mday; - tm_buf.tm_hour = hour; - tm_buf.tm_min = min; - tm_buf.tm_sec = sec; - tm_buf.tm_isdst = -1; - - return (EIF_INTEGER_64)mktime(&tm_buf); + +void basic_window_set_requisition(void *window, int min_w, int min_h, int max_w, int max_h){ +#ifdef WIN32 + window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); + desc->min_width = min_w + decorated_window_width_offset; + desc->max_width = max_w + decorated_window_width_offset; + desc->min_height = min_h + decorated_window_height_offset; + desc->max_height = max_h + decorated_window_height_offset; +#else + XSizeHints hints; + hints.flags = PMinSize|PMaxSize; + hints.min_width = min_w; + hints.max_width = max_w; + hints.min_height = min_h; + hints.max_height = max_h; + XSetWMNormalHints(dpy, (Window)window, &hints); +#endif } -void time_add_second(EIF_INTEGER_64 *t, EIF_INTEGER s) { - *t += s; +void basic_window_set_position(void *window, int x, int y){ +#ifdef WIN32 + RECT size; + window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); + vision_check_call(GetClientRect((HWND)window, &size)); + if (desc->decorated) + move_window((HWND)window, x - decorated_window_x_offset, + y - decorated_window_y_offset, + size.right + decorated_window_width_offset, + size.bottom + decorated_window_height_offset, TRUE); + else + move_window((HWND)window, x, y, size.right, size.bottom, TRUE); +#else + XMoveWindow(dpy, (Window)window, x, y); +#endif +} + +void basic_window_set_size(void *window,int x, int y, int width, int height){ +#ifdef WIN32 + window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); + if (desc->decorated) + move_window((HWND)window, x - decorated_window_x_offset, + y - decorated_window_y_offset, + width + decorated_window_width_offset, + height + decorated_window_height_offset, TRUE); + else + move_window((HWND)window, x, y, width, height, TRUE); +#else + XResizeWindow(dpy, (Window)window, width, height); +#endif } + +int se_cmpT205(T205* o1,T205* o2){ +int R=0; +R = R || ((o1->_time_memory) != (o2->_time_memory)); +return R; +}/*--*/ + +int se_cmpT192(T192* o1,T192* o2){ +int R=0; +R = R || se_cmpT205(&(o1->_time), &(o2->_time)); +R = R || ((o1->_microsecond) != (o2->_microsecond)); +return R; +}/*--*/ +T113 M113={113,(void*)0}; +T123 M123={123,(void*)0}; +T205 M205={0}; +T192 M192={{0},0}; +T329 M329={329,(void*)0}; +T327 M327={(void*)0,(void*)0,(void*)0}; +T326 M326={326,(void*)0}; +T317 M317={317,(void*)0}; +T311 M311={311,(void*)0}; +T308 M308={308,(void*)0}; +T307 M307={(void*)0,0,(void*)0}; +T302 M302={302,(void*)0}; +T300 M300={(void*)0,(void*)0,(void*)0}; +T298 M298={(void*)0,0,0}; +T297 M297={297,(void*)0}; +T296 M296={0,0,(void*)0}; +T293 M293={293,(void*)0}; +T290 M290={(void*)0,(void*)0,(void*)0}; +T289 M289={289,(void*)0}; +T288 M288={(void*)0,0,0,0,(void*)0}; +T287 M287={287,(void*)0}; +T280 M280={(void*)0,0,0}; +T154 M154={0,0,{{0},0},0,0,(void*)0,0,(void*)0,0,(void*)0,0,0}; +T279 M279={(void*)0,0,0}; +T160 M160={(void*)0}; +T277 M277={(void*)0,0,0}; +T276 M276={(void*)0,0,0,0,(void*)0}; +T275 M275={(void*)0,0,0,0,(void*)0}; +T273 M273={(void*)0,0,0}; +T271 M271={(void*)0,0,0,0,(void*)0}; +T269 M269={(void*)0,0,0,0,(void*)0}; +T268 M268={(void*)0,0,0,0,(void*)0}; +T146 M146={0,0,0}; +T266 M266={(void*)0,0,0}; +T149 M149={0}; +T265 M265={(void*)0,0,0}; +T148 M148={0,0,(void*)0,(void*)0,(void*)0}; +T264 M264={(void*)0,0,0}; +T262 M262={(void*)0,0,0,0,(void*)0}; +T261 M261={(void*)0,0,0}; +T260 M260={(void*)0,0,0}; +T259 M259={(void*)0,0,0,0,(void*)0}; +T258 M258={(void*)0,0,0}; +T256 M256={(void*)0,0,0,0}; +T255 M255={(void*)0,0,0,0,0}; +T253 M253={(void*)0,0,0,0,(void*)0}; +T250 M250={(void*)0,0,0,0,(void*)0}; +T153 M153={153,(void*)0,(void*)0,0,0,(void*)0,(void*)0,(void*)0,(void*)0}; +T249 M249={(void*)0,0,0}; +T248 M248={(void*)0,0,0}; +T155 M155={(void*)0,(void*)0,(void*)0,(void*)0,0,0}; +T73 M73={(void*)0,(void*)0,0,0,0,0,0,0,(void*)0}; +T134 M134={134,(void*)0,0}; +T133 M133={(void*)0,0,(void*)0,(void*)0}; +T131 M131={131,0,0,0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,0,(void*)0}; +T53 M53={0,(void*)0,0}; +T46 M46=(void*)0; +T247 M247={(void*)0,0,0}; +T191 M191={(void*)0}; +T246 M246={(void*)0,0,0}; +T150 M150=0; +T68 M68={0,(void*)0,(void*)0,0,0,0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0}; +T43 M43=(void*)0; +T70 M70={(void*)0,0,0,0,0,0,0,0,0,0,0,0,0,(void*)0,(void*)0,0,(void*)0,(void*)0,(void*)0,0,0,0,0,0,0,0,0,0,0,0,0,0}; +T7 M7={(void*)0,0,0}; +T71 M71={71,0,0,(void*)0,(void*)0,0,(void*)0,0,(void*)0,(void*)0,(void*)0,(void*)0}; +T65 M65={0,0,(void*)0,(void*)0,(void*)0,(void*)0}; +T25 M25={(void*)0,(void*)0,(void*)0,(void*)0,0,0,0,(void*)0}; +/*Aliased storage area or unicode storage.*/ +char*s25_0=""; +char*s25_21190322=" Status: "; +char*s25_674125196="This tool get data from wacom pen screen and is\n able to send them to applications using ivy bus.\n\nOptions:\n -help: print this help.\n\n -list_devices: all available devices are listed.\n\n -pad=name: report pad data from the pad device with this name.\n\n -wacom_pointer=name: report pointer data from the pointer device with\n this name. Ex: stylus.\n\n -bus=[address]:port: specify the ivy bus (default is :3110).\n\n -b [address]:port: specify the ivy bus (default is :3110) (added for\n compatibility with other ivy tools).\n\n -application=name: specify the application name on the ivy bus\n (default is wacom).\n\n -identifier=id: this identifier will be used in ivy messages\n device_id value (default is \"default\").\n\n -x_offset=n: specify the x-offset for the wacom device\n for the display configuration (default is 0).\n\n -y_offset=n: " +" specify the y-offset for the wacom device\n for the display configuration (default is 0).\n\n\011""-crop=xmin,ymin,xmax,ymax: outside this area, move events are not reported\n\011"" (values are integers in device coordinates). Hires values\n\011""\011""\011""\011""\011""\011""\011""\011""are mapped to [0,1] inside this window and over when outside.\n\n -prediction=t: change the prediction time for the physical position.\n (default is 25ms).\n\n -ignore=n: number of messages to ignore before sending a new\n position message (this reduces message frequency).\n (default is 0 => \176""120message/s).\n\011""\nOptions are considered in the order they appear in the command line. A new\nvalue overrides the previous one. \"wacom_pointer\" and \"pad\" are created where they\nappear, with known information.\n\nMessages:\n slider_event device_id=radar_wacom value=4 side=left time=4523271\n device_id: identifier (see options).\n " +" value: new slider value (0 when the\n\011""\011""\011""\011""\011""\011""\011""\011""\011""\011""finger leaves the slider).\n side: left or right.\n time: event time (ms), X server reference.\n\n pad_event device_id=radar_wacom button=12 status=left time=4523271\n device_id: identifier (see options).\n button: button identifier.\n status: up or down.\n time: event time (ms), X server reference.\n\n button_event device_id=radar_wacom button=2 status=up x=1290 y=325\n presure=307 tilt_x=-20 tilt_y=15 wheel=0 predicted_x=1272 predicted_y=322\n type=123 serial_number=429389 time=4523271 hires_x=0.827 hires_y=0.231\n proximity=unchanged\n pointer_event device_id=radar_wacom x=1290 y=325\n presure=307 tilt_x=-20 tilt_y=15 wheel=0 predicted_x=1272 predicted_y=322\n type=123 serial_number=429389 time=4523271 hires_x=0.827 hires_y=0.231\n proximity=unchanged\n device_id: identifier (see opti" +"ons).\n button: button identifier.\n status: up or down.\n x: pointer position (display coordinates).\n y: pointer position (display coordinates).\n presure: presure value ([0, 1023] for intuos 3).\n tilt_x: device tilt in degrees.\n tilt_y: device tilt in degrees.\n wheel: rotation value (device type dependent value).\n predicted_x: predicted position. It is expected to be\n the current position of the real device.\n predicted_y: predicted position. It is expected to be\n the current position of the real device.\n type: the type of the device (pen, eraser, mouse,\n cursor, airbrush...).\n serial_number: the serial number of the device.\n time: event" +" time (ms), X server reference.\n hires_x: pointer position (device coordinates, in range [0,1]).\n hires_y: pointer position (device coordinates, in range [0,1]).\n proximity: unchanged, in, out\n"; +char*s25_314746909=" status=up time="; +char*s70_190991=" type="; +char*s70_475="In"; +char*s13_1432888418="Some feature is not yet implemented (i.e. feature `not_yet_implemented\' of\nclass ANY has been called somewhere). Just run this code under the debugger\nto know the `not_yet_implemented\' caller. If this is a feature of the\nSmartEiffel library, you may consider to post your implementation on the\nSmartEiffel mailing list.\n e-mail: SmartEiffel@loria.fr\n Happy debug and thanks in advance.\n http://SmartEiffel.loria.fr\n The SmartEiffel team.\n\nThe error occured in the type "; +char*s70_697="up"; +char*s70_1961093439="marker_pen_2181"; +char*s70_104371129="airbrush_2323"; +char*s70_104371267="airbrush_3346"; +char*s70_1699147265="classic_pen_eraser_2075"; +char*s13_1210=".\n\n"; +char*s70_1756148648=" predicted_x="; +char*s70_1756148653=" predicted_y="; +char*s25_1948078333="slider_event device_id="; +char*s70_1461=" x="; +char*s70_1466=" y="; +char*s70_23436791=" presure="; +char*s25_1666922512="pad_event device_id="; +char*s70_56246305="unchanged"; +char*s25_1957581="default"; +char*s25_1403610646=" side=left time="; +char*s70_4725661=" tilt_x="; +char*s70_4725666=" tilt_y="; +char*s70_4738061=" status="; +char*s25_1213754110="XInputExtension is not available."; +char*s25_765567725="_event device_id="; +char*s25_1387538644="\" is not a valid crop definition (-crop=xmin,ymin,xmax,ymax is expected).\n"; +char*s25_1370426634="Detection de l\'option crop : "; +char*s70_2179769="pointer"; +char*s25_751291742="\" is not a valid y_offset (an integer is needed).\n"; +char*s25_1554692325="Missing bus identifier after -b option.\n"; +char*s25_357338863="\" is not a valid time (a real number is needed).\n"; +char*s70_2676="Out"; +char*s70_1874520032="stroke_pen_2098"; +char*s70_1619665677="classic_pen_2067"; +char*s25_1491411490="\" is not a valid x_offset (an integer is needed).\n"; +char*s25_4487261=" button="; +char*s70_1940108584="grip_pen_2083"; +char*s25_694149733=" status=down time="; +char*s65_1686724329="Vision is currently written for X and Windows.\n"; +char*s70_586741066=" proximity="; +char*s25_89639="wacom"; +char*s70_15980="down"; +char*s70_397440="button"; +char*s25_69208946="\" is not a valid pad name.\n"; +char*s70_188916=" time="; +char*s25_447643634="\" is not a valid pointer name.\n"; +char*s70_2057747851="grip_pen_eraser_2091"; +char*s25_3479972=" (Type: "; +char*s25_557679246=" available)"; +char*s25_1638797568=" side=right time="; +char*s25_1260406502="Unknown option "; +char*s70_22702411=" hires_x="; +char*s70_22702416=" hires_y="; +char*s25_946366=" value="; +char*s70_1501987274="airbrush_eraser_2331"; +char*s25_382517595="\" is not a valid ignore rate (an integer is needed).\n"; +char*s70_952626=" wheel="; +char*s70_2112369621=" serial_number="; +char*s70_10739017="pen_2049"; +char*s70_10739024="pen_2066"; +char*s70_10739030="pen_2082"; +char*s71_202554="-READY"; +char*s150_1472358418="XInputExtension"; +char*s25_1959886733=" unavailable)"; +char*s70_1257860908="eraser_2090"; /* -- ------------------------------------------------------------------------------------------------------------ -- Copyright notice below. Please read. @@ -2603,28 +2378,18 @@ void time_add_second(EIF_INTEGER_64 *t, EIF_INTEGER s) { -- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr -- ------------------------------------------------------------------------------------------------------------ */ -void sprintf_real_64(EIF_CHARACTER* b, EIF_CHARACTER m, int32_t f, real64_t r) { - char fmt[32]; - fmt[0]='%'; - fmt[1]='.'; - sprintf(fmt+2, "%d%c", f, m); - sprintf((char*)b, fmt, r); -} - -void sprintf_real_extended(EIF_CHARACTER* b, EIF_CHARACTER m, int32_t f, real_extended_t r) { - char fmt[32]; - fmt[0]='%'; - fmt[1]='.'; - sprintf(fmt+2, "%dL%c", f, m); - sprintf((char*)b, fmt, r); +void se_print_run_time_stack (void) { + handle(SE_HANDLE_ENTER_PRINT_STACK, NULL); + fprintf(SE_ERR,"Eiffel program crash at run time.\n"); + fprintf(SE_ERR,"No trace when using option \"-boost\"\n"); + handle(SE_HANDLE_EXIT_PRINT_STACK, NULL); } - -int x_query_extension(char * extension_name) -{ - int major_opcode, first_event_code, first_error_code; - - return XQueryExtension(dpy, extension_name, &major_opcode, &first_event_code, &first_error_code); +void se_signal_handler(int sig) { + handle(SE_HANDLE_RUNTIME_ERROR, NULL); + printf("Received signal %d.\n",sig); + se_print_run_time_stack(); + exit(EXIT_FAILURE); } /* -- ------------------------------------------------------------------------------------------------------------ @@ -2653,784 +2418,1041 @@ int x_query_extension(char * extension_name) -- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr -- ------------------------------------------------------------------------------------------------------------ */ -#ifdef WIN32 -int win32_msg=0; -int win32_msg_ready=FALSE; -HANDLE sem_msg_ready; -#endif -EIF_POINTER _sequencer_create_set(void) { - void * mem; - mem = malloc(sizeof(fd_set)); - if (!mem) { - fprintf(stderr, "Error in malloc for select, exiting\n"); - exit(1); - } - return mem; -} +/* + This file (SmartEiffel/sys/runtime/gc_lib.c) is automatically included + when the Garbage Collector is used (default, unless option -no_gc has been + selected). +*/ +/* + The `mark_stack_and_registers' C function is called by the Garbage + Collector (GC) of SmartEiffel. It has to be customized for some systems, + but also for some C compilers. This file provides some definitions in the + end and has to be completed for systems which need specific work. -int sequencer_wait(int n, fd_set *read_set, int read_size, fd_set *write_set, int write_size, fd_set *exception_set, int exception_size, int s, int us){ - struct timeval tv; - int ret=0; + On some architectures, addresses increase as the stack grows; or, + conversely, addresses decrease as the stack grows. A C compiler may be + clever enough to hide some root object inside registers. Unfortunately all + registers are not always accessible via the C `setjmp' function! - tv.tv_sec = s; - tv.tv_usec = us; -#ifndef WIN32 - if (select(n, read_set, write_set, exception_set, &tv) == -1) - ret = -1; -#else - if (win32_msg == 0) { - if (n==0) - Sleep(s*1000+us/1000); - else { - if (select(n, (read_size?read_set:NULL), (write_size?write_set:NULL), (exception_size?exception_set:NULL), &tv) == -1) - ret = -1; - } - } else { - if (WaitForSingleObject(sem_msg_ready, 0) == WAIT_OBJECT_0) { - ReleaseSemaphore(sem_msg_ready, 1, NULL); - win32_msg_ready = TRUE; - } else { - if ((s != 0) || (us != 0)) { - HANDLE pHandles[MAXIMUM_WAIT_OBJECTS]; - int nCount = 0; - int to; - int i; + Thus, in order to be able to use the GC on your architecture/C-compiler, + you have to provide the correct `mark_stack_and_registers' function. - if (s>2) { - /* Never wait more than 2 seconds in case race condition occured */ - to = 2000; - } else { - to = 1000*s + us/1000; - } - pHandles[nCount++] = sem_msg_ready; - for (i = read_set->fd_count-1; i >= 0; i--) - pHandles[nCount++] = (HANDLE)read_set->fd_array[i]; - for (i = write_set->fd_count-1; i >= 0; i--) - pHandles[nCount++] = (HANDLE)write_set->fd_array[i]; - ret = WaitForMultipleObjects(nCount, pHandles, FALSE, to); - if (ret == WAIT_OBJECT_0) { - ReleaseSemaphore(sem_msg_ready, 1, NULL); - win32_msg_ready = TRUE; - } - if (ret != WAIT_TIMEOUT) { - ret -= WAIT_OBJECT_0; - if (ret < 0 || ret >= nCount) { - fprintf(stderr, "Error in WaitForMultipleObjects\n"); - ret = -1; - } - } - } - if (n) { - struct timeval nowait={0,0}; - /* use read_size-1 because win32_msg was counted as read fd */ - if (select(n, ((read_size-1)?read_set:NULL), (write_size?write_set:NULL), (exception_size?exception_set:NULL),&nowait) == -1) - ret = -1; - } - } - } -#endif - return ret; -} -struct _channel { - Channel next; - HANDLE fd; - void *data; - int tobedeleted; - ChannelHandleDelete handle_delete; - ChannelHandleRead handle_read; -}; + What is the `mark_stack_and_registers' function supposed to do? The + `mark_stack_and_registers' function is supposed to notify the GC with all + the possible roots one can find in the C stack and registers by calling the + `gc_mark' function. A root is an object which must not be collected. The + SmartEiffel GC already knows about some root objects like once function + results or manifest strings. The `mark_stack_and_registers' function has to + notify the other possible roots. Obviously, one can find in the C stack any + kind of adresses, but the `gc_mark' function is clever enough to determine + if the passed pointer is an Eiffel object or not. When the passed pointer + reaches some Eiffel object, this object as well as its descendant(s) are + automatically marked as un-collectable. + In order to provide the most appropriate `mark_stack_and_registers' + function, the very first question is to know about the way the C stack is + managed (addresses of the stack may increase or decrease as the C stack + grows). The DEFAULT BEHAVIOUR FOR UNKNOWN SYSTEMS is to consider ADDRESSES + DECREASE AS THE STACK GROWS, as it's the most common case. The global C + variable `stack_bottom' is set with some pointer which is supposed to be + the bottom of the stack (this variable is automatically initialized in the + C main function). Note: using the current stack pointer inside + `mark_stack_and_registers', it is quite obvious to determine if addresses + increase or not as the C stack grows. Note2: on some systems, the stack is + not in contiguous addresses. In such case, `mark_stack_and_registers' has + to go through all the stack fragments. -void * eiffel_ivy_object; -void * eiffel_up_fct; -void * eiffel_down_fct; -void * eiffel_callback_fct; + Some roots may be stored only in registers and not in the C stack. In + order to reach the registers as well, the first attempt is to use setjmp, + in the hope that setjmp will save registers in the stack! Note: this + technique do not work on processors using windows registers (such as sparc + processors). -void IvyChannelInit(void) { - /* Do not exit when others core-dump */ - signal (SIGPIPE, SIG_IGN); -} +*/ -Channel IvyChannelAdd (HANDLE fd, void *data, - ChannelHandleDelete handle_delete, - ChannelHandleRead handle_read - ) { - return ((void * (*)(void*, int, void*, void*, void*))eiffel_up_fct)(eiffel_ivy_object, fd, data, handle_read, handle_delete); -} +int se_gc_strategy = SE_GC_DEFAULT_MEMORY_STRATEGY; -void IvyChannelRemove (Channel channel) { - ((void (*)(void*, void*))eiffel_down_fct)(eiffel_ivy_object, channel); -} +int collector_counter = 0; -void plugin_read_callback(IvyClientPtr app, void *user_data, int argc, char **argv ) { - ((void (*)(void*, void*, int, char**))eiffel_callback_fct)(eiffel_ivy_object, user_data, argc, argv); -} +static void gcna_align_mark(rsoc*c,void*o); +static rsoc*rsocfl=NULL; /* ReSizable Object Chunk Free List. */ -void ivy_init(char * application_name, char * ready_text, void * eiffel_object, void * channel_up_callback, void * channel_down_callback, void * agent_call_callback) { - eiffel_ivy_object = eiffel_object; - eiffel_up_fct = channel_up_callback; - eiffel_down_fct = channel_down_callback; - eiffel_callback_fct = agent_call_callback; - - IvyInit(application_name, ready_text, NULL, NULL, NULL, NULL); -} +void**stack_bottom=NULL; +mch**gcmt=NULL; /* Garbage Collector Main Table. */ +int gcmt_max=2048; +int gcmt_used=0; +fsoc*fsocfl=NULL; /* Fixed Size Object Chunk Free List. */ +int gc_is_off=1; +unsigned int fsoc_count=0; +unsigned int rsoc_count=0; +void*gcmt_tail_addr=NULL; -void * bind_message(char * pattern, void * agent) { - IvyBindMsg(plugin_read_callback, agent, "%s", pattern); -} +static int chunk_rounded(int size) { + int rounded_size = size; + int diff = rounded_size%RSOC_SIZE; -void IvyChannelStop (void) -{ + if (diff != 0) rounded_size += (RSOC_SIZE-diff); + return rounded_size; } -/* --- ------------------------------------------------------------------------------------------------------------ --- Copyright notice below. Please read. --- --- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE --- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE --- --- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN --- --- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated --- documentation files (the "Software"), to deal in the Software without restriction, including without --- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of --- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following --- conditions: --- --- The above copyright notice and this permission notice shall be included in all copies or substantial --- portions of the Software. --- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT --- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO --- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN --- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE --- OR OTHER DEALINGS IN THE SOFTWARE. --- --- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr --- ------------------------------------------------------------------------------------------------------------ -*/ -EIF_INTEGER basic_microsecond_microsecond = 0; -EIF_INTEGER_64 basic_microsecond_time = 0; - -void _basic_microsecond_update(void) { -#ifndef WIN32 - struct timeval t; - gettimeofday (&t, NULL); - basic_microsecond_time = t.tv_sec; - basic_microsecond_microsecond = t.tv_usec; -#else - static DWORD ref_uptime = -1; /* max value as ref_uptime is unsigned */ - static time_t ref_time; - DWORD uptime; - - /* uptime = timeGetTime();*/ - uptime = GetTickCount(); - - if (uptime < ref_uptime) { - /* !!! this test manages first call AND 50th day ;-) */ - ref_uptime = uptime; - time(&ref_time); +/* Return the index where chunk `c' is (or is to be) in the `gcmt', + between `min' and `max' indexes. */ +static unsigned int binary_search_in_gcmt(register unsigned int min, + register unsigned int max, + register mch* c){ + register unsigned int mid; + while (min>1; + if (gcmt[mid] 50) && (count > (rsoc_count >> 1))) { + current=rsocfl; + rsocfl=NULL; + while (NULL != current) { + next=current->next; + if (current->isize == current->header.size) { + where = binary_search_in_gcmt(0, where-1, (mch*)current); + how_many = gcmt_used - 1 - where; + if (how_many > 0) + memmove(gcmt+where, gcmt+where+1, how_many*sizeof(mch*)); + free(current); gcmt_used--; rsoc_count--; + } + else { + current->next=rsocfl; + rsocfl=current; + } + current = next; + } + } +} + +int gc_memory_used(void) { + int i; + int result = 0; + mch* mch; + for (i = gcmt_used; i --> 0; ) { + mch = gcmt[i]; + switch(mch->state_type) { + case RSO_USED_CHUNK: + case FSO_USED_CHUNK: + case FSO_STORE_CHUNK: + result += mch->size; + break; + default: + break; + } + } + return result; +} + +void gc_sweep(void) { + mch** p2 = gcmt; + mch** p1 = gcmt+1; + mch**eogcmt=gcmt+gcmt_used; + if (FREE_CHUNK((*p2)->state_type)) { + if (RSO_FREE_CHUNK == ((*p2)->state_type)) { + ((rsoc*)(*p2))->next=NULL; + rsocfl=((rsoc*)(*p2)); + } + else { + rsocfl=NULL; + } + } + else { + ((*gcmt)->swfp)(*p2); + if (RSO_FREE_CHUNK==((*p2)->state_type)) { + ((rsoc*)(*p2))->next=NULL; + rsocfl=((rsoc*)(*p2)); + } + else { + rsocfl=NULL; + } + } + while (p1 < eogcmt) { + if (FREE_CHUNK((*p1)->state_type)) { + if (RSO_FREE_CHUNK == ((*p1)->state_type)) { + if (RSO_FREE_CHUNK == ((*p2)->state_type)) { + if ( (((rsoc*)*p1)->isize==0) && ((char*)(*p2))+(*p2)->size == ((char*)(*p1))) { + ((*p2)->size)+=((*p1)->size); + p1++; + } + else { + ((rsoc*)(*p1))->next=rsocfl; + rsocfl=((rsoc*)(*p1)); + *(p2+1)=*p1; p2++; p1++; + } + } + else { + ((rsoc*)(*p1))->next=rsocfl; + rsocfl=((rsoc*)(*p1)); + *(p2+1)=*p1; p2++; p1++; + } + } + else { + *(p2+1)=*p1; p2++; p1++; + } + } + else { + ((*p1)->swfp)(*p1); + if (RSO_FREE_CHUNK == ((*p1)->state_type)) { + if (RSO_FREE_CHUNK == ((*p2)->state_type)) { + if ( (((rsoc*)*p1)->isize==0) && ((char*)(*p2))+(*p2)->size == ((char*)(*p1))) { + ((*p2)->size)+=((*p1)->size); + p1++; + } + else { + ((rsoc*)(*p1))->next=rsocfl; + rsocfl=((rsoc*)(*p1)); + *(p2+1)=*p1; p2++; p1++; + } + } + else { + ((rsoc*)(*p1))->next=rsocfl; + rsocfl=((rsoc*)(*p1)); + *(p2+1)=*p1; p2++; p1++; + } + } + else { + *(p2+1)=*p1; p2++; p1++; + } + } + } + gcmt_used=(p2-gcmt)+1; + may_free_rsocfl(); +} + +/* return the mch containing p or NULL if p is not + * a valid address or was externally allocated + */ +mch * gc_find_chunk(void * p){ + if ((p>((void*)*gcmt))&&(p<=gcmt_tail_addr)) { + int i1=0; + int i2=gcmt_used-1; + int m=i2>>1; + mch*c; + for (;i2>i1;m=((i1+i2)>>1)) { + if (p<=((void*)gcmt[m+1])) { + i2=m; + } + else { + i1=m+1; + } + } + c=gcmt[i2]; + if((char*)p<(char*)c+c->size) /* check for upper bound */ + if (!(FREE_CHUNK(c->state_type))){ + return c; + } + } + return NULL; +} + +void gc_mark(void*p) { + mch * c; + c = gc_find_chunk(p); + if(NULL != c) { + (c->amfp)(c,p); + } +} + +int gc_stack_size(void) { + void*stack_top[2]={NULL,NULL}; + if (stack_top > stack_bottom) { + return ((void**)stack_top)-((void**)stack_bottom); + } + else { + return ((void**)stack_bottom)-((void**)stack_top); + } +} + +/* + To delay Garbage Collection when the stack is too large. + To allow fast increase of ceils. */ -#ifdef WIN32 -const char *WINNAME="Window app"; /* --TODO: use exe name */ +#define FSOC_LIMIT (10240/((FSOC_SIZE)>>10)) +#define RSOC_LIMIT (10240/((RSOC_SIZE)>>10)) + +/* + When stack is too large, collection may be delayed. +*/ +#define GCLARGESTACK 50000 + +int garbage_delayed(void) { + /* + To delay the first GC call. + */ + if (gc_stack_size() > GCLARGESTACK) { + if (fsoc_count_ceil <= fsoc_count) { + if (rsoc_count_ceil <= rsoc_count) { + if ((fsoc_count */ + + /* --perf-- if (fsocfl == NULL) { */ + if (fsoc_count >= fsoc_count_ceil) { + if (fsoc_count_ceil < FSOC_LIMIT) { + fsoc_count_ceil <<= 1; + } + else { + unsigned int c = fsoc_count + (fsoc_count/3); + if (fsoc_count_ceil < c) + fsoc_count_ceil = c; + } + } + /* --perf-- } + else { + if (fsoc_count_ceil < fsoc_count) { + fsoc_count_ceil = fsoc_count; + } + } + */ + /* Compute rsoc_count_ceil: */ + /* --perf-- if (rsocfl == NULL) {*/ + if (rsoc_count >= rsoc_count_ceil) { + if (rsoc_count_ceil < RSOC_LIMIT) { + rsoc_count_ceil <<= 1; + } + else { + unsigned int c = rsoc_count + (rsoc_count / 3); + if (rsoc_count_ceil < c) { + rsoc_count_ceil = c; + } + } + } + /* --perf -- } + else { + if (rsoc_count_ceil < rsoc_count) { + rsoc_count_ceil = rsoc_count; + } + } + */ +} + +static void gc_add_into_gcmt(mch*c) { + /* Update the `gcmt' (Garbage Collector Main Table) by adding the + new `mch' (Memory Chunk Header).`gcmt_used' is updated. + */ + unsigned int where=0; + unsigned how_many; + if (gcmt_used>0){ + where=binary_search_in_gcmt(0, gcmt_used-1, c); + if (gcmt_used == gcmt_max) { + gcmt_max <<= 1; + gcmt = ((mch**)(se_realloc(gcmt,(gcmt_max+1)*sizeof(void*)))); + } + how_many = gcmt_used - where; + if (how_many > 0) + memmove(gcmt+where+1, gcmt+where, how_many*sizeof(mch*)); + } + gcmt[where]=c; + gcmt_used++; +} + +static char*rso_from_store(na_env*nae,unsigned int size) { + rsoh*r=(nae->store); + nae->store_left-=size; + if ((nae->store_left) > sizeof(rsoh)) { + r->header.size=size; + nae->store=((rsoh*)(((char*)(nae->store))+size)); + } + else { + r->header.size=size+nae->store_left; + nae->store_left=0; + } + (r->header.magic_flag)=RSOH_UNMARKED; + ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); + return (char*)(r+1); +} + +static void rsoc_sweep(rsoc*c) { + na_env*nae=c->nae; + rsoh*gp=(rsoh*)&(c->first_header); + rsoh*pp; + rsoh*eoc=((rsoh*)(((char*)c)+c->header.size)); + c->free_list_of_large=NULL; + if (c->header.size > RSOC_SIZE) { + if (gp->header.magic_flag == RSOH_MARKED) { + gp->header.magic_flag=RSOH_UNMARKED; + /* No need to register chunks with no free_list_of_large + c->next=nae->chunk_list; + nae->chunk_list=c; + */ + } + else { + c->header.state_type=RSO_FREE_CHUNK; + } + return; + } + while (gpheader.magic_flag == RSOH_MARKED) { + gp->header.magic_flag=RSOH_UNMARKED; + gp=((rsoh*)(((char*)gp)+gp->header.size)); + if(gp>=eoc) { + /* No need to register chunks with no free_list_of_large + c->next=nae->chunk_list; + nae->chunk_list=c; + */ + return; + } + } + gp->header.magic_flag=RSOH_FREE; + pp=(rsoh*)(((char*)gp)+gp->header.size); + while ((ppheader.magic_flag != RSOH_MARKED)) { + gp->header.size+=pp->header.size; + pp=((rsoh*)(((char*)pp)+pp->header.size)); + } + if (gp->header.size >= RSOC_MIN_STORE) { + if (nae->store_left==0) { + nae->store_left=gp->header.size; + nae->store=gp; + nae->store_chunk=c; + } + else if (nae->store->header.size < gp->header.size) { + ((fll_rsoh*)nae->store)->nextflol=nae->store_chunk->free_list_of_large; + nae->store_chunk->free_list_of_large=((fll_rsoh*)nae->store); + nae->store_left=gp->header.size; + nae->store=gp; + nae->store_chunk=c; + } + else { + ((fll_rsoh*)gp)->nextflol=c->free_list_of_large; + c->free_list_of_large=((fll_rsoh*)gp); + } + } + gp=pp; + } + if (((rsoh*)(&c->first_header))->header.size >= + (c->header.size-sizeof(rsoc)+sizeof(rsoh))){ + c->header.state_type=RSO_FREE_CHUNK; + nae->store_chunk=NULL; + nae->store_left=0; + } + else{ + c->next=nae->chunk_list; + nae->chunk_list=c; + } +} + +/* *** To be removed */ +#ifdef __TINYC__ +static rsoc MRSOC = { +#else +static const rsoc MRSOC = { #endif + { + RSOC_SIZE, + RSO_USED_CHUNK, + ((void(*)(mch*,void*))gcna_align_mark), + ((void(*)(mch*))rsoc_sweep) + }, + 0, + NULL, + NULL, + NULL, + { + { + 0, + RSOH_MARKED + } + } +}; + +static void rsoc_malloc(na_env*nae) { + rsoc* r = ((rsoc*)(se_malloc(RSOC_SIZE))); + rsoc_count++; + *r=MRSOC; + r->nae=nae; + r->isize=RSOC_SIZE; + nae->store=(&(r->first_header)); + nae->store_left=RSOC_SIZE-sizeof(rsoc)+sizeof(rsoh); + nae->store_chunk=r; + r->next=nae->chunk_list; + nae->chunk_list=r; + gc_add_into_gcmt((mch*)r); +} + +static rsoc* rsocfl_best_fit(unsigned int size) { + register unsigned int best_size = 0; + unsigned int acceptable_loss; + register rsoc *pc, *best_pc, *best_c, *c; + if (NULL==rsocfl) + return NULL; + pc=NULL; + best_pc=NULL; + best_c=NULL; + c=rsocfl; + if (SE_GC_DEFAULT_MEMORY_STRATEGY == se_gc_strategy) + acceptable_loss = (size >> 4); + else if (SE_GC_LOW_MEMORY_STRATEGY == se_gc_strategy) + acceptable_loss = 0; + else /* SE_GC_HIGH_MEMORY_STRATEGY == se_gc_strategy */ + acceptable_loss = (size >> 2); + + while ((NULL!=c)&&(NULL==best_c)){ + if (c->header.size>=size){ + best_c=c; + best_pc=pc; + best_size=c->header.size; + } + pc=c; + c=c->next; + } + if (NULL==c){ + if (NULL != best_pc) + best_pc->next=best_c->next; + else if (best_c==rsocfl) + rsocfl=best_c->next; + return best_c; + } + if ((best_size - size) > acceptable_loss){ + do { + if ((c->header.size >= size) && (c->header.size < best_size)) { + best_c = c; + best_pc = pc; + best_size = c->header.size; + if ((best_size - size) <= acceptable_loss) break; + } + pc=c; + c=c->next; + } + while(NULL!=c); + } + if (NULL==best_pc) { + rsocfl = best_c->next; + } + else { + best_pc->next=best_c->next; + } + return best_c; +} -#ifdef WIN32 -static HWND new_window_handle; -static int new_window_x, new_window_y, new_window_width, new_window_height; -static int new_window_decorate; -static void * new_window_parent; +static int get_store_in(rsoc*c,unsigned int size) { + na_env*nae=c->nae; + fll_rsoh*pf=NULL; + fll_rsoh*f=c->free_list_of_large; + while (f != NULL) { + if (f->rsoh_field.size >= size) { + nae->store_left=f->rsoh_field.size; + nae->store=(rsoh*)f; + nae->store_chunk=c; + if (pf == NULL) { + c->free_list_of_large=f->nextflol; + } + else { + pf->nextflol=f->nextflol; + } + return 1; + } + pf = f; + f = f->nextflol; + } + return 0; +} -void new_window(void) { - /* --TODO: replace CLASSNAME with ATOM registred with GlobalAddAtom, see RegisterClass too */ - /* --TODO: add WS_CLIPCHILDREN ? WS_CLIPSIBLINGS ? */ - window_description *desc; +char*new_na_from_chunk_list(na_env*nae,unsigned int size) { + rsoc*c=nae->chunk_list; + unsigned int csize; + while (c != NULL) { + if (get_store_in(c,size)) { + return rso_from_store(nae,size); + } + c = c->next; + } + csize=size+(sizeof(rsoc)-sizeof(rsoh)); + c=rsocfl_best_fit(csize); + if (c != NULL){ + if (c->header.size > RSOC_SIZE) { + if (c->header.size-csize > RSOC_MIN_STORE*4) { + int csize_left=c->header.size-csize; + if ((csize_left%sizeof(double))!=0) { + csize_left-=(csize_left%sizeof(double)); + csize=c->header.size-csize_left; + } + c->header.size=csize_left; + c->next=rsocfl; + rsocfl=c; + c=(rsoc*)(((char*)c)+csize_left); + c->isize=0; /* c split from a larger chunk */ + gc_add_into_gcmt((mch*)c); + c->header.amfp=(void(*)(mch*,void*))gcna_align_mark; + c->header.swfp=(void(*)(mch*))rsoc_sweep; + } + /* since objects bigger than RSOC_SIZE must be the only object in their chunk, we do not want to have + some store left after them. Therefore, we do not set csize to c->header.size in an else block + here. */ + c->header.size=csize; + } + else { + csize=c->header.size; + } + c->header.state_type=RSO_USED_CHUNK; + c->free_list_of_large=NULL; + c->nae=nae; + nae->store=(&(c->first_header)); + nae->store_left=csize-sizeof(rsoc)+sizeof(rsoh); + nae->store_chunk=c; + /* No need to register chunks with no free_list_of_large + c->next=nae->chunk_list; + nae->chunk_list=c; + */ + return rso_from_store(nae,size); + } + return NULL; +} - if (new_window_parent) - new_window_handle = CreateWindow(CLASSNAME, WINNAME, WS_CHILD, - new_window_x, new_window_y, - new_window_width, new_window_height, - (HWND)new_window_parent, NULL, - main_hInstance, NULL); - else - if (new_window_decorate) - new_window_handle = CreateWindow(CLASSNAME, WINNAME, WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, CW_USEDEFAULT, - new_window_width + decorated_window_width_offset, - new_window_height + decorated_window_height_offset, - NULL, NULL, main_hInstance, NULL); - else - { - LONG style; - new_window_handle = CreateWindowEx(WS_EX_TOOLWINDOW, CLASSNAME, WINNAME, - WS_POPUP | WS_CLIPCHILDREN | - WS_CLIPSIBLINGS, - new_window_x, new_window_y, - new_window_width, new_window_height, - NULL, NULL, main_hInstance, NULL); - style = GetWindowLong (new_window_handle, GWL_STYLE); +/* size in bytes, including header size */ +char*new_na(na_env*nae,unsigned int size) { + if (size == 0) { +#ifdef SE_BOOST + handle(SE_HANDLE_RUNTIME_ERROR, NULL); + se_print_run_time_stack(); + exit(EXIT_FAILURE); +#else + char msg[512]; + sprintf(msg, "Bad native array size: %d.\n", size); + error0(msg, NULL); +#endif + } + if (nae->store_left>0) { + nae->store->header.size=nae->store_left; + nae->store->header.magic_flag=RSOH_FREE; + if (nae->store_left >= RSOC_MIN_STORE) { + ((fll_rsoh*)(nae->store))->nextflol=nae->store_chunk->free_list_of_large; + nae->store_chunk->free_list_of_large=((fll_rsoh*)nae->store); + } + nae->store_left=0; + } + if ((nae->store_chunk!=NULL)&&(get_store_in(nae->store_chunk,size))) { + return rso_from_store(nae,size); + } + { + char*r=new_na_from_chunk_list(nae,size); + if (r!=NULL) + return r; + } + if (rsoc_countRSOC_SIZE){ + rsoc*c; + rsoh*r; + unsigned int rounded_size= chunk_rounded(size+sizeof(rsoc)-sizeof(rsoh)); + c=((rsoc*)(se_malloc(rounded_size))); + r=(&(c->first_header)); + rsoc_count++; + *c=MRSOC; + c->isize = rounded_size; + c->header.size=rounded_size; + c->nae=nae; + /* No need to register chunks with no free_list_of_large + c->next=nae->chunk_list; + nae->chunk_list=c; + */ + gc_add_into_gcmt((mch*)c); + r->header.size=size; + (r->header.magic_flag)=RSOH_UNMARKED; + ((void)memset((r+1),0,size-sizeof(rsoh))); + return (char*)(r+1); + } + else { + rsoc_malloc(nae); + return rso_from_store(nae,size); + } + } + gc_start(); + if (size<=(nae->store_left)) { + return rso_from_store(nae,size); + } + { + char*r=new_na_from_chunk_list(nae,size); + if (r!=NULL) { + return r; + } + } + if((size+sizeof(rsoc)-sizeof(rsoh))>RSOC_SIZE){ + rsoc*c; + rsoh*r; + unsigned int rounded_size = chunk_rounded(size+sizeof(rsoc)-sizeof(rsoh)); + c=((rsoc*)(se_malloc(rounded_size))); + r=(&(c->first_header)); + rsoc_count++; + *c=MRSOC; + c->isize = rounded_size; + c->header.size=rounded_size; + c->nae=nae; + /* No need to register chunks with no free_list_of_large + c->next=nae->chunk_list; + nae->chunk_list=c; + */ + gc_add_into_gcmt((mch*)c); + r->header.size=size; + (r->header.magic_flag)=RSOH_UNMARKED; + ((void)memset((r+1),0,size-sizeof(rsoh))); + gc_update_ceils(); + return (char*)(r+1); + } + else { + rsoc_malloc(nae); + gc_update_ceils(); + return rso_from_store(nae,size); + } +} - /*style &= (WS_OVERLAPPED|WS_POPUP|WS_CHILD|WS_MINIMIZE|WS_VISIBLE|WS_DISABLED - |WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_MAXIMIZE|WS_CAPTION|WS_BORDER - |WS_SYSMENU); - SetWindowLong (new_window_handle, GWL_STYLE, style); - SetWindowPos (new_window_handle, HWND_TOPMOST , 0, 0, 0, 0, - SWP_NOACTIVATE | SWP_NOMOVE | - SWP_NOSIZE);*/ - } - /* new_window_handle = CreateWindow(CLASSNAME, WINNAME, WS_POPUP | - WS_CLIPCHILDREN | WS_CLIPSIBLINGS, - CW_USEDEFAULT, CW_USEDEFAULT, - new_window_width, - new_window_height, - NULL, NULL, main_hInstance, NULL); - */ - vision_check(new_window_handle); - if (!new_window_handle) display_error(GetLastError()); - desc = malloc(sizeof(window_description)); - desc->Current = new_window_handle; +static void gcna_align_mark(rsoc*c,void*o) { + na_env* nae = c->nae; + fll_rsoh* f; + fll_rsoh* pf; + char* b = (char*)&(c->first_header); - desc->background = CreateSolidBrush(RGB(255, 255, 255)); - vision_check(desc->background); - desc->decorated = new_window_decorate; - desc->parent = (new_window_parent?(window_description*)GetWindowLong((HWND)new_window_parent, GWL_USERDATA):&screen_desc); - desc->marked = 0; - SetWindowLong(new_window_handle, GWL_USERDATA, (long int)desc); - /* signal work done */ - vision_check_call(ReleaseSemaphore(sem_thread_finished_work, 1, NULL)); + /* properly aligned ? */ + if (((((char*)o)-((char*)c))%sizeof(int)) != 0) { + return; + } + /* already marked ? */ + if ((((rsoh*)o)-1)->header.magic_flag != RSOH_UNMARKED) { + return; + } + if (((char*)o) < ((char*)(c+1))) { + return; + } + /* a large chunck ? */ + if (c->header.size > RSOC_SIZE) { + if (o == (c+1)) { + nae->gc_mark((T0*)o); + } + return; + } + pf=NULL; + f=c->free_list_of_large; + while ((f != NULL) && (f < ((fll_rsoh*)o))) { + pf=f; + f=f->nextflol; + } + if (pf == NULL) { + pf=(fll_rsoh*)b; + } + while ((((rsoh*)pf)+1) < (rsoh*)o) { + pf = ((fll_rsoh*)(((char*)pf)+pf->rsoh_field.size)); + } + if (o == (((rsoh*)pf)+1)) { + nae->gc_mark((T0*)o); + } } +unsigned int rsocfl_count(void) { + /* Returns the number of items in the ReSizable Object Free List. + */ + register unsigned int r=0; + register rsoc*p=rsocfl; + while (p!=NULL) { + r++; + p=p->next; + } + return r; +} -void move_window(HWND window, int x, int y, int w, int h, BOOL b) { - first_free_cmd->cmd_type = MOVE_WINDOW; - first_free_cmd->param1 = (int)window; - first_free_cmd->param2 = x; - first_free_cmd->param3 = y; - first_free_cmd->param4 = w; - first_free_cmd->param5 = h; - first_free_cmd->param6 = b; - if (first_free_cmd->next == first_cmd) { - struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); - new_cell->next = first_free_cmd->next; - first_free_cmd->next = new_cell; - first_free_cmd = new_cell; /* don't merge with previous line, - * first_free_cmd is the last change done and - * then the consumer may use this cell */ - } else { - first_free_cmd = first_free_cmd->next; +unsigned int fsocfl_count(void) { + register unsigned int r=0; + register fsoc*p=fsocfl; + while (p!=NULL) { + r++; + p=p->next; } - vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); + return r; } -#endif -void * basic_window_create(int x, int y, int width, int height, void * parent, int decorate) -{ -#ifdef WIN32 - new_window_x = x; - new_window_y = y; - new_window_width = width; - new_window_height = height; - new_window_parent = parent; - new_window_decorate = decorate; +void gc_dispose_before_exit(void) { + mch** p = gcmt; + mch**eogcmt=gcmt+gcmt_used; - vision_check_call(ReleaseSemaphore(sem_new_window, 1, NULL)); - /* Wait for "ready" message from the thread */ - vision_check_call(WaitForSingleObject(sem_thread_finished_work, INFINITE) == WAIT_OBJECT_0); - return (void *)new_window_handle; -#else - Window win; /* Window ID */ - unsigned long fg, bg, bd; /* Pixel values */ - unsigned long bw; /* Border width */ - XSizeHints xsh; /* Size hints for window manager */ + while (p < eogcmt) { + if (((*p)->state_type == FSO_STORE_CHUNK) || + ((*p)->state_type == FSO_USED_CHUNK)) { + ((*p)->swfp)(*p); + } + p++; + } +} - /*XSetWindowAttributes attr;*/ - /* - * Select colors for the border, the window background, and the - * foreground. - */ - bd = WhitePixel(dpy, DefaultScreen(dpy)); - bg = BlackPixel(dpy, DefaultScreen(dpy)); - fg = WhitePixel(dpy, DefaultScreen(dpy)); +fsoc* gc_fsoc_get1(void) { + /* Get a `fsoc' (Fixed Size Object Chunk) from the free fsoc list or + allocate a new one (using `se_malloc') only when the ceil is not + yet reached. Otherwise, call the `gc_start()' function and + return NULL. + */ + fsoc* result; + if (fsocfl != NULL) { + result = fsocfl; + fsocfl = fsocfl->next; + return result; + } + else if (fsoc_count_ceil > fsoc_count) { + result = ((fsoc*)se_malloc(FSOC_SIZE)); + fsoc_count++; + gc_add_into_gcmt((mch*)result); + return result; + } + else { + gc_start(); + return NULL; + } +} - /* - * Set the border width of the window, and the gap between the text - * and the edge of the window, "pad". - */ - bw = 0; +fsoc* gc_fsoc_get2(void) { + /* Get a `fsoc' (Fixed Size Object Chunk) or force the allocation of a + new `fsoc' (using the `se_malloc' function). Update various ceils + accordingly. + */ + fsoc* result; + if (fsocfl != NULL) { + result = fsocfl; + fsocfl=fsocfl->next; + return result; + } + else { + result = ((fsoc*)(se_malloc(FSOC_SIZE))); + fsoc_count++; + gc_update_ceils(); + gc_add_into_gcmt((mch*)result); + return result; + } +} - /* - * Deal with providing the window with an initial position & size. - * Fill out the XSizeHints struct to inform the window manager. See - * Sections 9.1.6 & 10.3. - */ - xsh.flags = (PPosition | PSize); - xsh.height = height; - xsh.width = width; - xsh.x = x; - xsh.y = y; /*(DisplayHeight(dpy, DefaultScreen(dpy)) - xsh.height) / 2;*/ +#if defined(__sparc__) || defined(sparc) || defined(__sparc) +/* For SPARC architecture. + As this part contains assembly code (asm), you must not use + the flag -ansi of gcc compiler. +*/ - /* - * Create the Window with the information in the XSizeHints, the - * border width, and the border & background pixels. See Section 3.3. - */ +void mark_loop(void) { + void** max = stack_bottom; + void** stack_pointer; + void* stack_top[2]={NULL,NULL}; + stack_pointer = stack_top; + /* Addresses decrease as the stack grows. */ + while (stack_pointer <= max) { + gc_mark(*(stack_pointer++)); + } +} - /* - DIALOG: - XSetTransientForHint (xdisplay, xid, xparent); - */ +void mark_stack_and_registers(void) { +# if defined(__sparcv9) + asm(" flushw"); +# else + asm(" ta 0x3 ! ST_FLUSH_WINDOWS"); +# endif + mark_loop(); +} +#elif defined(__ELATE__) || defined(ELATE) +/* GNU Eiffel's VP (Virtual Processor) garbage collector for Elate. + (c) 2000 Rudi Chiarito - win = XCreateSimpleWindow(dpy, - parent?(Window)parent:DefaultRootWindow(dpy), - xsh.x, xsh.y, xsh.width, xsh.height, - bw, bd, bg); - if (!decorate) { - XSetWindowAttributes xattributes; - long xattributes_mask; + Thanks to Andy Stout and Kevin Croombs at Tao Group for their + precious help! - xattributes.save_under = True; - xattributes.override_redirect = True; - xattributes.cursor = None; - xattributes_mask = CWCursor | CWSaveUnder | CWOverrideRedirect; - XChangeWindowAttributes(dpy, win, xattributes_mask, &xattributes); - } - /* - * { - * Atom mwmhints; - * MwmHints hints; - * - * mwmhints = XInternAtom(dpy, _XA_MWM_HINTS, False); - * hints.decorations = 0; - * hints.flags = MWM_HINTS_DECORATIONS; - * XChangeProperty(dpy, win, mwmhints, mwmhints, 32, - * PropModeReplace, (unsigned char *)&hints, 4); - * } - */ - /* attr.background_pixel = bg; - attr.border_pixel = bd; - attr.backing_store = NotUseful; - attr.save_under = 0; - - win = XCreateWindow(dpy, - parent?(Window)parent:DefaultRootWindow(dpy), - xsh.x, xsh.y, xsh.width, xsh.height, - bw, CopyFromParent, CopyFromParent, CopyFromParent,CWBackPixel | CWBorderPixel | CWBackingStore | CWSaveUnder, &attr); - */ - /*printf("Fenetre parente : %d, nouvelle fenetre : %d\n",parent,win);*/ - /* - * Set the standard properties for the window managers. See Section - * 9.1. - */ - /*XSetStandardProperties(dpy, win, STRING, STRING, None, argv, argc, &xsh); - *XSetWMHints(dpy, win, &xwmh); - */ - /* - * Ensure that the window's colormap field points to the default - * colormap, so that the window manager knows the correct colormap to - * use for the window. See Section 3.2.9. Also, set the window's Bit - * Gravity to reduce Expose events. - */ - /* xswa.colormap = DefaultColormap(dpy, DefaultScreen(dpy)); - * xswa.bit_gravity = CenterGravity; - * XChangeWindowAttributes(dpy, win, (CWColormap | CWBitGravity), &xswa); - */ - /* - * Create the GC for writing the text. See Section 5.3. - */ - /* gcv.font = fontstruct->fid; - * gcv.foreground = fg; - * gcv.background = bg; - * gc = XCreateGC(dpy, win, (GCFont | GCForeground | GCBackground), &gcv); - */ + ChangeLog: + - 2000-06-12 Rudi Chiarito + * Version 1.0 + - 2001-01-01 Joseph Kiniry + * Integrated with new SE 0.75b + - 2001-08-10 Rudi Chiarito + * Inlined and optimised range marking + * Added some more comments + * Added conditional breakpoint in mark_stack_and_registers + - 2002-09-21 Rudi Chiarito + * Removed redundant 'ret' +*/ - /* - * Specify the event types we're interested in. See - * Sections 8.5 & 8.4.5.1 - */ - XSelectInput(dpy, win, KeyPressMask|KeyReleaseMask | - ButtonPressMask|ButtonReleaseMask| - EnterWindowMask|LeaveWindowMask| - PointerMotionMask| - Button1MotionMask|Button2MotionMask|Button3MotionMask| - Button4MotionMask|Button5MotionMask|ButtonMotionMask| - KeymapStateMask|ExposureMask|VisibilityChangeMask| - StructureNotifyMask| - /*ResizeRedirectMask|*/ - /*SubstructureNotifyMask|*/ - /*SubstructureRedirectMask|*/ - FocusChangeMask|PropertyChangeMask|ColormapChangeMask - /*|OwnerGrabButtonMask*/ ); +__inline__ void mark_stack_and_registers(void) +{ - /*ExposureMask | KeyPressMask | ButtonPressMask - * | EnterWindowMask | LeaveWindowMask | PointerMotionMask - * | KeyPressMask ); - */ + void *pointer_to_gc_mark = &gc_mark; + __asm__ __volatile__ + ( + /* + WARNING: funky code ahead! + \t and \n are needed to make the final output easier to read + while debugging. Hopefully you'll never have to bother with all + of this. - if (!parent) { - if (!atom_DELWIN) - atom_DELWIN = XInternAtom (dpy, "WM_DELETE_WINDOW", False); - - /* the following fakes 'XSetWMProtocols(dpy, win, &atom_DELWIN,1);' */ - - if (!atom_PROTOCOLS) - atom_PROTOCOLS = XInternAtom (dpy, "WM_PROTOCOLS", False); - - if (atom_PROTOCOLS) - XChangeProperty(dpy, win, atom_PROTOCOLS, XA_ATOM, 32, - PropModeReplace, (unsigned char *) &atom_DELWIN, 1); - } + Registers: + p0 pointer to stack block + p1 pointer to gc_mark() + p2 scratch pointer + i0 length of current stack block + i1 scratch register + */ - return (void *)win; -#endif -} +# ifdef __ELATE_SE_DEBUG_GC + "\tqcall sys/cii/breakpt,(-:-)\n" +# endif -extern void * basic_window_get_drawing_widget(void *window){ -#ifdef WIN32 - /* --TODO: change into macro */ - return hdc; -#else - return window; -#endif -} + "\tsync\n" /* spill all the registers */ + "\tsyncreg\n" /* to the stack */ -char* basic_window_get_title(void *window){ -#ifdef WIN32 - char *result=NULL; - int size = GetWindowTextLength((HWND)window); - if (size++) { - result = malloc(size); - GetWindowText((HWND)window, result, size); - } - return result; -#else - char *title; - if (!XFetchName(dpy,(Window)window,&title)) - return NULL; - else - return title; -#endif -} + "\tcpy.p %0,p1\n" /* pointer to gc_mark() */ -void basic_window_free_title(void *title){ -#ifdef WIN32 - free(title); -#else - XFree(title); -#endif -} + /* pointer to the current stack block */ + "\tcpy.p [gp+PROC_STACK],p0\n" -void basic_window_set_title(void *window, void *title){ -#ifdef WIN32 - first_free_cmd->cmd_type = SET_TITLE; - first_free_cmd->param1 = (int)window; - first_free_cmd->param2 = (int)title; - if (first_free_cmd->next == first_cmd) { - struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); - new_cell->next = first_free_cmd->next; - first_free_cmd->next = new_cell; - first_free_cmd = new_cell; /* don't merge with previous line, - * first_free_cmd is the last change done and - * then the consumer may use this cell */ - } else { - first_free_cmd = first_free_cmd->next; - } - vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); -#else - XStoreName(dpy,(Window)window,(char *)title); -#endif -} + /* point to last location in the block, before the descriptor */ + "\tcpy.p p0 + ([(p0 - STK_SIZE) + STK_LENGTH] - STK_SIZE - 4),p2\n" -void basic_window_set_bg_color(void *window, void *color){ -#ifdef WIN32 - /* --TODO: handle pixmap background */ - window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); - DeleteObject (desc->background); - desc->background = CreateSolidBrush((COLORREF)color); - vision_check(desc->background); -#else - XSetWindowBackground(dpy,(Window)window,(unsigned long)color); -#endif -} + /* mark the contents of the current stack block */ + "\twhile p2>=sp\n" + "\t\tgos p1,(p2 : -)\n" + "\t\tsub.p 4,p2\n" + "\tendwhile\n" -void basic_window_set_bg_pixmap(void *window, void *pixmap){ -#ifdef WIN32 - /* --TODO: review this function for window 95 pixmap limited to 8x8. */ - window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); - DeleteObject (desc->background); - desc->background = CreatePatternBrush((HBITMAP)pixmap); - vision_check(desc->background); + /* now scan other blocks (if any) */ -#if 0 - use part of this code in basic_vision for background painting + "\tloop\n" + "\t\tcpy.p [p0 - STK_SIZE + STK_LINK],p0\n" /* get next block */ + "\t\tbreakif p0=NULL\n" - RECT rect; - HBRUSH hbr; - HDC hdc_bg; - HBITMAP oldbitmap; + /* point to last location in the block, before the descriptor */ + "\t\tcpy.p p0 + ([(p0 - STK_SIZE) + STK_LENGTH] - STK_SIZE - 4),p2\n" - GetClipBox (hdc, &rect); - /* if (version windows != 95 || (pixmap->width <= 8 && pixmap->height <= 8)) */ - { - /* use brush only with small pixmap with Windows 95 (other version support any size).*/ - hbr = CreatePatternBrush (pixmap); - FillRect (hdc, &rect, hbr); - DeleteObject (hbr); - } - /* else*/ - { - /* use BitBlt */ - int i, j; - hdc_bg = CreateCompatibleDC (hdc); - oldbitmap = SelectObject (hdc_bg, pixmap); - i = 0; - /* while (i < rect.right) - { - j = 0; - while (j < rect.bottom) - { - if (i+pixmap->width >= rect.left && j+pixmap->height >= rect.top) - { - BitBlt (hdc, i, j, pixmap->width, pixmap->height, - bgdc, 0, 0, SRCCOPY); - } - j += pixmap->height; - } - i += pixmap->width; - } - */ - SelectObject (hdc_bg, oldbitmap); - DeleteDC (hdc_bg); - } + /* mark this block */ + "\t\twhile p2>=p0\n" -#endif + "\t\t\tgos p1,(p2 : -)\n" + "\t\t\tsub.p 4,p2\n" + "\t\tendwhile\n" + "\tendloop\n" -#else - XSetWindowBackgroundPixmap(dpy,(Window)window,(Pixmap) pixmap); -#endif + : /* no output */ + : "p" (pointer_to_gc_mark) + : "p0", "p1", "p2", "i0" + ); } -void basic_window_clear_no_expose(void *window) { - /* clear window (restore background) without expose event */ -#ifdef WIN32 - HDC hdc = GetDC((HWND)window); - window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); - RECT area; - vision_check_call(GetClientRect((HWND)window, &area)); - /* --TODO: handle pixmap case */ - vision_check_call(FillRect(hdc, &area, desc->background)); - vision_check_call(ReleaseDC((HWND)window, hdc)); -#else - XClearWindow(dpy,(Window)window); -#endif -} +#elif defined(__hppa__) || defined(__hppa) || defined(__hp9000) || \ + defined(__hp9000s300) || defined(hp9000s300) || \ + defined(__hp9000s700) || defined(hp9000s700) || \ + defined(__hp9000s800) || defined(hp9000s800) || defined(hp9000s820) -void basic_window_clear_area_no_expose(void *window, int x, int y, int w, int h){ - /* clear area (restore background) without expose event */ -#ifdef WIN32 - HDC hdc = GetDC((HWND)window); - window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); - RECT area; - area.left = x; - area.top = y; - area.right = x + w; - area.bottom = y + h; - /* --TODO: handle pixmap case */ - vision_check_call(FillRect(hdc, &area, desc->background)); - vision_check_call(ReleaseDC((HWND)window, hdc)); -#else - XClearArea(dpy,(Window)window, x, y, w, h, False); -#endif -} +/**************************************************************************** + * Generic code for architectures where addresses increase as the stack grows. + ****************************************************************************/ + +void mark_stack_and_registers(void){ + void** max = stack_bottom; + JMP_BUF registers; /* The jmp_buf buffer is in the C stack. */ + void**stack_pointer; /* Used to traverse the stack and registers assuming + that `setjmp' will save registers in the C stack. + */ + + (void)SETJMP(registers); /* To fill the C stack with registers. */ + stack_pointer = (void**)(void*)(®isters) + ((sizeof(JMP_BUF)/sizeof(void*))-1); + /* stack_pointer will traverse the JMP_BUF as well (jmp_buf size is added, + otherwise stack_pointer would be below the registers structure). */ + +# if !defined(SE_BOOST) + if (stack_pointer < max) { + fprintf(stderr, "Wrong stack direction: your stack decrease as the stack grows (or complex stack management). Please drop an e-mail to SmartEiffel@loria.fr\n"); + exit(1); } +# endif -void basic_window_clear_area(void *window, int x, int y, int w, int h){ - /* clear window (restore background) and emit expose event on this area */ -#ifdef WIN32 - first_free_cmd->cmd_type = CLEAR_AREA; - first_free_cmd->param1 = (int)window; - first_free_cmd->param2 = x; - first_free_cmd->param3 = y; - first_free_cmd->param4 = x + w; - first_free_cmd->param5 = y + h; - if (first_free_cmd->next == first_cmd) { - struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); - new_cell->next = first_free_cmd->next; - first_free_cmd->next = new_cell; - first_free_cmd = new_cell; /* don't merge with previous line, - * first_free_cmd is the last change done and - * then the consumer may use this cell */ - } else { - first_free_cmd = first_free_cmd->next; + while (stack_pointer >= max) { + gc_mark(*(stack_pointer--)); } - vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); -#else - XClearArea(dpy,(Window)window, x, y, w, h, True); -#endif } - -void basic_window_set_kbd_focus(void *window){ - /*--TODO: remove set_kbd_focus? */ -#ifdef WIN32 - first_free_cmd->cmd_type = SET_FOCUS; - first_free_cmd->param1 = (int)window; - if (first_free_cmd->next == first_cmd) { - struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); - new_cell->next = first_free_cmd->next; - first_free_cmd->next = new_cell; - first_free_cmd = new_cell; /* don't merge with previous line, - * first_free_cmd is the last change done and - * then the consumer may use this cell */ - } else { - first_free_cmd = first_free_cmd->next; - } - vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); #else -#endif -} +/**************************************************************************** + * Generic code for architectures where addresses decrease as the stack grows. + ****************************************************************************/ -void basic_window_map(void *window) { -#ifdef WIN32 - first_free_cmd->cmd_type = MAP_WINDOW; - first_free_cmd->param1 = (int)window; - first_free_cmd->param2 = main_nCmdShow; - if (first_free_cmd->next == first_cmd) { - struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); - new_cell->next = first_free_cmd->next; - first_free_cmd->next = new_cell; - first_free_cmd = new_cell; /* don't merge with previous line, - * first_free_cmd is the last change done and - * then the consumer may use this cell */ - } else { - first_free_cmd = first_free_cmd->next; - } - vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); - /*UpdateWindow((HWND)window);*/ /* --TODO: really needed ? */ - main_nCmdShow = SW_SHOW; -#else - XMapWindow(dpy,(Window)window); -#endif -} +void mark_stack_and_registers(void){ + void** max = stack_bottom; + JMP_BUF registers; /* The jmp_buf buffer is in the C stack. */ + void**stack_pointer; /* Used to traverse the stack and registers assuming + that `setjmp' will save registers in the C stack. + */ -void basic_window_unmap(void *window) { -#ifdef WIN32 - first_free_cmd->cmd_type = MAP_WINDOW; - first_free_cmd->param1 = (int)window; - first_free_cmd->param2 = SW_HIDE; - if (first_free_cmd->next == first_cmd) { - struct cmd_list *new_cell = malloc(sizeof(struct cmd_list)); - new_cell->next = first_free_cmd->next; - first_free_cmd->next = new_cell; - first_free_cmd = new_cell; /* don't merge with previous line, - * first_free_cmd is the last change done and - * then the consumer may use this cell */ - } else { - first_free_cmd = first_free_cmd->next; - } - vision_check_call(ReleaseSemaphore(sem_cmd_ready, 1, NULL)); -#else - XUnmapWindow(dpy,(Window)window); -#endif -} + (void)SETJMP(registers); /* To fill the C stack with registers. */ + stack_pointer = (void**)(void*)(®isters); -void basic_window_set_geometry(void *window,int x, int y, int w, int h){ -#ifdef WIN32 - window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); - if (desc->decorated) - move_window((HWND)window, x - decorated_window_x_offset, - y - decorated_window_y_offset, - w + decorated_window_width_offset, - h + decorated_window_height_offset, TRUE); - else - move_window((HWND)window, x, y, w, h, TRUE); -#else - XMoveResizeWindow(dpy, (Window)window, x, y, w, h); -#endif -} - -void basic_window_set_requisition(void *window, int min_w, int min_h, int max_w, int max_h){ -#ifdef WIN32 - window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); - desc->min_width = min_w + decorated_window_width_offset; - desc->max_width = max_w + decorated_window_width_offset; - desc->min_height = min_h + decorated_window_height_offset; - desc->max_height = max_h + decorated_window_height_offset; -#else - XSizeHints hints; - hints.flags = PMinSize|PMaxSize; - hints.min_width = min_w; - hints.max_width = max_w; - hints.min_height = min_h; - hints.max_height = max_h; - XSetWMNormalHints(dpy, (Window)window, &hints); -#endif -} +# if !defined(SE_BOOST) + if (stack_pointer > max) { + fprintf(stderr, "Wrong stack direction: the stack addresses increase as the stack grows (or complex stack management). Please drop an e-mail to SmartEiffel@loria.fr\n"); + exit(1); } +# endif -void basic_window_set_position(void *window, int x, int y){ -#ifdef WIN32 - RECT size; - window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); - vision_check_call(GetClientRect((HWND)window, &size)); - if (desc->decorated) - move_window((HWND)window, x - decorated_window_x_offset, - y - decorated_window_y_offset, - size.right + decorated_window_width_offset, - size.bottom + decorated_window_height_offset, TRUE); - else - move_window((HWND)window, x, y, size.right, size.bottom, TRUE); -#else - XMoveWindow(dpy, (Window)window, x, y); -#endif + while (stack_pointer <= max) { + gc_mark(*(stack_pointer++)); + } } - -void basic_window_set_size(void *window,int x, int y, int width, int height){ -#ifdef WIN32 - window_description *desc = (window_description*)GetWindowLong((HWND)window, GWL_USERDATA); - if (desc->decorated) - move_window((HWND)window, x - decorated_window_x_offset, - y - decorated_window_y_offset, - width + decorated_window_width_offset, - height + decorated_window_height_offset, TRUE); - else - move_window((HWND)window, x, y, width, height, TRUE); -#else - XResizeWindow(dpy, (Window)window, width, height); #endif -} + unsigned int fsoc_count_ceil=308; unsigned int rsoc_count_ceil=87; @@ -3454,67 +3476,46 @@ if((C)==(INT8_C(0))){ r7extend(((T7*)a1),((T3)'0')); } else{ -/*l280c5/integer_general.e*/ if(((int16_t)(C))>(INT16_C(0))){ -/*l282c7/integer_general.e*/ _val=C; -/*l284c7/integer_general.e*/ _i=((int32_t)((/*RF2*/(((T7*)a1))->_count/*3p*/)))+(INT32_C(1)); } else{ -/*l286c14/integer_general.e*/ r7extend(((T7*)a1),((T3)'\055')); -/*l288c7/integer_general.e*/ _i=((int32_t)((/*RF2*/(((T7*)a1))->_count/*3p*/)))+(INT32_C(1)); -/*l290c7/integer_general.e*/ _val=((int16_t)(C))%(INT16_C(10)); -/*l291c7/integer_general.e*/ if(((int16_t)(_val))<=(INT16_C(0))){ -/*l292c15/integer_general.e*/ r7extend(((T7*)a1),r10decimal_digit(-(_val))); -/*l293c8/integer_general.e*/ _val=-(((int16_t)(C))/(INT16_C(10))); } else{ -/*l295c15/integer_general.e*/ r7extend(((T7*)a1),r10decimal_digit(((int16_t)(-(_val)))+(INT16_C(10)))); -/*l296c8/integer_general.e*/ _val=((int16_t)(-(((int16_t)(C))/(INT16_C(10)))))-(INT16_C(1)); } } -while (!((_val)==(INT8_C(0)))) +while(!((_val)==(INT8_C(0)))) { -/*l305c13/integer_general.e*/ r7extend(((T7*)a1),r10decimal_digit(((int16_t)(_val))%(INT16_C(10)))); -/*l306c6/integer_general.e*/ _val=((int16_t)(_val))/(INT16_C(10)); } -/*l309c5/integer_general.e*/ _idx=(/*RF2*/(((T7*)a1))->_count/*3p*/); -while (!(((int32_t)(_i))>=(_idx))) +while(!(((int32_t)(_i))>=(_idx))) { -/*l314c13/integer_general.e*/ r7swap(((T7*)a1),_i,_idx); -/*l315c6/integer_general.e*/ _idx=((int32_t)(_idx))-(INT32_C(1)); -/*l316c6/integer_general.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } } }/*--*/ -T9 oBC101sprintf_buffer=(void*)0; +T9 oBC102sprintf_buffer=(void*)0; /*REAL_64*/void r5append_in_format(T5 C,T0* a1,T2 a2){ T2 _i=0; -/*l189c5/real_general.e*/ -sprintf_real_64(oBC101sprintf_buffer,((T3)'f'),a2,C); -/*l190c5/real_general.e*/ +sprintf_real_64(oBC102sprintf_buffer,((T3)'f'),a2,C); _i=INT32_C(0); -while (!(((oBC101sprintf_buffer)[_i])==(((T3)'\000')))) +while(!(((oBC102sprintf_buffer)[_i])==(((T3)'\000')))) { -/*l194c9/real_general.e*/ -r7extend(((T7*)a1),(oBC101sprintf_buffer)[_i]); -/*l195c5/real_general.e*/ +r7extend(((T7*)a1),(oBC102sprintf_buffer)[_i]); _i=((int32_t)(_i))+(INT32_C(1)); } }/*--*/ @@ -3525,9 +3526,22 @@ R=pointer_hash_code(C); return R; }/*--*/ +/*INTEGER_32*/T10 r2high_16(T2 C){ +T10 R=0; +R=((int16_t)(((C)>>(INT8_C(16))))); +return R; +}/*--*/ + /*INTEGER_32*/T6 r2in_range(T2 C,T2 a1,T2 a2){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; -R=((T6)((T6)((((int32_t)(C))>=(a1))&&((T6)(((int32_t)(C))<=(a2)))))); +tmp0/*and then*/=((T6)(((int32_t)(C))>=(a1))); +if(tmp0/*and then*/){ +tmp0/*and then*/=((T6)(((int32_t)(C))<=(a2))); +} +R=((T6)(tmp0/*and then*/)); return R; }/*--*/ @@ -3556,61 +3570,38 @@ if((C)==(INT8_C(0))){ r7extend(((T7*)a1),((T3)'0')); } else{ -/*l280c5/integer_general.e*/ if(((int32_t)(C))>(INT32_C(0))){ -/*l282c7/integer_general.e*/ _val=C; -/*l284c7/integer_general.e*/ _i=((int32_t)((/*RF2*/(((T7*)a1))->_count/*3p*/)))+(INT32_C(1)); } else{ -/*l286c14/integer_general.e*/ r7extend(((T7*)a1),((T3)'\055')); -/*l288c7/integer_general.e*/ _i=((int32_t)((/*RF2*/(((T7*)a1))->_count/*3p*/)))+(INT32_C(1)); -/*l290c7/integer_general.e*/ _val=((int32_t)(C))%(INT32_C(10)); -/*l291c7/integer_general.e*/ if(((int32_t)(_val))<=(INT32_C(0))){ -/*l292c15/integer_general.e*/ r7extend(((T7*)a1),r2decimal_digit(-(_val))); -/*l293c8/integer_general.e*/ _val=-(((int32_t)(C))/(INT32_C(10))); } else{ -/*l295c15/integer_general.e*/ r7extend(((T7*)a1),r2decimal_digit(((int32_t)(-(_val)))+(INT32_C(10)))); -/*l296c8/integer_general.e*/ _val=((int32_t)(-(((int32_t)(C))/(INT32_C(10)))))-(INT32_C(1)); } } -while (!((_val)==(INT8_C(0)))) +while(!((_val)==(INT8_C(0)))) { -/*l305c13/integer_general.e*/ r7extend(((T7*)a1),r2decimal_digit(((int32_t)(_val))%(INT32_C(10)))); -/*l306c6/integer_general.e*/ _val=((int32_t)(_val))/(INT32_C(10)); } -/*l309c5/integer_general.e*/ _idx=(/*RF2*/(((T7*)a1))->_count/*3p*/); -while (!(((int32_t)(_i))>=(_idx))) +while(!(((int32_t)(_i))>=(_idx))) { -/*l314c13/integer_general.e*/ r7swap(((T7*)a1),_i,_idx); -/*l315c6/integer_general.e*/ _idx=((int32_t)(_idx))-(INT32_C(1)); -/*l316c6/integer_general.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } } }/*--*/ -/*INTEGER_32*/T10 r2high_16(T2 C){ -T10 R=0; -R=((int16_t)(((C)>>(INT8_C(16))))); -return R; -}/*--*/ - /*CHARACTER*/T6 r3_ix_6261(T3 C,T3 a1){ T6 R=0; R=((T6)(((int16_t)(T3code(C)))>=(T3code(a1)))); @@ -3625,7 +3616,9 @@ return R; /*CHARACTER*/T6 r3is_digit(T3 C){ T6 R=0; -R=((T6)((T6)(((((unsigned)(C))>=((unsigned)(((T3)'0')))))&&((T6)((((unsigned)(C))<=((unsigned)(((T3)'9'))))))))); +if((((unsigned)(C))>=((unsigned)(((T3)'0'))))){ +R=((T6)((((unsigned)(C))<=((unsigned)(((T3)'9')))))); +} return R; }/*--*/ @@ -3637,9 +3630,8 @@ return R; /*CHARACTER*/T6 r3is_separator(T3 C){ T6 R=0; -/*[INSPECT*/ -{int inspect_tmp_1=C; -switch(inspect_tmp_1){ +/*[inspect*/ +switch(C){ case 0: case 9: case 10: @@ -3649,7 +3641,7 @@ case 32: R=((T6)(1)); break; } -}/*INSPECT]*/ +/*inspect]*/ return R; }/*--*/ @@ -3660,614 +3652,545 @@ return R; }/*--*/ /*BOOLEAN*/T6 r6_ix_or(T6 C,T6 a1){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; -R=((T6)((T6)((C)||((T6)(a1))))); -return R; -}/*--*/ - -/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r290clear_all(T290 C,T2 a1){ -T0* _v=(void*)0; -T2 _i=0; -_i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) -{ -/*l559c5/native_array.e*/ -(C)[_i]=(_v); -/*l560c5/native_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +tmp0/*or else*/=((T6)(C)); +if(tmp0/*or else*/){ } +else{ +tmp0/*or else*/=((T6)(a1)); +} +R=((T6)(tmp0/*or else*/)); +return R; }/*--*/ -/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/T290 r290realloc(T290 C,T2 a1,T2 a2){ -T290 R=(void*)0; -/*l68c4/native_array.e*/ -R=new290(a2); -/*l69c11/native_array.e*/ -r290copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); +/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/T334 r334realloc(T334 C,T2 a1,T2 a2){ +T334 R=(void*)0; +R=new334(a2); +r334copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); return R; }/*--*/ -/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r290copy_from(T290 C,T290 a1,T2 a2){ +/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r334copy_from(T334 C,T334 a1,T2 a2){ T2 _i=0; _i=a2; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l596c5/native_array.e*/ (C)[_i]=((a1)[_i]); -/*l597c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]*/void r289clear_all(T289 C,T2 a1){ +/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r334clear_all(T334 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[JOB]*/void r288clear_all(T288 C,T2 a1){ +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]*/void r333clear_all(T333 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[JOB]*/void r288remove(T288 C,T2 a1,T2 a2){ -T2 _i=0; -_i=a1; -while (!((_i)==(a2))) -{ -/*l406c5/native_array.e*/ -(C)[_i]=((C)[((int32_t)(_i))+(INT32_C(1))]); -/*l407c5/native_array.e*/ -_i=((int32_t)(_i))+(INT32_C(1)); -} -}/*--*/ - -/*NATIVE_ARRAY[JOB]*/T288 r288realloc(T288 C,T2 a1,T2 a2){ -T288 R=(void*)0; -/*l68c4/native_array.e*/ -R=new288(a2); -/*l69c11/native_array.e*/ -r288copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); +/*NATIVE_ARRAY[JOB]*/T332 r332realloc(T332 C,T2 a1,T2 a2){ +T332 R=(void*)0; +R=new332(a2); +r332copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); return R; }/*--*/ -/*NATIVE_ARRAY[JOB]*/void r288copy_from(T288 C,T288 a1,T2 a2){ +/*NATIVE_ARRAY[JOB]*/void r332copy_from(T332 C,T332 a1,T2 a2){ T2 _i=0; _i=a2; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l596c5/native_array.e*/ (C)[_i]=((a1)[_i]); -/*l597c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[EVENT_CATCHER]*/void r287clear_all(T287 C,T2 a1){ +/*NATIVE_ARRAY[JOB]*/void r332clear_all(T332 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]*/void r284clear_all(T284 C,T2 a1){ +/*NATIVE_ARRAY[JOB]*/void r332remove(T332 C,T2 a1,T2 a2){ +T2 _i=0; +_i=a1; +while(!((_i)==(a2))) +{ +(C)[_i]=((C)[((int32_t)(_i))+(INT32_C(1))]); +_i=((int32_t)(_i))+(INT32_C(1)); +} +}/*--*/ + +/*NATIVE_ARRAY[TOPLEVEL_WINDOW]*/void r331clear_all(T331 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r281clear_all(T281 C,T2 a1){ +/*NATIVE_ARRAY[EVENT_CATCHER]*/void r330clear_all(T330 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]*/void r276clear_all(T276 C,T2 a1){ +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]*/void r328clear_all(T328 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]*/void r270clear_all(T270 C,T2 a1){ +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]*/void r324clear_all(T324 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]*/void r267clear_all(T267 C,T2 a1){ +/*NATIVE_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r321clear_all(T321 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]*/void r263clear_all(T263 C,T2 a1){ +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]*/void r316clear_all(T316 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[TOPLEVEL_WINDOW]*/void r262clear_all(T262 C,T2 a1){ +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]*/void r310clear_all(T310 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[KEY_RANGE]*/void r261clear_all(T261 C,T2 a1){ +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]*/void r306clear_all(T306 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[KEY_RANGE]*/T261 r261realloc(T261 C,T2 a1,T2 a2){ -T261 R=(void*)0; -/*l68c4/native_array.e*/ -R=new261(a2); -/*l69c11/native_array.e*/ -r261copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); +/*NATIVE_ARRAY[KEY_RANGE]*/T305 r305realloc(T305 C,T2 a1,T2 a2){ +T305 R=(void*)0; +R=new305(a2); +r305copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); return R; }/*--*/ -/*NATIVE_ARRAY[KEY_RANGE]*/void r261copy_from(T261 C,T261 a1,T2 a2){ +/*NATIVE_ARRAY[KEY_RANGE]*/void r305copy_from(T305 C,T305 a1,T2 a2){ T2 _i=0; _i=a2; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l596c5/native_array.e*/ (C)[_i]=((a1)[_i]); -/*l597c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[BUTTON_RANGE]*/void r260clear_all(T260 C,T2 a1){ +/*NATIVE_ARRAY[KEY_RANGE]*/void r305clear_all(T305 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[BUTTON_RANGE]*/T260 r260realloc(T260 C,T2 a1,T2 a2){ -T260 R=(void*)0; -/*l68c4/native_array.e*/ -R=new260(a2); -/*l69c11/native_array.e*/ -r260copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); +/*NATIVE_ARRAY[BUTTON_RANGE]*/T304 r304realloc(T304 C,T2 a1,T2 a2){ +T304 R=(void*)0; +R=new304(a2); +r304copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); return R; }/*--*/ -/*NATIVE_ARRAY[BUTTON_RANGE]*/void r260copy_from(T260 C,T260 a1,T2 a2){ +/*NATIVE_ARRAY[BUTTON_RANGE]*/void r304copy_from(T304 C,T304 a1,T2 a2){ T2 _i=0; _i=a2; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l596c5/native_array.e*/ (C)[_i]=((a1)[_i]); -/*l597c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[AXES_RANGE]*/void r259clear_all(T259 C,T2 a1){ +/*NATIVE_ARRAY[BUTTON_RANGE]*/void r304clear_all(T304 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[AXES_RANGE]*/T259 r259realloc(T259 C,T2 a1,T2 a2){ -T259 R=(void*)0; -/*l68c4/native_array.e*/ -R=new259(a2); -/*l69c11/native_array.e*/ -r259copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); +/*NATIVE_ARRAY[AXES_RANGE]*/T303 r303realloc(T303 C,T2 a1,T2 a2){ +T303 R=(void*)0; +R=new303(a2); +r303copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); return R; }/*--*/ -/*NATIVE_ARRAY[AXES_RANGE]*/void r259copy_from(T259 C,T259 a1,T2 a2){ +/*NATIVE_ARRAY[AXES_RANGE]*/void r303copy_from(T303 C,T303 a1,T2 a2){ T2 _i=0; _i=a2; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l596c5/native_array.e*/ (C)[_i]=((a1)[_i]); -/*l597c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]*/void r257clear_all(T257 C,T2 a1){ +/*NATIVE_ARRAY[AXES_RANGE]*/void r303clear_all(T303 C,T2 a1){ +T0* _v=(void*)0; +T2 _i=0; +_i=a1; +while(!(((int32_t)(_i))<(INT32_C(0)))) +{ +(C)[_i]=(_v); +_i=((int32_t)(_i))-(INT32_C(1)); +} +}/*--*/ + +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]*/void r301clear_all(T301 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r255clear_all(T255 C,T2 a1){ +/*NATIVE_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r299clear_all(T299 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]*/void r251clear_all(T251 C,T2 a1){ +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]*/void r295clear_all(T295 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[INTEGER_32]*/void r250set_slice_with(T250 C,T2 a1,T2 a2,T2 a3){ +/*NATIVE_ARRAY[INTEGER_32]*/T294 r294realloc(T294 C,T2 a1,T2 a2){ +T294 R=(void*)0; +R=new294(a2); +r294copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); +return R; +}/*--*/ + +/*NATIVE_ARRAY[INTEGER_32]*/void r294set_slice_with(T294 C,T2 a1,T2 a2,T2 a3){ T2 _i=0; _i=a2; -while (!(((int32_t)(_i))>(a3))) +while(!(((int32_t)(_i))>(a3))) { -/*l542c5/native_array.e*/ (C)[_i]=(a1); -/*l543c5/native_array.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[INTEGER_32]*/void r250clear_all(T250 C,T2 a1){ +/*NATIVE_ARRAY[INTEGER_32]*/void r294copy_from(T294 C,T294 a1,T2 a2){ +T2 _i=0; +_i=a2; +while(!(((int32_t)(_i))<(INT32_C(0)))) +{ +(C)[_i]=((a1)[_i]); +_i=((int32_t)(_i))-(INT32_C(1)); +} +}/*--*/ + +/*NATIVE_ARRAY[INTEGER_32]*/void r294clear_all(T294 C,T2 a1){ T2 _v=0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[INTEGER_32]*/void r250set_all_with(T250 C,T2 a1,T2 a2){ +/*NATIVE_ARRAY[INTEGER_32]*/void r294set_all_with(T294 C,T2 a1,T2 a2){ T2 _i=0; _i=a2; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l524c5/native_array.e*/ (C)[_i]=(a1); -/*l525c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[INTEGER_32]*/T250 r250realloc(T250 C,T2 a1,T2 a2){ -T250 R=(void*)0; -/*l68c4/native_array.e*/ -R=new250(a2); -/*l69c11/native_array.e*/ -r250copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); -return R; -}/*--*/ - -/*NATIVE_ARRAY[INTEGER_32]*/void r250copy_from(T250 C,T250 a1,T2 a2){ +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[POINTER,STRING]]*/void r291clear_all(T291 C,T2 a1){ +T0* _v=(void*)0; T2 _i=0; -_i=a2; -while (!(((int32_t)(_i))<(INT32_C(0)))) +_i=a1; +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l596c5/native_array.e*/ -(C)[_i]=((a1)[_i]); -/*l597c5/native_array.e*/ +(C)[_i]=(_v); _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[POINTER,STRING]]*/void r247clear_all(T247 C,T2 a1){ +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]*/void r283clear_all(T283 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]*/void r239clear_all(T239 C,T2 a1){ -T0* _v=(void*)0; +/*NATIVE_ARRAY[IVY_CLIENT]*/T282 r282realloc(T282 C,T2 a1,T2 a2){ +T282 R=(void*)0; +R=new282(a2); +r282copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); +return R; +}/*--*/ + +/*NATIVE_ARRAY[IVY_CLIENT]*/void r282copy_from(T282 C,T282 a1,T2 a2){ T2 _i=0; -_i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +_i=a2; +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ -(C)[_i]=(_v); -/*l560c5/native_array.e*/ +(C)[_i]=((a1)[_i]); _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[IVY_CLIENT]*/void r238clear_all(T238 C,T2 a1){ +/*NATIVE_ARRAY[IVY_CLIENT]*/void r282clear_all(T282 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[IVY_CLIENT]*/void r238clear(T238 C,T2 a1,T2 a2){ +/*NATIVE_ARRAY[IVY_CLIENT]*/void r282remove(T282 C,T2 a1,T2 a2){ +T2 _i=0; +_i=a1; +while(!((_i)==(a2))) +{ +(C)[_i]=((C)[((int32_t)(_i))+(INT32_C(1))]); +_i=((int32_t)(_i))+(INT32_C(1)); +} +}/*--*/ + +/*NATIVE_ARRAY[IVY_CLIENT]*/void r282clear(T282 C,T2 a1,T2 a2){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))>(a2))) +while(!(((int32_t)(_i))>(a2))) { -/*l579c5/native_array.e*/ (C)[_i]=(_v); -/*l580c5/native_array.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[IVY_CLIENT]*/void r238remove(T238 C,T2 a1,T2 a2){ -T2 _i=0; -_i=a1; -while (!((_i)==(a2))) -{ -/*l406c5/native_array.e*/ -(C)[_i]=((C)[((int32_t)(_i))+(INT32_C(1))]); -/*l407c5/native_array.e*/ -_i=((int32_t)(_i))+(INT32_C(1)); +/*NATIVE_ARRAY[IVY_CLIENT]*/T2 r282fast_index_of(T282 C,T0* a1,T2 a2,T2 a3){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ +T2 R=0; +R=a2; +while(1){ +tmp0/*or else*/=((T6)(((int32_t)(R))>(a3))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)((a1)==((void*)((C)[R])))); +} +if(tmp0/*or else*/){ +break; } +R=((int32_t)(R))+(INT32_C(1)); +} +return R; }/*--*/ -/*NATIVE_ARRAY[IVY_CLIENT]*/T238 r238realloc(T238 C,T2 a1,T2 a2){ -T238 R=(void*)0; -/*l68c4/native_array.e*/ -R=new238(a2); -/*l69c11/native_array.e*/ -r238copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); +/*NATIVE_ARRAY[LOOP_ITEM]*/T281 r281realloc(T281 C,T2 a1,T2 a2){ +T281 R=(void*)0; +R=new281(a2); +r281copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); return R; }/*--*/ -/*NATIVE_ARRAY[IVY_CLIENT]*/void r238copy_from(T238 C,T238 a1,T2 a2){ +/*NATIVE_ARRAY[LOOP_ITEM]*/void r281copy_from(T281 C,T281 a1,T2 a2){ T2 _i=0; _i=a2; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l596c5/native_array.e*/ (C)[_i]=((a1)[_i]); -/*l597c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[IVY_CLIENT]*/T2 r238fast_index_of(T238 C,T0* a1,T2 a2,T2 a3){ -T2 R=0; -R=a2; -while (!((T6)((((int32_t)(R))>(a3))||((T6)((a1)==((void*)((C)[R]))))))) -{ -R=((int32_t)(R))+(INT32_C(1)); -} -return R; -}/*--*/ - -/*NATIVE_ARRAY[LOOP_ITEM]*/void r237clear_all(T237 C,T2 a1){ +/*NATIVE_ARRAY[LOOP_ITEM]*/void r281clear_all(T281 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[LOOP_ITEM]*/T237 r237realloc(T237 C,T2 a1,T2 a2){ -T237 R=(void*)0; -/*l68c4/native_array.e*/ -R=new237(a2); -/*l69c11/native_array.e*/ -r237copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); +/*NATIVE_ARRAY[STRING]*/T267 r267realloc(T267 C,T2 a1,T2 a2){ +T267 R=(void*)0; +R=new267(a2); +r267copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); return R; }/*--*/ -/*NATIVE_ARRAY[LOOP_ITEM]*/void r237copy_from(T237 C,T237 a1,T2 a2){ +/*NATIVE_ARRAY[STRING]*/void r267copy_from(T267 C,T267 a1,T2 a2){ T2 _i=0; _i=a2; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l596c5/native_array.e*/ (C)[_i]=((a1)[_i]); -/*l597c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[X_INPUT_DEVICE]*/void r220clear_all(T220 C,T2 a1){ +/*NATIVE_ARRAY[STRING]*/void r267clear_all(T267 C,T2 a1){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ (C)[_i]=(_v); -/*l560c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[STRING]*/void r219clear_all(T219 C,T2 a1){ -T0* _v=(void*)0; +/*NATIVE_ARRAY[STRING]*/void r267set_all_with(T267 C,T0* a1,T2 a2){ T2 _i=0; -_i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +_i=a2; +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ -(C)[_i]=(_v); -/*l560c5/native_array.e*/ +(C)[_i]=(a1); _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[STRING]*/void r219clear(T219 C,T2 a1,T2 a2){ +/*NATIVE_ARRAY[STRING]*/void r267clear(T267 C,T2 a1,T2 a2){ T0* _v=(void*)0; T2 _i=0; _i=a1; -while (!(((int32_t)(_i))>(a2))) +while(!(((int32_t)(_i))>(a2))) { -/*l579c5/native_array.e*/ (C)[_i]=(_v); -/*l580c5/native_array.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[STRING]*/T219 r219realloc(T219 C,T2 a1,T2 a2){ -T219 R=(void*)0; -/*l68c4/native_array.e*/ -R=new219(a2); -/*l69c11/native_array.e*/ -r219copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); -return R; -}/*--*/ - -/*NATIVE_ARRAY[STRING]*/void r219copy_from(T219 C,T219 a1,T2 a2){ +/*NATIVE_ARRAY[X_INPUT_DEVICE]*/void r263clear_all(T263 C,T2 a1){ +T0* _v=(void*)0; T2 _i=0; -_i=a2; -while (!(((int32_t)(_i))<(INT32_C(0)))) +_i=a1; +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l596c5/native_array.e*/ -(C)[_i]=((a1)[_i]); -/*l597c5/native_array.e*/ +(C)[_i]=(_v); _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[CHARACTER]*/void r9clear_all(T9 C,T2 a1){ -T3 _v=0; +/*NATIVE_ARRAY[CHARACTER]*/void r9fast_replace_all(T9 C,T3 a1,T3 a2,T2 a3){ T2 _i=0; -_i=a1; -while (!(((int32_t)(_i))<(INT32_C(0)))) +_i=a3; +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l559c5/native_array.e*/ -(C)[_i]=(_v); -/*l560c5/native_array.e*/ +if((a1)==((C)[_i])){ +(C)[_i]=(a2); +} _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ /*NATIVE_ARRAY[CHARACTER]*/T9 r9realloc(T9 C,T2 a1,T2 a2){ T9 R=(void*)0; -/*l68c4/native_array.e*/ R=new9(a2); -/*l69c11/native_array.e*/ r9copy_from(R,C,((int32_t)(a1))-(INT32_C(1))); return R; }/*--*/ @@ -4275,64 +4198,247 @@ return R; /*NATIVE_ARRAY[CHARACTER]*/void r9copy_from(T9 C,T9 a1,T2 a2){ T2 _i=0; _i=a2; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l596c5/native_array.e*/ (C)[_i]=((a1)[_i]); -/*l597c5/native_array.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*NATIVE_ARRAY[CHARACTER]*/T2 r9fast_index_of(T9 C,T3 a1,T2 a2,T2 a3){ -T2 R=0; -R=a2; -while (!((T6)((((int32_t)(R))>(a3))||((T6)((a1)==((C)[R])))))) +/*NATIVE_ARRAY[CHARACTER]*/void r9clear_all(T9 C,T2 a1){ +T3 _v=0; +T2 _i=0; +_i=a1; +while(!(((int32_t)(_i))<(INT32_C(0)))) { -R=((int32_t)(R))+(INT32_C(1)); +(C)[_i]=(_v); +_i=((int32_t)(_i))-(INT32_C(1)); } -return R; }/*--*/ /*NATIVE_ARRAY[CHARACTER]*/void r9copy_at(T9 C,T2 a1,T9 a2,T2 a3){ T2 _at_idx=0; T2 _src_idx=0; -/*l464c5/native_array.e*/ _src_idx=((int32_t)(a3))-(INT32_C(1)); -/*l465c5/native_array.e*/ _at_idx=((int32_t)(a1))+(_src_idx); -while (!(((int32_t)(_src_idx))<(INT32_C(0)))) +while(!(((int32_t)(_src_idx))<(INT32_C(0)))) { -/*l469c5/native_array.e*/ (C)[_at_idx]=((a2)[_src_idx]); -/*l470c5/native_array.e*/ _src_idx=((int32_t)(_src_idx))-(INT32_C(1)); -/*l471c5/native_array.e*/ _at_idx=((int32_t)(_at_idx))-(INT32_C(1)); } }/*--*/ /*NATIVE_ARRAY[CHARACTER]*/T6 r9fast_memcmp(T9 C,T9 a1,T2 a2){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; T2 _i=0; -/*l124c4/native_array.e*/ _i=((int32_t)(a2))-(INT32_C(1)); -while (!((T6)((((int32_t)(_i))<(INT32_C(0)))||((T6)(((C)[_i])!=((a1)[_i])))))) -{ +while(1){ +tmp0/*or else*/=((T6)(((int32_t)(_i))<(INT32_C(0)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(((C)[_i])!=((a1)[_i]))); +} +if(tmp0/*or else*/){ +break; +} _i=((int32_t)(_i))-(INT32_C(1)); } -/*l131c4/native_array.e*/ R=((T6)(((int32_t)(_i))<(INT32_C(0)))); return R; }/*--*/ +/*NATIVE_ARRAY[CHARACTER]*/T2 r9fast_index_of(T9 C,T3 a1,T2 a2,T2 a3){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ +T2 R=0; +R=a2; +while(1){ +tmp0/*or else*/=((T6)(((int32_t)(R))>(a3))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)((a1)==((C)[R]))); +} +if(tmp0/*or else*/){ +break; +} +R=((int32_t)(R))+(INT32_C(1)); +} +return R; +}/*--*/ + +/*NATIVE_ARRAY[CHARACTER]*/T2 r9fast_occurrences(T9 C,T3 a1,T2 a2){ +T2 R=0; +T2 _i=0; +_i=a2; +while(!(((int32_t)(_i))<(INT32_C(0)))) +{ +if((a1)==((C)[_i])){ +R=((int32_t)(R))+(INT32_C(1)); +} +_i=((int32_t)(_i))-(INT32_C(1)); +} +return R; +}/*--*/ + T7*create7from_external(T8 a1){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -tmp0=((T0*)(new7())); -r7from_external(((T7*)tmp0),a1); -return ((T7*)tmp0); +tmp0/*new*/=((T0*)(new7())); +r7from_external(((T7*)tmp0/*new*/),a1); +return ((T7*)tmp0/*new*/); +/*tmp0.unlock*/ +}/*--*/ + +/*STRING*/T6 r7is_equal(T7* C,T0* a1){ +T6 R=0; +if(((/*RF2*/(C)->_count/*3p*/))==((/*RF2*/(((T7*)a1))->_count/*3p*/))){ +R=((T6)(r9fast_memcmp((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(((T7*)a1))->_storage/*3p*/),(/*RF2*/(C)->_count/*3p*/)))); +} +return R; +}/*--*/ + +/*STRING*/T5 r7to_real(T7* C){ +T5 R=0; +T2 _i=0; +T2 _state=0; +T3 _cc=0; +T5 _base=0; +T5 _exp=0; +T5 _multiplier=0; +T6 _negative=0; +T6 _neg_exp=0; +_i=INT32_C(1); +while(!(((int32_t)(_i))>((/*RF2*/(C)->_count/*3p*/)))) +{ +_cc=r7item(C,_i); +/*[inspect*/ +switch(_state){ +case 0: +if(r3is_separator(_cc)){ +} +else{ +if((_cc)==(((T3)'\053'))){ +_state=INT32_C(1); +} +else{ +if((_cc)==(((T3)'\055'))){ +_negative=((T6)(1)); +_state=INT32_C(1); +} +else{ +if(r3is_digit(_cc)){ +_base=/*IC*/(T5)(r3decimal_value(_cc)); +_state=INT32_C(2); +} +else{ +_state=INT32_C(3); +} +} +} +} +break; +case 1: +if(r3is_digit(_cc)){ +_base=/*IC*/(T5)(r3decimal_value(_cc)); +_state=INT32_C(2); +} +else{ +_state=INT32_C(3); +} +break; +case 2: +if(r3is_digit(_cc)){ +_base=((_base)*(/*IC*/(T5)(INT8_C(10))))+(/*IC*/(T5)(r3decimal_value(_cc))); +} +else{ +if((_cc)==(((T3)'\056'))){ +_state=INT32_C(3); +} +else{ +if(r3is_separator(_cc)){ +_state=INT32_C(8); +} +else{ +_state=INT32_C(5); +} +} +} +break; +case 3: +_multiplier=/*0.1*/1e-1; +if(r3is_separator(_cc)){ +_state=INT32_C(8); +} +else{ +_base=(_base)+((_multiplier)*(/*IC*/(T5)(r3decimal_value(_cc)))); +_state=INT32_C(4); +} +break; +case 4: +_multiplier=(_multiplier)*(/*0.1*/1e-1); +if(r3is_digit(_cc)){ +_base=(_base)+((_multiplier)*(/*IC*/(T5)(r3decimal_value(_cc)))); +} +else{ +if(r3is_separator(_cc)){ +_state=INT32_C(8); +} +else{ +_state=INT32_C(5); +} +} +break; +case 5: +if((_cc)==(((T3)'\055'))){ +_neg_exp=((T6)(1)); +_state=INT32_C(6); +} +else{ +if((_cc)==(((T3)'\053'))){ +_state=INT32_C(6); +} +else{ +_exp=/*IC*/(T5)(r3decimal_value(_cc)); +_state=INT32_C(7); +} +} +break; +case 6: +_exp=/*IC*/(T5)(r3decimal_value(_cc)); +_state=INT32_C(7); +break; +case 7: +if(r3is_digit(_cc)){ +_exp=((_exp)*(/*IC*/(T5)(INT8_C(10))))+(/*IC*/(T5)(r3decimal_value(_cc))); +} +else{ +_state=INT32_C(8); +} +break; +default:; +_i=(/*RF2*/(C)->_count/*3p*/); +} +/*inspect]*/ +_i=((int32_t)(_i))+(INT32_C(1)); +} +if(_neg_exp){ +_exp=(/*IC*/(T5)(INT8_C(-1)))*(_exp); +} +if(_negative){ +R=((/*IC*/(T5)(INT8_C(-1)))*(_base))*(pow(/*10.0*/1e1,_exp)); +} +else{ +R=(_base)*(pow(/*10.0*/1e1,_exp)); +} +return R; }/*--*/ /*STRING*/void r7put(T7* C,T3 a1,T2 a2){ @@ -4342,68 +4448,91 @@ return ((T7*)tmp0); /*STRING*/void r7remove_between(T7* C,T2 a1,T2 a2){ T2 _i=0; T2 _len=0; -/*l1606c4/string.e*/ _len=((int32_t)(((int32_t)(a2))-(a1)))+(INT32_C(1)); -/*l1607c4/string.e*/ if(((int32_t)(_len))>(INT32_C(0))){ -/*l1608c5/string.e*/ _i=((int32_t)(a2))+(INT32_C(1)); -while (!(((int32_t)(_i))>((/*RF2*/(C)->_count/*3p*/)))) +while(!(((int32_t)(_i))>((/*RF2*/(C)->_count/*3p*/)))) { -/*l1613c6/string.e*/ -r7put(C,((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))],((int32_t)(_i))-(_len)); -/*l1614c6/string.e*/ +r7put(C,r7item(C,_i),((int32_t)(_i))-(_len)); _i=((int32_t)(_i))+(INT32_C(1)); } -/*l1616c5/string.e*/ /*SFN*/(C->_count/*3p*/)=((int32_t)((/*RF2*/(C)->_count/*3p*/)))-(_len); } }/*--*/ +T0*oBC7string_buffer=(void*)0; +int fBC7string_buffer=0; -/*STRING*/T6 r7is_equal(T7* C,T0* a1){ -T6 R=0; -R=((T6)((T6)((((/*RF2*/(C)->_count/*3p*/))==((/*RF2*/(((T7*)a1))->_count/*3p*/)))&&((T6)(r9fast_memcmp((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(((T7*)a1))->_storage/*3p*/),(/*RF2*/(C)->_count/*3p*/))))))); -return R; +/*STRING*/T0* r7string_buffer(void){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +if(fBC7string_buffer==0){fBC7string_buffer=1;{ +tmp0/*new*/=((T0*)(new7())); +r7make(((T7*)tmp0/*new*/),INT32_C(256)); +oBC7string_buffer=tmp0/*new*/; +/*tmp0.unlock*/ +}} +return oBC7string_buffer; }/*--*/ +T0*oBC7split_buffer=(void*)0; +int fBC7split_buffer=0; -/*STRING*/void r7append(T7* C,T0* a1){ -T2 _s_count=0; -T2 _needed_capacity=0; -/*l1211c4/string.e*/ -_s_count=(/*RF2*/(((T7*)a1))->_count/*3p*/); -/*l1212c4/string.e*/ -_needed_capacity=((int32_t)((/*RF2*/(C)->_count/*3p*/)))+(_s_count); -/*l1213c4/string.e*/ -if(((int32_t)(_needed_capacity))>((/*RF2*/(C)->_capacity/*3p*/))){ -r7ensure_capacity(C,_needed_capacity); -} -/*l1216c12/string.e*/ -r9copy_at((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_count/*3p*/),(/*RF2*/(((T7*)a1))->_storage/*3p*/),_s_count); -/*l1217c4/string.e*/ -/*SFN*/(C->_count/*3p*/)=_needed_capacity; +/*STRING*/T0* r7split_buffer(void){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +if(fBC7split_buffer==0){fBC7split_buffer=1;{ +tmp0/*new*/=((T0*)(new256())); +r256with_capacity(((T256*)tmp0/*new*/),INT32_C(4),INT32_C(1)); +oBC7split_buffer=tmp0/*new*/; +/*tmp0.unlock*/ +}} +return oBC7split_buffer; }/*--*/ /*STRING*/void r7copy(T7* C,T0* a1){ T2 _c=0; -/*l1151c4/string.e*/ _c=(/*RF2*/(((T7*)a1))->_count/*3p*/); -/*l1152c4/string.e*/ if(((int32_t)(_c))>(INT32_C(0))){ -/*l1153c5/string.e*/ if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))<(_c)){ -/*l1154c6/string.e*/ /*SFN*/(C->_storage/*3p*/)=new9(_c); -/*l1155c6/string.e*/ /*SFN*/(C->_capacity/*3p*/)=_c; } -/*l1157c13/string.e*/ r9copy_from((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(((T7*)a1))->_storage/*3p*/),((int32_t)(_c))-(INT32_C(1))); } -/*l1159c4/string.e*/ -/*SFN*/(C->_count/*3p*/)=_c; +/*SFN*/(C->_count/*3p*/)=_c; +}/*--*/ + +/*STRING*/T0* r7split(T7* C){ +T0* R=(void*)0; +if(((int32_t)((/*RF2*/(C)->_count/*3p*/)))>(INT32_C(0))){ +r256clear_count((T256*)(r7split_buffer())); +r7split_in(C,r7split_buffer()); +if((r256is_empty((T256*)(r7split_buffer())))==(0)){ +R=r256twin((T256*)(r7split_buffer())); +} +} +return R; +}/*--*/ + +/*STRING*/void r7append(T7* C,T0* a1){ +T2 _s_count=0; +T2 _needed_capacity=0; +_s_count=(/*RF2*/(((T7*)a1))->_count/*3p*/); +_needed_capacity=((int32_t)((/*RF2*/(C)->_count/*3p*/)))+(_s_count); +if(((int32_t)(_needed_capacity))>((/*RF2*/(C)->_capacity/*3p*/))){ +r7ensure_capacity(C,_needed_capacity); +} +r9copy_at((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_count/*3p*/),(/*RF2*/(((T7*)a1))->_storage/*3p*/),_s_count); +/*SFN*/(C->_count/*3p*/)=_needed_capacity; }/*--*/ /*STRING*/T6 r7is_real(T7* C){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +T6 tmp1; +T6 tmp2; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; T2 _i=0; T2 _state=0; @@ -4414,80 +4543,96 @@ T5 _value=0; T5 _multiplier=0; T6 _negative=0; T6 _neg_exp=0; -/*l758c4/string.e*/ _i=INT32_C(1); -while (!((T6)(((_state)==(INT8_C(9)))||((T6)(((int32_t)(_i))>((/*RF2*/(C)->_count/*3p*/))))))) -{ -/*l765c5/string.e*/ -_cc=((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))]; -/*l766c5/string.e*/ -/*[INSPECT*/ -{int inspect_tmp_1=_state; -switch(inspect_tmp_1){ +while(1){ +tmp0/*or else*/=((T6)((_state)==(INT8_C(9)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(((int32_t)(_i))>((/*RF2*/(C)->_count/*3p*/)))); +} +if(tmp0/*or else*/){ +break; +} +_cc=r7item(C,_i); +/*[inspect*/ +switch(_state){ case 0: if(r3is_separator(_cc)){ } -else if((_cc)==(((T3)'\053'))){ +else{ +if((_cc)==(((T3)'\053'))){ _state=INT32_C(1); } -else if((_cc)==(((T3)'\055'))){ -/*l773c7/string.e*/ +else{ +if((_cc)==(((T3)'\055'))){ _negative=((T6)(1)); -/*l774c7/string.e*/ _state=INT32_C(1); } -else if(r3is_digit(_cc)){ -/*l776c7/string.e*/ +else{ +if(r3is_digit(_cc)){ _base=/*IC*/(T5)(r3decimal_value(_cc)); -/*l777c7/string.e*/ _state=INT32_C(2); } -else if((_cc)==(((T3)'\056'))){ +else{ +if((_cc)==(((T3)'\056'))){ _state=INT32_C(3); } else{ _state=INT32_C(9); } +} +} +} +} break; case 1: if(r3is_digit(_cc)){ -/*l785c7/string.e*/ _base=/*IC*/(T5)(r3decimal_value(_cc)); -/*l786c7/string.e*/ _state=INT32_C(2); } -else if((_cc)==(((T3)'\056'))){ +else{ +if((_cc)==(((T3)'\056'))){ _state=INT32_C(3); } else{ _state=INT32_C(9); } +} break; case 2: if(r3is_digit(_cc)){ _base=((_base)*(/*IC*/(T5)(INT8_C(10))))+(/*IC*/(T5)(r3decimal_value(_cc))); } -else if((_cc)==(((T3)'\056'))){ +else{ +if((_cc)==(((T3)'\056'))){ _state=INT32_C(3); } -else if((T6)(((_cc)==(((T3)'e')))||((T6)((_cc)==(((T3)'E')))))){ +else{ +tmp1/*or else*/=((T6)((_cc)==(((T3)'e')))); +if(tmp1/*or else*/){ +} +else{ +tmp1/*or else*/=((T6)((_cc)==(((T3)'E')))); +} +if(tmp1/*or else*/){ _state=INT32_C(5); } -else if(r3is_separator(_cc)){ +else{ +if(r3is_separator(_cc)){ _state=INT32_C(8); } else{ _state=INT32_C(9); } +} +} +} break; case 3: -/*l805c6/string.e*/ _multiplier=/*0.1*/1e-1; -/*l806c6/string.e*/ if(r3is_digit(_cc)){ -/*l807c7/string.e*/ _base=(_base)+((_multiplier)*(/*IC*/(T5)(r3decimal_value(_cc)))); -/*l808c7/string.e*/ _state=INT32_C(4); } else{ @@ -4495,47 +4640,53 @@ _state=INT32_C(9); } break; case 4: -/*l813c6/string.e*/ _multiplier=(_multiplier)*(/*0.1*/1e-1); -/*l814c6/string.e*/ if(r3is_digit(_cc)){ _base=(_base)+((_multiplier)*(/*IC*/(T5)(r3decimal_value(_cc)))); } -else if(r3is_separator(_cc)){ +else{ +if(r3is_separator(_cc)){ _state=INT32_C(8); } -else if((T6)(((_cc)==(((T3)'e')))||((T6)((_cc)==(((T3)'E')))))){ +else{ +tmp2/*or else*/=((T6)((_cc)==(((T3)'e')))); +if(tmp2/*or else*/){ +} +else{ +tmp2/*or else*/=((T6)((_cc)==(((T3)'E')))); +} +if(tmp2/*or else*/){ _state=INT32_C(5); } else{ _state=INT32_C(9); } +} +} break; case 5: if((_cc)==(((T3)'\055'))){ -/*l825c7/string.e*/ _neg_exp=((T6)(1)); -/*l826c7/string.e*/ _state=INT32_C(6); } -else if((_cc)==(((T3)'\053'))){ +else{ +if((_cc)==(((T3)'\053'))){ _state=INT32_C(6); } -else if(r3is_digit(_cc)){ -/*l830c7/string.e*/ +else{ +if(r3is_digit(_cc)){ _exp=/*IC*/(T5)(r3decimal_value(_cc)); -/*l831c7/string.e*/ _state=INT32_C(7); } else{ _state=INT32_C(9); } +} +} break; case 6: if(r3is_digit(_cc)){ -/*l837c7/string.e*/ _exp=/*IC*/(T5)(r3decimal_value(_cc)); -/*l838c7/string.e*/ _state=INT32_C(7); } else{ @@ -4546,12 +4697,14 @@ case 7: if(r3is_digit(_cc)){ _exp=((_exp)*(/*IC*/(T5)(INT8_C(10))))+(/*IC*/(T5)(r3decimal_value(_cc))); } -else if(r3is_separator(_cc)){ +else{ +if(r3is_separator(_cc)){ _state=INT32_C(8); } else{ _state=INT32_C(9); } +} break; default:; if(r3is_separator(_cc)){ @@ -4560,21 +4713,23 @@ else{ _state=INT32_C(9); } } -}/*INSPECT]*/ -/*l856c5/string.e*/ +/*inspect]*/ _i=((int32_t)(_i))+(INT32_C(1)); } -/*l858c4/string.e*/ -if((T6)(((T6)(((_state)!=(INT8_C(0)))&&((T6)((_state)!=(INT8_C(9))))))&&((T6)((_state)!=(INT8_C(1)))))){ -/*l859c5/string.e*/ +/*auto-unlock tmp1*/tmp1/*and then*/=((T6)((_state)!=(INT8_C(0)))); +if(tmp1/*and then*/){ +tmp1/*and then*/=((T6)((_state)!=(INT8_C(9)))); +} +/*auto-unlock tmp2*/tmp2/*and then*/=((T6)(tmp1/*and then*/)); +if(tmp2/*and then*/){ +tmp2/*and then*/=((T6)((_state)!=(INT8_C(1)))); +} +if(tmp2/*and then*/){ R=((T6)(1)); -/*l860c5/string.e*/ if(_neg_exp){ _exp=(/*IC*/(T5)(INT8_C(-1)))*(_exp); } -/*l863c5/string.e*/ _value=(_base)*(pow(/*10.0*/1e1,_exp)); -/*l864c5/string.e*/ if((_value)>(EIF_MAXIMUM_REAL)){ R=((T6)(0)); } @@ -4585,9 +4740,7 @@ return R; /*STRING*/T2 r7index_of(T7* C,T3 a1,T2 a2){ T2 R=0; if(((int32_t)(a2))<=((/*RF2*/(C)->_count/*3p*/))){ -/*l260c5/string.e*/ R=r9fast_index_of((/*RF2*/(C)->_storage/*3p*/),a1,((int32_t)(a2))-(INT32_C(1)),((int32_t)((/*RF2*/(C)->_count/*3p*/)))-(INT32_C(1))); -/*l261c5/string.e*/ if((R)==((/*RF2*/(C)->_count/*3p*/))){ R=INT32_C(0); } @@ -4598,7 +4751,14 @@ R=((int32_t)(R))+(INT32_C(1)); return R; }/*--*/ +/*STRING*/void r7replace_all(T7* C,T3 a1,T3 a2){ +r9fast_replace_all((/*RF2*/(C)->_storage/*3p*/),a1,a2,((int32_t)((/*RF2*/(C)->_count/*3p*/)))-(INT32_C(1))); +}/*--*/ + /*STRING*/T6 r7is_integer(T7* C){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; T2 _i=0; T2 _state=0; @@ -4606,54 +4766,52 @@ T2 _value=0; T2 _bound=0; T2 _critical_bound=0; T3 _cc=0; -/*l439c4/string.e*/ _i=INT32_C(1); -while (!((T6)(((_state)==(INT8_C(2)))||((T6)(((int32_t)(_i))>((/*RF2*/(C)->_count/*3p*/))))))) -{ -/*l446c5/string.e*/ -_cc=((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))]; -/*l447c5/string.e*/ -/*[INSPECT*/ -{int inspect_tmp_1=_state; -switch(inspect_tmp_1){ +while(1){ +tmp0/*or else*/=((T6)((_state)==(INT8_C(2)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(((int32_t)(_i))>((/*RF2*/(C)->_count/*3p*/)))); +} +if(tmp0/*or else*/){ +break; +} +_cc=r7item(C,_i); +/*[inspect*/ +switch(_state){ case 0: if(r3is_separator(_cc)){ } -else if((_cc)==(((T3)'\053'))){ -/*l452c7/string.e*/ +else{ +if((_cc)==(((T3)'\053'))){ _bound=INT32_C(7); -/*l453c7/string.e*/ _critical_bound=INT32_C(214748364); -/*l454c7/string.e*/ _state=INT32_C(1); } -else if((_cc)==(((T3)'\055'))){ -/*l456c7/string.e*/ +else{ +if((_cc)==(((T3)'\055'))){ _bound=INT32_C(8); -/*l457c7/string.e*/ _critical_bound=INT32_C(214748364); -/*l458c7/string.e*/ _state=INT32_C(1); } -else if(r3is_digit(_cc)){ -/*l460c7/string.e*/ +else{ +if(r3is_digit(_cc)){ _bound=INT32_C(7); -/*l461c7/string.e*/ _critical_bound=INT32_C(214748364); -/*l462c7/string.e*/ _value=/*IC*/(T2)(r3decimal_value(_cc)); -/*l463c7/string.e*/ _state=INT32_C(3); } else{ _state=INT32_C(2); } +} +} +} break; case 1: if(r3is_digit(_cc)){ -/*l469c7/string.e*/ _value=/*IC*/(T2)(r3decimal_value(_cc)); -/*l470c7/string.e*/ _state=INT32_C(3); } else{ @@ -4662,19 +4820,19 @@ _state=INT32_C(2); break; case 3: if(r3is_digit(_cc)){ -/*l476c7/string.e*/ _value=((int32_t)(((int32_t)(INT32_C(10)))*(_value)))+(/*IC*/(T2)(r3decimal_value(_cc))); -/*l477c7/string.e*/ if(((int32_t)(_value))>=(_critical_bound)){ _state=INT32_C(4); } } -else if(r3is_separator(_cc)){ +else{ +if(r3is_separator(_cc)){ _state=INT32_C(5); } else{ _state=INT32_C(2); } +} break; case 4: if(r3is_digit(_cc)){ @@ -4690,12 +4848,14 @@ _state=INT32_C(2); } } } -else if(r3is_separator(_cc)){ +else{ +if(r3is_separator(_cc)){ _state=INT32_C(5); } else{ _state=INT32_C(2); } +} break; default:; if(r3is_separator(_cc)){ @@ -4704,11 +4864,9 @@ else{ _state=INT32_C(2); } } -}/*INSPECT]*/ -/*l507c5/string.e*/ +/*inspect]*/ _i=((int32_t)(_i))+(INT32_C(1)); } -/*l509c4/string.e*/ R=((T6)(((int32_t)(_state))>=(INT32_C(3)))); return R; }/*--*/ @@ -4730,13 +4888,10 @@ return R; }/*--*/ /*STRING*/void r7extend(T7* C,T3 a1){ -/*l1434c4/string.e*/ if(((/*RF2*/(C)->_count/*3p*/))==((/*RF2*/(C)->_capacity/*3p*/))){ r7ensure_capacity(C,((int32_t)((/*RF2*/(C)->_count/*3p*/)))+(INT32_C(1))); } -/*l1437c12/string.e*/ ((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_count/*3p*/)]=(a1); -/*l1438c4/string.e*/ /*SFN*/(C->_count/*3p*/)=((int32_t)((/*RF2*/(C)->_count/*3p*/)))+(INT32_C(1)); }/*--*/ @@ -4744,21 +4899,14 @@ r7ensure_capacity(C,((int32_t)((/*RF2*/(C)->_count/*3p*/)))+(INT32_C(1))); T2 R=0; T2 _i=0; T2 _j=0; -/*l136c4/string.e*/ -/*l137c5/string.e*/ _j=(/*RF2*/(C)->_count/*3p*/); -/*l138c5/string.e*/ _i=INT32_C(1); -while (!(((int32_t)(_j))<=(INT32_C(0)))) +while(!(((int32_t)(_j))<=(INT32_C(0)))) { -/*l142c5/string.e*/ -R=(int32_t)(((uint32_t)((int32_t)(((uint32_t)(/*{INTEGER_32 5}*/INT32_C(5)))*((uint32_t)(R)))))+((uint32_t)(/*IC*/(T2)(T3code(((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))]))))); -/*l143c5/string.e*/ +R=(int32_t)(((uint32_t)((int32_t)(((uint32_t)(/*{INTEGER_32 5}*/INT32_C(5)))*((uint32_t)(R)))))+((uint32_t)(/*IC*/(T2)(T3code(r7item(C,_i)))))); _i=((int32_t)(_i))+(INT32_C(1)); -/*l144c5/string.e*/ _j=((int32_t)(_j))-(INT32_C(1)); } -/*l146c4/string.e*/ if(((int32_t)(R))<(INT32_C(0))){ R=~(R); } @@ -4769,84 +4917,74 @@ return R; /*SFN*/(C->_count/*3p*/)=((int32_t)((/*RF2*/(C)->_count/*3p*/)))-(INT32_C(1)); }/*--*/ +/*STRING*/void r7make(T7* C,T2 a1){ +if(((int32_t)(a1))>(INT32_C(0))){ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))<(a1)){ +/*SFN*/(C->_storage/*3p*/)=new9(a1); +/*SFN*/(C->_capacity/*3p*/)=a1; +} +} +/*SFN*/(C->_count/*3p*/)=INT32_C(0); +}/*--*/ + /*STRING*/void r7add_last(T7* C,T3 a1){ -/*l1434c4/string.e*/ if(((/*RF2*/(C)->_count/*3p*/))==((/*RF2*/(C)->_capacity/*3p*/))){ r7ensure_capacity(C,((int32_t)((/*RF2*/(C)->_count/*3p*/)))+(INT32_C(1))); } -/*l1437c12/string.e*/ ((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_count/*3p*/)]=(a1); -/*l1438c4/string.e*/ /*SFN*/(C->_count/*3p*/)=((int32_t)((/*RF2*/(C)->_count/*3p*/)))+(INT32_C(1)); }/*--*/ /*STRING*/void r7ensure_capacity(T7* C,T2 a1){ T2 _new_capacity=0; if(((NULL!=((void*)((/*RF2*/(C)->_storage/*3p*/)))))==(0)){ -/*l2202c5/string.e*/ _new_capacity=r2max(a1,INT32_C(32)); -/*l2203c5/string.e*/ /*SFN*/(C->_storage/*3p*/)=new9(_new_capacity); -/*l2204c5/string.e*/ /*SFN*/(C->_capacity/*3p*/)=_new_capacity; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))<(a1)){ -/*l2206c5/string.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))<(a1)){ _new_capacity=r2max(a1,(int32_t)(((uint32_t)((/*RF2*/(C)->_capacity/*3p*/)))*((uint32_t)(INT32_C(2))))); -/*l2207c5/string.e*/ /*SFN*/(C->_storage/*3p*/)=r9realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); -/*l2208c5/string.e*/ /*SFN*/(C->_capacity/*3p*/)=_new_capacity; } +} }/*--*/ /*STRING*/void r7from_external_copy(T7* C,T8 a1){ T9 _s=(void*)0; T2 _i=0; -/*l2094c5/string.e*/ _s=a1; -/*l2095c5/string.e*/ /*SFN*/(C->_count/*3p*/)=INT32_C(0); -while (!(((_s)[_i])==(((T3)'\000')))) +while(!(((_s)[_i])==(((T3)'\000')))) { -/*l2099c5/string.e*/ r7add_last(C,(_s)[_i]); -/*l2100c5/string.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } }/*--*/ /*STRING*/void r7from_external(T7* C,T8 a1){ -/*l2068c4/string.e*/ -/*l2069c5/string.e*/ /*SFN*/(C->_storage/*3p*/)=a1; -/*l2070c5/string.e*/ /*SFN*/(C->_count/*3p*/)=INT32_C(0); -while (!((((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_count/*3p*/)])==(((T3)'\000')))) +while(!((((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_count/*3p*/)])==(((T3)'\000')))) { /*SFN*/(C->_count/*3p*/)=((int32_t)((/*RF2*/(C)->_count/*3p*/)))+(INT32_C(1)); } -/*l2076c4/string.e*/ /*SFN*/(C->_capacity/*3p*/)=((int32_t)((/*RF2*/(C)->_count/*3p*/)))+(INT32_C(1)); }/*--*/ /*STRING*/T8 r7to_external(T7* C){ T8 R=(void*)0; -/*l2043c4/string.e*/ if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>((/*RF2*/(C)->_count/*3p*/))){ -/*l2044c5/string.e*/ /*SFN*/(C->_count/*3p*/)=((int32_t)((/*RF2*/(C)->_count/*3p*/)))+(INT32_C(1)); -/*l2045c5/string.e*/ -if((((/*RF2*/(C)->_storage/*3p*/))[((int32_t)((/*RF2*/(C)->_count/*3p*/)))-(INT32_C(1))])!=(((T3)'\000'))){ +if((r7item(C,(/*RF2*/(C)->_count/*3p*/)))!=(((T3)'\000'))){ r7put(C,((T3)'\000'),(/*RF2*/(C)->_count/*3p*/)); } } else{ r7add_last(C,((T3)'\000')); } -/*l2051c4/string.e*/ /*SFN*/(C->_count/*3p*/)=((int32_t)((/*RF2*/(C)->_count/*3p*/)))-(INT32_C(1)); -/*l2052c4/string.e*/ R=((void*)((/*RF2*/(C)->_storage/*3p*/))); return R; }/*--*/ @@ -4856,49 +4994,36 @@ T2 R=0; T2 _i=0; T3 _cc=0; T6 _negative=0; -/*l519c4/string.e*/ _i=INT32_C(1); -while (!((r3is_separator(((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))]))==(0))) +while(!((r3is_separator(r7item(C,_i)))==(0))) { _i=((int32_t)(_i))+(INT32_C(1)); } -/*l528c4/string.e*/ -_cc=((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))]; -/*l529c4/string.e*/ +_cc=r7item(C,_i); _i=((int32_t)(_i))+(INT32_C(1)); -/*l530c4/string.e*/ if((_cc)==(((T3)'\053'))){ -/*l531c5/string.e*/ -_cc=((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))]; -/*l532c5/string.e*/ +_cc=r7item(C,_i); _i=((int32_t)(_i))+(INT32_C(1)); } -else if((_cc)==(((T3)'\055'))){ -/*l534c5/string.e*/ +else{ +if((_cc)==(((T3)'\055'))){ _negative=((T6)(1)); -/*l535c5/string.e*/ -_cc=((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))]; -/*l536c5/string.e*/ +_cc=r7item(C,_i); _i=((int32_t)(_i))+(INT32_C(1)); } -/*l541c4/string.e*/ +} R=/*IC*/(T2)(-(r3value(_cc))); -/*l542c4/string.e*/ -while (!(((int32_t)(_i))>((/*RF2*/(C)->_count/*3p*/)))) +while(!(((int32_t)(_i))>((/*RF2*/(C)->_count/*3p*/)))) { -/*l548c5/string.e*/ -_cc=((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))]; -/*l549c5/string.e*/ +_cc=r7item(C,_i); if(r3is_digit(_cc)){ R=((int32_t)(((int32_t)(INT32_C(10)))*(R)))-(/*IC*/(T2)(r3decimal_value(_cc))); } else{ _i=(/*RF2*/(C)->_count/*3p*/); } -/*l557c5/string.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } -/*l559c4/string.e*/ if(_negative){ } else{ @@ -4918,1089 +5043,970 @@ r7remove_between(C,INT32_C(1),a1); } }/*--*/ -/*STRING*/void r7swap(T7* C,T2 a1,T2 a2){ -T3 _tmp=0; -/*l1345c4/string.e*/ -_tmp=((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(a1))-(INT32_C(1))]; -/*l1346c4/string.e*/ -r7put(C,((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(a2))-(INT32_C(1))],a1); -/*l1347c4/string.e*/ -r7put(C,_tmp,a2); -}/*--*/ - -/*STRING*/T2 r7first_index_of(T7* C,T3 a1){ -T2 R=0; -R=r7index_of(C,a1,INT32_C(1)); -return R; -}/*--*/ - -/*STRING*/T5 r7to_real(T7* C){ -T5 R=0; -T2 _i=0; +/*STRING*/void r7split_in(T7* C,T0* a1){ T2 _state=0; -T3 _cc=0; -T5 _base=0; -T5 _exp=0; -T5 _multiplier=0; -T6 _negative=0; -T6 _neg_exp=0; -/*l889c4/string.e*/ +T2 _i=0; +T3 _c=0; +if(((int32_t)((/*RF2*/(C)->_count/*3p*/)))>(INT32_C(0))){ _i=INT32_C(1); -while (!(((int32_t)(_i))>((/*RF2*/(C)->_count/*3p*/)))) +while(!(((int32_t)(_i))>((/*RF2*/(C)->_count/*3p*/)))) { -/*l896c5/string.e*/ -_cc=((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))]; -/*l897c5/string.e*/ -/*[INSPECT*/ -{int inspect_tmp_1=_state; -switch(inspect_tmp_1){ -case 0: -if(r3is_separator(_cc)){ -} -else if((_cc)==(((T3)'\053'))){ +_c=r7item(C,_i); +if((_state)==(INT8_C(0))){ +if((r3is_separator(_c))==(0)){ +(/*RF2*/((T7*)(r7string_buffer()))->_count/*3p*/)=INT32_C(0); +r7add_last((T7*)(r7string_buffer()),_c); _state=INT32_C(1); } -else if((_cc)==(((T3)'\055'))){ -/*l904c7/string.e*/ -_negative=((T6)(1)); -/*l905c7/string.e*/ -_state=INT32_C(1); -} -else if(r3is_digit(_cc)){ -/*l907c7/string.e*/ -_base=/*IC*/(T5)(r3decimal_value(_cc)); -/*l908c7/string.e*/ -_state=INT32_C(2); -} -else{ -_state=INT32_C(3); -} -break; -case 1: -if(r3is_digit(_cc)){ -/*l915c7/string.e*/ -_base=/*IC*/(T5)(r3decimal_value(_cc)); -/*l916c7/string.e*/ -_state=INT32_C(2); -} -else{ -_state=INT32_C(3); -} -break; -case 2: -if(r3is_digit(_cc)){ -_base=((_base)*(/*IC*/(T5)(INT8_C(10))))+(/*IC*/(T5)(r3decimal_value(_cc))); -} -else if((_cc)==(((T3)'\056'))){ -_state=INT32_C(3); -} -else if(r3is_separator(_cc)){ -_state=INT32_C(8); -} -else{ -_state=INT32_C(5); -} -break; -case 3: -/*l933c6/string.e*/ -_multiplier=/*0.1*/1e-1; -/*l934c6/string.e*/ -if(r3is_separator(_cc)){ -_state=INT32_C(8); -} -else{ -/*l938c7/string.e*/ -_base=(_base)+((_multiplier)*(/*IC*/(T5)(r3decimal_value(_cc)))); -/*l939c7/string.e*/ -_state=INT32_C(4); -} -break; -case 4: -/*l942c6/string.e*/ -_multiplier=(_multiplier)*(/*0.1*/1e-1); -/*l943c6/string.e*/ -if(r3is_digit(_cc)){ -_base=(_base)+((_multiplier)*(/*IC*/(T5)(r3decimal_value(_cc)))); -} -else if(r3is_separator(_cc)){ -_state=INT32_C(8); -} -else{ -_state=INT32_C(5); -} -break; -case 5: -if((_cc)==(((T3)'\055'))){ -/*l953c7/string.e*/ -_neg_exp=((T6)(1)); -/*l954c7/string.e*/ -_state=INT32_C(6); -} -else if((_cc)==(((T3)'\053'))){ -_state=INT32_C(6); } else{ -/*l959c7/string.e*/ -_exp=/*IC*/(T5)(r3decimal_value(_cc)); -/*l960c7/string.e*/ -_state=INT32_C(7); -} -break; -case 6: -/*l964c6/string.e*/ -_exp=/*IC*/(T5)(r3decimal_value(_cc)); -/*l965c6/string.e*/ -_state=INT32_C(7); -break; -case 7: -if(r3is_digit(_cc)){ -_exp=((_exp)*(/*IC*/(T5)(INT8_C(10))))+(/*IC*/(T5)(r3decimal_value(_cc))); +if((r3is_separator(_c))==(0)){ +r7add_last((T7*)(r7string_buffer()),_c); } else{ -_state=INT32_C(8); +r256add_last(((T256*)/*no_dispatch.e*/a1),r7twin((T7*)(r7string_buffer()))); +_state=INT32_C(0); } -break; -default:; -_i=(/*RF2*/(C)->_count/*3p*/); } -}/*INSPECT]*/ -/*l977c5/string.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } -/*l979c4/string.e*/ -if(_neg_exp){ -_exp=(/*IC*/(T5)(INT8_C(-1)))*(_exp); -} -/*l982c4/string.e*/ -if(_negative){ -R=((/*IC*/(T5)(INT8_C(-1)))*(_base))*(pow(/*10.0*/1e1,_exp)); +if((_state)==(INT8_C(1))){ +r256add_last(((T256*)/*no_dispatch.e*/a1),r7twin((T7*)(r7string_buffer()))); } -else{ -R=(_base)*(pow(/*10.0*/1e1,_exp)); } +}/*--*/ + +/*STRING*/void r7swap(T7* C,T2 a1,T2 a2){ +T3 _tmp=0; +_tmp=r7item(C,a1); +r7put(C,r7item(C,a2),a1); +r7put(C,_tmp,a2); +}/*--*/ + +/*STRING*/T3 r7item(T7* C,T2 a1){ +T3 R=0; +R=((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(a1))-(INT32_C(1))]; +return R; +}/*--*/ + +/*STRING*/T2 r7first_index_of(T7* C,T3 a1){ +T2 R=0; +R=r7index_of(C,a1,INT32_C(1)); +return R; +}/*--*/ + +/*STRING*/T2 r7occurrences(T7* C,T3 a1){ +T2 R=0; +R=r9fast_occurrences((/*RF2*/(C)->_storage/*3p*/),a1,((int32_t)((/*RF2*/(C)->_count/*3p*/)))-(INT32_C(1))); return R; }/*--*/ -/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r254make(T254* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r298make(T298* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new290(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new334(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r290clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r334clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r254add_last(T254* C,T0* a1){ +/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r298add_last(T298* C,T0* a1){ T2 _new_capacity=0; -/*l141c4/fast_array.e*/ if(((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1))))<=(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1)))){ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -else if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ -/*l144c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new290(INT32_C(2)); -/*l145c5/fast_array.e*/ +else{ +if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ +/*SFN*/(C->_storage/*3p*/)=new334(INT32_C(2)); /*SFN*/(C->_capacity/*3p*/)=INT32_C(2); -/*l146c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=INT32_C(0); } else{ -/*l148c5/fast_array.e*/ _new_capacity=((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))*(INT32_C(2)); -/*l149c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=r290realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); -/*l150c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=r334realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); /*SFN*/(C->_capacity/*3p*/)=_new_capacity; -/*l151c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -/*l153c12/fast_array.e*/ +} ((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_upper/*3p*/)]=(a1); }/*--*/ -/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r254mark_native_arrays(T254* C){ +/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r298mark_native_arrays(T298* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -if(NULL!=elt)gc_mark202((T202*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +if(NULL!=elt)gc_mark244((T244*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*FAST_ARRAY[JOB]*/void r236remove(T236* C,T2 a1){ -/*l343c12/fast_array.e*/ -r288remove((/*RF2*/(C)->_storage/*3p*/),a1,(/*RF2*/(C)->_upper/*3p*/)); -/*l344c4/fast_array.e*/ +/*FAST_ARRAY[JOB]*/void r280remove(T280* C,T2 a1){ +r332remove((/*RF2*/(C)->_storage/*3p*/),a1,(/*RF2*/(C)->_upper/*3p*/)); /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[JOB]*/void r236make(T236* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[JOB]*/void r280make(T280* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new288(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new332(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r288clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r332clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[JOB]*/void r236add_last(T236* C,T0* a1){ +/*FAST_ARRAY[JOB]*/void r280add_last(T280* C,T0* a1){ T2 _new_capacity=0; -/*l141c4/fast_array.e*/ if(((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1))))<=(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1)))){ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -else if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ -/*l144c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new288(INT32_C(2)); -/*l145c5/fast_array.e*/ +else{ +if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ +/*SFN*/(C->_storage/*3p*/)=new332(INT32_C(2)); /*SFN*/(C->_capacity/*3p*/)=INT32_C(2); -/*l146c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=INT32_C(0); } else{ -/*l148c5/fast_array.e*/ _new_capacity=((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))*(INT32_C(2)); -/*l149c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=r288realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); -/*l150c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=r332realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); /*SFN*/(C->_capacity/*3p*/)=_new_capacity; -/*l151c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -/*l153c12/fast_array.e*/ +} ((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_upper/*3p*/)]=(a1); }/*--*/ -/*FAST_ARRAY[JOB]*/T6 r236is_empty(T236* C){ +/*FAST_ARRAY[JOB]*/T6 r280is_empty(T280* C){ T6 R=0; R=((T6)(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))<(INT32_C(0)))); return R; }/*--*/ -/*FAST_ARRAY[JOB]*/void r236mark_native_arrays(T236* C){ +/*FAST_ARRAY[JOB]*/void r280mark_native_arrays(T280* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -if(NULL!=elt)Xgc_mark71((T0*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +if(NULL!=elt)Xgc_mark72((T0*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*FAST_ARRAY[JOB]*/void r236add(T236* C,T0* a1,T2 a2){ +/*FAST_ARRAY[JOB]*/void r280add(T280* C,T0* a1,T2 a2){ if((a2)==(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)))){ -r236add_last(C,a1); +r280add_last(C,a1); } else{ -/*l53c5/arrayed_collection.e*/ -r236add_last(C,a1); -/*l54c5/arrayed_collection.e*/ -r236move(C,a2,((int32_t)((/*RF2*/(C)->_upper/*3p*/)))-(INT32_C(1)),INT32_C(1)); -/*l122c12/fast_array.e*/ +r280add_last(C,a1); +r280move(C,a2,((int32_t)((/*RF2*/(C)->_upper/*3p*/)))-(INT32_C(1)),INT32_C(1)); ((/*RF2*/(C)->_storage/*3p*/))[a2]=(a1); } }/*--*/ -/*FAST_ARRAY[JOB]*/void r236move(T236* C,T2 a1,T2 a2,T2 a3){ +/*FAST_ARRAY[JOB]*/void r280move(T280* C,T2 a1,T2 a2,T2 a3){ T0* _default_value=(void*)0; T2 _i=0; if((a3)==(INT8_C(0))){ } -else if(((int32_t)(a3))<(INT32_C(0))){ +else{ +if(((int32_t)(a3))<(INT32_C(0))){ _i=a1; -while (!(((int32_t)(_i))>(a2))) +while(!(((int32_t)(_i))>(a2))) { -/*l122c12/fast_array.e*/ ((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))+(a3)]=(((/*RF2*/(C)->_storage/*3p*/))[_i]); -/*l122c12/fast_array.e*/ ((/*RF2*/(C)->_storage/*3p*/))[_i]=(_default_value); -/*l618c6/collection.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } } else{ _i=a2; -while (!(((int32_t)(_i))<(a1))) +while(!(((int32_t)(_i))<(a1))) { -/*l122c12/fast_array.e*/ ((/*RF2*/(C)->_storage/*3p*/))[((int32_t)(_i))+(a3)]=(((/*RF2*/(C)->_storage/*3p*/))[_i]); -/*l122c12/fast_array.e*/ ((/*RF2*/(C)->_storage/*3p*/))[_i]=(_default_value); -/*l628c6/collection.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } } +} }/*--*/ -/*FAST_ARRAY[EVENT_CATCHER]*/void r235make(T235* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[TOPLEVEL_WINDOW]*/void r279make(T279* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new287(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new331(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r287clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r331clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[EVENT_CATCHER]*/void r235mark_native_arrays(T235* C){ +/*FAST_ARRAY[TOPLEVEL_WINDOW]*/void r279mark_native_arrays(T279* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -if(NULL!=elt)gc_mark128((T128*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r232make(T232* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[EVENT_CATCHER]*/void r277make(T277* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new281(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new330(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r281clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r330clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r232mark_native_arrays(T232* C){ +/*FAST_ARRAY[EVENT_CATCHER]*/void r277mark_native_arrays(T277* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -if(NULL!=elt)gc_mark234((T234*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +if(NULL!=elt)gc_mark131((T131*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*FAST_ARRAY[TOPLEVEL_WINDOW]*/void r225make(T225* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r273make(T273* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new262(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new321(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r262clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r321clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[TOPLEVEL_WINDOW]*/void r225mark_native_arrays(T225* C){ +/*FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r273mark_native_arrays(T273* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +if(NULL!=elt)gc_mark275((T275*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*FAST_ARRAY[KEY_RANGE]*/void r223make(T223* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[KEY_RANGE]*/void r266make(T266* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new261(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new305(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r261clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r305clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[KEY_RANGE]*/void r223add_last(T223* C,T0* a1){ +/*FAST_ARRAY[KEY_RANGE]*/void r266add_last(T266* C,T0* a1){ T2 _new_capacity=0; -/*l141c4/fast_array.e*/ if(((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1))))<=(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1)))){ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -else if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ -/*l144c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new261(INT32_C(2)); -/*l145c5/fast_array.e*/ +else{ +if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ +/*SFN*/(C->_storage/*3p*/)=new305(INT32_C(2)); /*SFN*/(C->_capacity/*3p*/)=INT32_C(2); -/*l146c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=INT32_C(0); } else{ -/*l148c5/fast_array.e*/ _new_capacity=((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))*(INT32_C(2)); -/*l149c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=r261realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); -/*l150c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=r305realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); /*SFN*/(C->_capacity/*3p*/)=_new_capacity; -/*l151c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -/*l153c12/fast_array.e*/ +} ((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_upper/*3p*/)]=(a1); }/*--*/ -/*FAST_ARRAY[KEY_RANGE]*/void r223mark_native_arrays(T223* C){ +/*FAST_ARRAY[KEY_RANGE]*/void r266mark_native_arrays(T266* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -if(NULL!=elt)gc_mark139((T139*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +if(NULL!=elt)gc_mark146((T146*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*FAST_ARRAY[BUTTON_RANGE]*/void r222make(T222* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[BUTTON_RANGE]*/void r265make(T265* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new260(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new304(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r260clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r304clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[BUTTON_RANGE]*/void r222add_last(T222* C,T0* a1){ +/*FAST_ARRAY[BUTTON_RANGE]*/void r265add_last(T265* C,T0* a1){ T2 _new_capacity=0; -/*l141c4/fast_array.e*/ if(((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1))))<=(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1)))){ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -else if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ -/*l144c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new260(INT32_C(2)); -/*l145c5/fast_array.e*/ +else{ +if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ +/*SFN*/(C->_storage/*3p*/)=new304(INT32_C(2)); /*SFN*/(C->_capacity/*3p*/)=INT32_C(2); -/*l146c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=INT32_C(0); } else{ -/*l148c5/fast_array.e*/ _new_capacity=((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))*(INT32_C(2)); -/*l149c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=r260realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); -/*l150c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=r304realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); /*SFN*/(C->_capacity/*3p*/)=_new_capacity; -/*l151c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -/*l153c12/fast_array.e*/ +} ((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_upper/*3p*/)]=(a1); }/*--*/ -/*FAST_ARRAY[BUTTON_RANGE]*/void r222mark_native_arrays(T222* C){ +/*FAST_ARRAY[BUTTON_RANGE]*/void r265mark_native_arrays(T265* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -if(NULL!=elt)gc_mark142((T142*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +if(NULL!=elt)gc_mark149((T149*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*FAST_ARRAY[AXES_RANGE]*/void r221make(T221* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[AXES_RANGE]*/void r264make(T264* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new259(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new303(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r259clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r303clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[AXES_RANGE]*/void r221add_last(T221* C,T0* a1){ +/*FAST_ARRAY[AXES_RANGE]*/void r264add_last(T264* C,T0* a1){ T2 _new_capacity=0; -/*l141c4/fast_array.e*/ if(((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1))))<=(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1)))){ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -else if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ -/*l144c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new259(INT32_C(2)); -/*l145c5/fast_array.e*/ +else{ +if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ +/*SFN*/(C->_storage/*3p*/)=new303(INT32_C(2)); /*SFN*/(C->_capacity/*3p*/)=INT32_C(2); -/*l146c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=INT32_C(0); } else{ -/*l148c5/fast_array.e*/ _new_capacity=((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))*(INT32_C(2)); -/*l149c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=r259realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); -/*l150c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=r303realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); /*SFN*/(C->_capacity/*3p*/)=_new_capacity; -/*l151c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -/*l153c12/fast_array.e*/ +} ((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_upper/*3p*/)]=(a1); }/*--*/ -/*FAST_ARRAY[AXES_RANGE]*/void r221mark_native_arrays(T221* C){ +/*FAST_ARRAY[AXES_RANGE]*/void r264mark_native_arrays(T264* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -if(NULL!=elt)gc_mark141((T141*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +if(NULL!=elt)gc_mark148((T148*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r217make(T217* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r261make(T261* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new255(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new299(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r255clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r299clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r217mark_native_arrays(T217* C){ +/*FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r261mark_native_arrays(T261* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -if(NULL!=elt)gc_mark216((T216*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +if(NULL!=elt)gc_mark260((T260*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*FAST_ARRAY[INTEGER_32]*/void r214make(T214* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[INTEGER_32]*/void r258make(T258* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new250(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new294(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r250clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r294clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[INTEGER_32]*/T2 r214count(T214* C){ +/*FAST_ARRAY[INTEGER_32]*/T2 r258count(T258* C){ T2 R=0; R=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); return R; }/*--*/ -/*FAST_ARRAY[IVY_CLIENT]*/void r207copy(T207* C,T0* a1){ +/*ARRAY[STRING]*/void r256put(T256* C,T0* a1,T2 a2){ +((/*RF2*/(C)->_storage/*4p*/))[((int32_t)(a2))-((/*RF2*/(C)->_lower/*4p*/))]=(a1); +}/*--*/ + +/*ARRAY[STRING]*/void r256clear_all(T256* C){ +T0* _value=(void*)0; +r256set_all_with(C,_value); +}/*--*/ + +/*ARRAY[STRING]*/void r256set_all_with(T256* C,T0* a1){ +r267set_all_with((/*RF2*/(C)->_storage/*4p*/),a1,((int32_t)((/*RF2*/(C)->_upper/*4p*/)))-((/*RF2*/(C)->_lower/*4p*/))); +}/*--*/ + +/*ARRAY[STRING]*/void r256copy(T256* C,T0* a1){ +T2 _needed_capacity=0; +/*SFN*/(C->_lower/*4p*/)=(/*RF2*/(((T256*)a1))->_lower/*4p*/); +/*SFN*/(C->_upper/*4p*/)=(/*RF2*/(((T256*)a1))->_upper/*4p*/); +_needed_capacity=((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*4p*/)))-((/*RF2*/(C)->_lower/*4p*/))))+(INT32_C(1)); +if(((int32_t)((/*RF2*/(C)->_capacity/*4p*/)))<(_needed_capacity)){ +/*SFN*/(C->_storage/*4p*/)=new267(_needed_capacity); +/*SFN*/(C->_capacity/*4p*/)=_needed_capacity; +} +if(((int32_t)(_needed_capacity))>(INT32_C(0))){ +r267copy_from((/*RF2*/(C)->_storage/*4p*/),(/*RF2*/(((T256*)a1))->_storage/*4p*/),((int32_t)(_needed_capacity))-(INT32_C(1))); +} +}/*--*/ + +/*ARRAY[STRING]*/T0* r256twin(T256* C){ +T0* R=(void*)0; +R=(void*)new256(); +r256copy(((T256*)R),((T0*)C)); +return R; +}/*--*/ + +/*ARRAY[STRING]*/void r256clear_count(T256* C){ +/*SFN*/(C->_upper/*4p*/)=((int32_t)((/*RF2*/(C)->_lower/*4p*/)))-(INT32_C(1)); +}/*--*/ + +/*ARRAY[STRING]*/void r256remove_last(T256* C){ +/*SFN*/(C->_upper/*4p*/)=((int32_t)((/*RF2*/(C)->_upper/*4p*/)))-(INT32_C(1)); +}/*--*/ + +/*ARRAY[STRING]*/void r256add_last(T256* C,T0* a1){ +T2 _new_capacity=0; +if(((int32_t)((/*RF2*/(C)->_capacity/*4p*/)))<(((int32_t)(r256count(C)))+(INT32_C(1)))){ +if(((/*RF2*/(C)->_capacity/*4p*/))==(INT8_C(0))){ +_new_capacity=INT32_C(16); +/*SFN*/(C->_storage/*4p*/)=new267(_new_capacity); +/*SFN*/(C->_capacity/*4p*/)=_new_capacity; +} +else{ +_new_capacity=((int32_t)((/*RF2*/(C)->_capacity/*4p*/)))*(INT32_C(2)); +/*SFN*/(C->_storage/*4p*/)=r267realloc((/*RF2*/(C)->_storage/*4p*/),(/*RF2*/(C)->_capacity/*4p*/),_new_capacity); +/*SFN*/(C->_capacity/*4p*/)=_new_capacity; +} +} +/*SFN*/(C->_upper/*4p*/)=((int32_t)((/*RF2*/(C)->_upper/*4p*/)))+(INT32_C(1)); +r256put(C,a1,(/*RF2*/(C)->_upper/*4p*/)); +}/*--*/ + +/*ARRAY[STRING]*/void r256with_capacity(T256* C,T2 a1,T2 a2){ +r256ensure_capacity_and_bounds(C,a1,a2,((int32_t)(a2))-(INT32_C(1))); +}/*--*/ + +/*ARRAY[STRING]*/T2 r256count(T256* C){ +T2 R=0; +R=((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*4p*/)))-((/*RF2*/(C)->_lower/*4p*/))))+(INT32_C(1)); +return R; +}/*--*/ + +/*ARRAY[STRING]*/T0* r256last(T256* C){ +T0* R=(void*)0; +R=r256item(C,(/*RF2*/(C)->_upper/*4p*/)); +return R; +}/*--*/ + +/*ARRAY[STRING]*/T6 r256is_empty(T256* C){ +T6 R=0; +R=((T6)(((int32_t)((/*RF2*/(C)->_upper/*4p*/)))<((/*RF2*/(C)->_lower/*4p*/)))); +return R; +}/*--*/ + +/*ARRAY[STRING]*/T0* r256item(T256* C,T2 a1){ +T0* R=(void*)0; +R=((/*RF2*/(C)->_storage/*4p*/))[((int32_t)(a1))-((/*RF2*/(C)->_lower/*4p*/))]; +return R; +}/*--*/ + +/*ARRAY[STRING]*/void r256mark_native_arrays(T256* C){ +T2 _i=0; +_i=((int32_t)(r256count(C)))-(INT32_C(1)); +while(!(((int32_t)(_i))<(INT32_C(0)))) +{ +{/*mark_item*/ +T0* elt=(/*RF2*/(C)->_storage/*4p*/)[_i]; +if(NULL!=elt)gc_mark7((T7*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); +} +}/*--*/ + +/*ARRAY[STRING]*/void r256ensure_capacity_and_bounds(T256* C,T2 a1,T2 a2,T2 a3){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ +T0* _value=(void*)0; +tmp0/*and then*/=((T6)((_value)==((void*)((void*)0)))); +if(tmp0/*and then*/){ +tmp0/*and then*/=((T6)(((int32_t)((/*RF2*/(C)->_capacity/*4p*/)))>(INT32_C(0)))); +} +if(tmp0/*and then*/){ +r256clear_all(C); +} +/*SFN*/(C->_lower/*4p*/)=a2; +/*SFN*/(C->_upper/*4p*/)=a3; +if(((int32_t)(a1))>(INT32_C(0))){ +if(((int32_t)((/*RF2*/(C)->_capacity/*4p*/)))<(a1)){ +/*SFN*/(C->_storage/*4p*/)=new267(a1); +/*SFN*/(C->_capacity/*4p*/)=a1; +} +else{ +/*auto-unlock tmp0*/tmp0/*and then*/=((T6)((_value)!=((void*)((void*)0)))); +if(tmp0/*and then*/){ +tmp0/*and then*/=((T6)(((int32_t)(a3))>=(a2))); +} +if(tmp0/*and then*/){ +r256clear_all(C); +} +} +} +}/*--*/ + +/*FAST_ARRAY[IVY_CLIENT]*/void r249copy(T249* C,T0* a1){ T2 _other_upper=0; T2 _new_capacity=0; -/*l174c4/fast_array.e*/ -_other_upper=(/*RF2*/(((T207*)a1))->_upper/*3p*/); -/*l175c4/fast_array.e*/ +_other_upper=(/*RF2*/(((T249*)a1))->_upper/*3p*/); if(((int32_t)(_other_upper))>=(INT32_C(0))){ -/*l176c5/fast_array.e*/ _new_capacity=((int32_t)(_other_upper))+(INT32_C(1)); -/*l177c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))<(_new_capacity)){ -/*l178c6/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new238(_new_capacity); -/*l179c6/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new282(_new_capacity); /*SFN*/(C->_capacity/*3p*/)=_new_capacity; } -else if(((int32_t)(_new_capacity))<((/*RF2*/(C)->_capacity/*3p*/))){ -r238clear((/*RF2*/(C)->_storage/*3p*/),_new_capacity,((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1))); +else{ +if(((int32_t)(_new_capacity))<((/*RF2*/(C)->_capacity/*3p*/))){ +r282clear((/*RF2*/(C)->_storage/*3p*/),_new_capacity,((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1))); +} +} +r282copy_from((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(((T249*)a1))->_storage/*3p*/),_other_upper); } -/*l183c13/fast_array.e*/ -r238copy_from((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(((T207*)a1))->_storage/*3p*/),_other_upper); +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ +r282clear_all((/*RF2*/(C)->_storage/*3p*/),((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1))); } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -r238clear_all((/*RF2*/(C)->_storage/*3p*/),((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1))); } -/*l187c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=_other_upper; }/*--*/ -/*FAST_ARRAY[IVY_CLIENT]*/void r207remove(T207* C,T2 a1){ -/*l343c12/fast_array.e*/ -r238remove((/*RF2*/(C)->_storage/*3p*/),a1,(/*RF2*/(C)->_upper/*3p*/)); -/*l344c4/fast_array.e*/ +/*FAST_ARRAY[IVY_CLIENT]*/void r249remove(T249* C,T2 a1){ +r282remove((/*RF2*/(C)->_storage/*3p*/),a1,(/*RF2*/(C)->_upper/*3p*/)); /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[IVY_CLIENT]*/void r207make(T207* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[IVY_CLIENT]*/void r249make(T249* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new238(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new282(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r238clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r282clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[IVY_CLIENT]*/void r207add_last(T207* C,T0* a1){ +/*FAST_ARRAY[IVY_CLIENT]*/void r249add_last(T249* C,T0* a1){ T2 _new_capacity=0; -/*l141c4/fast_array.e*/ if(((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1))))<=(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1)))){ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -else if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ -/*l144c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new238(INT32_C(2)); -/*l145c5/fast_array.e*/ +else{ +if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ +/*SFN*/(C->_storage/*3p*/)=new282(INT32_C(2)); /*SFN*/(C->_capacity/*3p*/)=INT32_C(2); -/*l146c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=INT32_C(0); } else{ -/*l148c5/fast_array.e*/ _new_capacity=((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))*(INT32_C(2)); -/*l149c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=r238realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); -/*l150c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=r282realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); /*SFN*/(C->_capacity/*3p*/)=_new_capacity; -/*l151c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -/*l153c12/fast_array.e*/ +} ((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_upper/*3p*/)]=(a1); }/*--*/ -/*FAST_ARRAY[IVY_CLIENT]*/void r207mark_native_arrays(T207* C){ +/*FAST_ARRAY[IVY_CLIENT]*/void r249mark_native_arrays(T249* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -if(NULL!=elt)gc_mark146((T146*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +if(NULL!=elt)gc_mark153((T153*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*FAST_ARRAY[IVY_CLIENT]*/T2 r207fast_index_of(T207* C,T0* a1,T2 a2){ +/*FAST_ARRAY[IVY_CLIENT]*/T2 r249fast_index_of(T249* C,T0* a1,T2 a2){ T2 R=0; if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -R=r238fast_index_of((/*RF2*/(C)->_storage/*3p*/),a1,a2,(/*RF2*/(C)->_upper/*3p*/)); +R=r282fast_index_of((/*RF2*/(C)->_storage/*3p*/),a1,a2,(/*RF2*/(C)->_upper/*3p*/)); } return R; }/*--*/ -/*FAST_ARRAY[LOOP_ITEM]*/void r206remove_last(T206* C){ +/*FAST_ARRAY[LOOP_ITEM]*/void r248remove_last(T248* C){ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[LOOP_ITEM]*/void r206make(T206* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[LOOP_ITEM]*/void r248make(T248* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new237(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new281(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r237clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r281clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} } } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[LOOP_ITEM]*/void r206add_last(T206* C,T0* a1){ +/*FAST_ARRAY[LOOP_ITEM]*/void r248add_last(T248* C,T0* a1){ T2 _new_capacity=0; -/*l141c4/fast_array.e*/ if(((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1))))<=(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1)))){ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -else if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ -/*l144c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new237(INT32_C(2)); -/*l145c5/fast_array.e*/ +else{ +if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ +/*SFN*/(C->_storage/*3p*/)=new281(INT32_C(2)); /*SFN*/(C->_capacity/*3p*/)=INT32_C(2); -/*l146c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=INT32_C(0); } else{ -/*l148c5/fast_array.e*/ _new_capacity=((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))*(INT32_C(2)); -/*l149c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=r237realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); -/*l150c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=r281realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); /*SFN*/(C->_capacity/*3p*/)=_new_capacity; -/*l151c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -/*l153c12/fast_array.e*/ +} ((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_upper/*3p*/)]=(a1); }/*--*/ -/*FAST_ARRAY[LOOP_ITEM]*/T0* r206last(T206* C){ +/*FAST_ARRAY[LOOP_ITEM]*/T0* r248last(T248* C){ T0* R=(void*)0; R=((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_upper/*3p*/)]; return R; }/*--*/ -/*FAST_ARRAY[LOOP_ITEM]*/T6 r206is_empty(T206* C){ +/*FAST_ARRAY[LOOP_ITEM]*/T6 r248is_empty(T248* C){ T6 R=0; R=((T6)(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))<(INT32_C(0)))); return R; }/*--*/ -/*FAST_ARRAY[LOOP_ITEM]*/void r206mark_native_arrays(T206* C){ +/*FAST_ARRAY[LOOP_ITEM]*/void r248mark_native_arrays(T248* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -if(NULL!=elt)gc_mark148((T148*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +if(NULL!=elt)gc_mark155((T155*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*FAST_ARRAY[X_INPUT_DEVICE]*/void r205make(T205* C,T2 a1){ -/*l39c4/fast_array.e*/ +/*FAST_ARRAY[STRING]*/void r247make(T247* C,T2 a1){ if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new220(a1); -/*l42c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new267(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ /*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r220clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +r267clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); } } -/*l50c4/fast_array.e*/ -/*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); -}/*--*/ - -/*FAST_ARRAY[X_INPUT_DEVICE]*/void r205mark_native_arrays(T205* C){ -T2 _i=0; -_i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) -{ -/*l370c5/fast_array.e*/ -{/*mark_item*/ -T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; -if(NULL!=elt)gc_mark67((T67*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); -} -}/*--*/ - -/*FAST_ARRAY[STRING]*/void r204make(T204* C,T2 a1){ -/*l39c4/fast_array.e*/ -if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ -/*l41c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new219(a1); -/*l42c5/fast_array.e*/ -/*SFN*/(C->_capacity/*3p*/)=a1; -} -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ -/*l45c5/fast_array.e*/ -/*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); -/*l46c5/fast_array.e*/ -if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ -r219clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); -} } -/*l50c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); }/*--*/ -/*FAST_ARRAY[STRING]*/void r204add_last(T204* C,T0* a1){ +/*FAST_ARRAY[STRING]*/void r247add_last(T247* C,T0* a1){ T2 _new_capacity=0; -/*l141c4/fast_array.e*/ if(((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1))))<=(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))-(INT32_C(1)))){ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -else if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ -/*l144c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new219(INT32_C(2)); -/*l145c5/fast_array.e*/ +else{ +if(((/*RF2*/(C)->_capacity/*3p*/))==(INT8_C(0))){ +/*SFN*/(C->_storage/*3p*/)=new267(INT32_C(2)); /*SFN*/(C->_capacity/*3p*/)=INT32_C(2); -/*l146c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=INT32_C(0); } else{ -/*l148c5/fast_array.e*/ _new_capacity=((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))*(INT32_C(2)); -/*l149c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=r219realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); -/*l150c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=r267realloc((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_capacity/*3p*/),_new_capacity); /*SFN*/(C->_capacity/*3p*/)=_new_capacity; -/*l151c5/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=((int32_t)((/*RF2*/(C)->_upper/*3p*/)))+(INT32_C(1)); } -/*l153c12/fast_array.e*/ +} ((/*RF2*/(C)->_storage/*3p*/))[(/*RF2*/(C)->_upper/*3p*/)]=(a1); }/*--*/ -/*FAST_ARRAY[STRING]*/void r204with_capacity(T204* C,T2 a1){ -/*l62c4/fast_array.e*/ +/*FAST_ARRAY[STRING]*/void r247with_capacity(T247* C,T2 a1){ if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))<(a1)){ -/*l63c5/fast_array.e*/ -/*SFN*/(C->_storage/*3p*/)=new219(a1); -/*l64c5/fast_array.e*/ +/*SFN*/(C->_storage/*3p*/)=new267(a1); /*SFN*/(C->_capacity/*3p*/)=a1; } -else if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(a1)){ -r219clear((/*RF2*/(C)->_storage/*3p*/),INT32_C(0),(/*RF2*/(C)->_upper/*3p*/)); +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(a1)){ +r267clear((/*RF2*/(C)->_storage/*3p*/),INT32_C(0),(/*RF2*/(C)->_upper/*3p*/)); +} } -/*l68c4/fast_array.e*/ /*SFN*/(C->_upper/*3p*/)=INT32_C(-1); }/*--*/ -/*FAST_ARRAY[STRING]*/void r204mark_native_arrays(T204* C){ +/*FAST_ARRAY[STRING]*/void r247mark_native_arrays(T247* C){ T2 _i=0; _i=(/*RF2*/(C)->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l370c5/fast_array.e*/ {/*mark_item*/ T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; if(NULL!=elt)gc_mark7((T7*)(elt)); -/*mark_item*/}/*l371c5/fast_array.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]*/void r286set_item(T286* C,T0* a1){ -/*SFN*/(C->_item/*ip*/)=a1; +/*FAST_ARRAY[X_INPUT_DEVICE]*/void r246make(T246* C,T2 a1){ +if(((int32_t)(a1))>((/*RF2*/(C)->_capacity/*3p*/))){ +/*SFN*/(C->_storage/*3p*/)=new263(a1); +/*SFN*/(C->_capacity/*3p*/)=a1; +} +else{ +if(((int32_t)((/*RF2*/(C)->_capacity/*3p*/)))>(INT32_C(0))){ +/*SFN*/(C->_upper/*3p*/)=r2max((/*RF2*/(C)->_upper/*3p*/),((int32_t)(a1))-(INT32_C(1))); +if(((int32_t)((/*RF2*/(C)->_upper/*3p*/)))>=(INT32_C(0))){ +r263clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/)); +} +} +} +/*SFN*/(C->_upper/*3p*/)=((int32_t)(a1))-(INT32_C(1)); +}/*--*/ + +/*FAST_ARRAY[X_INPUT_DEVICE]*/void r246mark_native_arrays(T246* C){ +T2 _i=0; +_i=(/*RF2*/(C)->_upper/*3p*/); +while(!(((int32_t)(_i))<(INT32_C(0)))) +{ +{/*mark_item*/ +T0* elt=(/*RF2*/(C)->_storage/*3p*/)[_i]; +if(NULL!=elt)gc_mark68((T68*)(elt)); +/*mark_item*/}_i=((int32_t)(_i))-(INT32_C(1)); +} }/*--*/ -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]*/void r277set_item(T277* C,T0* a1){ +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]*/void r329set_item(T329* C,T0* a1){ /*SFN*/(C->_item/*ip*/)=a1; }/*--*/ -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]*/void r271set_item(T271* C,T0* a1){ +/*HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]*/void r327make(T327* C,T0* a1,T8 a2,T0* a3){ +/*SFN*/(C->_item/*3p*/)=a1; +/*SFN*/(C->_key/*3p*/)=a2; +/*SFN*/(C->_next/*3p*/)=a3; +}/*--*/ + +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]*/void r326set_item(T326* C,T0* a1){ /*SFN*/(C->_item/*ip*/)=a1; }/*--*/ -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]*/void r268set_item(T268* C,T0* a1){ +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]*/void r317set_item(T317* C,T0* a1){ /*SFN*/(C->_item/*ip*/)=a1; }/*--*/ -/*HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]*/void r266make(T266* C,T0* a1,T8 a2,T0* a3){ -/*l38c4/hashed_dictionary_node.e*/ -/*SFN*/(C->_item/*3p*/)=a1; -/*l39c4/hashed_dictionary_node.e*/ -/*SFN*/(C->_key/*3p*/)=a2; -/*l40c4/hashed_dictionary_node.e*/ -/*SFN*/(C->_next/*3p*/)=a3; +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]*/void r311set_item(T311* C,T0* a1){ +/*SFN*/(C->_item/*ip*/)=a1; }/*--*/ -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]*/void r265set_item(T265* C,T0* a1){ +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]*/void r308set_item(T308* C,T0* a1){ /*SFN*/(C->_item/*ip*/)=a1; }/*--*/ -/*HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]*/void r264make(T264* C,T0* a1,T2 a2,T0* a3){ -/*l38c4/hashed_dictionary_node.e*/ +/*HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]*/void r307make(T307* C,T0* a1,T2 a2,T0* a3){ /*SFN*/(C->_item/*3p*/)=a1; -/*l39c4/hashed_dictionary_node.e*/ /*SFN*/(C->_key/*3p*/)=a2; -/*l40c4/hashed_dictionary_node.e*/ /*SFN*/(C->_next/*3p*/)=a3; }/*--*/ -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]*/void r258set_item(T258* C,T0* a1){ +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]*/void r302set_item(T302* C,T0* a1){ /*SFN*/(C->_item/*ip*/)=a1; }/*--*/ -/*HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r256make(T256* C,T0* a1,T0* a2,T0* a3){ -/*l38c4/hashed_dictionary_node.e*/ +/*HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r300make(T300* C,T0* a1,T0* a2,T0* a3){ /*SFN*/(C->_item/*3p*/)=a1; -/*l39c4/hashed_dictionary_node.e*/ /*SFN*/(C->_key/*3p*/)=a2; -/*l40c4/hashed_dictionary_node.e*/ /*SFN*/(C->_next/*3p*/)=a3; }/*--*/ -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]*/void r253set_item(T253* C,T0* a1){ +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]*/void r297set_item(T297* C,T0* a1){ /*SFN*/(C->_item/*ip*/)=a1; }/*--*/ -/*HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]*/void r252make(T252* C,T2 a1,T2 a2,T0* a3){ -/*l38c4/hashed_dictionary_node.e*/ +/*HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]*/void r296make(T296* C,T2 a1,T2 a2,T0* a3){ /*SFN*/(C->_item/*3p*/)=a1; -/*l39c4/hashed_dictionary_node.e*/ /*SFN*/(C->_key/*3p*/)=a2; -/*l40c4/hashed_dictionary_node.e*/ /*SFN*/(C->_next/*3p*/)=a3; }/*--*/ -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[POINTER,STRING]]*/void r249set_item(T249* C,T0* a1){ +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[POINTER,STRING]]*/void r293set_item(T293* C,T0* a1){ /*SFN*/(C->_item/*ip*/)=a1; }/*--*/ -/*HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r246make(T246* C,T0* a1,T0* a2,T0* a3){ -/*l38c4/hashed_dictionary_node.e*/ +/*HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r290make(T290* C,T0* a1,T0* a2,T0* a3){ /*SFN*/(C->_item/*3p*/)=a1; -/*l39c4/hashed_dictionary_node.e*/ /*SFN*/(C->_key/*3p*/)=a2; -/*l40c4/hashed_dictionary_node.e*/ /*SFN*/(C->_next/*3p*/)=a3; }/*--*/ -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]*/void r245set_item(T245* C,T0* a1){ +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]*/void r289set_item(T289* C,T0* a1){ /*SFN*/(C->_item/*ip*/)=a1; }/*--*/ -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r244prime_capacity(T2 a1){ +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0* r288fast_reference_at(T288* C,T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ +T0* R=(void*)0; +T2 _idx=0; +T0* _node=(void*)0; +_idx=((int32_t)(r7hash_code(((T7*)a1))))%((/*RF2*/(C)->_capacity/*5p*/)); +_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; +while(1){ +tmp0/*or else*/=((T6)((_node)==((void*)((void*)0)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(((/*RF2*/(((T290*)_node))->_key/*3p*/))==((void*)(a1)))); +} +if(tmp0/*or else*/){ +break; +} +_node=(/*RF2*/(((T290*)_node))->_next/*3p*/); +} +if((_node)!=((void*)((void*)0))){ +R=(/*RF2*/(((T290*)_node))->_item/*3p*/); +} +return R; +}/*--*/ + +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r288prime_capacity(T2 a1){ T2 R=0; -/*l138c4/hash_table_size.e*/ R=(int32_t)(((uint32_t)(a1))+((uint32_t)(((int32_t)(a1))/(INT32_C(2))))); -/*l139c4/hash_table_size.e*/ if(((int32_t)(R))>(INT32_C(0))){ -R=r244prime_number_ceiling(R); +R=r288prime_number_ceiling(R); } else{ -R=r244prime_number_ceiling(INT32_C(2147483647)); +R=r288prime_number_ceiling(INT32_C(2147483647)); } return R; }/*--*/ -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r244prime_number_ceiling(T2 a1){ +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r288prime_number_ceiling(T2 a1){ T2 R=0; if(((int32_t)(a1))<=(INT32_C(98317))){ if(((int32_t)(a1))<=(INT32_C(769))){ @@ -6008,13 +6014,15 @@ if(((int32_t)(a1))<=(INT32_C(53))){ if(((int32_t)(a1))<=(INT32_C(11))){ R=INT32_C(11); } -else if(((int32_t)(a1))<=(INT32_C(23))){ +else{ +if(((int32_t)(a1))<=(INT32_C(23))){ R=INT32_C(23); } else{ R=INT32_C(53); } } +} else{ if(((int32_t)(a1))<=(INT32_C(193))){ if(((int32_t)(a1))<=(INT32_C(97))){ @@ -6057,7 +6065,8 @@ else{ if(((int32_t)(a1))<=(INT32_C(24593))){ R=INT32_C(24593); } -else if(((int32_t)(a1))<=(INT32_C(49157))){ +else{ +if(((int32_t)(a1))<=(INT32_C(49157))){ R=INT32_C(49157); } else{ @@ -6066,6 +6075,7 @@ R=INT32_C(98317); } } } +} else{ if(((int32_t)(a1))<=(INT32_C(12582917))){ if(((int32_t)(a1))<=(INT32_C(1572869))){ @@ -6090,7 +6100,8 @@ else{ if(((int32_t)(a1))<=(INT32_C(3145739))){ R=INT32_C(3145739); } -else if(((int32_t)(a1))<=(INT32_C(6291469))){ +else{ +if(((int32_t)(a1))<=(INT32_C(6291469))){ R=INT32_C(6291469); } else{ @@ -6098,6 +6109,7 @@ R=INT32_C(12582917); } } } +} else{ if(((int32_t)(a1))<=(INT32_C(201326611))){ if(((int32_t)(a1))<=(INT32_C(50331653))){ @@ -6140,405 +6152,148 @@ R=INT32_C(2147483647); return R; }/*--*/ -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T6 r244should_increase_capacity(T2 a1,T2 a2){ -T6 R=0; -R=((T6)((T6)((((int32_t)(a2))>((int32_t)(((uint32_t)(((int32_t)(a1))/(INT32_C(3))))*((uint32_t)(INT32_C(2))))))&&((T6)(((int32_t)(a1))<(INT32_C(2147483647))))))); -return R; -}/*--*/ - -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0* r244new_node(T244* C,T0* a1,T0* a2,T0* a3){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -T0* R=(void*)0; -/*l519c4/hashed_dictionary.e*/ -R=(/*RF2*/((T245*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/); -/*l520c4/hashed_dictionary.e*/ -if((R)==((void*)((void*)0))){ -tmp0=((T0*)(new246())); -r246make(((T246*)tmp0),a1,a2,a3); -R=tmp0; -} -else{ -/*l29c4/weak_reference.e*/ -(/*RF2*/((T245*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/)=(/*RF2*/(((T246*)R))->_next/*3p*/); -/*l524c12/hashed_dictionary.e*/ -r246make(((T246*)R),a1,a2,a3); -} -return R; -}/*--*/ - -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r244add(T244* C,T0* a1,T0* a2){ -T2 _idx=0; -T0* _node=(void*)0; -/*l193c4/hashed_dictionary.e*/ -/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l194c4/hashed_dictionary.e*/ -if(r244should_increase_capacity((/*RF2*/(C)->_capacity/*5p*/),(/*RF2*/(C)->_count/*5p*/))){ -r244increase_capacity(C); -} -/*l197c4/hashed_dictionary.e*/ -_idx=((int32_t)(r7hash_code(((T7*)a2))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l198c4/hashed_dictionary.e*/ -_node=r244new_node(C,a1,a2,((/*RF2*/(C)->_buckets/*5p*/))[_idx]); -/*l199c12/hashed_dictionary.e*/ -((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node); -/*l200c4/hashed_dictionary.e*/ -/*SFN*/(C->_count/*5p*/)=((int32_t)((/*RF2*/(C)->_count/*5p*/)))+(INT32_C(1)); -}/*--*/ - -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0* r244fast_reference_at(T244* C,T0* a1){ -T0* R=(void*)0; -T2 _idx=0; -T0* _node=(void*)0; -/*l121c4/hashed_dictionary.e*/ -/*l122c5/hashed_dictionary.e*/ -_idx=((int32_t)(r7hash_code(((T7*)a1))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l123c5/hashed_dictionary.e*/ -_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -while (!((T6)(((_node)==((void*)((void*)0)))||((T6)(((/*RF2*/(((T246*)_node))->_key/*3p*/))==((void*)(a1))))))) -{ -_node=(/*RF2*/(((T246*)_node))->_next/*3p*/); -} -/*l129c4/hashed_dictionary.e*/ -if((_node)!=((void*)((void*)0))){ -R=(/*RF2*/(((T246*)_node))->_item/*3p*/); -} -return R; -}/*--*/ - -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r244special_common_dictionary(T244* C,T0* a1){ -T2 _new_capacity=0; -/*l578c4/hashed_dictionary.e*/ -_new_capacity=INT32_C(53); -/*l579c4/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new289(_new_capacity); -/*l580c4/hashed_dictionary.e*/ -/*SFN*/(C->_capacity/*5p*/)=_new_capacity; -/*l581c4/hashed_dictionary.e*/ -/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l582c4/hashed_dictionary.e*/ -/*SFN*/(C->_count/*5p*/)=INT32_C(0); -/*l583c4/hashed_dictionary.e*/ -/*SFN*/(C->_free_nodes/*5p*/)=a1; -}/*--*/ - -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r244increase_capacity(T244* C){ -T2 _i=0; -T2 _idx=0; -T2 _new_capacity=0; -T289 _old_buckets=(void*)0; -T0* _node1=(void*)0; -T0* _node2=(void*)0; -/*l409c4/hashed_dictionary.e*/ -/*l410c5/hashed_dictionary.e*/ -_new_capacity=r244prime_capacity(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+(INT32_C(1))); -/*l411c5/hashed_dictionary.e*/ -_old_buckets=(/*RF2*/(C)->_buckets/*5p*/); -/*l412c5/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new289(_new_capacity); -/*l413c5/hashed_dictionary.e*/ -_i=((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))-(INT32_C(1)); -/*l414c5/hashed_dictionary.e*/ -/*SFN*/(C->_capacity/*5p*/)=_new_capacity; -while (!(((int32_t)(_i))<(INT32_C(0)))) -{ -/*l418c5/hashed_dictionary.e*/ -_node1=(_old_buckets)[_i]; -while (!((_node1)==((void*)((void*)0)))) -{ -/*l423c6/hashed_dictionary.e*/ -_node2=(/*RF2*/(((T246*)_node1))->_next/*3p*/); -/*l424c6/hashed_dictionary.e*/ -_idx=((int32_t)(r7hash_code((T7*)((/*RF2*/(((T246*)_node1))->_key/*3p*/)))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l31c4/hashed_dictionary_node.e*/ -(/*RF2*/(((T246*)_node1))->_next/*3p*/)=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -/*l426c14/hashed_dictionary.e*/ -((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node1); -/*l427c6/hashed_dictionary.e*/ -_node1=_node2; -} -/*l429c5/hashed_dictionary.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); -} -/*l431c4/hashed_dictionary.e*/ -/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -}/*--*/ - -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]*/void r243set_item(T243* C,T0* a1){ -/*SFN*/(C->_item/*ip*/)=a1; -}/*--*/ - -/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/void r234make(T234* C){ -r234create_with_capacity(C,INT32_C(53)); -}/*--*/ -/*l78c40/hashed_dictionary.e*/ -/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T0* r234reference_at(T234* C,T0* a1){ +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T6 r288should_increase_capacity(T2 a1,T2 a2){ /*[INTERNAL_C_LOCAL list*/ -T0* tmp0; +T6 tmp0; /*INTERNAL_C_LOCAL list]*/ -T0* R=(void*)0; -T2 _idx=0; -T0* _node=(void*)0; -/*l74c4/hashed_dictionary.e*/ -/*l75c5/hashed_dictionary.e*/ -_idx=((int32_t)(r72hash_code(((T72*)a1))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l76c5/hashed_dictionary.e*/ -_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -while (!((T6)(((_node)==((void*)((void*)0)))||((T6)(r234key_safe_equal((T0*)(/*se_evobt*/_node,se_print_run_time_stack(),exit(1),tmp0=(void*)0),a1)))))) -{ -_node=(void*)0; -} -/*l82c4/hashed_dictionary.e*/ -if((_node)!=((void*)((void*)0))){ -R=(void*)0; -} -return R; -}/*--*/ - -/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T6 r234key_safe_equal(T0* a1,T0* a2){ -T6 R=0; -if((a1)==((void*)(a2))){ -R=((T6)(1)); -} -else{ -R=((T6)(!memcmp(((T72*)a1),(a2),sizeof(T72)))); +T6 R=0; +tmp0/*and then*/=((T6)(((int32_t)(a2))>((int32_t)(((uint32_t)(((int32_t)(a1))/(INT32_C(3))))*((uint32_t)(INT32_C(2))))))); +if(tmp0/*and then*/){ +tmp0/*and then*/=((T6)(((int32_t)(a1))<(INT32_C(2147483647)))); } +R=((T6)(tmp0/*and then*/)); return R; }/*--*/ -T0*oBC136common_free_nodes=(void*)0; -int fBC136common_free_nodes=0; -/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T0* r234common_free_nodes(void){ +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0* r288new_node(T288* C,T0* a1,T0* a2,T0* a3){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -T0* _fn=(void*)0; -if(fBC136common_free_nodes==0){fBC136common_free_nodes=1;{ -/*l499c4/hashed_dictionary.e*/ -tmp0=((T0*)(new245())); -r245set_item(((T245*)tmp0),(void*)0); -_fn=tmp0; -/*l500c4/hashed_dictionary.e*/ -tmp0=((T0*)(new244())); -r244special_common_dictionary(((T244*)tmp0),_fn); -oBC136common_free_nodes=tmp0; -/*l501c11/hashed_dictionary.e*/ -r244add(((T244*)oBC136common_free_nodes),_fn,(T0*)(t[244])); -}} -return oBC136common_free_nodes; +T0* R=(void*)0; +R=(/*RF2*/((T289*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/); +if((R)==((void*)((void*)0))){ +tmp0/*new*/=((T0*)(new290())); +r290make(((T290*)tmp0/*new*/),a1,a2,a3); +R=tmp0/*new*/; +/*tmp0.unlock*/ +} +else{ +(/*RF2*/((T289*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/)=(/*RF2*/(((T290*)R))->_next/*3p*/); +r290make(((T290*)R),a1,a2,a3); +} +return R; }/*--*/ -/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/void r234create_with_capacity(T234* C,T2 a1){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -/*l532c4/hashed_dictionary.e*/ -/*SFN*/(C->_free_nodes/*5p*/)=r244fast_reference_at((T244*)(r234common_free_nodes()),(T0*)(t[234])); -/*l533c4/hashed_dictionary.e*/ -if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ -/*l534c5/hashed_dictionary.e*/ -tmp0=((T0*)(new286())); -r286set_item(((T286*)tmp0),(void*)0); -/*SFN*/(C->_free_nodes/*5p*/)=tmp0; -/*l535c23/hashed_dictionary.e*/ -r244add((T244*)(r234common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[234])); -} -/*l537c4/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new284(a1); -/*l538c4/hashed_dictionary.e*/ -/*SFN*/(C->_capacity/*5p*/)=a1; -/*l539c4/hashed_dictionary.e*/ +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r288special_common_dictionary(T288* C,T0* a1){ +T2 _new_capacity=0; +_new_capacity=INT32_C(53); +/*SFN*/(C->_buckets/*5p*/)=new333(_new_capacity); +/*SFN*/(C->_capacity/*5p*/)=_new_capacity; /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l540c4/hashed_dictionary.e*/ /*SFN*/(C->_count/*5p*/)=INT32_C(0); +/*SFN*/(C->_free_nodes/*5p*/)=a1; }/*--*/ -/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/void r230make(T230* C){ -r230create_with_capacity(C,INT32_C(53)); -}/*--*/ -/*l78c40/hashed_dictionary.e*/ -/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r230reference_at(T230* C,T0* a1){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -T0* R=(void*)0; +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r288increase_capacity(T288* C){ +T2 _i=0; T2 _idx=0; -T0* _node=(void*)0; -/*l74c4/hashed_dictionary.e*/ -/*l75c5/hashed_dictionary.e*/ -_idx=((int32_t)(r72hash_code(((T72*)a1))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l76c5/hashed_dictionary.e*/ -_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -while (!((T6)(((_node)==((void*)((void*)0)))||((T6)(r230key_safe_equal((T0*)(/*se_evobt*/_node,se_print_run_time_stack(),exit(1),tmp0=(void*)0),a1)))))) +T2 _new_capacity=0; +T333 _old_buckets=(void*)0; +T0* _node1=(void*)0; +T0* _node2=(void*)0; +_new_capacity=r288prime_capacity(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+(INT32_C(1))); +_old_buckets=(/*RF2*/(C)->_buckets/*5p*/); +/*SFN*/(C->_buckets/*5p*/)=new333(_new_capacity); +_i=((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))-(INT32_C(1)); +/*SFN*/(C->_capacity/*5p*/)=_new_capacity; +while(!(((int32_t)(_i))<(INT32_C(0)))) { -_node=(void*)0; +_node1=(_old_buckets)[_i]; +while(!((_node1)==((void*)((void*)0)))) +{ +_node2=(/*RF2*/(((T290*)_node1))->_next/*3p*/); +_idx=((int32_t)(r7hash_code((T7*)((/*RF2*/(((T290*)_node1))->_key/*3p*/)))))%((/*RF2*/(C)->_capacity/*5p*/)); +(/*RF2*/(((T290*)_node1))->_next/*3p*/)=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; +((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node1); +_node1=_node2; } -/*l82c4/hashed_dictionary.e*/ -if((_node)!=((void*)((void*)0))){ -R=(void*)0; +_i=((int32_t)(_i))-(INT32_C(1)); } -return R; +/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); }/*--*/ -/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T6 r230key_safe_equal(T0* a1,T0* a2){ -T6 R=0; -if((a1)==((void*)(a2))){ -R=((T6)(1)); -} -else{ -R=((T6)(!memcmp(((T72*)a1),(a2),sizeof(T72)))); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r288add(T288* C,T0* a1,T0* a2){ +T2 _idx=0; +T0* _node=(void*)0; +/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); +if(r288should_increase_capacity((/*RF2*/(C)->_capacity/*5p*/),(/*RF2*/(C)->_count/*5p*/))){ +r288increase_capacity(C); } -return R; -}/*--*/ - -/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r230common_free_nodes(void){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -T0* _fn=(void*)0; -if(fBC136common_free_nodes==0){fBC136common_free_nodes=1;{ -/*l499c4/hashed_dictionary.e*/ -tmp0=((T0*)(new245())); -r245set_item(((T245*)tmp0),(void*)0); -_fn=tmp0; -/*l500c4/hashed_dictionary.e*/ -tmp0=((T0*)(new244())); -r244special_common_dictionary(((T244*)tmp0),_fn); -oBC136common_free_nodes=tmp0; -/*l501c11/hashed_dictionary.e*/ -r244add(((T244*)oBC136common_free_nodes),_fn,(T0*)(t[244])); -}} -return oBC136common_free_nodes; +_idx=((int32_t)(r7hash_code(((T7*)a2))))%((/*RF2*/(C)->_capacity/*5p*/)); +_node=r288new_node(C,a1,a2,((/*RF2*/(C)->_buckets/*5p*/))[_idx]); +((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node); +/*SFN*/(C->_count/*5p*/)=((int32_t)((/*RF2*/(C)->_count/*5p*/)))+(INT32_C(1)); }/*--*/ -/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/void r230create_with_capacity(T230* C,T2 a1){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -/*l532c4/hashed_dictionary.e*/ -/*SFN*/(C->_free_nodes/*5p*/)=r244fast_reference_at((T244*)(r230common_free_nodes()),(T0*)(t[230])); -/*l533c4/hashed_dictionary.e*/ -if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ -/*l534c5/hashed_dictionary.e*/ -tmp0=((T0*)(new277())); -r277set_item(((T277*)tmp0),(void*)0); -/*SFN*/(C->_free_nodes/*5p*/)=tmp0; -/*l535c23/hashed_dictionary.e*/ -r244add((T244*)(r230common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[230])); -} -/*l537c4/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new276(a1); -/*l538c4/hashed_dictionary.e*/ -/*SFN*/(C->_capacity/*5p*/)=a1; -/*l539c4/hashed_dictionary.e*/ -/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l540c4/hashed_dictionary.e*/ -/*SFN*/(C->_count/*5p*/)=INT32_C(0); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]*/void r287set_item(T287* C,T0* a1){ +/*SFN*/(C->_item/*ip*/)=a1; }/*--*/ -/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/void r228make(T228* C){ -r228create_with_capacity(C,INT32_C(53)); -}/*--*/ -/*l78c40/hashed_dictionary.e*/ -/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r228reference_at(T228* C,T0* a1){ +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r276reference_at(T276* C,T8 a1){ /*[INTERNAL_C_LOCAL list*/ -T0* tmp0; +T6 tmp0; /*INTERNAL_C_LOCAL list]*/ T0* R=(void*)0; T2 _idx=0; T0* _node=(void*)0; -/*l74c4/hashed_dictionary.e*/ -/*l75c5/hashed_dictionary.e*/ -_idx=((int32_t)(r72hash_code(((T72*)a1))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l76c5/hashed_dictionary.e*/ +_idx=((int32_t)(r8hash_code(a1)))%((/*RF2*/(C)->_capacity/*5p*/)); _node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -while (!((T6)(((_node)==((void*)((void*)0)))||((T6)(r228key_safe_equal((T0*)(/*se_evobt*/_node,se_print_run_time_stack(),exit(1),tmp0=(void*)0),a1)))))) -{ -_node=(void*)0; +while(1){ +tmp0/*or else*/=((T6)((_node)==((void*)((void*)0)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(r276key_safe_equal((/*RF2*/(((T327*)_node))->_key/*3p*/),a1))); +} +if(tmp0/*or else*/){ +break; +} +_node=(/*RF2*/(((T327*)_node))->_next/*3p*/); } -/*l82c4/hashed_dictionary.e*/ if((_node)!=((void*)((void*)0))){ -R=(void*)0; +R=(/*RF2*/(((T327*)_node))->_item/*3p*/); } return R; }/*--*/ -/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T6 r228key_safe_equal(T0* a1,T0* a2){ +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T6 r276key_safe_equal(T8 a1,T8 a2){ T6 R=0; -if((a1)==((void*)(a2))){ +if((a1)==(a2)){ R=((T6)(1)); } else{ -R=((T6)(!memcmp(((T72*)a1),(a2),sizeof(T72)))); +R=((T6)((a1)==(a2))); } return R; }/*--*/ -/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r228common_free_nodes(void){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -T0* _fn=(void*)0; -if(fBC136common_free_nodes==0){fBC136common_free_nodes=1;{ -/*l499c4/hashed_dictionary.e*/ -tmp0=((T0*)(new245())); -r245set_item(((T245*)tmp0),(void*)0); -_fn=tmp0; -/*l500c4/hashed_dictionary.e*/ -tmp0=((T0*)(new244())); -r244special_common_dictionary(((T244*)tmp0),_fn); -oBC136common_free_nodes=tmp0; -/*l501c11/hashed_dictionary.e*/ -r244add(((T244*)oBC136common_free_nodes),_fn,(T0*)(t[244])); -}} -return oBC136common_free_nodes; -}/*--*/ - -/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/void r228create_with_capacity(T228* C,T2 a1){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -/*l532c4/hashed_dictionary.e*/ -/*SFN*/(C->_free_nodes/*5p*/)=r244fast_reference_at((T244*)(r228common_free_nodes()),(T0*)(t[228])); -/*l533c4/hashed_dictionary.e*/ -if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ -/*l534c5/hashed_dictionary.e*/ -tmp0=((T0*)(new271())); -r271set_item(((T271*)tmp0),(void*)0); -/*SFN*/(C->_free_nodes/*5p*/)=tmp0; -/*l535c23/hashed_dictionary.e*/ -r244add((T244*)(r228common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[228])); -} -/*l537c4/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new270(a1); -/*l538c4/hashed_dictionary.e*/ -/*SFN*/(C->_capacity/*5p*/)=a1; -/*l539c4/hashed_dictionary.e*/ -/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l540c4/hashed_dictionary.e*/ -/*SFN*/(C->_count/*5p*/)=INT32_C(0); -}/*--*/ - -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227make(T227* C){ -r227create_with_capacity(C,INT32_C(53)); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r276make(T276* C){ +r276create_with_capacity(C,INT32_C(53)); }/*--*/ -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T2 r227prime_capacity(T2 a1){ +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T2 r276prime_capacity(T2 a1){ T2 R=0; -/*l138c4/hash_table_size.e*/ R=(int32_t)(((uint32_t)(a1))+((uint32_t)(((int32_t)(a1))/(INT32_C(2))))); -/*l139c4/hash_table_size.e*/ if(((int32_t)(R))>(INT32_C(0))){ -R=r227prime_number_ceiling(R); +R=r276prime_number_ceiling(R); } else{ -R=r227prime_number_ceiling(INT32_C(2147483647)); +R=r276prime_number_ceiling(INT32_C(2147483647)); } return R; }/*--*/ -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T2 r227prime_number_ceiling(T2 a1){ +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T2 r276prime_number_ceiling(T2 a1){ T2 R=0; if(((int32_t)(a1))<=(INT32_C(98317))){ if(((int32_t)(a1))<=(INT32_C(769))){ @@ -6546,13 +6301,15 @@ if(((int32_t)(a1))<=(INT32_C(53))){ if(((int32_t)(a1))<=(INT32_C(11))){ R=INT32_C(11); } -else if(((int32_t)(a1))<=(INT32_C(23))){ +else{ +if(((int32_t)(a1))<=(INT32_C(23))){ R=INT32_C(23); } else{ R=INT32_C(53); } } +} else{ if(((int32_t)(a1))<=(INT32_C(193))){ if(((int32_t)(a1))<=(INT32_C(97))){ @@ -6595,7 +6352,8 @@ else{ if(((int32_t)(a1))<=(INT32_C(24593))){ R=INT32_C(24593); } -else if(((int32_t)(a1))<=(INT32_C(49157))){ +else{ +if(((int32_t)(a1))<=(INT32_C(49157))){ R=INT32_C(49157); } else{ @@ -6604,6 +6362,7 @@ R=INT32_C(98317); } } } +} else{ if(((int32_t)(a1))<=(INT32_C(12582917))){ if(((int32_t)(a1))<=(INT32_C(1572869))){ @@ -6628,7 +6387,8 @@ else{ if(((int32_t)(a1))<=(INT32_C(3145739))){ R=INT32_C(3145739); } -else if(((int32_t)(a1))<=(INT32_C(6291469))){ +else{ +if(((int32_t)(a1))<=(INT32_C(6291469))){ R=INT32_C(6291469); } else{ @@ -6636,6 +6396,7 @@ R=INT32_C(12582917); } } } +} else{ if(((int32_t)(a1))<=(INT32_C(201326611))){ if(((int32_t)(a1))<=(INT32_C(50331653))){ @@ -6678,228 +6439,360 @@ R=INT32_C(2147483647); return R; }/*--*/ -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T6 r227should_increase_capacity(T2 a1,T2 a2){ -T6 R=0; -R=((T6)((T6)((((int32_t)(a2))>((int32_t)(((uint32_t)(((int32_t)(a1))/(INT32_C(3))))*((uint32_t)(INT32_C(2))))))&&((T6)(((int32_t)(a1))<(INT32_C(2147483647))))))); -return R; -}/*--*/ - -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r227reference_at(T227* C,T8 a1){ -T0* R=(void*)0; -T2 _idx=0; -T0* _node=(void*)0; -/*l74c4/hashed_dictionary.e*/ -/*l75c5/hashed_dictionary.e*/ -_idx=((int32_t)(r8hash_code(a1)))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l76c5/hashed_dictionary.e*/ -_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -while (!((T6)(((_node)==((void*)((void*)0)))||((T6)(r227key_safe_equal((/*RF2*/(((T266*)_node))->_key/*3p*/),a1)))))) -{ -_node=(/*RF2*/(((T266*)_node))->_next/*3p*/); -} -/*l82c4/hashed_dictionary.e*/ -if((_node)!=((void*)((void*)0))){ -R=(/*RF2*/(((T266*)_node))->_item/*3p*/); -} -return R; -}/*--*/ - -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T6 r227key_safe_equal(T8 a1,T8 a2){ +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T6 r276should_increase_capacity(T2 a1,T2 a2){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; -if((a1)==(a2)){ -R=((T6)(1)); -} -else{ -R=((T6)((a1)==(a2))); +tmp0/*and then*/=((T6)(((int32_t)(a2))>((int32_t)(((uint32_t)(((int32_t)(a1))/(INT32_C(3))))*((uint32_t)(INT32_C(2))))))); +if(tmp0/*and then*/){ +tmp0/*and then*/=((T6)(((int32_t)(a1))<(INT32_C(2147483647)))); } +R=((T6)(tmp0/*and then*/)); return R; }/*--*/ +T0*oBC143common_free_nodes=(void*)0; +int fBC143common_free_nodes=0; -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r227common_free_nodes(void){ +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r276common_free_nodes(void){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* _fn=(void*)0; -if(fBC136common_free_nodes==0){fBC136common_free_nodes=1;{ -/*l499c4/hashed_dictionary.e*/ -tmp0=((T0*)(new245())); -r245set_item(((T245*)tmp0),(void*)0); -_fn=tmp0; -/*l500c4/hashed_dictionary.e*/ -tmp0=((T0*)(new244())); -r244special_common_dictionary(((T244*)tmp0),_fn); -oBC136common_free_nodes=tmp0; -/*l501c11/hashed_dictionary.e*/ -r244add(((T244*)oBC136common_free_nodes),_fn,(T0*)(t[244])); +if(fBC143common_free_nodes==0){fBC143common_free_nodes=1;{ +tmp0/*new*/=((T0*)(new289())); +r289set_item(((T289*)tmp0/*new*/),(void*)0); +_fn=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new288())); +r288special_common_dictionary(((T288*)tmp0/*new*/),_fn); +oBC143common_free_nodes=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/oBC143common_free_nodes),_fn,(T0*)(t[288])); }} -return oBC136common_free_nodes; +return oBC143common_free_nodes; }/*--*/ -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r227new_node(T227* C,T0* a1,T8 a2,T0* a3){ +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r276new_node(T276* C,T0* a1,T8 a2,T0* a3){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* R=(void*)0; -/*l519c4/hashed_dictionary.e*/ -R=(/*RF2*/((T268*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/); -/*l520c4/hashed_dictionary.e*/ +R=(/*RF2*/((T329*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/); if((R)==((void*)((void*)0))){ -tmp0=((T0*)(new266())); -r266make(((T266*)tmp0),a1,a2,a3); -R=tmp0; +tmp0/*new*/=((T0*)(new327())); +r327make(((T327*)tmp0/*new*/),a1,a2,a3); +R=tmp0/*new*/; +/*tmp0.unlock*/ } else{ -/*l29c4/weak_reference.e*/ -(/*RF2*/((T268*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/)=(/*RF2*/(((T266*)R))->_next/*3p*/); -/*l524c12/hashed_dictionary.e*/ -r266make(((T266*)R),a1,a2,a3); +(/*RF2*/((T329*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/)=(/*RF2*/(((T327*)R))->_next/*3p*/); +r327make(((T327*)R),a1,a2,a3); } return R; }/*--*/ -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227add(T227* C,T0* a1,T8 a2){ -T2 _idx=0; -T0* _node=(void*)0; -/*l193c4/hashed_dictionary.e*/ -/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l194c4/hashed_dictionary.e*/ -if(r227should_increase_capacity((/*RF2*/(C)->_capacity/*5p*/),(/*RF2*/(C)->_count/*5p*/))){ -r227increase_capacity(C); -} -/*l197c4/hashed_dictionary.e*/ -_idx=((int32_t)(r8hash_code(a2)))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l198c4/hashed_dictionary.e*/ -_node=r227new_node(C,a1,a2,((/*RF2*/(C)->_buckets/*5p*/))[_idx]); -/*l199c12/hashed_dictionary.e*/ -((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node); -/*l200c4/hashed_dictionary.e*/ -/*SFN*/(C->_count/*5p*/)=((int32_t)((/*RF2*/(C)->_count/*5p*/)))+(INT32_C(1)); -}/*--*/ - -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227create_with_capacity(T227* C,T2 a1){ +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r276create_with_capacity(T276* C,T2 a1){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -/*l532c4/hashed_dictionary.e*/ -/*SFN*/(C->_free_nodes/*5p*/)=r244fast_reference_at((T244*)(r227common_free_nodes()),(T0*)(t[227])); -/*l533c4/hashed_dictionary.e*/ +/*SFN*/(C->_free_nodes/*5p*/)=r288fast_reference_at(((T288*)/*no_dispatch.e*/r276common_free_nodes()),(T0*)(t[276])); if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ -/*l534c5/hashed_dictionary.e*/ -tmp0=((T0*)(new268())); -r268set_item(((T268*)tmp0),(void*)0); -/*SFN*/(C->_free_nodes/*5p*/)=tmp0; -/*l535c23/hashed_dictionary.e*/ -r244add((T244*)(r227common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[227])); -} -/*l537c4/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new267(a1); -/*l538c4/hashed_dictionary.e*/ +tmp0/*new*/=((T0*)(new329())); +r329set_item(((T329*)tmp0/*new*/),(void*)0); +/*SFN*/(C->_free_nodes/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/r276common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[276])); +} +/*SFN*/(C->_buckets/*5p*/)=new328(a1); /*SFN*/(C->_capacity/*5p*/)=a1; -/*l539c4/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l540c4/hashed_dictionary.e*/ /*SFN*/(C->_count/*5p*/)=INT32_C(0); }/*--*/ -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227increase_capacity(T227* C){ +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r276increase_capacity(T276* C){ T2 _i=0; T2 _idx=0; T2 _new_capacity=0; -T267 _old_buckets=(void*)0; +T328 _old_buckets=(void*)0; T0* _node1=(void*)0; T0* _node2=(void*)0; -/*l409c4/hashed_dictionary.e*/ -/*l410c5/hashed_dictionary.e*/ -_new_capacity=r227prime_capacity(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+(INT32_C(1))); -/*l411c5/hashed_dictionary.e*/ +_new_capacity=r276prime_capacity(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+(INT32_C(1))); _old_buckets=(/*RF2*/(C)->_buckets/*5p*/); -/*l412c5/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new267(_new_capacity); -/*l413c5/hashed_dictionary.e*/ +/*SFN*/(C->_buckets/*5p*/)=new328(_new_capacity); _i=((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))-(INT32_C(1)); -/*l414c5/hashed_dictionary.e*/ /*SFN*/(C->_capacity/*5p*/)=_new_capacity; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l418c5/hashed_dictionary.e*/ _node1=(_old_buckets)[_i]; -while (!((_node1)==((void*)((void*)0)))) +while(!((_node1)==((void*)((void*)0)))) { -/*l423c6/hashed_dictionary.e*/ -_node2=(/*RF2*/(((T266*)_node1))->_next/*3p*/); -/*l424c6/hashed_dictionary.e*/ -_idx=((int32_t)(r8hash_code((/*RF2*/(((T266*)_node1))->_key/*3p*/))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l31c4/hashed_dictionary_node.e*/ -(/*RF2*/(((T266*)_node1))->_next/*3p*/)=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -/*l426c14/hashed_dictionary.e*/ +_node2=(/*RF2*/(((T327*)_node1))->_next/*3p*/); +_idx=((int32_t)(r8hash_code((/*RF2*/(((T327*)_node1))->_key/*3p*/))))%((/*RF2*/(C)->_capacity/*5p*/)); +(/*RF2*/(((T327*)_node1))->_next/*3p*/)=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; ((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node1); -/*l427c6/hashed_dictionary.e*/ _node1=_node2; } -/*l429c5/hashed_dictionary.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } -/*l431c4/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); }/*--*/ -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226put(T226* C,T0* a1,T2 a2){ +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r276add(T276* C,T0* a1,T8 a2){ +T2 _idx=0; +T0* _node=(void*)0; +/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); +if(r276should_increase_capacity((/*RF2*/(C)->_capacity/*5p*/),(/*RF2*/(C)->_count/*5p*/))){ +r276increase_capacity(C); +} +_idx=((int32_t)(r8hash_code(a2)))%((/*RF2*/(C)->_capacity/*5p*/)); +_node=r276new_node(C,a1,a2,((/*RF2*/(C)->_buckets/*5p*/))[_idx]); +((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node); +/*SFN*/(C->_count/*5p*/)=((int32_t)((/*RF2*/(C)->_count/*5p*/)))+(INT32_C(1)); +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T0* r275reference_at(T275* C,T0* a1){ +T0* R=(void*)0; +T2 _idx=0; +T0* _node=(void*)0; +_idx=((int32_t)(r73hash_code(((T73*)/*no_dispatch.e*/a1))))%((/*RF2*/(C)->_capacity/*5p*/)); +_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; +return R; +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/void r275make(T275* C){ +r275create_with_capacity(C,INT32_C(53)); +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T0* r275common_free_nodes(void){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +T0* _fn=(void*)0; +if(fBC143common_free_nodes==0){fBC143common_free_nodes=1;{ +tmp0/*new*/=((T0*)(new289())); +r289set_item(((T289*)tmp0/*new*/),(void*)0); +_fn=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new288())); +r288special_common_dictionary(((T288*)tmp0/*new*/),_fn); +oBC143common_free_nodes=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/oBC143common_free_nodes),_fn,(T0*)(t[288])); +}} +return oBC143common_free_nodes; +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/void r275create_with_capacity(T275* C,T2 a1){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +/*SFN*/(C->_free_nodes/*5p*/)=r288fast_reference_at(((T288*)/*no_dispatch.e*/r275common_free_nodes()),(T0*)(t[275])); +if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ +tmp0/*new*/=((T0*)(new326())); +r326set_item(((T326*)tmp0/*new*/),(void*)0); +/*SFN*/(C->_free_nodes/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/r275common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[275])); +} +/*SFN*/(C->_buckets/*5p*/)=new324(a1); +/*SFN*/(C->_capacity/*5p*/)=a1; +/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); +/*SFN*/(C->_count/*5p*/)=INT32_C(0); +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r271reference_at(T271* C,T0* a1){ +T0* R=(void*)0; +T2 _idx=0; +T0* _node=(void*)0; +_idx=((int32_t)(r73hash_code(((T73*)/*no_dispatch.e*/a1))))%((/*RF2*/(C)->_capacity/*5p*/)); +_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; +return R; +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/void r271make(T271* C){ +r271create_with_capacity(C,INT32_C(53)); +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r271common_free_nodes(void){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +T0* _fn=(void*)0; +if(fBC143common_free_nodes==0){fBC143common_free_nodes=1;{ +tmp0/*new*/=((T0*)(new289())); +r289set_item(((T289*)tmp0/*new*/),(void*)0); +_fn=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new288())); +r288special_common_dictionary(((T288*)tmp0/*new*/),_fn); +oBC143common_free_nodes=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/oBC143common_free_nodes),_fn,(T0*)(t[288])); +}} +return oBC143common_free_nodes; +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/void r271create_with_capacity(T271* C,T2 a1){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +/*SFN*/(C->_free_nodes/*5p*/)=r288fast_reference_at(((T288*)/*no_dispatch.e*/r271common_free_nodes()),(T0*)(t[271])); +if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ +tmp0/*new*/=((T0*)(new317())); +r317set_item(((T317*)tmp0/*new*/),(void*)0); +/*SFN*/(C->_free_nodes/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/r271common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[271])); +} +/*SFN*/(C->_buckets/*5p*/)=new316(a1); +/*SFN*/(C->_capacity/*5p*/)=a1; +/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); +/*SFN*/(C->_count/*5p*/)=INT32_C(0); +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r269reference_at(T269* C,T0* a1){ +T0* R=(void*)0; +T2 _idx=0; +T0* _node=(void*)0; +_idx=((int32_t)(r73hash_code(((T73*)/*no_dispatch.e*/a1))))%((/*RF2*/(C)->_capacity/*5p*/)); +_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; +return R; +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/void r269make(T269* C){ +r269create_with_capacity(C,INT32_C(53)); +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r269common_free_nodes(void){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +T0* _fn=(void*)0; +if(fBC143common_free_nodes==0){fBC143common_free_nodes=1;{ +tmp0/*new*/=((T0*)(new289())); +r289set_item(((T289*)tmp0/*new*/),(void*)0); +_fn=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new288())); +r288special_common_dictionary(((T288*)tmp0/*new*/),_fn); +oBC143common_free_nodes=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/oBC143common_free_nodes),_fn,(T0*)(t[288])); +}} +return oBC143common_free_nodes; +}/*--*/ + +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/void r269create_with_capacity(T269* C,T2 a1){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +/*SFN*/(C->_free_nodes/*5p*/)=r288fast_reference_at(((T288*)/*no_dispatch.e*/r269common_free_nodes()),(T0*)(t[269])); +if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ +tmp0/*new*/=((T0*)(new311())); +r311set_item(((T311*)tmp0/*new*/),(void*)0); +/*SFN*/(C->_free_nodes/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/r269common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[269])); +} +/*SFN*/(C->_buckets/*5p*/)=new310(a1); +/*SFN*/(C->_capacity/*5p*/)=a1; +/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); +/*SFN*/(C->_count/*5p*/)=INT32_C(0); +}/*--*/ + +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r268put(T268* C,T0* a1,T2 a2){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T2 _h=0; T2 _idx=0; T0* _node=(void*)0; -/*l139c4/hashed_dictionary.e*/ -/*l140c5/hashed_dictionary.e*/ _h=(a2&/*0x7FFFFFFF*/INT32_C(2147483647)); -/*l141c5/hashed_dictionary.e*/ _idx=((int32_t)(_h))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l142c5/hashed_dictionary.e*/ _node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -while (!((T6)(((_node)==((void*)((void*)0)))||((T6)(r226key_safe_equal((/*RF2*/(((T264*)_node))->_key/*3p*/),a2)))))) -{ -_node=(/*RF2*/(((T264*)_node))->_next/*3p*/); +while(1){ +tmp0/*or else*/=((T6)((_node)==((void*)((void*)0)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(r268key_safe_equal((/*RF2*/(((T307*)_node))->_key/*3p*/),a2))); +} +if(tmp0/*or else*/){ +break; +} +_node=(/*RF2*/(((T307*)_node))->_next/*3p*/); } -/*l148c4/hashed_dictionary.e*/ if((_node)==((void*)((void*)0))){ -/*l149c5/hashed_dictionary.e*/ -if(r226should_increase_capacity((/*RF2*/(C)->_capacity/*5p*/),(/*RF2*/(C)->_count/*5p*/))){ -/*l150c6/hashed_dictionary.e*/ -r226increase_capacity(C); -/*l151c6/hashed_dictionary.e*/ +if(r268should_increase_capacity((/*RF2*/(C)->_capacity/*5p*/),(/*RF2*/(C)->_count/*5p*/))){ +r268increase_capacity(C); _idx=((int32_t)(_h))%((/*RF2*/(C)->_capacity/*5p*/)); } -/*l153c5/hashed_dictionary.e*/ -_node=r226new_node(C,a1,a2,((/*RF2*/(C)->_buckets/*5p*/))[_idx]); -/*l154c13/hashed_dictionary.e*/ +_node=r268new_node(C,a1,a2,((/*RF2*/(C)->_buckets/*5p*/))[_idx]); ((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node); -/*l155c5/hashed_dictionary.e*/ /*SFN*/(C->_count/*5p*/)=((int32_t)((/*RF2*/(C)->_count/*5p*/)))+(INT32_C(1)); -/*l156c5/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); } else{ -(/*RF2*/(((T264*)_node))->_item/*3p*/)=a1; +(/*RF2*/(((T307*)_node))->_item/*3p*/)=a1; +} +}/*--*/ + +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r268reference_at(T268* C,T2 a1){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ +T0* R=(void*)0; +T2 _idx=0; +T0* _node=(void*)0; +_idx=((int32_t)((a1&/*0x7FFFFFFF*/INT32_C(2147483647))))%((/*RF2*/(C)->_capacity/*5p*/)); +_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; +while(1){ +tmp0/*or else*/=((T6)((_node)==((void*)((void*)0)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(r268key_safe_equal((/*RF2*/(((T307*)_node))->_key/*3p*/),a1))); +} +if(tmp0/*or else*/){ +break; +} +_node=(/*RF2*/(((T307*)_node))->_next/*3p*/); +} +if((_node)!=((void*)((void*)0))){ +R=(/*RF2*/(((T307*)_node))->_item/*3p*/); +} +return R; +}/*--*/ + +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T6 r268key_safe_equal(T2 a1,T2 a2){ +T6 R=0; +if((a1)==(a2)){ +R=((T6)(1)); +} +else{ +R=((T6)((a1)==(a2))); } +return R; }/*--*/ -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226make(T226* C){ -r226create_with_capacity(C,INT32_C(53)); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r268make(T268* C){ +r268create_with_capacity(C,INT32_C(53)); }/*--*/ -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T2 r226prime_capacity(T2 a1){ +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T2 r268prime_capacity(T2 a1){ T2 R=0; -/*l138c4/hash_table_size.e*/ R=(int32_t)(((uint32_t)(a1))+((uint32_t)(((int32_t)(a1))/(INT32_C(2))))); -/*l139c4/hash_table_size.e*/ if(((int32_t)(R))>(INT32_C(0))){ -R=r226prime_number_ceiling(R); +R=r268prime_number_ceiling(R); } else{ -R=r226prime_number_ceiling(INT32_C(2147483647)); +R=r268prime_number_ceiling(INT32_C(2147483647)); } return R; }/*--*/ -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T2 r226prime_number_ceiling(T2 a1){ +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T2 r268prime_number_ceiling(T2 a1){ T2 R=0; if(((int32_t)(a1))<=(INT32_C(98317))){ if(((int32_t)(a1))<=(INT32_C(769))){ @@ -6907,13 +6800,15 @@ if(((int32_t)(a1))<=(INT32_C(53))){ if(((int32_t)(a1))<=(INT32_C(11))){ R=INT32_C(11); } -else if(((int32_t)(a1))<=(INT32_C(23))){ +else{ +if(((int32_t)(a1))<=(INT32_C(23))){ R=INT32_C(23); } else{ R=INT32_C(53); } } +} else{ if(((int32_t)(a1))<=(INT32_C(193))){ if(((int32_t)(a1))<=(INT32_C(97))){ @@ -6956,7 +6851,8 @@ else{ if(((int32_t)(a1))<=(INT32_C(24593))){ R=INT32_C(24593); } -else if(((int32_t)(a1))<=(INT32_C(49157))){ +else{ +if(((int32_t)(a1))<=(INT32_C(49157))){ R=INT32_C(49157); } else{ @@ -6965,6 +6861,7 @@ R=INT32_C(98317); } } } +} else{ if(((int32_t)(a1))<=(INT32_C(12582917))){ if(((int32_t)(a1))<=(INT32_C(1572869))){ @@ -6989,7 +6886,8 @@ else{ if(((int32_t)(a1))<=(INT32_C(3145739))){ R=INT32_C(3145739); } -else if(((int32_t)(a1))<=(INT32_C(6291469))){ +else{ +if(((int32_t)(a1))<=(INT32_C(6291469))){ R=INT32_C(6291469); } else{ @@ -6997,6 +6895,7 @@ R=INT32_C(12582917); } } } +} else{ if(((int32_t)(a1))<=(INT32_C(201326611))){ if(((int32_t)(a1))<=(INT32_C(50331653))){ @@ -7039,171 +6938,158 @@ R=INT32_C(2147483647); return R; }/*--*/ -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T6 r226should_increase_capacity(T2 a1,T2 a2){ -T6 R=0; -R=((T6)((T6)((((int32_t)(a2))>((int32_t)(((uint32_t)(((int32_t)(a1))/(INT32_C(3))))*((uint32_t)(INT32_C(2))))))&&((T6)(((int32_t)(a1))<(INT32_C(2147483647))))))); -return R; -}/*--*/ - -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r226reference_at(T226* C,T2 a1){ -T0* R=(void*)0; -T2 _idx=0; -T0* _node=(void*)0; -/*l74c4/hashed_dictionary.e*/ -/*l75c5/hashed_dictionary.e*/ -_idx=((int32_t)((a1&/*0x7FFFFFFF*/INT32_C(2147483647))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l76c5/hashed_dictionary.e*/ -_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -while (!((T6)(((_node)==((void*)((void*)0)))||((T6)(r226key_safe_equal((/*RF2*/(((T264*)_node))->_key/*3p*/),a1)))))) -{ -_node=(/*RF2*/(((T264*)_node))->_next/*3p*/); -} -/*l82c4/hashed_dictionary.e*/ -if((_node)!=((void*)((void*)0))){ -R=(/*RF2*/(((T264*)_node))->_item/*3p*/); -} -return R; -}/*--*/ - -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T6 r226key_safe_equal(T2 a1,T2 a2){ +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T6 r268should_increase_capacity(T2 a1,T2 a2){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; -if((a1)==(a2)){ -R=((T6)(1)); -} -else{ -R=((T6)((a1)==(a2))); +tmp0/*and then*/=((T6)(((int32_t)(a2))>((int32_t)(((uint32_t)(((int32_t)(a1))/(INT32_C(3))))*((uint32_t)(INT32_C(2))))))); +if(tmp0/*and then*/){ +tmp0/*and then*/=((T6)(((int32_t)(a1))<(INT32_C(2147483647)))); } +R=((T6)(tmp0/*and then*/)); return R; }/*--*/ -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r226common_free_nodes(void){ +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r268common_free_nodes(void){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* _fn=(void*)0; -if(fBC136common_free_nodes==0){fBC136common_free_nodes=1;{ -/*l499c4/hashed_dictionary.e*/ -tmp0=((T0*)(new245())); -r245set_item(((T245*)tmp0),(void*)0); -_fn=tmp0; -/*l500c4/hashed_dictionary.e*/ -tmp0=((T0*)(new244())); -r244special_common_dictionary(((T244*)tmp0),_fn); -oBC136common_free_nodes=tmp0; -/*l501c11/hashed_dictionary.e*/ -r244add(((T244*)oBC136common_free_nodes),_fn,(T0*)(t[244])); +if(fBC143common_free_nodes==0){fBC143common_free_nodes=1;{ +tmp0/*new*/=((T0*)(new289())); +r289set_item(((T289*)tmp0/*new*/),(void*)0); +_fn=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new288())); +r288special_common_dictionary(((T288*)tmp0/*new*/),_fn); +oBC143common_free_nodes=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/oBC143common_free_nodes),_fn,(T0*)(t[288])); }} -return oBC136common_free_nodes; +return oBC143common_free_nodes; }/*--*/ -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r226new_node(T226* C,T0* a1,T2 a2,T0* a3){ +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r268new_node(T268* C,T0* a1,T2 a2,T0* a3){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* R=(void*)0; -/*l519c4/hashed_dictionary.e*/ -R=(/*RF2*/((T265*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/); -/*l520c4/hashed_dictionary.e*/ +R=(/*RF2*/((T308*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/); if((R)==((void*)((void*)0))){ -tmp0=((T0*)(new264())); -r264make(((T264*)tmp0),a1,a2,a3); -R=tmp0; +tmp0/*new*/=((T0*)(new307())); +r307make(((T307*)tmp0/*new*/),a1,a2,a3); +R=tmp0/*new*/; +/*tmp0.unlock*/ } else{ -/*l29c4/weak_reference.e*/ -(/*RF2*/((T265*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/)=(/*RF2*/(((T264*)R))->_next/*3p*/); -/*l524c12/hashed_dictionary.e*/ -r264make(((T264*)R),a1,a2,a3); +(/*RF2*/((T308*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/)=(/*RF2*/(((T307*)R))->_next/*3p*/); +r307make(((T307*)R),a1,a2,a3); } return R; }/*--*/ -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226create_with_capacity(T226* C,T2 a1){ +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r268create_with_capacity(T268* C,T2 a1){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -/*l532c4/hashed_dictionary.e*/ -/*SFN*/(C->_free_nodes/*5p*/)=r244fast_reference_at((T244*)(r226common_free_nodes()),(T0*)(t[226])); -/*l533c4/hashed_dictionary.e*/ +/*SFN*/(C->_free_nodes/*5p*/)=r288fast_reference_at(((T288*)/*no_dispatch.e*/r268common_free_nodes()),(T0*)(t[268])); if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ -/*l534c5/hashed_dictionary.e*/ -tmp0=((T0*)(new265())); -r265set_item(((T265*)tmp0),(void*)0); -/*SFN*/(C->_free_nodes/*5p*/)=tmp0; -/*l535c23/hashed_dictionary.e*/ -r244add((T244*)(r226common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[226])); -} -/*l537c4/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new263(a1); -/*l538c4/hashed_dictionary.e*/ +tmp0/*new*/=((T0*)(new308())); +r308set_item(((T308*)tmp0/*new*/),(void*)0); +/*SFN*/(C->_free_nodes/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/r268common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[268])); +} +/*SFN*/(C->_buckets/*5p*/)=new306(a1); /*SFN*/(C->_capacity/*5p*/)=a1; -/*l539c4/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l540c4/hashed_dictionary.e*/ /*SFN*/(C->_count/*5p*/)=INT32_C(0); }/*--*/ -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226increase_capacity(T226* C){ +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r268increase_capacity(T268* C){ T2 _i=0; T2 _idx=0; T2 _new_capacity=0; -T263 _old_buckets=(void*)0; +T306 _old_buckets=(void*)0; T0* _node1=(void*)0; T0* _node2=(void*)0; -/*l409c4/hashed_dictionary.e*/ -/*l410c5/hashed_dictionary.e*/ -_new_capacity=r226prime_capacity(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+(INT32_C(1))); -/*l411c5/hashed_dictionary.e*/ +_new_capacity=r268prime_capacity(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+(INT32_C(1))); _old_buckets=(/*RF2*/(C)->_buckets/*5p*/); -/*l412c5/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new263(_new_capacity); -/*l413c5/hashed_dictionary.e*/ +/*SFN*/(C->_buckets/*5p*/)=new306(_new_capacity); _i=((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))-(INT32_C(1)); -/*l414c5/hashed_dictionary.e*/ /*SFN*/(C->_capacity/*5p*/)=_new_capacity; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l418c5/hashed_dictionary.e*/ _node1=(_old_buckets)[_i]; -while (!((_node1)==((void*)((void*)0)))) +while(!((_node1)==((void*)((void*)0)))) { -/*l423c6/hashed_dictionary.e*/ -_node2=(/*RF2*/(((T264*)_node1))->_next/*3p*/); -/*l424c6/hashed_dictionary.e*/ -_idx=((int32_t)(((/*RF2*/(((T264*)_node1))->_key/*3p*/)&/*0x7FFFFFFF*/INT32_C(2147483647))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l31c4/hashed_dictionary_node.e*/ -(/*RF2*/(((T264*)_node1))->_next/*3p*/)=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -/*l426c14/hashed_dictionary.e*/ +_node2=(/*RF2*/(((T307*)_node1))->_next/*3p*/); +_idx=((int32_t)(((/*RF2*/(((T307*)_node1))->_key/*3p*/)&/*0x7FFFFFFF*/INT32_C(2147483647))))%((/*RF2*/(C)->_capacity/*5p*/)); +(/*RF2*/(((T307*)_node1))->_next/*3p*/)=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; ((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node1); -/*l427c6/hashed_dictionary.e*/ _node1=_node2; } -/*l429c5/hashed_dictionary.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } -/*l431c4/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); }/*--*/ -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218make(T218* C){ -r218create_with_capacity(C,INT32_C(53)); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r262reference_at(T262* C,T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ +T0* R=(void*)0; +T2 _idx=0; +T0* _node=(void*)0; +_idx=((int32_t)(r73hash_code(((T73*)/*no_dispatch.e*/a1))))%((/*RF2*/(C)->_capacity/*5p*/)); +_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; +while(1){ +tmp0/*or else*/=((T6)((_node)==((void*)((void*)0)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(r262key_safe_equal((/*RF2*/(((T300*)_node))->_key/*3p*/),a1))); +} +if(tmp0/*or else*/){ +break; +} +_node=(/*RF2*/(((T300*)_node))->_next/*3p*/); +} +if((_node)!=((void*)((void*)0))){ +R=(/*RF2*/(((T300*)_node))->_item/*3p*/); +} +return R; +}/*--*/ + +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T6 r262key_safe_equal(T0* a1,T0* a2){ +T6 R=0; +if((a1)==((void*)(a2))){ +R=((T6)(1)); +} +else{ +R=((T6)(!memcmp(((T73*)/*no_dispatch.e*/a1),(a2),sizeof(T73)))); +} +return R; +}/*--*/ + +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r262make(T262* C){ +r262create_with_capacity(C,INT32_C(53)); }/*--*/ -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T2 r218prime_capacity(T2 a1){ +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T2 r262prime_capacity(T2 a1){ T2 R=0; -/*l138c4/hash_table_size.e*/ R=(int32_t)(((uint32_t)(a1))+((uint32_t)(((int32_t)(a1))/(INT32_C(2))))); -/*l139c4/hash_table_size.e*/ if(((int32_t)(R))>(INT32_C(0))){ -R=r218prime_number_ceiling(R); +R=r262prime_number_ceiling(R); } else{ -R=r218prime_number_ceiling(INT32_C(2147483647)); +R=r262prime_number_ceiling(INT32_C(2147483647)); } return R; }/*--*/ -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T2 r218prime_number_ceiling(T2 a1){ +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T2 r262prime_number_ceiling(T2 a1){ T2 R=0; if(((int32_t)(a1))<=(INT32_C(98317))){ if(((int32_t)(a1))<=(INT32_C(769))){ @@ -7211,13 +7097,15 @@ if(((int32_t)(a1))<=(INT32_C(53))){ if(((int32_t)(a1))<=(INT32_C(11))){ R=INT32_C(11); } -else if(((int32_t)(a1))<=(INT32_C(23))){ +else{ +if(((int32_t)(a1))<=(INT32_C(23))){ R=INT32_C(23); } else{ R=INT32_C(53); } } +} else{ if(((int32_t)(a1))<=(INT32_C(193))){ if(((int32_t)(a1))<=(INT32_C(97))){ @@ -7260,7 +7148,8 @@ else{ if(((int32_t)(a1))<=(INT32_C(24593))){ R=INT32_C(24593); } -else if(((int32_t)(a1))<=(INT32_C(49157))){ +else{ +if(((int32_t)(a1))<=(INT32_C(49157))){ R=INT32_C(49157); } else{ @@ -7269,6 +7158,7 @@ R=INT32_C(98317); } } } +} else{ if(((int32_t)(a1))<=(INT32_C(12582917))){ if(((int32_t)(a1))<=(INT32_C(1572869))){ @@ -7293,7 +7183,8 @@ else{ if(((int32_t)(a1))<=(INT32_C(3145739))){ R=INT32_C(3145739); } -else if(((int32_t)(a1))<=(INT32_C(6291469))){ +else{ +if(((int32_t)(a1))<=(INT32_C(6291469))){ R=INT32_C(6291469); } else{ @@ -7301,6 +7192,7 @@ R=INT32_C(12582917); } } } +} else{ if(((int32_t)(a1))<=(INT32_C(201326611))){ if(((int32_t)(a1))<=(INT32_C(50331653))){ @@ -7343,269 +7235,215 @@ R=INT32_C(2147483647); return R; }/*--*/ -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r218reference_at(T218* C,T0* a1){ -T0* R=(void*)0; -T2 _idx=0; -T0* _node=(void*)0; -/*l74c4/hashed_dictionary.e*/ -/*l75c5/hashed_dictionary.e*/ -_idx=((int32_t)(r72hash_code(((T72*)a1))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l76c5/hashed_dictionary.e*/ -_node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -while (!((T6)(((_node)==((void*)((void*)0)))||((T6)(r218key_safe_equal((/*RF2*/(((T256*)_node))->_key/*3p*/),a1)))))) -{ -_node=(/*RF2*/(((T256*)_node))->_next/*3p*/); -} -/*l82c4/hashed_dictionary.e*/ -if((_node)!=((void*)((void*)0))){ -R=(/*RF2*/(((T256*)_node))->_item/*3p*/); -} -return R; -}/*--*/ - -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T6 r218should_increase_capacity(T2 a1,T2 a2){ +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T6 r262should_increase_capacity(T2 a1,T2 a2){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; -R=((T6)((T6)((((int32_t)(a2))>((int32_t)(((uint32_t)(((int32_t)(a1))/(INT32_C(3))))*((uint32_t)(INT32_C(2))))))&&((T6)(((int32_t)(a1))<(INT32_C(2147483647))))))); +tmp0/*and then*/=((T6)(((int32_t)(a2))>((int32_t)(((uint32_t)(((int32_t)(a1))/(INT32_C(3))))*((uint32_t)(INT32_C(2))))))); +if(tmp0/*and then*/){ +tmp0/*and then*/=((T6)(((int32_t)(a1))<(INT32_C(2147483647)))); +} +R=((T6)(tmp0/*and then*/)); return R; }/*--*/ -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r218common_free_nodes(void){ +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r262common_free_nodes(void){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* _fn=(void*)0; -if(fBC136common_free_nodes==0){fBC136common_free_nodes=1;{ -/*l499c4/hashed_dictionary.e*/ -tmp0=((T0*)(new245())); -r245set_item(((T245*)tmp0),(void*)0); -_fn=tmp0; -/*l500c4/hashed_dictionary.e*/ -tmp0=((T0*)(new244())); -r244special_common_dictionary(((T244*)tmp0),_fn); -oBC136common_free_nodes=tmp0; -/*l501c11/hashed_dictionary.e*/ -r244add(((T244*)oBC136common_free_nodes),_fn,(T0*)(t[244])); +if(fBC143common_free_nodes==0){fBC143common_free_nodes=1;{ +tmp0/*new*/=((T0*)(new289())); +r289set_item(((T289*)tmp0/*new*/),(void*)0); +_fn=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new288())); +r288special_common_dictionary(((T288*)tmp0/*new*/),_fn); +oBC143common_free_nodes=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/oBC143common_free_nodes),_fn,(T0*)(t[288])); }} -return oBC136common_free_nodes; -}/*--*/ - -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T6 r218key_safe_equal(T0* a1,T0* a2){ -T6 R=0; -if((a1)==((void*)(a2))){ -R=((T6)(1)); -} -else{ -R=((T6)(!memcmp(((T72*)a1),(a2),sizeof(T72)))); -} -return R; +return oBC143common_free_nodes; }/*--*/ -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r218new_node(T218* C,T0* a1,T0* a2,T0* a3){ +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r262new_node(T262* C,T0* a1,T0* a2,T0* a3){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* R=(void*)0; -/*l519c4/hashed_dictionary.e*/ -R=(/*RF2*/((T258*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/); -/*l520c4/hashed_dictionary.e*/ +R=(/*RF2*/((T302*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/); if((R)==((void*)((void*)0))){ -tmp0=((T0*)(new256())); -r256make(((T256*)tmp0),a1,a2,a3); -R=tmp0; +tmp0/*new*/=((T0*)(new300())); +r300make(((T300*)tmp0/*new*/),a1,a2,a3); +R=tmp0/*new*/; +/*tmp0.unlock*/ } else{ -/*l29c4/weak_reference.e*/ -(/*RF2*/((T258*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/)=(/*RF2*/(((T256*)R))->_next/*3p*/); -/*l524c12/hashed_dictionary.e*/ -r256make(((T256*)R),a1,a2,a3); +(/*RF2*/((T302*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/)=(/*RF2*/(((T300*)R))->_next/*3p*/); +r300make(((T300*)R),a1,a2,a3); } return R; }/*--*/ -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218add(T218* C,T0* a1,T0* a2){ -T2 _idx=0; -T0* _node=(void*)0; -/*l193c4/hashed_dictionary.e*/ -/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l194c4/hashed_dictionary.e*/ -if(r218should_increase_capacity((/*RF2*/(C)->_capacity/*5p*/),(/*RF2*/(C)->_count/*5p*/))){ -r218increase_capacity(C); -} -/*l197c4/hashed_dictionary.e*/ -_idx=((int32_t)(r72hash_code(((T72*)a2))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l198c4/hashed_dictionary.e*/ -_node=r218new_node(C,a1,a2,((/*RF2*/(C)->_buckets/*5p*/))[_idx]); -/*l199c12/hashed_dictionary.e*/ -((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node); -/*l200c4/hashed_dictionary.e*/ -/*SFN*/(C->_count/*5p*/)=((int32_t)((/*RF2*/(C)->_count/*5p*/)))+(INT32_C(1)); -}/*--*/ - -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218create_with_capacity(T218* C,T2 a1){ +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r262create_with_capacity(T262* C,T2 a1){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -/*l532c4/hashed_dictionary.e*/ -/*SFN*/(C->_free_nodes/*5p*/)=r244fast_reference_at((T244*)(r218common_free_nodes()),(T0*)(t[218])); -/*l533c4/hashed_dictionary.e*/ +/*SFN*/(C->_free_nodes/*5p*/)=r288fast_reference_at(((T288*)/*no_dispatch.e*/r262common_free_nodes()),(T0*)(t[262])); if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ -/*l534c5/hashed_dictionary.e*/ -tmp0=((T0*)(new258())); -r258set_item(((T258*)tmp0),(void*)0); -/*SFN*/(C->_free_nodes/*5p*/)=tmp0; -/*l535c23/hashed_dictionary.e*/ -r244add((T244*)(r218common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[218])); -} -/*l537c4/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new257(a1); -/*l538c4/hashed_dictionary.e*/ +tmp0/*new*/=((T0*)(new302())); +r302set_item(((T302*)tmp0/*new*/),(void*)0); +/*SFN*/(C->_free_nodes/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/r262common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[262])); +} +/*SFN*/(C->_buckets/*5p*/)=new301(a1); /*SFN*/(C->_capacity/*5p*/)=a1; -/*l539c4/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l540c4/hashed_dictionary.e*/ /*SFN*/(C->_count/*5p*/)=INT32_C(0); }/*--*/ -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218increase_capacity(T218* C){ +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r262increase_capacity(T262* C){ T2 _i=0; T2 _idx=0; T2 _new_capacity=0; -T257 _old_buckets=(void*)0; +T301 _old_buckets=(void*)0; T0* _node1=(void*)0; T0* _node2=(void*)0; -/*l409c4/hashed_dictionary.e*/ -/*l410c5/hashed_dictionary.e*/ -_new_capacity=r218prime_capacity(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+(INT32_C(1))); -/*l411c5/hashed_dictionary.e*/ +_new_capacity=r262prime_capacity(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+(INT32_C(1))); _old_buckets=(/*RF2*/(C)->_buckets/*5p*/); -/*l412c5/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new257(_new_capacity); -/*l413c5/hashed_dictionary.e*/ +/*SFN*/(C->_buckets/*5p*/)=new301(_new_capacity); _i=((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))-(INT32_C(1)); -/*l414c5/hashed_dictionary.e*/ /*SFN*/(C->_capacity/*5p*/)=_new_capacity; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l418c5/hashed_dictionary.e*/ _node1=(_old_buckets)[_i]; -while (!((_node1)==((void*)((void*)0)))) +while(!((_node1)==((void*)((void*)0)))) { -/*l423c6/hashed_dictionary.e*/ -_node2=(/*RF2*/(((T256*)_node1))->_next/*3p*/); -/*l424c6/hashed_dictionary.e*/ -_idx=((int32_t)(r72hash_code((T72*)((/*RF2*/(((T256*)_node1))->_key/*3p*/)))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l31c4/hashed_dictionary_node.e*/ -(/*RF2*/(((T256*)_node1))->_next/*3p*/)=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -/*l426c14/hashed_dictionary.e*/ +_node2=(/*RF2*/(((T300*)_node1))->_next/*3p*/); +_idx=((int32_t)(r73hash_code(((T73*)/*no_dispatch.e*/(/*RF2*/(((T300*)_node1))->_key/*3p*/)))))%((/*RF2*/(C)->_capacity/*5p*/)); +(/*RF2*/(((T300*)_node1))->_next/*3p*/)=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; ((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node1); -/*l427c6/hashed_dictionary.e*/ _node1=_node2; } -/*l429c5/hashed_dictionary.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } -/*l431c4/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); }/*--*/ -/*SIGNAL_1[X_INPUT_DEVICE]*/void r216make(T216* C){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -tmp0=((T0*)(new254())); -r254make(((T254*)tmp0),INT32_C(0)); -/*SFN*/(C->_callbacks/*3p*/)=tmp0; +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r262add(T262* C,T0* a1,T0* a2){ +T2 _idx=0; +T0* _node=(void*)0; +/*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); +if(r262should_increase_capacity((/*RF2*/(C)->_capacity/*5p*/),(/*RF2*/(C)->_count/*5p*/))){ +r262increase_capacity(C); +} +_idx=((int32_t)(r73hash_code(((T73*)/*no_dispatch.e*/a2))))%((/*RF2*/(C)->_capacity/*5p*/)); +_node=r262new_node(C,a1,a2,((/*RF2*/(C)->_buckets/*5p*/))[_idx]); +((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node); +/*SFN*/(C->_count/*5p*/)=((int32_t)((/*RF2*/(C)->_count/*5p*/)))+(INT32_C(1)); }/*--*/ -/*SIGNAL_1[X_INPUT_DEVICE]*/void r216emit(T216* C,T0* a1){ -/*l43c5/signal_1.e*/ +/*SIGNAL_1[X_INPUT_DEVICE]*/void r260emit(T260* C,T0* a1){ /*SFN*/(C->_index/*3p*/)=INT32_C(0); -/*l44c5/signal_1.e*/ -/*SFN*/(C->_last/*3p*/)=(/*RF2*/((T254*)((/*RF2*/(C)->_callbacks/*3p*/)))->_upper/*3p*/); -while (!(((int32_t)((/*RF2*/(C)->_index/*3p*/)))>((/*RF2*/(C)->_last/*3p*/)))) +/*SFN*/(C->_last/*3p*/)=(/*RF2*/((T298*)((/*RF2*/(C)->_callbacks/*3p*/)))->_upper/*3p*/); +while(!(((int32_t)((/*RF2*/(C)->_index/*3p*/)))>((/*RF2*/(C)->_last/*3p*/)))) { -/*l48c27/signal_1.e*/ -agent_launcher_X_INPUT_DEVICE(((/*RF2*/((T254*)((/*RF2*/(C)->_callbacks/*3p*/)))->_storage/*3p*/))[(/*RF2*/(C)->_index/*3p*/)],a1); -/*l49c5/signal_1.e*/ +agent_launcher_X_INPUT_DEVICE(((/*RF2*/((T298*)((/*RF2*/(C)->_callbacks/*3p*/)))->_storage/*3p*/))[(/*RF2*/(C)->_index/*3p*/)],a1); /*SFN*/(C->_index/*3p*/)=((int32_t)((/*RF2*/(C)->_index/*3p*/)))+(INT32_C(1)); } }/*--*/ -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215put(T215* C,T2 a1,T2 a2){ +/*SIGNAL_1[X_INPUT_DEVICE]*/void r260make(T260* C){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +tmp0/*new*/=((T0*)(new298())); +r298make(((T298*)tmp0/*new*/),INT32_C(0)); +/*SFN*/(C->_callbacks/*3p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +}/*--*/ + +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r259put(T259* C,T2 a1,T2 a2){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T2 _h=0; T2 _idx=0; T0* _node=(void*)0; -/*l139c4/hashed_dictionary.e*/ -/*l140c5/hashed_dictionary.e*/ _h=(a2&/*0x7FFFFFFF*/INT32_C(2147483647)); -/*l141c5/hashed_dictionary.e*/ _idx=((int32_t)(_h))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l142c5/hashed_dictionary.e*/ _node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -while (!((T6)(((_node)==((void*)((void*)0)))||((T6)(r215key_safe_equal((/*RF2*/(((T252*)_node))->_key/*3p*/),a2)))))) -{ -_node=(/*RF2*/(((T252*)_node))->_next/*3p*/); +while(1){ +tmp0/*or else*/=((T6)((_node)==((void*)((void*)0)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(r259key_safe_equal((/*RF2*/(((T296*)_node))->_key/*3p*/),a2))); +} +if(tmp0/*or else*/){ +break; +} +_node=(/*RF2*/(((T296*)_node))->_next/*3p*/); } -/*l148c4/hashed_dictionary.e*/ if((_node)==((void*)((void*)0))){ -/*l149c5/hashed_dictionary.e*/ -if(r215should_increase_capacity((/*RF2*/(C)->_capacity/*5p*/),(/*RF2*/(C)->_count/*5p*/))){ -/*l150c6/hashed_dictionary.e*/ -r215increase_capacity(C); -/*l151c6/hashed_dictionary.e*/ +if(r259should_increase_capacity((/*RF2*/(C)->_capacity/*5p*/),(/*RF2*/(C)->_count/*5p*/))){ +r259increase_capacity(C); _idx=((int32_t)(_h))%((/*RF2*/(C)->_capacity/*5p*/)); } -/*l153c5/hashed_dictionary.e*/ -_node=r215new_node(C,a1,a2,((/*RF2*/(C)->_buckets/*5p*/))[_idx]); -/*l154c13/hashed_dictionary.e*/ +_node=r259new_node(C,a1,a2,((/*RF2*/(C)->_buckets/*5p*/))[_idx]); ((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node); -/*l155c5/hashed_dictionary.e*/ /*SFN*/(C->_count/*5p*/)=((int32_t)((/*RF2*/(C)->_count/*5p*/)))+(INT32_C(1)); -/*l156c5/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); } else{ -(/*RF2*/(((T252*)_node))->_item/*3p*/)=a1; +(/*RF2*/(((T296*)_node))->_item/*3p*/)=a1; } }/*--*/ -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215make(T215* C){ -r215create_with_capacity(C,INT32_C(53)); -}/*--*/ - -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r215at(T215* C,T2 a1){ +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r259at(T259* C,T2 a1){ T2 R=0; T2 _idx=0; T0* _node=(void*)0; -/*l59c4/hashed_dictionary.e*/ -/*l60c5/hashed_dictionary.e*/ _idx=((int32_t)((a1&/*0x7FFFFFFF*/INT32_C(2147483647))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l61c5/hashed_dictionary.e*/ _node=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -while (!(r215key_safe_equal((/*RF2*/(((T252*)_node))->_key/*3p*/),a1))) +while(!(r259key_safe_equal((/*RF2*/(((T296*)_node))->_key/*3p*/),a1))) { -_node=(/*RF2*/(((T252*)_node))->_next/*3p*/); +_node=(/*RF2*/(((T296*)_node))->_next/*3p*/); +} +R=(/*RF2*/(((T296*)_node))->_item/*3p*/); +return R; +}/*--*/ + +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T6 r259key_safe_equal(T2 a1,T2 a2){ +T6 R=0; +if((a1)==(a2)){ +R=((T6)(1)); +} +else{ +R=((T6)((a1)==(a2))); } -/*l67c4/hashed_dictionary.e*/ -R=(/*RF2*/(((T252*)_node))->_item/*3p*/); return R; }/*--*/ -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r215prime_capacity(T2 a1){ +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r259make(T259* C){ +r259create_with_capacity(C,INT32_C(53)); +}/*--*/ + +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r259prime_capacity(T2 a1){ T2 R=0; -/*l138c4/hash_table_size.e*/ R=(int32_t)(((uint32_t)(a1))+((uint32_t)(((int32_t)(a1))/(INT32_C(2))))); -/*l139c4/hash_table_size.e*/ if(((int32_t)(R))>(INT32_C(0))){ -R=r215prime_number_ceiling(R); +R=r259prime_number_ceiling(R); } else{ -R=r215prime_number_ceiling(INT32_C(2147483647)); +R=r259prime_number_ceiling(INT32_C(2147483647)); } return R; }/*--*/ -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r215prime_number_ceiling(T2 a1){ +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r259prime_number_ceiling(T2 a1){ T2 R=0; if(((int32_t)(a1))<=(INT32_C(98317))){ if(((int32_t)(a1))<=(INT32_C(769))){ @@ -7613,13 +7451,15 @@ if(((int32_t)(a1))<=(INT32_C(53))){ if(((int32_t)(a1))<=(INT32_C(11))){ R=INT32_C(11); } -else if(((int32_t)(a1))<=(INT32_C(23))){ +else{ +if(((int32_t)(a1))<=(INT32_C(23))){ R=INT32_C(23); } else{ R=INT32_C(53); } } +} else{ if(((int32_t)(a1))<=(INT32_C(193))){ if(((int32_t)(a1))<=(INT32_C(97))){ @@ -7662,7 +7502,8 @@ else{ if(((int32_t)(a1))<=(INT32_C(24593))){ R=INT32_C(24593); } -else if(((int32_t)(a1))<=(INT32_C(49157))){ +else{ +if(((int32_t)(a1))<=(INT32_C(49157))){ R=INT32_C(49157); } else{ @@ -7671,6 +7512,7 @@ R=INT32_C(98317); } } } +} else{ if(((int32_t)(a1))<=(INT32_C(12582917))){ if(((int32_t)(a1))<=(INT32_C(1572869))){ @@ -7695,7 +7537,8 @@ else{ if(((int32_t)(a1))<=(INT32_C(3145739))){ R=INT32_C(3145739); } -else if(((int32_t)(a1))<=(INT32_C(6291469))){ +else{ +if(((int32_t)(a1))<=(INT32_C(6291469))){ R=INT32_C(6291469); } else{ @@ -7703,6 +7546,7 @@ R=INT32_C(12582917); } } } +} else{ if(((int32_t)(a1))<=(INT32_C(201326611))){ if(((int32_t)(a1))<=(INT32_C(50331653))){ @@ -7745,580 +7589,518 @@ R=INT32_C(2147483647); return R; }/*--*/ -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T6 r215should_increase_capacity(T2 a1,T2 a2){ -T6 R=0; -R=((T6)((T6)((((int32_t)(a2))>((int32_t)(((uint32_t)(((int32_t)(a1))/(INT32_C(3))))*((uint32_t)(INT32_C(2))))))&&((T6)(((int32_t)(a1))<(INT32_C(2147483647))))))); -return R; -}/*--*/ - -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T6 r215key_safe_equal(T2 a1,T2 a2){ +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T6 r259should_increase_capacity(T2 a1,T2 a2){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; -if((a1)==(a2)){ -R=((T6)(1)); -} -else{ -R=((T6)((a1)==(a2))); +tmp0/*and then*/=((T6)(((int32_t)(a2))>((int32_t)(((uint32_t)(((int32_t)(a1))/(INT32_C(3))))*((uint32_t)(INT32_C(2))))))); +if(tmp0/*and then*/){ +tmp0/*and then*/=((T6)(((int32_t)(a1))<(INT32_C(2147483647)))); } +R=((T6)(tmp0/*and then*/)); return R; }/*--*/ -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T0* r215common_free_nodes(void){ +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T0* r259common_free_nodes(void){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* _fn=(void*)0; -if(fBC136common_free_nodes==0){fBC136common_free_nodes=1;{ -/*l499c4/hashed_dictionary.e*/ -tmp0=((T0*)(new245())); -r245set_item(((T245*)tmp0),(void*)0); -_fn=tmp0; -/*l500c4/hashed_dictionary.e*/ -tmp0=((T0*)(new244())); -r244special_common_dictionary(((T244*)tmp0),_fn); -oBC136common_free_nodes=tmp0; -/*l501c11/hashed_dictionary.e*/ -r244add(((T244*)oBC136common_free_nodes),_fn,(T0*)(t[244])); +if(fBC143common_free_nodes==0){fBC143common_free_nodes=1;{ +tmp0/*new*/=((T0*)(new289())); +r289set_item(((T289*)tmp0/*new*/),(void*)0); +_fn=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new288())); +r288special_common_dictionary(((T288*)tmp0/*new*/),_fn); +oBC143common_free_nodes=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/oBC143common_free_nodes),_fn,(T0*)(t[288])); }} -return oBC136common_free_nodes; +return oBC143common_free_nodes; }/*--*/ -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T0* r215new_node(T215* C,T2 a1,T2 a2,T0* a3){ +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T0* r259new_node(T259* C,T2 a1,T2 a2,T0* a3){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* R=(void*)0; -/*l519c4/hashed_dictionary.e*/ -R=(/*RF2*/((T253*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/); -/*l520c4/hashed_dictionary.e*/ +R=(/*RF2*/((T297*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/); if((R)==((void*)((void*)0))){ -tmp0=((T0*)(new252())); -r252make(((T252*)tmp0),a1,a2,a3); -R=tmp0; +tmp0/*new*/=((T0*)(new296())); +r296make(((T296*)tmp0/*new*/),a1,a2,a3); +R=tmp0/*new*/; +/*tmp0.unlock*/ } else{ -/*l29c4/weak_reference.e*/ -(/*RF2*/((T253*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/)=(/*RF2*/(((T252*)R))->_next/*3p*/); -/*l524c12/hashed_dictionary.e*/ -r252make(((T252*)R),a1,a2,a3); +(/*RF2*/((T297*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/)=(/*RF2*/(((T296*)R))->_next/*3p*/); +r296make(((T296*)R),a1,a2,a3); } return R; }/*--*/ -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215create_with_capacity(T215* C,T2 a1){ +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r259create_with_capacity(T259* C,T2 a1){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -/*l532c4/hashed_dictionary.e*/ -/*SFN*/(C->_free_nodes/*5p*/)=r244fast_reference_at((T244*)(r215common_free_nodes()),(T0*)(t[215])); -/*l533c4/hashed_dictionary.e*/ +/*SFN*/(C->_free_nodes/*5p*/)=r288fast_reference_at(((T288*)/*no_dispatch.e*/r259common_free_nodes()),(T0*)(t[259])); if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ -/*l534c5/hashed_dictionary.e*/ -tmp0=((T0*)(new253())); -r253set_item(((T253*)tmp0),(void*)0); -/*SFN*/(C->_free_nodes/*5p*/)=tmp0; -/*l535c23/hashed_dictionary.e*/ -r244add((T244*)(r215common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[215])); -} -/*l537c4/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new251(a1); -/*l538c4/hashed_dictionary.e*/ +tmp0/*new*/=((T0*)(new297())); +r297set_item(((T297*)tmp0/*new*/),(void*)0); +/*SFN*/(C->_free_nodes/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/r259common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[259])); +} +/*SFN*/(C->_buckets/*5p*/)=new295(a1); /*SFN*/(C->_capacity/*5p*/)=a1; -/*l539c4/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l540c4/hashed_dictionary.e*/ /*SFN*/(C->_count/*5p*/)=INT32_C(0); }/*--*/ -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215increase_capacity(T215* C){ +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r259increase_capacity(T259* C){ T2 _i=0; T2 _idx=0; T2 _new_capacity=0; -T251 _old_buckets=(void*)0; +T295 _old_buckets=(void*)0; T0* _node1=(void*)0; T0* _node2=(void*)0; -/*l409c4/hashed_dictionary.e*/ -/*l410c5/hashed_dictionary.e*/ -_new_capacity=r215prime_capacity(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+(INT32_C(1))); -/*l411c5/hashed_dictionary.e*/ +_new_capacity=r259prime_capacity(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+(INT32_C(1))); _old_buckets=(/*RF2*/(C)->_buckets/*5p*/); -/*l412c5/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new251(_new_capacity); -/*l413c5/hashed_dictionary.e*/ +/*SFN*/(C->_buckets/*5p*/)=new295(_new_capacity); _i=((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))-(INT32_C(1)); -/*l414c5/hashed_dictionary.e*/ /*SFN*/(C->_capacity/*5p*/)=_new_capacity; -while (!(((int32_t)(_i))<(INT32_C(0)))) +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l418c5/hashed_dictionary.e*/ _node1=(_old_buckets)[_i]; -while (!((_node1)==((void*)((void*)0)))) +while(!((_node1)==((void*)((void*)0)))) { -/*l423c6/hashed_dictionary.e*/ -_node2=(/*RF2*/(((T252*)_node1))->_next/*3p*/); -/*l424c6/hashed_dictionary.e*/ -_idx=((int32_t)(((/*RF2*/(((T252*)_node1))->_key/*3p*/)&/*0x7FFFFFFF*/INT32_C(2147483647))))%((/*RF2*/(C)->_capacity/*5p*/)); -/*l31c4/hashed_dictionary_node.e*/ -(/*RF2*/(((T252*)_node1))->_next/*3p*/)=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; -/*l426c14/hashed_dictionary.e*/ +_node2=(/*RF2*/(((T296*)_node1))->_next/*3p*/); +_idx=((int32_t)(((/*RF2*/(((T296*)_node1))->_key/*3p*/)&/*0x7FFFFFFF*/INT32_C(2147483647))))%((/*RF2*/(C)->_capacity/*5p*/)); +(/*RF2*/(((T296*)_node1))->_next/*3p*/)=((/*RF2*/(C)->_buckets/*5p*/))[_idx]; ((/*RF2*/(C)->_buckets/*5p*/))[_idx]=(_node1); -/*l427c6/hashed_dictionary.e*/ _node1=_node2; } -/*l429c5/hashed_dictionary.e*/ _i=((int32_t)(_i))-(INT32_C(1)); } -/*l431c4/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); }/*--*/ -/*RING_ARRAY[INTEGER_32]*/void r213put(T213* C,T2 a1,T2 a2){ -((/*RF2*/(C)->_storage/*5p*/))[r213storage_index(C,a2)]=(a1); -}/*--*/ - -/*RING_ARRAY[INTEGER_32]*/void r213clear_all(T213* C){ -T2 _value=0; -r213set_all_with(C,_value); -}/*--*/ - -/*RING_ARRAY[INTEGER_32]*/void r213set_all_with(T213* C,T2 a1){ -T2 _s_u=0; -if(r213is_empty(C)){ -} -else{ -/*l241c5/ring_array.e*/ -_s_u=r213storage_upper(C); -/*l242c5/ring_array.e*/ -if(((int32_t)((/*RF2*/(C)->_storage_lower/*5p*/)))<=(_s_u)){ -r250set_slice_with((/*RF2*/(C)->_storage/*5p*/),a1,(/*RF2*/(C)->_storage_lower/*5p*/),_s_u); -} -else{ -/*l245c14/ring_array.e*/ -r250set_all_with((/*RF2*/(C)->_storage/*5p*/),a1,_s_u); -/*l246c14/ring_array.e*/ -r250set_slice_with((/*RF2*/(C)->_storage/*5p*/),a1,(/*RF2*/(C)->_storage_lower/*5p*/),((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))-(INT32_C(1))); -} +/*RING_ARRAY[INTEGER_32]*/void r255remove_first(T255* C){ +/*SFN*/(C->_lower/*5p*/)=((int32_t)((/*RF2*/(C)->_lower/*5p*/)))+(INT32_C(1)); +/*SFN*/(C->_storage_lower/*5p*/)=((int32_t)((/*RF2*/(C)->_storage_lower/*5p*/)))+(INT32_C(1)); +if(((/*RF2*/(C)->_storage_lower/*5p*/))==((/*RF2*/(C)->_capacity/*5p*/))){ +/*SFN*/(C->_storage_lower/*5p*/)=INT32_C(0); } }/*--*/ -/*RING_ARRAY[INTEGER_32]*/T2 r213wrap_point(T213* C){ -T2 R=0; -R=((int32_t)(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+((/*RF2*/(C)->_lower/*5p*/))))-((/*RF2*/(C)->_storage_lower/*5p*/)); -return R; -}/*--*/ - -/*RING_ARRAY[INTEGER_32]*/void r213make_space_for_one(T213* C){ +/*RING_ARRAY[INTEGER_32]*/void r255make_space_for_one(T255* C){ T2 _old_capacity=0; T2 _s_u=0; T2 _wp=0; -if(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))<(((int32_t)(r213count(C)))+(INT32_C(1)))){ +if(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))<(((int32_t)(r255count(C)))+(INT32_C(1)))){ if(((/*RF2*/(C)->_capacity/*5p*/))==(INT8_C(0))){ -/*l574c6/ring_array.e*/ /*SFN*/(C->_capacity/*5p*/)=INT32_C(16); -/*l575c6/ring_array.e*/ -/*SFN*/(C->_storage/*5p*/)=new250((/*RF2*/(C)->_capacity/*5p*/)); +/*SFN*/(C->_storage/*5p*/)=new294((/*RF2*/(C)->_capacity/*5p*/)); } else{ -/*l577c6/ring_array.e*/ -_wp=r213wrap_point(C); -/*l578c6/ring_array.e*/ -_s_u=r213storage_upper(C); -/*l579c6/ring_array.e*/ +_wp=r255wrap_point(C); +_s_u=r255storage_upper(C); _old_capacity=(/*RF2*/(C)->_capacity/*5p*/); -/*l580c6/ring_array.e*/ /*SFN*/(C->_capacity/*5p*/)=((int32_t)(INT32_C(2)))*((/*RF2*/(C)->_capacity/*5p*/)); -/*l581c6/ring_array.e*/ -/*SFN*/(C->_storage/*5p*/)=r250realloc((/*RF2*/(C)->_storage/*5p*/),_old_capacity,(/*RF2*/(C)->_capacity/*5p*/)); -/*l582c6/ring_array.e*/ +/*SFN*/(C->_storage/*5p*/)=r294realloc((/*RF2*/(C)->_storage/*5p*/),_old_capacity,(/*RF2*/(C)->_capacity/*5p*/)); if(((int32_t)(_s_u))<((/*RF2*/(C)->_storage_lower/*5p*/))){ -/*l585c7/ring_array.e*/ /*SFN*/(C->_upper/*5p*/)=((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*5p*/)))+((/*RF2*/(C)->_capacity/*5p*/))))-(_old_capacity); -/*l586c7/ring_array.e*/ -r213squeeze_bubble(C,(/*RF2*/(C)->_lower/*5p*/),(/*RF2*/(C)->_upper/*5p*/),_wp,((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))-(_old_capacity)); -/*l588c7/ring_array.e*/ +r255squeeze_bubble(C,(/*RF2*/(C)->_lower/*5p*/),(/*RF2*/(C)->_upper/*5p*/),_wp,((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))-(_old_capacity)); /*SFN*/(C->_upper/*5p*/)=((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*5p*/)))-((/*RF2*/(C)->_capacity/*5p*/))))+(_old_capacity); } } } }/*--*/ -/*RING_ARRAY[INTEGER_32]*/void r213squeeze_bubble(T213* C,T2 a1,T2 a2,T2 a3,T2 a4){ +/*RING_ARRAY[INTEGER_32]*/void r255squeeze_bubble(T255* C,T2 a1,T2 a2,T2 a3,T2 a4){ if(((int32_t)(((int32_t)(a3))-(a1)))<=(((int32_t)(((int32_t)(a2))-(a3)))-(a4))){ -/*l621c5/ring_array.e*/ -r213move(C,a1,((int32_t)(a3))-(INT32_C(1)),a4); -/*l622c5/ring_array.e*/ +r255move(C,a1,((int32_t)(a3))-(INT32_C(1)),a4); /*SFN*/(C->_storage_lower/*5p*/)=((int32_t)((/*RF2*/(C)->_storage_lower/*5p*/)))+(a4); -/*l623c5/ring_array.e*/ if(((int32_t)((/*RF2*/(C)->_storage_lower/*5p*/)))>=((/*RF2*/(C)->_capacity/*5p*/))){ /*SFN*/(C->_storage_lower/*5p*/)=((int32_t)((/*RF2*/(C)->_storage_lower/*5p*/)))-((/*RF2*/(C)->_capacity/*5p*/)); } } else{ -r213move(C,((int32_t)(a3))+(a4),a2,-(a4)); +r255move(C,((int32_t)(a3))+(a4),a2,-(a4)); } }/*--*/ -/*RING_ARRAY[INTEGER_32]*/T2 r213storage_upper(T213* C){ +/*RING_ARRAY[INTEGER_32]*/T2 r255storage_upper(T255* C){ T2 R=0; -R=r213storage_index(C,(/*RF2*/(C)->_upper/*5p*/)); +R=r255storage_index(C,(/*RF2*/(C)->_upper/*5p*/)); return R; }/*--*/ -/*RING_ARRAY[INTEGER_32]*/T2 r213storage_index(T213* C,T2 a1){ +/*RING_ARRAY[INTEGER_32]*/T2 r255storage_index(T255* C,T2 a1){ T2 R=0; -/*l728c4/ring_array.e*/ R=((int32_t)(((int32_t)(a1))-((/*RF2*/(C)->_lower/*5p*/))))+((/*RF2*/(C)->_storage_lower/*5p*/)); -/*l729c4/ring_array.e*/ if(((int32_t)(R))>=((/*RF2*/(C)->_capacity/*5p*/))){ R=((int32_t)(R))-((/*RF2*/(C)->_capacity/*5p*/)); } return R; }/*--*/ -/*RING_ARRAY[INTEGER_32]*/void r213make(T213* C,T2 a1,T2 a2){ +/*RING_ARRAY[INTEGER_32]*/void r255put(T255* C,T2 a1,T2 a2){ +((/*RF2*/(C)->_storage/*5p*/))[r255storage_index(C,a2)]=(a1); +}/*--*/ + +/*RING_ARRAY[INTEGER_32]*/void r255clear_all(T255* C){ +T2 _value=0; +r255set_all_with(C,_value); +}/*--*/ + +/*RING_ARRAY[INTEGER_32]*/void r255set_all_with(T255* C,T2 a1){ +T2 _s_u=0; +if(r255is_empty(C)){ +} +else{ +_s_u=r255storage_upper(C); +if(((int32_t)((/*RF2*/(C)->_storage_lower/*5p*/)))<=(_s_u)){ +r294set_slice_with((/*RF2*/(C)->_storage/*5p*/),a1,(/*RF2*/(C)->_storage_lower/*5p*/),_s_u); +} +else{ +r294set_all_with((/*RF2*/(C)->_storage/*5p*/),a1,_s_u); +r294set_slice_with((/*RF2*/(C)->_storage/*5p*/),a1,(/*RF2*/(C)->_storage_lower/*5p*/),((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))-(INT32_C(1))); +} +} +}/*--*/ + +/*RING_ARRAY[INTEGER_32]*/void r255make(T255* C,T2 a1,T2 a2){ T2 _needed=0; -/*l44c4/ring_array.e*/ /*SFN*/(C->_lower/*5p*/)=a1; -/*l45c4/ring_array.e*/ /*SFN*/(C->_upper/*5p*/)=a2; -/*l46c4/ring_array.e*/ _needed=((int32_t)(((int32_t)(a2))-(a1)))+(INT32_C(1)); -/*l47c4/ring_array.e*/ /*SFN*/(C->_storage_lower/*5p*/)=INT32_C(0); -/*l48c4/ring_array.e*/ if(((int32_t)(_needed))>(INT32_C(0))){ if(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))<(_needed)){ -/*l50c6/ring_array.e*/ -/*SFN*/(C->_storage/*5p*/)=new250(_needed); -/*l51c6/ring_array.e*/ +/*SFN*/(C->_storage/*5p*/)=new294(_needed); /*SFN*/(C->_capacity/*5p*/)=_needed; } else{ -r213clear_all(C); +r255clear_all(C); } } }/*--*/ -/*RING_ARRAY[INTEGER_32]*/void r213add_last(T213* C,T2 a1){ -/*l324c4/ring_array.e*/ -r213make_space_for_one(C); -/*l325c4/ring_array.e*/ +/*RING_ARRAY[INTEGER_32]*/void r255add_last(T255* C,T2 a1){ +r255make_space_for_one(C); /*SFN*/(C->_upper/*5p*/)=((int32_t)((/*RF2*/(C)->_upper/*5p*/)))+(INT32_C(1)); -/*l326c4/ring_array.e*/ -r213put(C,a1,(/*RF2*/(C)->_upper/*5p*/)); +r255put(C,a1,(/*RF2*/(C)->_upper/*5p*/)); }/*--*/ -/*RING_ARRAY[INTEGER_32]*/T2 r213count(T213* C){ +/*RING_ARRAY[INTEGER_32]*/T2 r255count(T255* C){ T2 R=0; R=((int32_t)(((int32_t)((/*RF2*/(C)->_upper/*5p*/)))-((/*RF2*/(C)->_lower/*5p*/))))+(INT32_C(1)); return R; }/*--*/ -/*RING_ARRAY[INTEGER_32]*/T6 r213is_empty(T213* C){ +/*RING_ARRAY[INTEGER_32]*/T6 r255is_empty(T255* C){ T6 R=0; R=((T6)(((int32_t)((/*RF2*/(C)->_upper/*5p*/)))<((/*RF2*/(C)->_lower/*5p*/)))); return R; }/*--*/ -/*RING_ARRAY[INTEGER_32]*/T2 r213item(T213* C,T2 a1){ +/*RING_ARRAY[INTEGER_32]*/T2 r255item(T255* C,T2 a1){ T2 R=0; -R=((/*RF2*/(C)->_storage/*5p*/))[r213storage_index(C,a1)]; +R=((/*RF2*/(C)->_storage/*5p*/))[r255storage_index(C,a1)]; return R; }/*--*/ -/*RING_ARRAY[INTEGER_32]*/void r213remove_first(T213* C){ -/*l253c4/ring_array.e*/ -/*SFN*/(C->_lower/*5p*/)=((int32_t)((/*RF2*/(C)->_lower/*5p*/)))+(INT32_C(1)); -/*l254c4/ring_array.e*/ -/*SFN*/(C->_storage_lower/*5p*/)=((int32_t)((/*RF2*/(C)->_storage_lower/*5p*/)))+(INT32_C(1)); -/*l255c4/ring_array.e*/ -if(((/*RF2*/(C)->_storage_lower/*5p*/))==((/*RF2*/(C)->_capacity/*5p*/))){ -/*SFN*/(C->_storage_lower/*5p*/)=INT32_C(0); -} +/*RING_ARRAY[INTEGER_32]*/T2 r255wrap_point(T255* C){ +T2 R=0; +R=((int32_t)(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+((/*RF2*/(C)->_lower/*5p*/))))-((/*RF2*/(C)->_storage_lower/*5p*/)); +return R; }/*--*/ -/*RING_ARRAY[INTEGER_32]*/void r213move(T213* C,T2 a1,T2 a2,T2 a3){ +/*RING_ARRAY[INTEGER_32]*/void r255move(T255* C,T2 a1,T2 a2,T2 a3){ T2 _default_value=0; T2 _i=0; if((a3)==(INT8_C(0))){ } -else if(((int32_t)(a3))<(INT32_C(0))){ +else{ +if(((int32_t)(a3))<(INT32_C(0))){ _i=a1; -while (!(((int32_t)(_i))>(a2))) +while(!(((int32_t)(_i))>(a2))) { -/*l616c6/collection.e*/ -r213put(C,r213item(C,_i),((int32_t)(_i))+(a3)); -/*l617c6/collection.e*/ -r213put(C,_default_value,_i); -/*l618c6/collection.e*/ +r255put(C,r255item(C,_i),((int32_t)(_i))+(a3)); +r255put(C,_default_value,_i); _i=((int32_t)(_i))+(INT32_C(1)); } } else{ _i=a2; -while (!(((int32_t)(_i))<(a1))) +while(!(((int32_t)(_i))<(a1))) { -/*l626c6/collection.e*/ -r213put(C,r213item(C,_i),((int32_t)(_i))+(a3)); -/*l627c6/collection.e*/ -r213put(C,_default_value,_i); -/*l628c6/collection.e*/ +r255put(C,r255item(C,_i),((int32_t)(_i))+(a3)); +r255put(C,_default_value,_i); _i=((int32_t)(_i))-(INT32_C(1)); } } +} }/*--*/ -/*HASHED_DICTIONARY[POINTER,STRING]*/void r211make(T211* C){ -r211create_with_capacity(C,INT32_C(53)); +/*HASHED_DICTIONARY[POINTER,STRING]*/void r253make(T253* C){ +r253create_with_capacity(C,INT32_C(53)); }/*--*/ -/*HASHED_DICTIONARY[POINTER,STRING]*/T0* r211common_free_nodes(void){ +/*HASHED_DICTIONARY[POINTER,STRING]*/T0* r253common_free_nodes(void){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* _fn=(void*)0; -if(fBC136common_free_nodes==0){fBC136common_free_nodes=1;{ -/*l499c4/hashed_dictionary.e*/ -tmp0=((T0*)(new245())); -r245set_item(((T245*)tmp0),(void*)0); -_fn=tmp0; -/*l500c4/hashed_dictionary.e*/ -tmp0=((T0*)(new244())); -r244special_common_dictionary(((T244*)tmp0),_fn); -oBC136common_free_nodes=tmp0; -/*l501c11/hashed_dictionary.e*/ -r244add(((T244*)oBC136common_free_nodes),_fn,(T0*)(t[244])); +if(fBC143common_free_nodes==0){fBC143common_free_nodes=1;{ +tmp0/*new*/=((T0*)(new289())); +r289set_item(((T289*)tmp0/*new*/),(void*)0); +_fn=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new288())); +r288special_common_dictionary(((T288*)tmp0/*new*/),_fn); +oBC143common_free_nodes=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/oBC143common_free_nodes),_fn,(T0*)(t[288])); }} -return oBC136common_free_nodes; +return oBC143common_free_nodes; }/*--*/ -/*HASHED_DICTIONARY[POINTER,STRING]*/void r211create_with_capacity(T211* C,T2 a1){ +/*HASHED_DICTIONARY[POINTER,STRING]*/void r253create_with_capacity(T253* C,T2 a1){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -/*l532c4/hashed_dictionary.e*/ -/*SFN*/(C->_free_nodes/*5p*/)=r244fast_reference_at((T244*)(r211common_free_nodes()),(T0*)(t[211])); -/*l533c4/hashed_dictionary.e*/ +/*SFN*/(C->_free_nodes/*5p*/)=r288fast_reference_at(((T288*)/*no_dispatch.e*/r253common_free_nodes()),(T0*)(t[253])); if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ -/*l534c5/hashed_dictionary.e*/ -tmp0=((T0*)(new249())); -r249set_item(((T249*)tmp0),(void*)0); -/*SFN*/(C->_free_nodes/*5p*/)=tmp0; -/*l535c23/hashed_dictionary.e*/ -r244add((T244*)(r211common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[211])); -} -/*l537c4/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new247(a1); -/*l538c4/hashed_dictionary.e*/ +tmp0/*new*/=((T0*)(new293())); +r293set_item(((T293*)tmp0/*new*/),(void*)0); +/*SFN*/(C->_free_nodes/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/r253common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[253])); +} +/*SFN*/(C->_buckets/*5p*/)=new291(a1); /*SFN*/(C->_capacity/*5p*/)=a1; -/*l539c4/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l540c4/hashed_dictionary.e*/ /*SFN*/(C->_count/*5p*/)=INT32_C(0); }/*--*/ -/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/void r208make(T208* C){ -r208create_with_capacity(C,INT32_C(53)); +/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/void r250make(T250* C){ +r250create_with_capacity(C,INT32_C(53)); }/*--*/ -/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/T0* r208common_free_nodes(void){ +/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/T0* r250common_free_nodes(void){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* _fn=(void*)0; -if(fBC136common_free_nodes==0){fBC136common_free_nodes=1;{ -/*l499c4/hashed_dictionary.e*/ -tmp0=((T0*)(new245())); -r245set_item(((T245*)tmp0),(void*)0); -_fn=tmp0; -/*l500c4/hashed_dictionary.e*/ -tmp0=((T0*)(new244())); -r244special_common_dictionary(((T244*)tmp0),_fn); -oBC136common_free_nodes=tmp0; -/*l501c11/hashed_dictionary.e*/ -r244add(((T244*)oBC136common_free_nodes),_fn,(T0*)(t[244])); +if(fBC143common_free_nodes==0){fBC143common_free_nodes=1;{ +tmp0/*new*/=((T0*)(new289())); +r289set_item(((T289*)tmp0/*new*/),(void*)0); +_fn=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new288())); +r288special_common_dictionary(((T288*)tmp0/*new*/),_fn); +oBC143common_free_nodes=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/oBC143common_free_nodes),_fn,(T0*)(t[288])); }} -return oBC136common_free_nodes; +return oBC143common_free_nodes; }/*--*/ -/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/void r208create_with_capacity(T208* C,T2 a1){ +/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/void r250create_with_capacity(T250* C,T2 a1){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -/*l532c4/hashed_dictionary.e*/ -/*SFN*/(C->_free_nodes/*5p*/)=r244fast_reference_at((T244*)(r208common_free_nodes()),(T0*)(t[208])); -/*l533c4/hashed_dictionary.e*/ +/*SFN*/(C->_free_nodes/*5p*/)=r288fast_reference_at(((T288*)/*no_dispatch.e*/r250common_free_nodes()),(T0*)(t[250])); if(((/*RF2*/(C)->_free_nodes/*5p*/))==((void*)((void*)0))){ -/*l534c5/hashed_dictionary.e*/ -tmp0=((T0*)(new243())); -r243set_item(((T243*)tmp0),(void*)0); -/*SFN*/(C->_free_nodes/*5p*/)=tmp0; -/*l535c23/hashed_dictionary.e*/ -r244add((T244*)(r208common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[208])); -} -/*l537c4/hashed_dictionary.e*/ -/*SFN*/(C->_buckets/*5p*/)=new239(a1); -/*l538c4/hashed_dictionary.e*/ +tmp0/*new*/=((T0*)(new287())); +r287set_item(((T287*)tmp0/*new*/),(void*)0); +/*SFN*/(C->_free_nodes/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +r288add(((T288*)/*no_dispatch.e*/r250common_free_nodes()),(/*RF2*/(C)->_free_nodes/*5p*/),(T0*)(t[250])); +} +/*SFN*/(C->_buckets/*5p*/)=new283(a1); /*SFN*/(C->_capacity/*5p*/)=a1; -/*l539c4/hashed_dictionary.e*/ /*SFN*/(C->_cache_user/*5p*/)=INT32_C(-1); -/*l540c4/hashed_dictionary.e*/ /*SFN*/(C->_count/*5p*/)=INT32_C(0); }/*--*/ -/*STREAM_EXCEPTION*/void r110expect(T110* C,T0* a1){ -r147when_exception(((T147*)a1),(/*RF2*/(C)->_stream/*ip*/)); +/*STREAM_EXCEPTION*/void r113make(T113* C,T0* a1){ +/*SFN*/(C->_stream/*ip*/)=a1; +}/*--*/ + +/*STREAM_EXCEPTION*/void r113expect(T113* C,T0* a1){ +r154when_exception(((T154*)a1),(/*RF2*/(C)->_stream/*ip*/)); }/*--*/ -/*STREAM_EXCEPTION*/T6 r110occurred(T110* C,T0* a1){ +/*STREAM_EXCEPTION*/T6 r113occurred(T113* C,T0* a1){ T6 R=0; -R=((T6)(r147is_exception(((T147*)a1),(/*RF2*/(C)->_stream/*ip*/)))); +R=((T6)(r154is_exception(((T154*)a1),(/*RF2*/(C)->_stream/*ip*/)))); return R; }/*--*/ -/*STREAM_EXCEPTION*/void r110make(T110* C,T0* a1){ -/*SFN*/(C->_stream/*ip*/)=a1; +/*CAN_READ_DATA_FROM_STREAM*/void r123make(T123* C,T0* a1){ +/*SFN*/(C->_input_stream/*ip*/)=a1; }/*--*/ -/*CAN_READ_DATA_FROM_STREAM*/void r120expect(T120* C,T0* a1){ -r147when_data(((T147*)a1),(/*RF2*/(C)->_input_stream/*ip*/)); +/*CAN_READ_DATA_FROM_STREAM*/void r123expect(T123* C,T0* a1){ +r154when_data(((T154*)a1),(/*RF2*/(C)->_input_stream/*ip*/)); }/*--*/ -/*CAN_READ_DATA_FROM_STREAM*/T6 r120occurred(T120* C,T0* a1){ +/*CAN_READ_DATA_FROM_STREAM*/T6 r123occurred(T123* C,T0* a1){ T6 R=0; -R=((T6)(r147is_data(((T147*)a1),(/*RF2*/(C)->_input_stream/*ip*/)))); +R=((T6)(r154is_data(((T154*)a1),(/*RF2*/(C)->_input_stream/*ip*/)))); return R; }/*--*/ -/*CAN_READ_DATA_FROM_STREAM*/void r120make(T120* C,T0* a1){ -/*SFN*/(C->_input_stream/*ip*/)=a1; -}/*--*/ - -/*TIME*/T6 r189_ix_60(T189* C,T189 a1){ +/*TIME*/T6 r205_ix_60(T205* C,T205 a1){ T6 R=0; R=((T6)((time_difftime((/*RF2*/(a1)._time_memory/**/),(/*RF2*/(*C)._time_memory/**/)))>(/*IC*/(T5)(INT8_C(0))))); return R; }/*--*/ -/*TIME*/T5 r189elapsed_seconds(T189* C,T189 a1){ +/*TIME*/T5 r205elapsed_seconds(T205* C,T205 a1){ T5 R=0; R=time_difftime((/*RF2*/(a1)._time_memory/**/),(/*RF2*/(*C)._time_memory/**/)); return R; }/*--*/ -/*MICROSECOND_TIME*/T6 r176_ix_60(T176* C,T176 a1){ +/*MICROSECOND_TIME*/T6 r192_ix_60(T192* C,T192 a1){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +T6 tmp1; +T205 tmp2; +T205 tmp3; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; -R=((T6)((T6)((r189_ix_60(&((/*RF2*/(*C)._time/**/)),(/*RF2*/(a1)._time/**/)))||((T6)((T6)((!se_cmpT189(((/*RF2*/(*C)._time/**/)),((/*RF2*/(a1)._time/**/))))&&((T6)(((int32_t)((/*RF2*/(*C)._microsecond/**/)))<((/*RF2*/(a1)._microsecond/**/)))))))))); +tmp0/*or else*/=((T6)(r205_ix_60(&((/*RF2*/(*C)._time/**/)),(/*RF2*/(a1)._time/**/)))); +if(tmp0/*or else*/){ +} +else{ +tmp1/*and then*/=((T6)(!se_cmpT205((tmp2/*se_cmp1*/=(/*RF2*/(*C)._time/**/), &tmp2/*se_cmp1*/),(tmp3/*se_cmp2*/=(/*RF2*/(a1)._time/**/), &tmp3/*se_cmp2*/))/*tmp2.unlock*/ +/*tmp3.unlock*/ +)); +if(tmp1/*and then*/){ +tmp1/*and then*/=((T6)(((int32_t)((/*RF2*/(*C)._microsecond/**/)))<((/*RF2*/(a1)._microsecond/**/)))); +} +tmp0/*or else*/=((T6)(tmp1/*and then*/)); +} +R=((T6)(tmp0/*or else*/)); return R; }/*--*/ -/*MICROSECOND_TIME*/T5 r176elapsed_seconds(T176* C,T176 a1){ +/*MICROSECOND_TIME*/T5 r192elapsed_seconds(T192* C,T192 a1){ T5 R=0; -/*l101c4/microsecond_time.e*/ -R=r189elapsed_seconds(&((/*RF2*/(*C)._time/**/)),(/*RF2*/(a1)._time/**/)); -/*l102c4/microsecond_time.e*/ +R=r205elapsed_seconds(&((/*RF2*/(*C)._time/**/)),(/*RF2*/(a1)._time/**/)); R=(R)+(((T5)(((int32_t)((/*RF2*/(a1)._microsecond/**/)))-((/*RF2*/(*C)._microsecond/**/))))/(INT32_C(1000000))); return R; }/*--*/ -/*MICROSECOND_TIME*/void r176update(T176* C){ -/*l25c4/microsecond_time.e*/ +/*MICROSECOND_TIME*/void r192update(T192* C){ basic_microsecond_update; -/*l222c4/time.e*/ (/*RF2*/((/*RF2*/(*C)._time/**/))._time_memory/**/)=basic_microsecond_time; -/*l27c4/microsecond_time.e*/ /*SFN*/(C->_microsecond/**/)=basic_microsecond_microsecond; }/*--*/ -/*EVENTS_SET*/void r147reset(T147* C){ -/*l62c4/events_set.e*/ -/*SFN*/(C->_timeout/*12p*/)=INT32_C(2147483647); -/*l63c4/events_set.e*/ -/*SFN*/(C->_expiration_valid/*12p*/)=((T6)(0)); -/*l64c4/events_set.e*/ -/*SFN*/(C->_current_time_valid/*12p*/)=((T6)(0)); -/*l65c4/events_set.e*/ -sequencer_reset((/*RF2*/(C)->_read_set/*12p*/)); -/*l66c4/events_set.e*/ -sequencer_reset((/*RF2*/(C)->_write_set/*12p*/)); -/*l67c4/events_set.e*/ -sequencer_reset((/*RF2*/(C)->_exception_set/*12p*/)); -/*l68c4/events_set.e*/ -/*SFN*/(C->_highest/*12p*/)=INT32_C(-1); -/*l69c4/events_set.e*/ -/*SFN*/(C->_read_size/*12p*/)=INT32_C(0); -/*l70c4/events_set.e*/ -/*SFN*/(C->_write_size/*12p*/)=INT32_C(0); -/*l71c4/events_set.e*/ -/*SFN*/(C->_exception_size/*12p*/)=INT32_C(0); -/*l72c4/events_set.e*/ -/*SFN*/(C->_queryable/*12p*/)=((T6)(0)); +/*EVENTS_SET*/T6 r154has_exception(T154* C,T2 a1){ +T6 R=0; +R=((T6)(sequencer_is_ready((/*RF2*/(C)->_exception_set/*12p*/),a1))); +return R; }/*--*/ -/*EVENTS_SET*/void r147expect(T147* C,T0* a1){ -X109expect(a1,(T0*)C); +/*EVENTS_SET*/void r154expect_readable(T154* C,T2 a1){ +sequencer_watch((/*RF2*/(C)->_read_set/*12p*/),a1); +/*SFN*/(C->_read_size/*12p*/)=((int32_t)((/*RF2*/(C)->_read_size/*12p*/)))+(INT32_C(1)); +/*SFN*/(C->_highest/*12p*/)=r2max((/*RF2*/(C)->_highest/*12p*/),a1); }/*--*/ -/*EVENTS_SET*/void r147make(T147* C){ -/*l37c4/events_set.e*/ -/*SFN*/(C->_read_set/*12p*/)=sequencer_create_set; -/*l38c4/events_set.e*/ -/*SFN*/(C->_write_set/*12p*/)=sequencer_create_set; -/*l39c4/events_set.e*/ -/*SFN*/(C->_exception_set/*12p*/)=sequencer_create_set; -/*l40c4/events_set.e*/ -r147reset(C); +/*EVENTS_SET*/void r154when_data(T154* C,T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T2 tmp0; +/*INTERNAL_C_LOCAL list]*/ +/*[inspectDynamicDispatch*/ +switch(((a1)->id)){ +case 153: +tmp0/*descriptor*/=(/*RF2*/(((T153*)a1))->_filtered_descriptor/*i8p*/); +break; +default:; +tmp0/*descriptor*/=(/*RF2*/(((T134*)a1))->_descriptor/*i2p*/); +} +/*inspect]*/ +r154expect_readable(C,tmp0/*descriptor*/); }/*--*/ -/*EVENTS_SET*/void r147when_data(T147* C,T0* a1){ -/*l165c4/events_set.e*/ -sequencer_watch((/*RF2*/(C)->_read_set/*12p*/),X49descriptor(a1)); -/*l166c4/events_set.e*/ -/*SFN*/(C->_read_size/*12p*/)=((int32_t)((/*RF2*/(C)->_read_size/*12p*/)))+(INT32_C(1)); -/*l167c4/events_set.e*/ -/*SFN*/(C->_highest/*12p*/)=r2max((/*RF2*/(C)->_highest/*12p*/),X49descriptor(a1)); +/*EVENTS_SET*/T6 r154can_read(T154* C,T2 a1){ +T6 R=0; +R=((T6)(sequencer_is_ready((/*RF2*/(C)->_read_set/*12p*/),a1))); +return R; }/*--*/ -/*EVENTS_SET*/T6 r147is_data(T147* C,T0* a1){ +/*EVENTS_SET*/T6 r154is_data(T154* C,T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T2 tmp0; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; -R=((T6)(sequencer_is_ready((/*RF2*/(C)->_read_set/*12p*/),X49descriptor(a1)))); +/*[inspectDynamicDispatch*/ +switch(((a1)->id)){ +case 153: +tmp0/*descriptor*/=(/*RF2*/(((T153*)a1))->_filtered_descriptor/*i8p*/); +break; +default:; +tmp0/*descriptor*/=(/*RF2*/(((T134*)a1))->_descriptor/*i2p*/); +} +/*inspect]*/ +R=((T6)(r154can_read(C,tmp0/*descriptor*/))); return R; }/*--*/ -/*EVENTS_SET*/void r147when_exception(T147* C,T0* a1){ -/*l227c5/events_set.e*/ -sequencer_watch((/*RF2*/(C)->_exception_set/*12p*/),r146descriptor(((T146*)a1))); -/*l228c5/events_set.e*/ -/*SFN*/(C->_exception_size/*12p*/)=((int32_t)((/*RF2*/(C)->_exception_size/*12p*/)))+(INT32_C(1)); -/*l229c5/events_set.e*/ -/*SFN*/(C->_highest/*12p*/)=r2max((/*RF2*/(C)->_highest/*12p*/),r146descriptor(((T146*)a1))); +/*EVENTS_SET*/void r154when_exception(T154* C,T0* a1){ +r154expect_exception(C,(/*RF2*/(((T153*)/*no_dispatch.e*/a1))->_filtered_descriptor/*i8p*/)); +}/*--*/ + +/*EVENTS_SET*/void r154make(T154* C){ +/*SFN*/(C->_read_set/*12p*/)=sequencer_create_set; +/*SFN*/(C->_write_set/*12p*/)=sequencer_create_set; +/*SFN*/(C->_exception_set/*12p*/)=sequencer_create_set; +r154reset(C); }/*--*/ -/*EVENTS_SET*/T6 r147event_occurred(T147* C,T0* a1){ +/*EVENTS_SET*/T6 r154event_occurred(T154* C,T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; -R=((T6)(X109occurred(a1,(T0*)C))); +/*[inspectDynamicDispatch*/ +switch(((a1)->id)){ +case 123: +tmp0/*occurred*/=((T6)(r123occurred(((T123*)a1),(T0*)C))); +break; +default:; +tmp0/*occurred*/=((T6)(r113occurred(((T113*)a1),(T0*)C))); +} +/*inspect]*/ +R=((T6)(tmp0/*occurred*/)); return R; }/*--*/ -/*EVENTS_SET*/T6 r147is_exception(T147* C,T0* a1){ +/*EVENTS_SET*/T6 r154is_exception(T154* C,T0* a1){ T6 R=0; -R=((T6)(sequencer_is_ready((/*RF2*/(C)->_exception_set/*12p*/),r146descriptor(((T146*)a1))))); +R=((T6)(r154has_exception(C,(/*RF2*/(((T153*)/*no_dispatch.e*/a1))->_filtered_descriptor/*i8p*/)))); return R; }/*--*/ -/*EVENTS_SET*/void r147wait(T147* C){ -T176 _now={{0},0}; +/*EVENTS_SET*/void r154wait(T154* C){ +T192 _now={{0},0}; T2 _s=0; T2 _us=0; T5 _remaining=0; -/*l89c4/events_set.e*/ if((/*RF2*/(C)->_expiration_valid/*12p*/)){ -/*l90c9/events_set.e*/ -r176update(&_now); -/*l91c5/events_set.e*/ -if(r176_ix_60(&_now,(/*RF2*/(C)->_expiration/*12p*/))){ -_remaining=r176elapsed_seconds(&_now,(/*RF2*/(C)->_expiration/*12p*/)); +r192update(&_now); +if(r192_ix_60(&_now,(/*RF2*/(C)->_expiration/*12p*/))){ +_remaining=r192elapsed_seconds(&_now,(/*RF2*/(C)->_expiration/*12p*/)); } -/*l94c5/events_set.e*/ if((((T5)((/*RF2*/(C)->_timeout/*12p*/)))/(INT32_C(1000)))<(_remaining)){ _remaining=((T5)((/*RF2*/(C)->_timeout/*12p*/)))/(INT32_C(1000)); } @@ -8326,644 +8108,678 @@ _remaining=((T5)((/*RF2*/(C)->_timeout/*12p*/)))/(INT32_C(1000)); else{ _remaining=((T5)((/*RF2*/(C)->_timeout/*12p*/)))/(INT32_C(1000)); } -/*l100c4/events_set.e*/ -/*l101c5/events_set.e*/ _s=((int32_t)(floor(_remaining))); -/*l102c5/events_set.e*/ _us=((int32_t)(floor(((_remaining)-(/*IC*/(T5)(_s)))*(/*IC*/(T5)(INT32_C(1000000)))))); -while (!((sequencer_wait(((int32_t)((/*RF2*/(C)->_highest/*12p*/)))+(INT32_C(1)),(/*RF2*/(C)->_read_set/*12p*/),(/*RF2*/(C)->_read_size/*12p*/),(/*RF2*/(C)->_write_set/*12p*/),(/*RF2*/(C)->_write_size/*12p*/),(/*RF2*/(C)->_exception_set/*12p*/),(/*RF2*/(C)->_exception_size/*12p*/),_s,_us))!=(INT8_C(-1)))) +while(!((sequencer_wait(((int32_t)((/*RF2*/(C)->_highest/*12p*/)))+(INT32_C(1)),(/*RF2*/(C)->_read_set/*12p*/),(/*RF2*/(C)->_read_size/*12p*/),(/*RF2*/(C)->_write_set/*12p*/),(/*RF2*/(C)->_write_size/*12p*/),(/*RF2*/(C)->_exception_set/*12p*/),(/*RF2*/(C)->_exception_size/*12p*/),_s,_us))!=(INT8_C(-1)))) { } -/*l107c4/events_set.e*/ /*SFN*/(C->_queryable/*12p*/)=((T6)(1)); -/*l108c4/events_set.e*/ /*SFN*/(C->_current_time_valid/*12p*/)=((T6)(0)); }/*--*/ -/*ROOT_LAYOUT*/void r158set_container(T158* C,T0* a1){ -/*SFN*/(C->_container/*p*/)=a1; +/*EVENTS_SET*/void r154expect_exception(T154* C,T2 a1){ +sequencer_watch((/*RF2*/(C)->_exception_set/*12p*/),a1); +/*SFN*/(C->_exception_size/*12p*/)=((int32_t)((/*RF2*/(C)->_exception_size/*12p*/)))+(INT32_C(1)); +/*SFN*/(C->_highest/*12p*/)=r2max((/*RF2*/(C)->_highest/*12p*/),a1); }/*--*/ -/*STD_INPUT*/void r54make(T54* C){ -/*l43c4/std_input.e*/ -/*SFN*/(C->_buffer/*3p*/)=new9(INT32_C(4096)); -/*l44c4/std_input.e*/ -/*SFN*/(C->_capacity/*3p*/)=INT32_C(4096); +/*EVENTS_SET*/void r154reset(T154* C){ +/*SFN*/(C->_timeout/*12p*/)=INT32_C(2147483647); +/*SFN*/(C->_expiration_valid/*12p*/)=((T6)(0)); +/*SFN*/(C->_current_time_valid/*12p*/)=((T6)(0)); +sequencer_reset((/*RF2*/(C)->_read_set/*12p*/)); +sequencer_reset((/*RF2*/(C)->_write_set/*12p*/)); +sequencer_reset((/*RF2*/(C)->_exception_set/*12p*/)); +/*SFN*/(C->_highest/*12p*/)=INT32_C(-1); +/*SFN*/(C->_read_size/*12p*/)=INT32_C(0); +/*SFN*/(C->_write_size/*12p*/)=INT32_C(0); +/*SFN*/(C->_exception_size/*12p*/)=INT32_C(0); +/*SFN*/(C->_queryable/*12p*/)=((T6)(0)); }/*--*/ -/*STD_INPUT*/void r54dispose(T54* C){ -(/*RF2*/(C)->_filter/*3p*/)=(void*)0; +/*EVENTS_SET*/void r154expect(T154* C,T0* a1){ +/*[inspectDynamicDispatch*/ +switch(((a1)->id)){ +case 123: +r123expect(((T123*)a1),(T0*)C); +break; +default:; +r113expect(((T113*)a1),(T0*)C); +} +/*inspect]*/ }/*--*/ -/*KEY_RANGE*/void r139make(T139* C,T8 a1){ -x_key_info_init(a1,/*$*/((void*)&(C->_minimum_code)),/*$*/((void*)&(C->_maximum_code)),/*$*/((void*)&(C->_key_count))); +/*KEY_RANGE*/void r146make(T146* C,T8 a1){ +x_key_info_init(a1,/*$*/(void*)&(/*RF2*/(C)->_minimum_code/*3p*/),/*$*/(void*)&(/*RF2*/(C)->_maximum_code/*3p*/),/*$*/(void*)&(/*RF2*/(C)->_key_count/*3p*/)); }/*--*/ -/*BUTTON_RANGE*/void r142make(T142* C,T8 a1){ +/*BUTTON_RANGE*/void r149make(T149* C,T8 a1){ /*SFN*/(C->_buttons_count/*p*/)=x_button_info_num_buttons(a1); }/*--*/ -/*AXES_RANGE*/void r141make(T141* C,T8 a1){ +/*AXES_RANGE*/void r148make(T148* C,T8 a1){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T2 _nb_axes=0; -/*l11c4/axes_range.e*/ -x_valuator_info_init(a1,/*$*/&_nb_axes,/*$*/((void*)&(C->_absolute)),/*$*/((void*)&(C->_motion_buffer_size))); -/*l12c4/axes_range.e*/ -tmp0=((T0*)(new214())); -r214make(((T214*)tmp0),_nb_axes); -/*SFN*/(C->_minimums/*5p*/)=tmp0; -/*l13c4/axes_range.e*/ -tmp0=((T0*)(new214())); -r214make(((T214*)tmp0),_nb_axes); -/*SFN*/(C->_maximums/*5p*/)=tmp0; -/*l14c4/axes_range.e*/ -tmp0=((T0*)(new214())); -r214make(((T214*)tmp0),_nb_axes); -/*SFN*/(C->_resolutions/*5p*/)=tmp0; -/*l15c4/axes_range.e*/ +x_valuator_info_init(a1,/*$*/(void*)&_nb_axes,/*$*/(void*)&(/*RF2*/(C)->_absolute/*5p*/),/*$*/(void*)&(/*RF2*/(C)->_motion_buffer_size/*5p*/)); +tmp0/*new*/=((T0*)(new258())); +r258make(((T258*)tmp0/*new*/),_nb_axes); +/*SFN*/(C->_minimums/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new258())); +r258make(((T258*)tmp0/*new*/),_nb_axes); +/*SFN*/(C->_maximums/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new258())); +r258make(((T258*)tmp0/*new*/),_nb_axes); +/*SFN*/(C->_resolutions/*5p*/)=tmp0/*new*/; +/*tmp0.unlock*/ _nb_axes=((int32_t)(_nb_axes))-(INT32_C(1)); -while (!(((int32_t)(_nb_axes))<(INT32_C(0)))) +while(!(((int32_t)(_nb_axes))<(INT32_C(0)))) { -/*l122c12/fast_array.e*/ -((/*RF2*/((T214*)((/*RF2*/(C)->_resolutions/*5p*/)))->_storage/*3p*/))[_nb_axes]=(x_valuator_info_resolution(a1,_nb_axes)); -/*l122c12/fast_array.e*/ -((/*RF2*/((T214*)((/*RF2*/(C)->_minimums/*5p*/)))->_storage/*3p*/))[_nb_axes]=(x_valuator_info_minimum(a1,_nb_axes)); -/*l122c12/fast_array.e*/ -((/*RF2*/((T214*)((/*RF2*/(C)->_maximums/*5p*/)))->_storage/*3p*/))[_nb_axes]=(x_valuator_info_maximum(a1,_nb_axes)); -/*l23c5/axes_range.e*/ +((/*RF2*/((T258*)((/*RF2*/(C)->_resolutions/*5p*/)))->_storage/*3p*/))[_nb_axes]=(x_valuator_info_resolution(a1,_nb_axes)); +((/*RF2*/((T258*)((/*RF2*/(C)->_minimums/*5p*/)))->_storage/*3p*/))[_nb_axes]=(x_valuator_info_minimum(a1,_nb_axes)); +((/*RF2*/((T258*)((/*RF2*/(C)->_maximums/*5p*/)))->_storage/*3p*/))[_nb_axes]=(x_valuator_info_maximum(a1,_nb_axes)); _nb_axes=((int32_t)(_nb_axes))-(INT32_C(1)); } }/*--*/ -/*IVY_CLIENT*/T2 r146descriptor(T146* C){ -T2 R=0; -R=(/*RF2*/(C)->_filtered_descriptor/*i7p*/); -return R; +/*IVY_CLIENT*/void r153process_incomming_data(T153* C){ +read_callback((/*RF2*/(C)->_read_function/*i8p*/),(T0*)C,(/*RF2*/(C)->_filtered_descriptor/*i8p*/),(/*RF2*/(C)->_data/*i8p*/)); }/*--*/ -/*IVY_CLIENT*/T0* r146event_can_read(T146* C){ +/*IVY_CLIENT*/T0* r153event_can_read(T153* C){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* R=(void*)0; -/*l143c4/input_stream.e*/ -R=(/*RF2*/(C)->_can_read/*i7p*/); -/*l144c4/input_stream.e*/ +R=(/*RF2*/(C)->_can_read/*i8p*/); if((R)==((void*)((void*)0))){ -/*l145c5/input_stream.e*/ -tmp0=((T0*)(new120())); -r120make(((T120*)tmp0),(T0*)C); -/*SFN*/(C->_can_read/*i7p*/)=tmp0; -/*l146c5/input_stream.e*/ -R=(/*RF2*/(C)->_can_read/*i7p*/); +tmp0/*new*/=((T0*)(new123())); +r123make(((T123*)tmp0/*new*/),(T0*)C); +/*SFN*/(C->_can_read/*i8p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +R=(/*RF2*/(C)->_can_read/*i8p*/); } return R; }/*--*/ -/*IVY_CLIENT*/void r146make(T146* C,T2 a1,T8 a2,T8 a3,T8 a4){ -/*l14c4/ivy_client.e*/ -/*SFN*/(C->_filtered_descriptor/*i7p*/)=a1; -/*l15c4/ivy_client.e*/ -/*SFN*/(C->_data/*i7p*/)=a2; -/*l16c4/ivy_client.e*/ -/*SFN*/(C->_read_function/*i7p*/)=a3; -/*l17c4/ivy_client.e*/ -/*SFN*/(C->_delete_function/*i7p*/)=a4; -/*l18c4/ivy_client.e*/ -/*SFN*/(C->_is_connected/*i7p*/)=((T6)(1)); +/*IVY_CLIENT*/void r153make(T153* C,T2 a1,T8 a2,T8 a3,T8 a4,T8 a5){ +/*SFN*/(C->_filtered_descriptor/*i8p*/)=a1; +/*SFN*/(C->_data/*i8p*/)=a2; +/*SFN*/(C->_delete_function/*i8p*/)=a3; +/*SFN*/(C->_read_function/*i8p*/)=a4; +/*SFN*/(C->_write_function/*i8p*/)=a5; +/*SFN*/(C->_is_connected/*i8p*/)=((T6)(1)); }/*--*/ -/*IVY_CLIENT*/void r146process_incomming_data(T146* C){ -read_callback((/*RF2*/(C)->_read_function/*i7p*/),(T0*)C,(/*RF2*/(C)->_filtered_descriptor/*i7p*/),(/*RF2*/(C)->_data/*i7p*/)); -}/*--*/ - -/*IVY_CLIENT*/void r146disconnect(T146* C){ -if((NULL!=(/*RF2*/(C)->_delete_function/*i7p*/))){ -delete_callback((/*RF2*/(C)->_delete_function/*i7p*/),(/*RF2*/(C)->_data/*i7p*/)); +/*IVY_CLIENT*/void r153disconnect(T153* C){ +if((NULL!=(/*RF2*/(C)->_delete_function/*i8p*/))){ +delete_callback((/*RF2*/(C)->_delete_function/*i8p*/),(/*RF2*/(C)->_data/*i8p*/)); } }/*--*/ -/*IVY_CLIENT*/void r146dispose(T146* C){ -if((/*RF2*/(C)->_is_connected/*i7p*/)){ -r146disconnect(C); +/*IVY_CLIENT*/void r153dispose(T153* C){ +if((/*RF2*/(C)->_is_connected/*i8p*/)){ +r153disconnect(C); } }/*--*/ -/*IVY_CLIENT*/T0* r146event_exception(T146* C){ +/*IVY_CLIENT*/T0* r153event_exception(T153* C){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* R=(void*)0; -/*l113c4/stream.e*/ -R=(/*RF2*/(C)->_stream_exception/*i7p*/); -/*l114c4/stream.e*/ +R=(/*RF2*/(C)->_stream_exception/*i8p*/); if((R)==((void*)((void*)0))){ -/*l115c5/stream.e*/ -tmp0=((T0*)(new110())); -r110make(((T110*)tmp0),(T0*)C); -/*SFN*/(C->_stream_exception/*i7p*/)=tmp0; -/*l116c5/stream.e*/ -R=(/*RF2*/(C)->_stream_exception/*i7p*/); +tmp0/*new*/=((T0*)(new113())); +r113make(((T113*)tmp0/*new*/),(T0*)C); +/*SFN*/(C->_stream_exception/*i8p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +R=(/*RF2*/(C)->_stream_exception/*i8p*/); } return R; }/*--*/ -T148*create148make(void){ +T155*create155make(void){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +tmp0/*new*/=((T0*)(new155())); +r155make(((T155*)tmp0/*new*/)); +return ((T155*)tmp0/*new*/); +/*tmp0.unlock*/ +}/*--*/ + +/*LOOP_ITEM*/void r155make(T155* C){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -tmp0=((T0*)(new148())); -r148make(((T148*)tmp0)); -return ((T148*)tmp0); +tmp0/*new*/=((T0*)(new280())); +r280make(((T280*)tmp0/*new*/),INT32_C(0)); +/*SFN*/(C->_job_list/*6p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new280())); +r280make(((T280*)tmp0/*new*/),INT32_C(0)); +/*SFN*/(C->_finished_jobs/*6p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new280())); +r280make(((T280*)tmp0/*new*/),INT32_C(0)); +/*SFN*/(C->_ready_jobs/*6p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new154())); +r154make(((T154*)tmp0/*new*/)); +/*SFN*/(C->_events/*6p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*SFN*/(C->_pause/*6p*/)=((T6)(1)); }/*--*/ -/*LOOP_ITEM*/void r148add_job(T148* C,T0* a1){ +/*LOOP_ITEM*/void r155add_job(T155* C,T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +T2 tmp1; +T2 tmp2; +/*INTERNAL_C_LOCAL list]*/ T2 _i=0; -/*l136c4/loop_item.e*/ _i=INT32_C(0); -while (!((T6)((((int32_t)(_i))>((/*RF2*/((T236*)((/*RF2*/(C)->_job_list/*6p*/)))->_upper/*3p*/)))||((T6)(((int32_t)(X71priority(((/*RF2*/((T236*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i])))>(X71priority(a1))))))) -{ +while(1){ +tmp0/*or else*/=((T6)(((int32_t)(_i))>((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_upper/*3p*/)))); +if(tmp0/*or else*/){ +} +else{ +/*[inspectDynamicDispatch*/ +switch(((((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i])->id)){ +case 131: +tmp1/*priority*/=(/*RF2*/(((T131*)((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i]))->_priority/*i11p*/); +break; +default:; +tmp1/*priority*/=(/*RF2*/(((T71*)((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i]))->_priority/*i11p*/); +} +/*inspect]*/ +/*[inspectDynamicDispatch*/ +switch(((a1)->id)){ +case 131: +tmp2/*priority*/=(/*RF2*/(((T131*)a1))->_priority/*i11p*/); +break; +default:; +tmp2/*priority*/=(/*RF2*/(((T71*)a1))->_priority/*i11p*/); +} +/*inspect]*/ +tmp0/*or else*/=((T6)(((int32_t)(tmp1/*priority*/))>(tmp2/*priority*/))); +} +if(tmp0/*or else*/){ +break; +} _i=((int32_t)(_i))+(INT32_C(1)); } -/*l143c13/loop_item.e*/ -r236add((T236*)((/*RF2*/(C)->_job_list/*6p*/)),a1,_i); +r280add((T280*)((/*RF2*/(C)->_job_list/*6p*/)),a1,_i); }/*--*/ -/*LOOP_ITEM*/void r148run(T148* C){ +/*LOOP_ITEM*/void r155run(T155* C){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +T6 tmp1; +T6 tmp2; +T6 tmp3; +T6 tmp4; +T2 tmp5; +T6 tmp6; +/*INTERNAL_C_LOCAL list]*/ T2 _i=0; T2 _selected_priority=0; T0* _job=(void*)0; -/*l48c5/loop_item.e*/ /*SFN*/(C->_pause/*6p*/)=((T6)(0)); -/*l49c5/loop_item.e*/ /*SFN*/(C->_break/*6p*/)=((T6)(0)); -while (!((T6)(((T6)(((/*RF2*/(C)->_pause/*6p*/))||((T6)((/*RF2*/(C)->_break/*6p*/)))))||((T6)(r236is_empty((T236*)((/*RF2*/(C)->_job_list/*6p*/)))))))) -{ -/*l54c5/loop_item.e*/ -/*l55c6/loop_item.e*/ +while(1){ +tmp0/*or else*/=((T6)((/*RF2*/(C)->_pause/*6p*/))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)((/*RF2*/(C)->_break/*6p*/))); +} +tmp1/*or else*/=((T6)(tmp0/*or else*/)); +if(tmp1/*or else*/){ +} +else{ +tmp1/*or else*/=((T6)(r280is_empty((T280*)((/*RF2*/(C)->_job_list/*6p*/))))); +} +if(tmp1/*or else*/){ +break; +} _i=INT32_C(0); -/*l56c13/loop_item.e*/ -r147reset((T147*)((/*RF2*/(C)->_events/*6p*/))); -while (!(((int32_t)(_i))>((/*RF2*/((T236*)((/*RF2*/(C)->_job_list/*6p*/)))->_upper/*3p*/)))) +r154reset((T154*)((/*RF2*/(C)->_events/*6p*/))); +while(!(((int32_t)(_i))>((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_upper/*3p*/)))) { -/*l62c6/loop_item.e*/ -_job=((/*RF2*/((T236*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i]; -/*l63c6/loop_item.e*/ -if(X71done(_job)){ -/*l64c16/loop_item.e*/ -r236remove((T236*)((/*RF2*/(C)->_job_list/*6p*/)),_i); -/*l65c21/loop_item.e*/ -r236add_last((T236*)((/*RF2*/(C)->_finished_jobs/*6p*/)),_job); -} -else{ -/*l67c11/loop_item.e*/ -X71prepare(_job,(/*RF2*/(C)->_events/*6p*/)); -/*l68c7/loop_item.e*/ +_job=((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i]; +/*[inspectDynamicDispatch*/ +switch(((_job)->id)){ +case 131: +tmp2/*done*/=((T6)((/*RF2*/(((T131*)_job))->_done/*i11p*/))); +break; +default:; +tmp2/*done*/=((T6)((/*RF2*/(((T71*)_job))->_done/*i11p*/))); +} +/*inspect]*/ +if(tmp2/*done*/){ +r280remove((T280*)((/*RF2*/(C)->_job_list/*6p*/)),_i); +r280add_last((T280*)((/*RF2*/(C)->_finished_jobs/*6p*/)),_job); +} +else{ +/*[inspectDynamicDispatch*/ +switch(((_job)->id)){ +case 131: +r131prepare(((T131*)_job),(/*RF2*/(C)->_events/*6p*/)); +break; +default:; +r71prepare(((T71*)_job),(/*RF2*/(C)->_events/*6p*/)); +} +/*inspect]*/ _i=((int32_t)(_i))+(INT32_C(1)); } } -/*l71c5/loop_item.e*/ -if((r236is_empty((T236*)((/*RF2*/(C)->_job_list/*6p*/))))==(0)){ -/*l73c13/loop_item.e*/ -r147wait((T147*)((/*RF2*/(C)->_events/*6p*/))); -/*l75c6/loop_item.e*/ -/*l76c7/loop_item.e*/ +if((r280is_empty((T280*)((/*RF2*/(C)->_job_list/*6p*/))))==(0)){ +r154wait((T154*)((/*RF2*/(C)->_events/*6p*/))); _i=INT32_C(0); -/*l77c7/loop_item.e*/ _selected_priority=INT32_MIN; -/*l163c4/fast_array.e*/ -(/*RF2*/((T236*)((/*RF2*/(C)->_ready_jobs/*6p*/)))->_upper/*3p*/)=INT32_C(-1); -while (!((T6)((((int32_t)(_i))>((/*RF2*/((T236*)((/*RF2*/(C)->_job_list/*6p*/)))->_upper/*3p*/)))||((T6)((_selected_priority)!=(INT32_MIN)))))) -{ -/*l82c7/loop_item.e*/ -_job=((/*RF2*/((T236*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i]; -/*l83c7/loop_item.e*/ -if(X71is_ready(_job,(/*RF2*/(C)->_events/*6p*/))){ -/*l84c8/loop_item.e*/ -_selected_priority=X71priority(_job); -/*l85c19/loop_item.e*/ -r236add_last((T236*)((/*RF2*/(C)->_ready_jobs/*6p*/)),_job); -} -/*l87c7/loop_item.e*/ +(/*RF2*/((T280*)((/*RF2*/(C)->_ready_jobs/*6p*/)))->_upper/*3p*/)=INT32_C(-1); +while(1){ +tmp3/*or else*/=((T6)(((int32_t)(_i))>((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_upper/*3p*/)))); +if(tmp3/*or else*/){ +} +else{ +tmp3/*or else*/=((T6)((_selected_priority)!=(INT32_MIN))); +} +if(tmp3/*or else*/){ +break; +} +_job=((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i]; +/*[inspectDynamicDispatch*/ +switch(((_job)->id)){ +case 131: +tmp4/*is_ready*/=((T6)(r131is_ready(((T131*)_job),(/*RF2*/(C)->_events/*6p*/)))); +break; +default:; +tmp4/*is_ready*/=((T6)(r71is_ready(((T71*)_job),(/*RF2*/(C)->_events/*6p*/)))); +} +/*inspect]*/ +if(tmp4/*is_ready*/){ +/*[inspectDynamicDispatch*/ +switch(((_job)->id)){ +case 131: +tmp5/*priority*/=(/*RF2*/(((T131*)_job))->_priority/*i11p*/); +break; +default:; +tmp5/*priority*/=(/*RF2*/(((T71*)_job))->_priority/*i11p*/); +} +/*inspect]*/ +_selected_priority=tmp5/*priority*/; +r280add_last((T280*)((/*RF2*/(C)->_ready_jobs/*6p*/)),_job); +} _i=((int32_t)(_i))+(INT32_C(1)); } -/*l89c6/loop_item.e*/ -while (!((T6)((((int32_t)(_i))>((/*RF2*/((T236*)((/*RF2*/(C)->_job_list/*6p*/)))->_upper/*3p*/)))||((T6)((X71priority(((/*RF2*/((T236*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i]))!=(_selected_priority)))))) -{ -/*l93c7/loop_item.e*/ -_job=((/*RF2*/((T236*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i]; -/*l94c7/loop_item.e*/ -if(X71is_ready(_job,(/*RF2*/(C)->_events/*6p*/))){ -r236add_last((T236*)((/*RF2*/(C)->_ready_jobs/*6p*/)),_job); +while(1){ +/*auto-unlock tmp4*/tmp4/*or else*/=((T6)(((int32_t)(_i))>((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_upper/*3p*/)))); +if(tmp4/*or else*/){ +} +else{ +/*[inspectDynamicDispatch*/ +switch(((((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i])->id)){ +case 131: +/*auto-unlock tmp5*/tmp5/*priority*/=(/*RF2*/(((T131*)((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i]))->_priority/*i11p*/); +break; +default:; +tmp5/*priority*/=(/*RF2*/(((T71*)((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i]))->_priority/*i11p*/); +} +/*inspect]*/ +tmp4/*or else*/=((T6)((tmp5/*priority*/)!=(_selected_priority))); +} +if(tmp4/*or else*/){ +break; +} +_job=((/*RF2*/((T280*)((/*RF2*/(C)->_job_list/*6p*/)))->_storage/*3p*/))[_i]; +/*[inspectDynamicDispatch*/ +switch(((_job)->id)){ +case 131: +tmp6/*is_ready*/=((T6)(r131is_ready(((T131*)_job),(/*RF2*/(C)->_events/*6p*/)))); +break; +default:; +tmp6/*is_ready*/=((T6)(r71is_ready(((T71*)_job),(/*RF2*/(C)->_events/*6p*/)))); +} +/*inspect]*/ +if(tmp6/*is_ready*/){ +r280add_last((T280*)((/*RF2*/(C)->_ready_jobs/*6p*/)),_job); } -/*l97c7/loop_item.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } -/*l100c6/loop_item.e*/ -_i=(/*RF2*/((T236*)((/*RF2*/(C)->_ready_jobs/*6p*/)))->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +_i=(/*RF2*/((T280*)((/*RF2*/(C)->_ready_jobs/*6p*/)))->_upper/*3p*/); +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l105c26/loop_item.e*/ -X71continue(((/*RF2*/((T236*)((/*RF2*/(C)->_ready_jobs/*6p*/)))->_storage/*3p*/))[_i]); -/*l106c7/loop_item.e*/ +/*[inspectDynamicDispatch*/ +switch(((((/*RF2*/((T280*)((/*RF2*/(C)->_ready_jobs/*6p*/)))->_storage/*3p*/))[_i])->id)){ +case 131: +r131continue(((T131*)((/*RF2*/((T280*)((/*RF2*/(C)->_ready_jobs/*6p*/)))->_storage/*3p*/))[_i])); +break; +default:; +r71continue(((T71*)((/*RF2*/((T280*)((/*RF2*/(C)->_ready_jobs/*6p*/)))->_storage/*3p*/))[_i])); +} +/*inspect]*/ _i=((int32_t)(_i))-(INT32_C(1)); } } } }/*--*/ -/*LOOP_ITEM*/void r148make(T148* C){ +/*ROOT_WINDOW*/void r73default_create(T73* C){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -/*l25c4/loop_item.e*/ -tmp0=((T0*)(new236())); -r236make(((T236*)tmp0),INT32_C(0)); -/*SFN*/(C->_job_list/*6p*/)=tmp0; -/*l26c4/loop_item.e*/ -tmp0=((T0*)(new236())); -r236make(((T236*)tmp0),INT32_C(0)); -/*SFN*/(C->_finished_jobs/*6p*/)=tmp0; -/*l27c4/loop_item.e*/ -tmp0=((T0*)(new236())); -r236make(((T236*)tmp0),INT32_C(0)); -/*SFN*/(C->_ready_jobs/*6p*/)=tmp0; -/*l28c4/loop_item.e*/ -tmp0=((T0*)(new147())); -r147make(((T147*)tmp0)); -/*SFN*/(C->_events/*6p*/)=tmp0; -/*l29c4/loop_item.e*/ -/*SFN*/(C->_pause/*6p*/)=((T6)(1)); +r73container_init(C); +/*SFN*/(C->_width/*9p*/)=(/*RF2*/((T65*)(r73vision()))->_display_width/*6p*/); +/*SFN*/(C->_height/*9p*/)=(/*RF2*/((T65*)(r73vision()))->_display_height/*6p*/); +/*SFN*/(C->_min_width/*9p*/)=(/*RF2*/(C)->_width/*9p*/); +/*SFN*/(C->_min_height/*9p*/)=(/*RF2*/(C)->_height/*9p*/); +/*SFN*/(C->_std_width/*9p*/)=(/*RF2*/(C)->_width/*9p*/); +/*SFN*/(C->_std_height/*9p*/)=(/*RF2*/(C)->_height/*9p*/); +tmp0/*new*/=((T0*)(new160())); +/*SFN*/(C->_layout/*9p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +(/*RF2*/(((T160*)/*no_dispatch.e*/(/*RF2*/(C)->_layout/*9p*/)))->_container/*p*/)=((T0*)(C)); +/*SFN*/(C->_widget/*9p*/)=basic_window_root_id; +r65register((T65*)(r73vision()),(T0*)C); +}/*--*/ +T0*oBC26vision=(void*)0; +int fBC26vision=0; + +/*ROOT_WINDOW*/T0* r73vision(void){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +if(fBC26vision==0){fBC26vision=1;{ +tmp0/*new*/=((T0*)(new65())); +r65graphic_init(((T65*)tmp0/*new*/)); +oBC26vision=tmp0/*new*/; +/*tmp0.unlock*/ +}} +return oBC26vision; +}/*--*/ + +/*ROOT_WINDOW*/T2 r73hash_code(T73* C){ +T2 R=0; +R=r8hash_code((/*RF2*/(C)->_widget/*9p*/)); +return R; +}/*--*/ + +/*ROOT_WINDOW*/void r73container_init(T73* C){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +tmp0/*new*/=((T0*)(new279())); +r279make(((T279*)tmp0/*new*/),INT32_C(0)); +/*SFN*/(C->_child/*9p*/)=tmp0/*new*/; +/*tmp0.unlock*/ }/*--*/ -/*GRAPHIC_CONNECTION*/T0* r131event_can_read(T131* C){ +/*GRAPHIC_CONNECTION*/T0* r134event_can_read(T134* C){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* R=(void*)0; -/*l143c4/input_stream.e*/ R=(/*RF2*/(C)->_can_read/*i2p*/); -/*l144c4/input_stream.e*/ if((R)==((void*)((void*)0))){ -/*l145c5/input_stream.e*/ -tmp0=((T0*)(new120())); -r120make(((T120*)tmp0),(T0*)C); -/*SFN*/(C->_can_read/*i2p*/)=tmp0; -/*l146c5/input_stream.e*/ +tmp0/*new*/=((T0*)(new123())); +r123make(((T123*)tmp0/*new*/),(T0*)C); +/*SFN*/(C->_can_read/*i2p*/)=tmp0/*new*/; +/*tmp0.unlock*/ R=(/*RF2*/(C)->_can_read/*i2p*/); } return R; }/*--*/ -/*GRAPHIC_CONNECTION*/void r131set_descriptor(T131* C,T2 a1){ +/*GRAPHIC_CONNECTION*/void r134set_descriptor(T134* C,T2 a1){ /*SFN*/(C->_descriptor/*i2p*/)=a1; }/*--*/ -/*GRAPHIC_CONNECTION*/T2 r131filtered_descriptor(T131* C){ -T2 R=0; -R=(/*RF2*/(C)->_descriptor/*i2p*/); -return R; -}/*--*/ - -/*GRAPHIC_CONNECTION*/void r131dispose(T131* C){ -if(((/*RF2*/(C)->_descriptor/*i2p*/))!=(INT8_C(0))){ -} +/*VISION_LOOP_STACK*/void r133make(T133* C){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +r133_P_132_make(C); +tmp0/*new*/=((T0*)(new277())); +r277make(((T277*)tmp0/*new*/),INT32_C(0)); +/*SFN*/(C->_event_catcher_stack/*4p*/)=tmp0/*new*/; +/*tmp0.unlock*/ }/*--*/ -/*VISION_LOOP_STACK*/T0* r130current_loop(T130* C){ +/*VISION_LOOP_STACK*/T0* r133current_loop(T133* C){ T0* R=(void*)0; -if((r206is_empty((T206*)((/*RF2*/(C)->_loop_stack/*4p*/))))==(0)){ -R=r206last((T206*)((/*RF2*/(C)->_loop_stack/*4p*/))); +if((r248is_empty((T248*)((/*RF2*/(C)->_loop_stack/*4p*/))))==(0)){ +R=r248last((T248*)((/*RF2*/(C)->_loop_stack/*4p*/))); } return R; }/*--*/ -/*VISION_LOOP_STACK*/void r130add_job(T130* C,T0* a1){ -r148add_job((T148*)(r130current_loop(C)),a1); -}/*--*/ - -/*VISION_LOOP_STACK*/void r130run(T130* C){ +/*VISION_LOOP_STACK*/void r133run(T133* C){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ /*SFN*/(C->_stop/*4p*/)=((T6)(0)); -while (!((T6)(((/*RF2*/(C)->_stop/*4p*/))||((T6)(r206is_empty((T206*)((/*RF2*/(C)->_loop_stack/*4p*/)))))))) -{ -/*l61c18/loop_stack.e*/ -r148run((T148*)(r130current_loop(C))); -/*l62c5/loop_stack.e*/ -if((r130current_loop(C))!=((void*)((void*)0))){ -if(((/*RF2*/((T148*)(r130current_loop(C)))->_pause/*6p*/))==(0)){ -r206remove_last((T206*)((/*RF2*/(C)->_loop_stack/*4p*/))); +while(1){ +tmp0/*or else*/=((T6)((/*RF2*/(C)->_stop/*4p*/))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(r248is_empty((T248*)((/*RF2*/(C)->_loop_stack/*4p*/))))); +} +if(tmp0/*or else*/){ +break; +} +r155run((T155*)(r133current_loop(C))); +if((r133current_loop(C))!=((void*)((void*)0))){ +if(((/*RF2*/((T155*)(r133current_loop(C)))->_pause/*6p*/))==(0)){ +r248remove_last((T248*)((/*RF2*/(C)->_loop_stack/*4p*/))); } } } }/*--*/ -/*VISION_LOOP_STACK*/void r130make(T130* C){ +/*VISION_LOOP_STACK*/void r133_P_132_make(T133* C){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -/*l20c4/vision_loop_stack.e*/ -r130_P_129_make(C); -/*l21c4/vision_loop_stack.e*/ -tmp0=((T0*)(new235())); -r235make(((T235*)tmp0),INT32_C(0)); -/*SFN*/(C->_event_catcher_stack/*4p*/)=tmp0; +tmp0/*new*/=((T0*)(new248())); +r248make(((T248*)tmp0/*new*/),INT32_C(0)); +/*SFN*/(C->_loop_stack/*4p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +r248add_last((T248*)((/*RF2*/(C)->_loop_stack/*4p*/)),((T0*)create155make())); }/*--*/ -/*VISION_LOOP_STACK*/void r130_P_129_make(T130* C){ +/*EVENT_CATCHER*/T0* r131vision(void){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -/*l16c4/loop_stack.e*/ -tmp0=((T0*)(new206())); -r206make(((T206*)tmp0),INT32_C(0)); -/*SFN*/(C->_loop_stack/*4p*/)=tmp0; -/*l17c15/loop_stack.e*/ -r206add_last((T206*)((/*RF2*/(C)->_loop_stack/*4p*/)),((T0*)create148make())); +if(fBC26vision==0){fBC26vision=1;{ +tmp0/*new*/=((T0*)(new65())); +r65graphic_init(((T65*)tmp0/*new*/)); +oBC26vision=tmp0/*new*/; +/*tmp0.unlock*/ +}} +return oBC26vision; }/*--*/ -/*EVENT_CATCHER*/void r128add_extension(T128* C,T0* a1){ -r226put((T226*)((/*RF2*/(C)->_extension_devices/*i11p*/)),a1,(/*RF2*/(((T67*)a1))->_device_id/*14p*/)); +/*EVENT_CATCHER*/void r131prepare(T131* C,T0* a1){ +basic_vision_flush; +r154expect(((T154*)a1),r134event_can_read((T134*)((/*RF2*/(C)->_graphic_connection/*i11p*/)))); }/*--*/ -/*EVENT_CATCHER*/T0* r128search_widget(T128* C,T8 a1){ -T0* R=(void*)0; -T0* _stack=(void*)0; -T0* _ls=(void*)0; +/*EVENT_CATCHER*/void r131make(T131* C,T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +T0* _ev=(void*)0; T2 _i=0; -/*l264c4/event_catcher.e*/ -/*l265c5/event_catcher.e*/ -_ls=(/*RF2*/((T64*)(r128vision()))->_loop_stack/*6p*/); -/*l266c5/event_catcher.e*/ -_stack=(/*RF2*/(((T130*)_ls))->_event_catcher_stack/*4p*/); -/*l267c5/event_catcher.e*/ -_i=(/*RF2*/(((T235*)_stack))->_upper/*3p*/); -while (!((T6)(((R)!=((void*)((void*)0)))||((T6)(((int32_t)(_i))<(INT32_C(0))))))) +/*SFN*/(C->_graphic_connection/*i11p*/)=a1; +tmp0/*new*/=((T0*)(new276())); +r276make(((T276*)tmp0/*new*/)); +/*SFN*/(C->_widget/*i11p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new273())); +r273make(((T273*)tmp0/*new*/),INT32_C(65)); +/*SFN*/(C->_event/*i11p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +_i=(/*RF2*/((T273*)((/*RF2*/(C)->_event/*i11p*/)))->_upper/*3p*/); +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l271c5/event_catcher.e*/ -R=r227reference_at((T227*)((/*RF2*/((T128*)(((/*RF2*/(((T235*)_stack))->_storage/*3p*/))[_i]))->_widget/*i11p*/)),a1); -/*l272c5/event_catcher.e*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new275())); +r275make(((T275*)tmp0/*new*/)); +_ev=tmp0/*new*/; +/*tmp0.unlock*/ +((/*RF2*/((T273*)((/*RF2*/(C)->_event/*i11p*/)))->_storage/*3p*/))[_i]=(_ev); _i=((int32_t)(_i))-(INT32_C(1)); } -/*l274c4/event_catcher.e*/ -if((R)!=((void*)((void*)0))){ -/*SFN*/(C->_event_catcher_found/*i11p*/)=((/*RF2*/(((T235*)_stack))->_storage/*3p*/))[((int32_t)(_i))+(INT32_C(1))]; -} -return R; -}/*--*/ - -/*EVENT_CATCHER*/void r128prepare(T128* C,T0* a1){ -/*l94c4/event_catcher.e*/ -basic_vision_flush; -/*l95c11/event_catcher.e*/ -r147expect(((T147*)a1),r131event_can_read((T131*)((/*RF2*/(C)->_graphic_connection/*i11p*/)))); -}/*--*/ -/*l161c6/event_catcher.e*//*l169c7/event_catcher.e*//*l174c7/event_catcher.e*//*l183c7/event_catcher.e*//*l192c7/event_catcher.e*/ -/*EVENT_CATCHER*/void r128emit_event(T128* C,T0* a1,T2 a2){ -T0* _sig0=(void*)0; -T0* _sig2=(void*)0; -T0* _sig4=(void*)0; -T0* _win=(void*)0; -T0* _ext_device=(void*)0; -if(((int32_t)(a2))<(INT32_C(100))){ -/*l159c5/event_catcher.e*/ -_sig0=r234reference_at((T234*)(((/*RF2*/((T232*)((/*RF2*/(C)->_event/*i11p*/)))->_storage/*3p*/))[a2]),a1); -/*l160c5/event_catcher.e*/ -if((_sig0)!=((void*)((void*)0))){ -/*se_evobt*/_sig0,se_print_run_time_stack(),exit(1); -} -} -else{ -/*[INSPECT*/ -{int inspect_tmp_1=a2; -switch(inspect_tmp_1){ -case 100: -/*l167c6/event_catcher.e*/ -_sig2=r230reference_at((T230*)((/*RF2*/(C)->_pointer_move_event/*i11p*/)),a1); -/*l168c6/event_catcher.e*/ -if((_sig2)!=((void*)((void*)0))){ -/*se_evobt*/_sig2,se_print_run_time_stack(),exit(1); -} -break; -case 101: -/*l172c6/event_catcher.e*/ -_sig4=r228reference_at((T228*)((/*RF2*/(C)->_geometry_change_event/*i11p*/)),a1); -/*l173c6/event_catcher.e*/ -if((_sig4)!=((void*)((void*)0))){ -/*se_evobt*/_sig4,se_print_run_time_stack(),exit(1); -} -break; -case 102: -/*l177c6/event_catcher.e*/ -_sig4=r228reference_at((T228*)((/*RF2*/(C)->_geometry_change_event/*i11p*/)),a1); -/*l178c6/event_catcher.e*/ -if((_sig4)!=((void*)((void*)0))){ -/*l179c7/event_catcher.e*/ -_win=a1; -/*l183c12/event_catcher.e*/ -/*se_evobt*/_sig4,se_print_run_time_stack(),exit(1); -} -break; -case 103: -/*l186c6/event_catcher.e*/ -_sig4=r228reference_at((T228*)((/*RF2*/(C)->_geometry_change_event/*i11p*/)),a1); -/*l187c6/event_catcher.e*/ -if((_sig4)!=((void*)((void*)0))){ -/*l188c7/event_catcher.e*/ -_win=a1; -/*l192c12/event_catcher.e*/ -/*se_evobt*/_sig4,se_print_run_time_stack(),exit(1); -} -break; -default:; -/*l195c6/event_catcher.e*/ -_ext_device=r226reference_at((T226*)((/*RF2*/(C)->_extension_devices/*i11p*/)),basic_vision_extension_device_id); -/*l196c6/event_catcher.e*/ -if((_ext_device)!=((void*)((void*)0))){ -r67handle_event(((T67*)_ext_device),basic_vision_real_event,a1); -} -} -}/*INSPECT]*/ -} -}/*--*/ - -/*EVENT_CATCHER*/T6 r128is_ready(T128* C,T0* a1){ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new271())); +r271make(((T271*)tmp0/*new*/)); +/*SFN*/(C->_pointer_move_event/*i11p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new269())); +r269make(((T269*)tmp0/*new*/)); +/*SFN*/(C->_geometry_change_event/*i11p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new268())); +r268make(((T268*)tmp0/*new*/)); +/*SFN*/(C->_extension_devices/*i11p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +}/*--*/ + +/*EVENT_CATCHER*/T6 r131is_ready(T131* C,T0* a1){ T6 R=0; -R=((T6)(r147event_occurred(((T147*)a1),r131event_can_read((T131*)((/*RF2*/(C)->_graphic_connection/*i11p*/)))))); +R=((T6)(r154event_occurred(((T154*)a1),r134event_can_read((T134*)((/*RF2*/(C)->_graphic_connection/*i11p*/)))))); return R; }/*--*/ -/*EVENT_CATCHER*/void r128continue(T128* C){ +/*EVENT_CATCHER*/void r131continue(T131* C){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +T6 tmp1; +T6 tmp2; +/*INTERNAL_C_LOCAL list]*/ T2 _next_event=0; T0* _s=(void*)0; T8 _c_widget=(void*)0; -/*l109c5/event_catcher.e*/ _next_event=basic_vision_next_event; -/*l110c5/event_catcher.e*/ /*SFN*/(C->_current_event_type/*i11p*/)=_next_event; -/*l111c5/event_catcher.e*/ /*SFN*/(C->_suspend/*i11p*/)=((T6)(0)); -while (!((T6)(((_next_event)==(INT8_C(-1)))||((T6)((/*RF2*/(C)->_suspend/*i11p*/)))))) -{ -/*l118c5/event_catcher.e*/ +while(1){ +tmp0/*or else*/=((T6)((_next_event)==(INT8_C(-1)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)((/*RF2*/(C)->_suspend/*i11p*/))); +} +if(tmp0/*or else*/){ +break; +} _c_widget=basic_vision_event_widget; -/*l119c5/event_catcher.e*/ -_s=r227reference_at((T227*)((/*RF2*/(C)->_widget/*i11p*/)),_c_widget); -/*l120c5/event_catcher.e*/ +_s=r276reference_at((T276*)((/*RF2*/(C)->_widget/*i11p*/)),_c_widget); if((_s)!=((void*)((void*)0))){ -r128emit_event(C,_s,_next_event); +r131emit_event(C,_s,_next_event); +} +else{ +tmp1/*and then*/=((T6)(((int32_t)(_next_event))>(INT32_C(3)))); +if(tmp1/*and then*/){ +tmp1/*and then*/=((T6)((r2in_range(_next_event,INT32_C(40),INT32_C(59)))==(0))); +} +tmp2/*and then*/=((T6)(tmp1/*and then*/)); +if(tmp2/*and then*/){ +tmp2/*and then*/=((T6)((_next_event)!=(INT8_C(100)))); } -else if((T6)(((T6)((((int32_t)(_next_event))>(INT32_C(3)))&&((T6)((r2in_range(_next_event,INT32_C(40),INT32_C(59)))==(0)))))&&((T6)((_next_event)!=(INT8_C(100)))))){ -/*l126c6/event_catcher.e*/ -_s=r128search_widget(C,_c_widget); -/*l127c6/event_catcher.e*/ +if(tmp2/*and then*/){ +_s=r131search_widget(C,_c_widget); if((_s)!=((void*)((void*)0))){ -r128emit_event((T128*)((/*RF2*/(C)->_event_catcher_found/*i11p*/)),_s,_next_event); +r131emit_event((T131*)((/*RF2*/(C)->_event_catcher_found/*i11p*/)),_s,_next_event); } -else{ } } -/*l137c5/event_catcher.e*/ _next_event=basic_vision_next_event; -/*l138c5/event_catcher.e*/ /*SFN*/(C->_current_event_type/*i11p*/)=_next_event; } }/*--*/ -T0*oBC26vision=(void*)0; -int fBC26vision=0; -/*EVENT_CATCHER*/T0* r128vision(void){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -if(fBC26vision==0){fBC26vision=1;{ -tmp0=((T0*)(new64())); -r64graphic_init(((T64*)tmp0)); -oBC26vision=tmp0; -}} -return oBC26vision; +/*EVENT_CATCHER*/void r131add_extension(T131* C,T0* a1){ +r268put((T268*)((/*RF2*/(C)->_extension_devices/*i11p*/)),a1,(/*RF2*/(((T68*)/*no_dispatch.e*/a1))->_device_id/*14p*/)); }/*--*/ -T0*oBC13io=(void*)0; -/*EVENT_CATCHER*/void r128make(T128* C,T0* a1){ +/*EVENT_CATCHER*/T0* r131search_widget(T131* C,T8 a1){ /*[INTERNAL_C_LOCAL list*/ -T0* tmp0; +T6 tmp0; /*INTERNAL_C_LOCAL list]*/ -T0* _ev=(void*)0; +T0* R=(void*)0; +T0* _stack=(void*)0; +T0* _ls=(void*)0; T2 _i=0; -/*l72c4/event_catcher.e*/ -/*SFN*/(C->_graphic_connection/*i11p*/)=a1; -/*l73c4/event_catcher.e*/ -tmp0=((T0*)(new227())); -r227make(((T227*)tmp0)); -/*SFN*/(C->_widget/*i11p*/)=tmp0; -/*l74c4/event_catcher.e*/ -tmp0=((T0*)(new232())); -r232make(((T232*)tmp0),INT32_C(65)); -/*SFN*/(C->_event/*i11p*/)=tmp0; -/*l75c4/event_catcher.e*/ -_i=(/*RF2*/((T232*)((/*RF2*/(C)->_event/*i11p*/)))->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) -{ -/*l80c5/event_catcher.e*/ -tmp0=((T0*)(new234())); -r234make(((T234*)tmp0)); -_ev=tmp0; -/*l122c12/fast_array.e*/ -((/*RF2*/((T232*)((/*RF2*/(C)->_event/*i11p*/)))->_storage/*3p*/))[_i]=(_ev); -/*l82c5/event_catcher.e*/ +_ls=(/*RF2*/((T65*)(r131vision()))->_loop_stack/*6p*/); +_stack=(/*RF2*/(((T133*)_ls))->_event_catcher_stack/*4p*/); +_i=(/*RF2*/(((T277*)_stack))->_upper/*3p*/); +while(1){ +tmp0/*or else*/=((T6)((R)!=((void*)((void*)0)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(((int32_t)(_i))<(INT32_C(0)))); +} +if(tmp0/*or else*/){ +break; +} +R=r276reference_at((T276*)((/*RF2*/((T131*)(((/*RF2*/(((T277*)_stack))->_storage/*3p*/))[_i]))->_widget/*i11p*/)),a1); _i=((int32_t)(_i))-(INT32_C(1)); } -/*l84c4/event_catcher.e*/ -tmp0=((T0*)(new230())); -r230make(((T230*)tmp0)); -/*SFN*/(C->_pointer_move_event/*i11p*/)=tmp0; -/*l85c4/event_catcher.e*/ -tmp0=((T0*)(new228())); -r228make(((T228*)tmp0)); -/*SFN*/(C->_geometry_change_event/*i11p*/)=tmp0; -/*l86c4/event_catcher.e*/ -tmp0=((T0*)(new226())); -r226make(((T226*)tmp0)); -/*SFN*/(C->_extension_devices/*i11p*/)=tmp0; -}/*--*/ - -/*ROOT_WINDOW*/void r72default_create(T72* C){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -/*l22c4/root_window.e*/ -r72container_init(C); -/*l23c4/root_window.e*/ -/*SFN*/(C->_width/*11p*/)=(/*RF2*/((T64*)(r72vision()))->_display_width/*6p*/); -/*l24c4/root_window.e*/ -/*SFN*/(C->_height/*11p*/)=(/*RF2*/((T64*)(r72vision()))->_display_height/*6p*/); -/*l25c4/root_window.e*/ -/*SFN*/(C->_min_width/*11p*/)=(/*RF2*/(C)->_width/*11p*/); -/*l26c4/root_window.e*/ -/*SFN*/(C->_min_height/*11p*/)=(/*RF2*/(C)->_height/*11p*/); -/*l27c4/root_window.e*/ -/*SFN*/(C->_std_width/*11p*/)=(/*RF2*/(C)->_width/*11p*/); -/*l28c4/root_window.e*/ -/*SFN*/(C->_std_height/*11p*/)=(/*RF2*/(C)->_height/*11p*/); -/*l29c4/root_window.e*/ -tmp0=((T0*)(new158())); -/*SFN*/(C->_layout/*11p*/)=tmp0; -/*l30c11/root_window.e*/ -r158set_container((T158*)((/*RF2*/(C)->_layout/*11p*/)),(T0*)C); -/*l31c4/root_window.e*/ -/*SFN*/(C->_widget/*11p*/)=basic_window_root_id; -/*l32c11/root_window.e*/ -r64register((T64*)(r72vision()),(T0*)C); -}/*--*/ - -/*ROOT_WINDOW*/T0* r72vision(void){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -if(fBC26vision==0){fBC26vision=1;{ -tmp0=((T0*)(new64())); -r64graphic_init(((T64*)tmp0)); -oBC26vision=tmp0; -}} -return oBC26vision; -}/*--*/ - -/*ROOT_WINDOW*/T2 r72hash_code(T72* C){ -T2 R=0; -R=r8hash_code((/*RF2*/(C)->_widget/*11p*/)); +if((R)!=((void*)((void*)0))){ +/*SFN*/(C->_event_catcher_found/*i11p*/)=((/*RF2*/(((T277*)_stack))->_storage/*3p*/))[((int32_t)(_i))+(INT32_C(1))]; +} return R; }/*--*/ -/*ROOT_WINDOW*/void r72container_init(T72* C){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -tmp0=((T0*)(new225())); -r225make(((T225*)tmp0),INT32_C(0)); -/*SFN*/(C->_child/*11p*/)=tmp0; +/*EVENT_CATCHER*/void r131emit_event(T131* C,T0* a1,T2 a2){ +T0* _sig0=(void*)0; +T0* _sig2=(void*)0; +T0* _sig4=(void*)0; +T0* _win=(void*)0; +T0* _ext_device=(void*)0; +if(((int32_t)(a2))<(INT32_C(100))){ +_sig0=r275reference_at(((T275*)/*no_dispatch.e*/((/*RF2*/((T273*)((/*RF2*/(C)->_event/*i11p*/)))->_storage/*3p*/))[a2]),a1); +} +else{ +/*[inspect*/ +switch(a2){ +case 100: +_sig2=r271reference_at((T271*)((/*RF2*/(C)->_pointer_move_event/*i11p*/)),a1); +break; +case 110: +_ext_device=r268reference_at((T268*)((/*RF2*/(C)->_extension_devices/*i11p*/)),basic_vision_extension_device_id); +if((_ext_device)!=((void*)((void*)0))){ +r68handle_event(((T68*)/*no_dispatch.e*/_ext_device),basic_vision_real_event,a1); +} +break; +default:; +_sig4=r269reference_at((T269*)((/*RF2*/(C)->_geometry_change_event/*i11p*/)),a1); +} +/*inspect]*/ +} }/*--*/ /*STD_OUTPUT*/void r53filtered_flush(T53* C){ -/*l59c4/std_output.e*/ -if(((int32_t)((/*RF2*/(C)->_buffer_position/*4p*/)))>(INT32_C(0))){ +if(((int32_t)((/*RF2*/(C)->_buffer_position/*3p*/)))>(INT32_C(0))){ r53write_buffer(C); } -/*l62c4/std_output.e*/ io_flush((stdout)); }/*--*/ /*STD_OUTPUT*/void r53filtered_put_character(T53* C,T3 a1){ -/*l47c4/std_output.e*/ -if(((int32_t)((/*RF2*/(C)->_buffer_position/*4p*/)))>=(INT32_C(4096))){ +if(((int32_t)((/*RF2*/(C)->_buffer_position/*3p*/)))>=(INT32_C(4096))){ r53write_buffer(C); } -/*l50c11/std_output.e*/ -((/*RF2*/(C)->_buffer/*4p*/))[(/*RF2*/(C)->_buffer_position/*4p*/)]=(a1); -/*l51c4/std_output.e*/ -/*SFN*/(C->_buffer_position/*4p*/)=((int32_t)((/*RF2*/(C)->_buffer_position/*4p*/)))+(INT32_C(1)); -/*l52c4/std_output.e*/ +((/*RF2*/(C)->_buffer/*3p*/))[(/*RF2*/(C)->_buffer_position/*3p*/)]=(a1); +/*SFN*/(C->_buffer_position/*3p*/)=((int32_t)((/*RF2*/(C)->_buffer_position/*3p*/)))+(INT32_C(1)); if((a1)==(((T3)'\n'))){ r53write_buffer(C); } @@ -8976,9 +8792,10 @@ int fBC13std_output=0; T0* tmp0; /*INTERNAL_C_LOCAL list]*/ if(fBC13std_output==0){fBC13std_output=1;{ -tmp0=((T0*)(new53())); -r53make(((T53*)tmp0)); -oBC13std_output=tmp0; +tmp0/*new*/=((T0*)(new53())); +r53make(((T53*)tmp0/*new*/)); +oBC13std_output=tmp0/*new*/; +/*tmp0.unlock*/ }} return oBC13std_output; }/*--*/ @@ -8988,18 +8805,15 @@ r53filtered_flush((T53*)(r53std_output())); }/*--*/ /*STD_OUTPUT*/void r53make(T53* C){ -/*l40c4/std_output.e*/ -/*SFN*/(C->_buffer/*4p*/)=new9(INT32_C(4096)); -/*l41c4/std_output.e*/ -/*SFN*/(C->_capacity/*4p*/)=INT32_C(4096); +/*SFN*/(C->_buffer/*3p*/)=new9(INT32_C(4096)); +/*SFN*/(C->_capacity/*3p*/)=INT32_C(4096); }/*--*/ /*STD_OUTPUT*/void r53write_buffer(T53* C){ -if(((int32_t)((/*RF2*/(C)->_buffer_position/*4p*/)))>(INT32_C(0))){ -/*l126c5/std_output.e*/ -io_fwrite((/*RF2*/(C)->_buffer/*4p*/),(/*RF2*/(C)->_buffer_position/*4p*/),(stdout)); -/*l127c5/std_output.e*/ -/*SFN*/(C->_buffer_position/*4p*/)=INT32_C(0); +T2 _unused_result=0; +if(((int32_t)((/*RF2*/(C)->_buffer_position/*3p*/)))>(INT32_C(0))){ +_unused_result=io_fwrite((/*RF2*/(C)->_buffer/*3p*/),(/*RF2*/(C)->_buffer_position/*3p*/),(stdout)); +/*SFN*/(C->_buffer_position/*3p*/)=INT32_C(0); } }/*--*/ @@ -9010,96 +8824,49 @@ r53filtered_flush(C); /*STD_OUTPUT*/void r53put_string(T53* C,T0* a1){ T2 _i=0; T2 _count=0; -/*l47c5/output_stream_tools.e*/ _i=INT32_C(1); -/*l48c5/output_stream_tools.e*/ _count=(/*RF2*/(((T7*)a1))->_count/*3p*/); -while (!(((int32_t)(_i))>(_count))) +while(!(((int32_t)(_i))>(_count))) { -/*l21c4/output_stream.e*/ -r53filtered_put_character(C,((/*RF2*/(((T7*)a1))->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))]); -/*l53c5/output_stream_tools.e*/ +r53filtered_put_character(C,r7item(((T7*)a1),_i)); _i=((int32_t)(_i))+(INT32_C(1)); } }/*--*/ /*STD_OUTPUT*/void r53put_line(T53* C,T0* a1){ -/*l70c4/std_output.e*/ +T2 _unused_result=0; r53write_buffer(C); -/*l71c6/std_output.e*/ r7add_last(((T7*)a1),((T3)'\n')); -/*l72c4/std_output.e*/ -io_fwrite((/*RF2*/(((T7*)a1))->_storage/*3p*/),(/*RF2*/(((T7*)a1))->_count/*3p*/),(stdout)); -/*l73c6/std_output.e*/ +_unused_result=io_fwrite((/*RF2*/(((T7*)a1))->_storage/*3p*/),(/*RF2*/(((T7*)a1))->_count/*3p*/),(stdout)); r7remove_last(((T7*)a1)); }/*--*/ -/*STD_OUTPUT*/void r53dispose(T53* C){ -(/*RF2*/(C)->_filter/*4p*/)=(void*)0; -}/*--*/ -T0*oBC13std_input=(void*)0; -int fBC13std_input=0; - -/*STD_INPUT_OUTPUT*/T0* r46std_input(void){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -if(fBC13std_input==0){fBC13std_input=1;{ -tmp0=((T0*)(new54())); -r54make(((T54*)tmp0)); -oBC13std_input=tmp0; -}} -return oBC13std_input; -}/*--*/ - /*STD_INPUT_OUTPUT*/T0* r46std_output(void){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ if(fBC13std_output==0){fBC13std_output=1;{ -tmp0=((T0*)(new53())); -r53make(((T53*)tmp0)); -oBC13std_output=tmp0; +tmp0/*new*/=((T0*)(new53())); +r53make(((T53*)tmp0/*new*/)); +oBC13std_output=tmp0/*new*/; +/*tmp0.unlock*/ }} return oBC13std_output; }/*--*/ -/*STD_INPUT_OUTPUT*/void r46disconnect(void){ -/*l37c4/std_input.e*/ -(/*RF2*/((T54*)(r46std_input()))->_filter/*3p*/)=(void*)0; -/*l34c4/std_output.e*/ -(/*RF2*/((T53*)(r46std_output()))->_filter/*4p*/)=(void*)0; -}/*--*/ - -/*STD_INPUT_OUTPUT*/T6 r46is_connected(void){ -T6 R=0; -R=((T6)((T6)(((T6)(((r46std_input())!=((void*)((void*)0)))&&((T6)(((/*UT*/(void)((T54*)(r46std_input()))),/*RF1is_connected*/1)))))&&((T6)((T6)(((r46std_output())!=((void*)((void*)0)))&&((T6)(((/*UT*/(void)((T53*)(r46std_output()))),/*RF1is_connected*/1))))))))); -return R; -}/*--*/ - /*STD_INPUT_OUTPUT*/void r46put_string(T0* a1){ T2 _i=0; T2 _count=0; -/*l47c5/output_stream_tools.e*/ _i=INT32_C(1); -/*l48c5/output_stream_tools.e*/ _count=(/*RF2*/(((T7*)a1))->_count/*3p*/); -while (!(((int32_t)(_i))>(_count))) +while(!(((int32_t)(_i))>(_count))) { -/*l21c4/output_stream.e*/ -r53filtered_put_character((T53*)(r46std_output()),((/*RF2*/(((T7*)a1))->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))]); -/*l53c5/output_stream_tools.e*/ +r53filtered_put_character((T53*)(r46std_output()),r7item(((T7*)a1),_i)); _i=((int32_t)(_i))+(INT32_C(1)); } }/*--*/ -/*STD_INPUT_OUTPUT*/void r46dispose(void){ -if(r46is_connected()){ -r46disconnect(); -} -}/*--*/ - -/*X_INPUT_EXTENSION*/void r175make(T175* C){ +/*X_INPUT_EXTENSION*/void r191make(T191* C){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ @@ -9107,395 +8874,492 @@ T2 _size=0; T2 _i=0; T8 _device_list=(void*)0; T0* _device=(void*)0; -/*l13c4/x_input_extension.e*/ -_device_list=x_list_input_devices(/*$*/&_size); -/*l14c4/x_input_extension.e*/ -/*l15c5/x_input_extension.e*/ -tmp0=((T0*)(new205())); -r205make(((T205*)tmp0),_size); -/*SFN*/(C->_devices/*p*/)=tmp0; -/*l16c5/x_input_extension.e*/ +_device_list=x_list_input_devices(/*$*/(void*)&_size); +tmp0/*new*/=((T0*)(new246())); +r246make(((T246*)tmp0/*new*/),_size); +/*SFN*/(C->_devices/*p*/)=tmp0/*new*/; +/*tmp0.unlock*/ _i=INT32_C(0); -while (!(((int32_t)(_i))>=(_size))) +while(!(((int32_t)(_i))>=(_size))) { -/*l20c5/x_input_extension.e*/ -tmp0=((T0*)(new67())); -r67make(((T67*)tmp0),_device_list,_i); -_device=tmp0; -/*l122c12/fast_array.e*/ -((/*RF2*/((T205*)((/*RF2*/(C)->_devices/*p*/)))->_storage/*3p*/))[_i]=(_device); -/*l22c5/x_input_extension.e*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new68())); +r68make(((T68*)tmp0/*new*/),_device_list,_i); +_device=tmp0/*new*/; +/*tmp0.unlock*/ +((/*RF2*/((T246*)((/*RF2*/(C)->_devices/*p*/)))->_storage/*3p*/))[_i]=(_device); _i=((int32_t)(_i))+(INT32_C(1)); } -/*l24c4/x_input_extension.e*/ XFreeDeviceList(_device_list); }/*--*/ -/*X11*/void r143default_create(void){ +/*X11*/void r150default_create(void){ T0* _v=(void*)0; -_v=r143vision(); +_v=r150vision(); +}/*--*/ + +/*X11*/T0* r150vision(void){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +if(fBC26vision==0){fBC26vision=1;{ +tmp0/*new*/=((T0*)(new65())); +r65graphic_init(((T65*)tmp0/*new*/)); +oBC26vision=tmp0/*new*/; +/*tmp0.unlock*/ +}} +return oBC26vision; }/*--*/ -T0*oBC143x_input_extension=(void*)0; -int fBC143x_input_extension=0; +T0*oBC150x_input_extension=(void*)0; +int fBC150x_input_extension=0; -/*X11*/T0* r143x_input_extension(void){ +/*X11*/T0* r150x_input_extension(void){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ -if(fBC143x_input_extension==0){fBC143x_input_extension=1;{ -tmp0=((T0*)(new175())); -r175make(((T175*)tmp0)); -oBC143x_input_extension=tmp0; +if(fBC150x_input_extension==0){fBC150x_input_extension=1;{ +tmp0/*new*/=((T0*)(new191())); +r191make(((T191*)tmp0/*new*/)); +oBC150x_input_extension=tmp0/*new*/; +/*tmp0.unlock*/ }} -return oBC143x_input_extension; +return oBC150x_input_extension; }/*--*/ -/*X11*/T6 r143has_x_input_extension(void){ +/*X11*/T6 r150has_x_input_extension(void){ T6 R=0; -R=((T6)(x_query_extension(r7to_external(((T7*)ms143_1472358418))))); +R=((T6)(x_query_extension(r7to_external(((T7*)ms150_1472358418))))); return R; }/*--*/ -/*X11*/T0* r143get_atom_name(T2 a1){ +/*X11*/T0* r150get_atom_name(T2 a1){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* R=(void*)0; T8 _name=(void*)0; if((a1)!=(INT8_C(0))){ -/*l34c5/x11.e*/ _name=x_get_atom_name(a1); -/*l35c5/x11.e*/ -tmp0=((T0*)(new7())); -r7from_external_copy(((T7*)tmp0),_name); -R=tmp0; -/*l36c5/x11.e*/ +tmp0/*new*/=((T0*)(new7())); +r7from_external_copy(((T7*)tmp0/*new*/),_name); +R=tmp0/*new*/; +/*tmp0.unlock*/ XFree(_name); } return R; }/*--*/ -/*X11*/T0* r143vision(void){ +/*X_INPUT_DEVICE*/T0* r68vision(void){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ if(fBC26vision==0){fBC26vision=1;{ -tmp0=((T0*)(new64())); -r64graphic_init(((T64*)tmp0)); -oBC26vision=tmp0; +tmp0/*new*/=((T0*)(new65())); +r65graphic_init(((T65*)tmp0/*new*/)); +oBC26vision=tmp0/*new*/; +/*tmp0.unlock*/ }} return oBC26vision; }/*--*/ -/*X_INPUT_DEVICE*/void r67handle_event(T67* C,T2 a1,T0* a2){ +/*X_INPUT_DEVICE*/void r68make(T68* C,T8 a1,T2 a2){ +/*[INTERNAL_C_LOCAL list*/ +int tmp0; +T0* tmp1; +/*INTERNAL_C_LOCAL list]*/ +int _x11=0; +T8 _current_class_info=(void*)0; +T2 _i=0; +T0* _key=(void*)0; +T0* _button=(void*)0; +T0* _axes=(void*)0; +tmp0/*locexp*/=M150; +r150default_create(); +_x11=tmp0/*locexp*/; +/*tmp0.unlock*/ +tmp1/*new*/=((T0*)(new7())); +r7from_external_copy(((T7*)tmp1/*new*/),x_device_info_name(a1,a2)); +/*SFN*/(C->_name/*14p*/)=tmp1/*new*/; +/*tmp1.unlock*/ +/*SFN*/(C->_device_id/*14p*/)=x_device_info_id(a1,a2); +/*SFN*/(C->_type/*14p*/)=r150get_atom_name(x_device_info_type(a1,a2)); +/*SFN*/(C->_is_current_pointer/*14p*/)=((T6)(x_device_info_is_pointer(a1,a2))); +/*SFN*/(C->_is_current_keyboard/*14p*/)=((T6)(x_device_info_is_keyboard(a1,a2))); +/*SFN*/(C->_is_available_extension/*14p*/)=((T6)(x_device_info_is_available_extension(a1,a2))); +/*reusing tmp1*/tmp1/*new*/=((T0*)(new266())); +r266make(((T266*)tmp1/*new*/),INT32_C(0)); +/*SFN*/(C->_key_capabilities/*14p*/)=tmp1/*new*/; +/*tmp1.unlock*/ +/*reusing tmp1*/tmp1/*new*/=((T0*)(new265())); +r265make(((T265*)tmp1/*new*/),INT32_C(0)); +/*SFN*/(C->_button_capabilities/*14p*/)=tmp1/*new*/; +/*tmp1.unlock*/ +/*reusing tmp1*/tmp1/*new*/=((T0*)(new264())); +r264make(((T264*)tmp1/*new*/),INT32_C(0)); +/*SFN*/(C->_axes_capabilities/*14p*/)=tmp1/*new*/; +/*tmp1.unlock*/ +_i=x_device_info_num_classes(a1,a2); +_current_class_info=x_device_info_class_info(a1,a2); +while(!((_i)==(INT8_C(0)))) +{ +if(x_is_key_class_info(_current_class_info)){ +/*reusing tmp1*/tmp1/*new*/=((T0*)(new146())); +r146make(((T146*)tmp1/*new*/),_current_class_info); +_key=tmp1/*new*/; +/*tmp1.unlock*/ +r266add_last((T266*)((/*RF2*/(C)->_key_capabilities/*14p*/)),_key); +} +else{ +if(x_is_button_class_info(_current_class_info)){ +/*reusing tmp1*/tmp1/*new*/=((T0*)(new149())); +r149make(((T149*)tmp1/*new*/),_current_class_info); +_button=tmp1/*new*/; +/*tmp1.unlock*/ +r265add_last((T265*)((/*RF2*/(C)->_button_capabilities/*14p*/)),_button); +} +else{ +/*reusing tmp1*/tmp1/*new*/=((T0*)(new148())); +r148make(((T148*)tmp1/*new*/),_current_class_info); +_axes=tmp1/*new*/; +/*tmp1.unlock*/ +r264add_last((T264*)((/*RF2*/(C)->_axes_capabilities/*14p*/)),_axes); +} +} +_current_class_info=x_next_class_info(_current_class_info); +_i=((int32_t)(_i))-(INT32_C(1)); +} +/*reusing tmp1*/tmp1/*new*/=((T0*)(new262())); +r262make(((T262*)tmp1/*new*/)); +/*SFN*/(C->_actions/*14p*/)=tmp1/*new*/; +/*tmp1.unlock*/ +/*reusing tmp1*/tmp1/*new*/=((T0*)(new259())); +r259make(((T259*)tmp1/*new*/)); +/*SFN*/(C->_events_indexes/*14p*/)=tmp1/*new*/; +/*tmp1.unlock*/ +/*reusing tmp1*/tmp1/*new*/=((T0*)(new258())); +r258make(((T258*)tmp1/*new*/),INT32_C(7)); +/*SFN*/(C->_events_id/*14p*/)=tmp1/*new*/; +/*tmp1.unlock*/ +}/*--*/ + +/*X_INPUT_DEVICE*/void r68handle_event(T68* C,T2 a1,T0* a2){ T2 _event_index=0; T0* _action_list=(void*)0; T0* _signal=(void*)0; -/*l58c4/x_input_device.e*/ -_event_index=r215at((T215*)((/*RF2*/(C)->_events_indexes/*14p*/)),a1); -/*l59c4/x_input_device.e*/ -_action_list=r218reference_at((T218*)((/*RF2*/(C)->_actions/*14p*/)),a2); -/*l60c4/x_input_device.e*/ +_event_index=r259at((T259*)((/*RF2*/(C)->_events_indexes/*14p*/)),a1); +_action_list=r262reference_at((T262*)((/*RF2*/(C)->_actions/*14p*/)),a2); if((_action_list)!=((void*)((void*)0))){ -/*l61c5/x_input_device.e*/ -_signal=((/*RF2*/(((T217*)_action_list))->_storage/*3p*/))[_event_index]; -/*l62c5/x_input_device.e*/ +_signal=((/*RF2*/(((T261*)_action_list))->_storage/*3p*/))[_event_index]; if((_signal)!=((void*)((void*)0))){ -r216emit(((T216*)_signal),(T0*)C); +r260emit(((T260*)_signal),(T0*)C); } } }/*--*/ -/*X_INPUT_DEVICE*/T0* r67vision(void){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -if(fBC26vision==0){fBC26vision=1;{ -tmp0=((T0*)(new64())); -r64graphic_init(((T64*)tmp0)); -oBC26vision=tmp0; -}} -return oBC26vision; -}/*--*/ - -/*X_INPUT_DEVICE*/void r67when_proximity_out(T67* C,T0* a1,T0* a2){ -r67when_event(C,INT32_C(6),a1,a2); +/*X_INPUT_DEVICE*/void r68when_proximity_out(T68* C,T0* a1,T0* a2){ +r68when_event(C,INT32_C(6),a1,a2); }/*--*/ -/*X_INPUT_DEVICE*/void r67connect(T67* C){ +/*X_INPUT_DEVICE*/void r68connect(T68* C){ T2 _i=0; -/*l526c18/vision.e*/ -r128add_extension((T128*)((/*RF2*/((T64*)(r67vision()))->_event_catcher/*6p*/)),(T0*)C); -/*l93c4/x_input_device.e*/ +r131add_extension((T131*)((/*RF2*/((T65*)(r68vision()))->_event_catcher/*6p*/)),(T0*)C); /*SFN*/(C->_x_device/*14p*/)=x_open_device((/*RF2*/(C)->_device_id/*14p*/)); -/*l94c4/x_input_device.e*/ -/*SFN*/(C->_events_classes/*14p*/)=x_device_init_events((/*RF2*/(C)->_x_device/*14p*/),((void*)((/*RF2*/((T214*)((/*RF2*/(C)->_events_id/*14p*/)))->_storage/*3p*/)))); -/*l95c4/x_input_device.e*/ -_i=(/*RF2*/((T214*)((/*RF2*/(C)->_events_id/*14p*/)))->_upper/*3p*/); -while (!(((int32_t)(_i))<(INT32_C(0)))) +/*SFN*/(C->_events_classes/*14p*/)=x_device_init_events((/*RF2*/(C)->_x_device/*14p*/),((void*)((/*RF2*/((T258*)((/*RF2*/(C)->_events_id/*14p*/)))->_storage/*3p*/)))); +_i=(/*RF2*/((T258*)((/*RF2*/(C)->_events_id/*14p*/)))->_upper/*3p*/); +while(!(((int32_t)(_i))<(INT32_C(0)))) { -/*l103c20/x_input_device.e*/ -r215put((T215*)((/*RF2*/(C)->_events_indexes/*14p*/)),_i,((/*RF2*/((T214*)((/*RF2*/(C)->_events_id/*14p*/)))->_storage/*3p*/))[_i]); -/*l104c5/x_input_device.e*/ +r259put((T259*)((/*RF2*/(C)->_events_indexes/*14p*/)),_i,((/*RF2*/((T258*)((/*RF2*/(C)->_events_id/*14p*/)))->_storage/*3p*/))[_i]); _i=((int32_t)(_i))-(INT32_C(1)); } }/*--*/ -/*X_INPUT_DEVICE*/void r67when_button_released(T67* C,T0* a1,T0* a2){ -r67when_event(C,INT32_C(3),a1,a2); +/*X_INPUT_DEVICE*/void r68when_button_released(T68* C,T0* a1,T0* a2){ +r68when_event(C,INT32_C(3),a1,a2); }/*--*/ -/*X_INPUT_DEVICE*/void r67when_event(T67* C,T2 a1,T0* a2,T0* a3){ +/*X_INPUT_DEVICE*/void r68when_event(T68* C,T2 a1,T0* a2,T0* a3){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* _action_list=(void*)0; T0* _signal=(void*)0; -/*l251c4/x_input_device.e*/ -_action_list=r218reference_at((T218*)((/*RF2*/(C)->_actions/*14p*/)),a2); -/*l252c4/x_input_device.e*/ +_action_list=r262reference_at((T262*)((/*RF2*/(C)->_actions/*14p*/)),a2); if((_action_list)==((void*)((void*)0))){ -/*l253c5/x_input_device.e*/ -tmp0=((T0*)(new217())); -r217make(((T217*)tmp0),r214count((T214*)((/*RF2*/(C)->_events_id/*14p*/)))); -_action_list=tmp0; -/*l254c13/x_input_device.e*/ -r218add((T218*)((/*RF2*/(C)->_actions/*14p*/)),_action_list,a2); -/*l255c5/x_input_device.e*/ -x_device_select_events((/*RF2*/(((T72*)a2))->_widget/*11p*/),(/*RF2*/(C)->_events_classes/*14p*/)); -} -/*l257c4/x_input_device.e*/ -_signal=((/*RF2*/(((T217*)_action_list))->_storage/*3p*/))[a1]; -/*l258c4/x_input_device.e*/ +tmp0/*new*/=((T0*)(new261())); +r261make(((T261*)tmp0/*new*/),r258count((T258*)((/*RF2*/(C)->_events_id/*14p*/)))); +_action_list=tmp0/*new*/; +/*tmp0.unlock*/ +r262add((T262*)((/*RF2*/(C)->_actions/*14p*/)),_action_list,a2); +x_device_select_events((/*RF2*/(((T73*)/*no_dispatch.e*/a2))->_widget/*9p*/),(/*RF2*/(C)->_events_classes/*14p*/)); +} +_signal=((/*RF2*/(((T261*)_action_list))->_storage/*3p*/))[a1]; if((_signal)==((void*)((void*)0))){ -/*l259c5/x_input_device.e*/ -tmp0=((T0*)(new216())); -r216make(((T216*)tmp0)); -_signal=tmp0; -/*l122c12/fast_array.e*/ -((/*RF2*/(((T217*)_action_list))->_storage/*3p*/))[a1]=(_signal); -} -/*l32c14/signal_1.e*/ -r254add_last((T254*)((/*RF2*/(((T216*)_signal))->_callbacks/*3p*/)),a3); -}/*--*/ - -/*X_INPUT_DEVICE*/void r67make(T67* C,T8 a1,T2 a2){ -/*[INTERNAL_C_LOCAL list*/ -int tmp0; -T0* tmp1; -/*INTERNAL_C_LOCAL list]*/ -int _x11=0; -T8 _current_class_info=(void*)0; -T2 _i=0; -T0* _key=(void*)0; -T0* _button=(void*)0; -T0* _axes=(void*)0; -tmp0=M143; -r143default_create(); -_x11=tmp0; -/*l15c4/x_input_device.e*/ -tmp1=((T0*)(new7())); -r7from_external_copy(((T7*)tmp1),x_device_info_name(a1,a2)); -/*SFN*/(C->_name/*14p*/)=tmp1; -/*l16c4/x_input_device.e*/ -/*SFN*/(C->_device_id/*14p*/)=x_device_info_id(a1,a2); -/*l17c4/x_input_device.e*/ -/*SFN*/(C->_type/*14p*/)=r143get_atom_name(x_device_info_type(a1,a2)); -/*l18c4/x_input_device.e*/ -/*SFN*/(C->_is_current_pointer/*14p*/)=((T6)(x_device_info_is_pointer(a1,a2))); -/*l19c4/x_input_device.e*/ -/*SFN*/(C->_is_current_keyboard/*14p*/)=((T6)(x_device_info_is_keyboard(a1,a2))); -/*l20c4/x_input_device.e*/ -/*SFN*/(C->_is_available_extension/*14p*/)=((T6)(x_device_info_is_available_extension(a1,a2))); -/*l21c4/x_input_device.e*/ -/*l22c5/x_input_device.e*/ -tmp1=((T0*)(new223())); -r223make(((T223*)tmp1),INT32_C(0)); -/*SFN*/(C->_key_capabilities/*14p*/)=tmp1; -/*l23c5/x_input_device.e*/ -tmp1=((T0*)(new222())); -r222make(((T222*)tmp1),INT32_C(0)); -/*SFN*/(C->_button_capabilities/*14p*/)=tmp1; -/*l24c5/x_input_device.e*/ -tmp1=((T0*)(new221())); -r221make(((T221*)tmp1),INT32_C(0)); -/*SFN*/(C->_axes_capabilities/*14p*/)=tmp1; -/*l25c5/x_input_device.e*/ -_i=x_device_info_num_classes(a1,a2); -/*l26c5/x_input_device.e*/ -_current_class_info=x_device_info_class_info(a1,a2); -while (!((_i)==(INT8_C(0)))) -{ -/*l30c5/x_input_device.e*/ -if(x_is_key_class_info(_current_class_info)){ -/*l31c6/x_input_device.e*/ -tmp1=((T0*)(new139())); -r139make(((T139*)tmp1),_current_class_info); -_key=tmp1; -/*l32c23/x_input_device.e*/ -r223add_last((T223*)((/*RF2*/(C)->_key_capabilities/*14p*/)),_key); -} -else if(x_is_button_class_info(_current_class_info)){ -/*l34c6/x_input_device.e*/ -tmp1=((T0*)(new142())); -r142make(((T142*)tmp1),_current_class_info); -_button=tmp1; -/*l35c26/x_input_device.e*/ -r222add_last((T222*)((/*RF2*/(C)->_button_capabilities/*14p*/)),_button); -} -else{ -/*l40c6/x_input_device.e*/ -tmp1=((T0*)(new141())); -r141make(((T141*)tmp1),_current_class_info); -_axes=tmp1; -/*l41c24/x_input_device.e*/ -r221add_last((T221*)((/*RF2*/(C)->_axes_capabilities/*14p*/)),_axes); -} -/*l43c5/x_input_device.e*/ -_current_class_info=x_next_class_info(_current_class_info); -/*l44c5/x_input_device.e*/ -_i=((int32_t)(_i))-(INT32_C(1)); +/*reusing tmp0*/tmp0/*new*/=((T0*)(new260())); +r260make(((T260*)tmp0/*new*/)); +_signal=tmp0/*new*/; +/*tmp0.unlock*/ +((/*RF2*/(((T261*)_action_list))->_storage/*3p*/))[a1]=(_signal); } -/*l46c4/x_input_device.e*/ -tmp1=((T0*)(new218())); -r218make(((T218*)tmp1)); -/*SFN*/(C->_actions/*14p*/)=tmp1; -/*l47c4/x_input_device.e*/ -tmp1=((T0*)(new215())); -r215make(((T215*)tmp1)); -/*SFN*/(C->_events_indexes/*14p*/)=tmp1; -/*l48c4/x_input_device.e*/ -tmp1=((T0*)(new214())); -r214make(((T214*)tmp1),INT32_C(7)); -/*SFN*/(C->_events_id/*14p*/)=tmp1; +r298add_last((T298*)((/*RF2*/(((T260*)_signal))->_callbacks/*3p*/)),a3); }/*--*/ -/*X_INPUT_DEVICE*/void r67when_moved(T67* C,T0* a1,T0* a2){ -r67when_event(C,INT32_C(4),a1,a2); +/*X_INPUT_DEVICE*/void r68when_moved(T68* C,T0* a1,T0* a2){ +r68when_event(C,INT32_C(4),a1,a2); }/*--*/ -/*X_INPUT_DEVICE*/T2 r67proximity_axis_data(T2 a1){ +/*X_INPUT_DEVICE*/T2 r68proximity_axis_data(T2 a1){ T2 R=0; R=x_device_proximity_event_data(((int32_t)(a1))-(INT32_C(1))); return R; }/*--*/ -/*X_INPUT_DEVICE*/void r67when_button_pressed(T67* C,T0* a1,T0* a2){ -r67when_event(C,INT32_C(2),a1,a2); +/*X_INPUT_DEVICE*/void r68when_button_pressed(T68* C,T0* a1,T0* a2){ +r68when_event(C,INT32_C(2),a1,a2); }/*--*/ -/*X_INPUT_DEVICE*/T2 r67motion_axis_data(T2 a1){ +/*X_INPUT_DEVICE*/T2 r68motion_axis_data(T2 a1){ T2 R=0; R=x_device_motion_event_data(((int32_t)(a1))-(INT32_C(1))); return R; }/*--*/ -/*X_INPUT_DEVICE*/void r67when_proximity_in(T67* C,T0* a1,T0* a2){ -r67when_event(C,INT32_C(5),a1,a2); +/*X_INPUT_DEVICE*/void r68when_proximity_in(T68* C,T0* a1,T0* a2){ +r68when_event(C,INT32_C(5),a1,a2); }/*--*/ /*STD_ERROR*/void r43put_string(T0* a1){ T2 _i=0; T2 _count=0; -/*l47c5/output_stream_tools.e*/ _i=INT32_C(1); -/*l48c5/output_stream_tools.e*/ _count=(/*RF2*/(((T7*)a1))->_count/*3p*/); -while (!(((int32_t)(_i))>(_count))) +while(!(((int32_t)(_i))>(_count))) { -/*l37c4/std_error.e*/ -io_putc(((/*RF2*/(((T7*)a1))->_storage/*3p*/))[((int32_t)(_i))-(INT32_C(1))],(stderr)); -/*l53c5/output_stream_tools.e*/ +io_putc(r7item(((T7*)a1),_i),(stderr)); _i=((int32_t)(_i))+(INT32_C(1)); } }/*--*/ /*STD_ERROR*/void r43put_line(T0* a1){ -/*l72c4/output_stream_tools.e*/ r43put_string(a1); -/*l37c4/std_error.e*/ io_putc(((T3)'\n'),(stderr)); }/*--*/ -/*STD_ERROR*/void r43dispose(T43* C){ -(/*RF2*/(C)->_filter/*p*/)=(void*)0; +/*WACOM_POINTER*/void r70set_message_header(T70* C,T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +T2 _history_size=0; +/*SFN*/(C->_pointer_message_header/*32p*/)=se_ms(7,s70_2179769); +r7append((T7*)((/*RF2*/(C)->_pointer_message_header/*32p*/)),a1); +/*SFN*/(C->_button_message_header/*32p*/)=se_ms(6,s70_397440); +r7append((T7*)((/*RF2*/(C)->_button_message_header/*32p*/)),a1); +_history_size=INT32_C(1); +tmp0/*new*/=((T0*)(new255())); +r255make(((T255*)tmp0/*new*/),INT32_C(0),_history_size); +/*SFN*/(C->_x_history/*32p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new255())); +r255make(((T255*)tmp0/*new*/),INT32_C(0),_history_size); +/*SFN*/(C->_y_history/*32p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new255())); +r255make(((T255*)tmp0/*new*/),INT32_C(0),_history_size); +/*SFN*/(C->_time_history/*32p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +}/*--*/ + +/*WACOM_POINTER*/T6 r70is_valid_crop(T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ +T6 R=0; +T0* _tmp=(void*)0; +T0* _values=(void*)0; +R=((T6)((r7occurrences(((T7*)a1),((T3)'\054')))==(INT8_C(3)))); +if(R){ +_tmp=r7twin(((T7*)a1)); +r7replace_all(((T7*)_tmp),((T3)'\054'),((T3)'\040')); +_values=r7split(((T7*)_tmp)); +R=((T6)((r256count(((T256*)_values)))==(INT8_C(4)))); +while(1){ +tmp0/*or else*/=((T6)((R)==(0))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(r256is_empty(((T256*)_values)))); +} +if(tmp0/*or else*/){ +break; +} +R=((T6)(r7is_integer((T7*)(r256last(((T256*)_values)))))); +r256remove_last(((T256*)_values)); +} +} +return R; +}/*--*/ + +/*WACOM_POINTER*/void r70button(T70* C,T6 a1,T0* a2){ +T2 _x=0; +T2 _y=0; +T2 _presure=0; +T5 _t3=0; +T0* _message=(void*)0; +_x=r68motion_axis_data(INT32_C(1)); +_y=r68motion_axis_data(INT32_C(2)); +r255remove_first((T255*)((/*RF2*/(C)->_x_history/*32p*/))); +r255add_last((T255*)((/*RF2*/(C)->_x_history/*32p*/)),_x); +r255remove_first((T255*)((/*RF2*/(C)->_y_history/*32p*/))); +r255add_last((T255*)((/*RF2*/(C)->_y_history/*32p*/)),_y); +r255remove_first((T255*)((/*RF2*/(C)->_time_history/*32p*/))); +r255add_last((T255*)((/*RF2*/(C)->_time_history/*32p*/)),x_device_event_time); +_t3=r70mean((/*RF2*/(C)->_time_history/*32p*/)); +if(((T5)((_t3)))!=(((T5)((/*RF2*/(C)->_t2/*32p*/))))){ +r70update_predicted_position(C,r70mean((/*RF2*/(C)->_x_history/*32p*/)),r70mean((/*RF2*/(C)->_y_history/*32p*/)),_t3); +} +_message=ms25_0bc70; +r7copy(((T7*)_message),(/*RF2*/(C)->_button_message_header/*32p*/)); +r7append(((T7*)_message),ms25_4487261bc70); +r2append_in(x_device_button_event_number,_message); +r7append(((T7*)_message),ms70_4738061); +if(a1){ +r7append(((T7*)_message),ms70_15980); +} +else{ +r7append(((T7*)_message),ms70_697); +} +_presure=r68motion_axis_data(INT32_C(3)); +r70print_data_in(C,_message,_x,_y,_presure,r68motion_axis_data(INT32_C(4)),r68motion_axis_data(INT32_C(5)),r68motion_axis_data(INT32_C(6)),x_device_event_time,ms70_56246305); +r71send_message((T71*)((/*RF2*/((T25*)((/*RF2*/(C)->_xinput_ivy/*32p*/)))->_ivy/*8p*/)),_message); +}/*--*/ + +/*WACOM_POINTER*/void r70proximity(T70* C,T6 a1,T0* a2){ +T2 _x=0; +T2 _y=0; +T5 _t3=0; +T0* _message=(void*)0; +T0* _proximity_status=(void*)0; +_x=r68proximity_axis_data(INT32_C(1)); +_y=r68proximity_axis_data(INT32_C(2)); +r255remove_first((T255*)((/*RF2*/(C)->_x_history/*32p*/))); +r255add_last((T255*)((/*RF2*/(C)->_x_history/*32p*/)),_x); +r255remove_first((T255*)((/*RF2*/(C)->_y_history/*32p*/))); +r255add_last((T255*)((/*RF2*/(C)->_y_history/*32p*/)),_y); +r255remove_first((T255*)((/*RF2*/(C)->_time_history/*32p*/))); +r255add_last((T255*)((/*RF2*/(C)->_time_history/*32p*/)),x_device_event_time); +_t3=r70mean((/*RF2*/(C)->_time_history/*32p*/)); +if(((T5)((_t3)))!=(((T5)((/*RF2*/(C)->_t2/*32p*/))))){ +r70update_predicted_position(C,r70mean((/*RF2*/(C)->_x_history/*32p*/)),r70mean((/*RF2*/(C)->_y_history/*32p*/)),_t3); +} +if(a1){ +_proximity_status=ms70_475; +} +else{ +_proximity_status=ms70_2676; +} +_message=ms25_0bc70c15; +r7copy(((T7*)_message),(/*RF2*/(C)->_pointer_message_header/*32p*/)); +r70print_data_in(C,_message,_x,_y,r68proximity_axis_data(INT32_C(3)),r68proximity_axis_data(INT32_C(4)),r68proximity_axis_data(INT32_C(5)),r68proximity_axis_data(INT32_C(6)),x_device_event_time,_proximity_status); +r71send_message((T71*)((/*RF2*/((T25*)((/*RF2*/(C)->_xinput_ivy/*32p*/)))->_ivy/*8p*/)),_message); +}/*--*/ + +/*WACOM_POINTER*/T2 r70device_to_screen_y(T70* C,T2 a1){ +T2 R=0; +R=((int32_t)(((((T5)(((int32_t)(a1))-(INT32_C(300))))/(INT32_C(64700)))*(/*IC*/(T5)(INT16_C(1200))))+(/*IC*/(T5)((/*RF2*/(C)->_y_offset/*32p*/))))); +return R; +}/*--*/ + +/*WACOM_POINTER*/T2 r70device_to_screen_x(T70* C,T2 a1){ +T2 R=0; +R=((int32_t)(((((T5)(((int32_t)(a1))-(INT32_C(150))))/(INT32_C(86650)))*(/*IC*/(T5)(INT16_C(1600))))+(/*IC*/(T5)((/*RF2*/(C)->_x_offset/*32p*/))))); +return R; }/*--*/ -/*WACOM_POINTER*/T0* r69type_to_name(T2 a1){ +/*WACOM_POINTER*/T0* r70type_to_name(T2 a1){ T0* R=(void*)0; -/*[INSPECT*/ -{int inspect_tmp_1=a1; -switch(inspect_tmp_1){ +/*[inspect*/ +switch(a1){ case 2066: -R=ms69_10739024; +R=ms70_10739024; break; case 2049: -R=ms69_10739017; +R=ms70_10739017; break; case 2082: -R=ms69_10739030; +R=ms70_10739030; break; case 2083: -R=ms69_1940108584; +R=ms70_1940108584; break; case 2067: -R=ms69_1619665677; +R=ms70_1619665677; break; case 2181: -R=ms69_1961093439; +R=ms70_1961093439; break; case 2098: -R=ms69_1874520032; +R=ms70_1874520032; break; case 3346: -R=ms69_104371267; +R=ms70_104371267; break; case 2323: -R=ms69_104371129; +R=ms70_104371129; break; case 2090: -R=ms69_1257860908; +R=ms70_1257860908; break; case 2091: -R=ms69_2057747851; +R=ms70_2057747851; break; case 2075: -R=ms69_1699147265; +R=ms70_1699147265; break; case 2331: -R=ms69_1501987274; +R=ms70_1501987274; break; default:; -/*l93c5/wacom_pointer.e*/ -R=ms25_0bc69c15l93; -/*l1121c4/string.e*/ +R=ms25_0bc70c15l97; (/*RF2*/(((T7*)R))->_count/*3p*/)=INT32_C(0); -/*l95c13/wacom_pointer.e*/ r2append_in(a1,R); } -}/*INSPECT]*/ +/*inspect]*/ return R; }/*--*/ -/*WACOM_POINTER*/T5 r69mean(T0* a1){ +/*WACOM_POINTER*/T5 r70mean(T0* a1){ T5 R=0; T11 _sum=0; T2 _i=0; -/*l153c4/wacom_pointer.e*/ -_i=(/*RF2*/(((T213*)a1))->_lower/*5p*/); -while (!(((int32_t)(_i))>((/*RF2*/(((T213*)a1))->_upper/*5p*/)))) +_i=(/*RF2*/(((T255*)a1))->_lower/*5p*/); +while(!(((int32_t)(_i))>((/*RF2*/(((T255*)a1))->_upper/*5p*/)))) { -/*l158c5/wacom_pointer.e*/ -_sum=((int64_t)(_sum))+(/*IC*/(T11)(r213item(((T213*)a1),_i))); -/*l159c5/wacom_pointer.e*/ +_sum=((int64_t)(_sum))+(/*IC*/(T11)(r255item(((T255*)a1),_i))); _i=((int32_t)(_i))+(INT32_C(1)); } -/*l161c4/wacom_pointer.e*/ -R=((T5)(_sum))/(/*IC*/(T11)(r213count(((T213*)a1)))); +R=((T5)(_sum))/(/*IC*/(T11)(r255count(((T255*)a1)))); +return R; +}/*--*/ + +/*WACOM_POINTER*/T0* r70twin(T70* C){ +T0* R=(void*)0; +R=((void*)new70()); +*((T70*)R)=*C; return R; }/*--*/ -/*WACOM_POINTER*/void r69update_predicted_position(T69* C,T5 a1,T5 a2,T5 a3){ +/*WACOM_POINTER*/void r70set_crop(T70* C,T0* a1){ +T0* _values=(void*)0; +r7replace_all(((T7*)a1),((T3)'\054'),((T3)'\040')); +_values=r7split(((T7*)a1)); +/*SFN*/(C->_x_min_crop/*32p*/)=r7to_integer((T7*)(r256item(((T256*)_values),INT32_C(1)))); +/*SFN*/(C->_y_min_crop/*32p*/)=r7to_integer((T7*)(r256item(((T256*)_values),INT32_C(2)))); +/*SFN*/(C->_x_max_crop/*32p*/)=r7to_integer((T7*)(r256item(((T256*)_values),INT32_C(3)))); +/*SFN*/(C->_y_max_crop/*32p*/)=r7to_integer((T7*)(r256item(((T256*)_values),INT32_C(4)))); +/*SFN*/(C->_cropping/*32p*/)=((T6)(1)); +/*SFN*/(C->_crop_width/*32p*/)=((int32_t)((/*RF2*/(C)->_x_max_crop/*32p*/)))-((/*RF2*/(C)->_x_min_crop/*32p*/)); +/*SFN*/(C->_crop_height/*32p*/)=((int32_t)((/*RF2*/(C)->_y_max_crop/*32p*/)))-((/*RF2*/(C)->_y_min_crop/*32p*/)); +}/*--*/ + +/*WACOM_POINTER*/void r70update_predicted_position(T70* C,T5 a1,T5 a2,T5 a3){ T5 _dt=0; T5 _s3x=0; T5 _s3y=0; @@ -9508,867 +9372,599 @@ T5 _a3xm=0; T5 _a3ym=0; T5 _a4x=0; T5 _a4y=0; -/*l363c4/wacom_pointer.e*/ -_dt=(a3)-((/*RF2*/(C)->_t2/*25p*/)); -/*l364c4/wacom_pointer.e*/ -_s3x=((a1)-((/*RF2*/(C)->_x2/*25p*/)))/(_dt); -/*l365c4/wacom_pointer.e*/ -_s3y=((a2)-((/*RF2*/(C)->_y2/*25p*/)))/(_dt); -/*l366c4/wacom_pointer.e*/ +_dt=(a3)-((/*RF2*/(C)->_t2/*32p*/)); +_s3x=((a1)-((/*RF2*/(C)->_x2/*32p*/)))/(_dt); +_s3y=((a2)-((/*RF2*/(C)->_y2/*32p*/)))/(_dt); _s3=sqrt(((_s3x)*(_s3x))+((_s3y)*(_s3y))); -/*l367c4/wacom_pointer.e*/ if(((T5)((_s3)))!=(((T5)(INT8_C(0))))){ -/*l368c5/wacom_pointer.e*/ _s3xn=(_s3x)/(_s3); -/*l369c5/wacom_pointer.e*/ _s3yn=(_s3y)/(_s3); } -/*l372c4/wacom_pointer.e*/ -_dt=((a3)-((/*RF2*/(C)->_t1/*25p*/)))/(/*IC*/(T5)(INT8_C(2))); -/*l373c4/wacom_pointer.e*/ -_a3x=((_s3x)-((/*RF2*/(C)->_s2x/*25p*/)))/(_dt); -/*l374c4/wacom_pointer.e*/ -_a3y=((_s3y)-((/*RF2*/(C)->_s2y/*25p*/)))/(_dt); -/*l375c4/wacom_pointer.e*/ -_a3xm=((_a3x)*((/*RF2*/(C)->_s2xn/*25p*/)))+((_a3y)*((/*RF2*/(C)->_s2yn/*25p*/))); -/*l376c4/wacom_pointer.e*/ -_a3ym=((-(_a3x))*((/*RF2*/(C)->_s2yn/*25p*/)))+((_a3y)*((/*RF2*/(C)->_s2xn/*25p*/))); -/*l377c4/wacom_pointer.e*/ +_dt=((a3)-((/*RF2*/(C)->_t1/*32p*/)))/(/*IC*/(T5)(INT8_C(2))); +_a3x=((_s3x)-((/*RF2*/(C)->_s2x/*32p*/)))/(_dt); +_a3y=((_s3y)-((/*RF2*/(C)->_s2y/*32p*/)))/(_dt); +_a3xm=((_a3x)*((/*RF2*/(C)->_s2xn/*32p*/)))+((_a3y)*((/*RF2*/(C)->_s2yn/*32p*/))); +_a3ym=((-(_a3x))*((/*RF2*/(C)->_s2yn/*32p*/)))+((_a3y)*((/*RF2*/(C)->_s2xn/*32p*/))); _a4x=((_s3xn)*(_a3xm))-((_s3yn)*(_a3ym)); -/*l378c4/wacom_pointer.e*/ _a4y=((_s3yn)*(_a3xm))+((_s3xn)*(_a3ym)); -/*l396c4/wacom_pointer.e*/ -_dt=((((/*RF2*/(C)->_prediction_time/*25p*/))+((/*RF2*/(C)->_t2/*25p*/)))-((/*RF2*/(C)->_t1/*25p*/)))/((((a3)+((/*RF2*/(C)->_t1/*25p*/)))-((/*RF2*/(C)->_t2/*25p*/)))-((/*RF2*/(C)->_t0/*25p*/))); -/*l397c4/wacom_pointer.e*/ -_a4x=(((_a4x)+(_a3x))+(((_a3x)-((/*RF2*/(C)->_a2x/*25p*/)))*(_dt)))/(/*IC*/(T5)(INT8_C(2))); -/*l398c4/wacom_pointer.e*/ -_a4y=(((_a4y)+(_a3y))+(((_a3y)-((/*RF2*/(C)->_a2y/*25p*/)))*(_dt)))/(/*IC*/(T5)(INT8_C(2))); -/*l400c4/wacom_pointer.e*/ -_dt=(((a3)-((/*RF2*/(C)->_t2/*25p*/)))+((/*RF2*/(C)->_prediction_time/*25p*/)))/(/*IC*/(T5)(INT8_C(2))); -/*l401c4/wacom_pointer.e*/ -/*SFN*/(C->_predicted_x/*25p*/)=((int32_t)((a1)+(((/*RF2*/(C)->_prediction_time/*25p*/))*((_s3x)+((_a4x)*(_dt)))))); -/*l402c4/wacom_pointer.e*/ -/*SFN*/(C->_predicted_y/*25p*/)=((int32_t)((a2)+(((/*RF2*/(C)->_prediction_time/*25p*/))*((_s3y)+((_a4y)*(_dt)))))); -/*l405c4/wacom_pointer.e*/ -/*SFN*/(C->_x2/*25p*/)=a1; -/*l405c14/wacom_pointer.e*/ -/*SFN*/(C->_y2/*25p*/)=a2; -/*l406c4/wacom_pointer.e*/ -/*SFN*/(C->_s2x/*25p*/)=_s3x; -/*l406c16/wacom_pointer.e*/ -/*SFN*/(C->_s2y/*25p*/)=_s3y; -/*l407c4/wacom_pointer.e*/ -/*SFN*/(C->_s2xn/*25p*/)=_s3xn; -/*l407c18/wacom_pointer.e*/ -/*SFN*/(C->_s2yn/*25p*/)=_s3yn; -/*l408c4/wacom_pointer.e*/ -/*SFN*/(C->_a2x/*25p*/)=_a3x; -/*l408c16/wacom_pointer.e*/ -/*SFN*/(C->_a2y/*25p*/)=_a3y; -/*l409c4/wacom_pointer.e*/ -/*SFN*/(C->_t0/*25p*/)=(/*RF2*/(C)->_t1/*25p*/); -/*l409c14/wacom_pointer.e*/ -/*SFN*/(C->_t1/*25p*/)=(/*RF2*/(C)->_t2/*25p*/); -/*l409c24/wacom_pointer.e*/ -/*SFN*/(C->_t2/*25p*/)=a3; -}/*--*/ - -/*WACOM_POINTER*/T0* r69twin(T69* C){ -T0* R=(void*)0; -R=((void*)new69()); -*((T69*)R)=*C; -return R; -}/*--*/ - -/*WACOM_POINTER*/void r69make(T69* C,T0* a1){ -/*l11c4/wacom_pointer.e*/ -/*SFN*/(C->_xinput_ivy/*25p*/)=a1; -/*l12c4/wacom_pointer.e*/ -/*SFN*/(C->_prediction_time/*25p*/)=/*IC*/(T5)(INT8_C(25)); -}/*--*/ - -/*WACOM_POINTER*/void r69print_data_in(T69* C,T0* a1,T2 a2,T2 a3,T2 a4,T2 a5,T2 a6,T2 a7,T2 a8,T0* a9){ -/*l202c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_1461); -/*l203c27/wacom_pointer.e*/ -r2append_in(r69device_to_screen_x(C,a2),a1); -/*l204c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_1466); -/*l205c27/wacom_pointer.e*/ -r2append_in(r69device_to_screen_y(C,a3),a1); -/*l206c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_23436791); -/*l207c13/wacom_pointer.e*/ +_dt=((((/*RF2*/(C)->_prediction_time/*32p*/))+((/*RF2*/(C)->_t2/*32p*/)))-((/*RF2*/(C)->_t1/*32p*/)))/((((a3)+((/*RF2*/(C)->_t1/*32p*/)))-((/*RF2*/(C)->_t2/*32p*/)))-((/*RF2*/(C)->_t0/*32p*/))); +_a4x=(((_a4x)+(_a3x))+(((_a3x)-((/*RF2*/(C)->_a2x/*32p*/)))*(_dt)))/(/*IC*/(T5)(INT8_C(2))); +_a4y=(((_a4y)+(_a3y))+(((_a3y)-((/*RF2*/(C)->_a2y/*32p*/)))*(_dt)))/(/*IC*/(T5)(INT8_C(2))); +_dt=(((a3)-((/*RF2*/(C)->_t2/*32p*/)))+((/*RF2*/(C)->_prediction_time/*32p*/)))/(/*IC*/(T5)(INT8_C(2))); +/*SFN*/(C->_predicted_x/*32p*/)=((int32_t)((a1)+(((/*RF2*/(C)->_prediction_time/*32p*/))*((_s3x)+((_a4x)*(_dt)))))); +/*SFN*/(C->_predicted_y/*32p*/)=((int32_t)((a2)+(((/*RF2*/(C)->_prediction_time/*32p*/))*((_s3y)+((_a4y)*(_dt)))))); +/*SFN*/(C->_x2/*32p*/)=a1; +/*SFN*/(C->_y2/*32p*/)=a2; +/*SFN*/(C->_s2x/*32p*/)=_s3x; +/*SFN*/(C->_s2y/*32p*/)=_s3y; +/*SFN*/(C->_s2xn/*32p*/)=_s3xn; +/*SFN*/(C->_s2yn/*32p*/)=_s3yn; +/*SFN*/(C->_a2x/*32p*/)=_a3x; +/*SFN*/(C->_a2y/*32p*/)=_a3y; +/*SFN*/(C->_t0/*32p*/)=(/*RF2*/(C)->_t1/*32p*/); +/*SFN*/(C->_t1/*32p*/)=(/*RF2*/(C)->_t2/*32p*/); +/*SFN*/(C->_t2/*32p*/)=a3; +}/*--*/ + +/*WACOM_POINTER*/void r70make(T70* C,T0* a1){ +/*SFN*/(C->_xinput_ivy/*32p*/)=a1; +/*SFN*/(C->_prediction_time/*32p*/)=/*IC*/(T5)(INT8_C(25)); +}/*--*/ + +/*WACOM_POINTER*/void r70print_data_in(T70* C,T0* a1,T2 a2,T2 a3,T2 a4,T2 a5,T2 a6,T2 a7,T2 a8,T0* a9){ +r7append(((T7*)a1),ms70_1461); +r2append_in(r70device_to_screen_x(C,a2),a1); +r7append(((T7*)a1),ms70_1466); +r2append_in(r70device_to_screen_y(C,a3),a1); +r7append(((T7*)a1),ms70_23436791); r2append_in(a4,a1); -/*l208c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_4725661); -/*l209c15/wacom_pointer.e*/ +r7append(((T7*)a1),ms70_4725661); r10append_in(((int16_t)(a5)),a1); -/*l210c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_4725666); -/*l211c15/wacom_pointer.e*/ +r7append(((T7*)a1),ms70_4725666); r10append_in(((int16_t)(a6)),a1); -/*l212c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_952626); -/*l213c15/wacom_pointer.e*/ +r7append(((T7*)a1),ms70_952626); r10append_in(((int16_t)(a7)),a1); -/*l214c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_1756148648); -/*l215c37/wacom_pointer.e*/ -r2append_in(r69device_to_screen_x(C,(/*RF2*/(C)->_predicted_x/*25p*/)),a1); -/*l216c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_1756148653); -/*l217c37/wacom_pointer.e*/ -r2append_in(r69device_to_screen_y(C,(/*RF2*/(C)->_predicted_y/*25p*/)),a1); -/*l218c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_190991); -/*l219c13/wacom_pointer.e*/ -r7append(((T7*)a1),r69type_to_name(/*IC*/(T2)(r2high_16(a5)))); -/*l220c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_2112369621); -/*l221c58/wacom_pointer.e*/ +r7append(((T7*)a1),ms70_1756148648); +r2append_in(r70device_to_screen_x(C,(/*RF2*/(C)->_predicted_x/*32p*/)),a1); +r7append(((T7*)a1),ms70_1756148653); +r2append_in(r70device_to_screen_y(C,(/*RF2*/(C)->_predicted_y/*32p*/)),a1); +r7append(((T7*)a1),ms70_190991); +r7append(((T7*)a1),r70type_to_name(/*IC*/(T2)(r2high_16(a5)))); +r7append(((T7*)a1),ms70_2112369621); r2append_in((((r10to_integer_32(r2high_16(a6)))<<(INT8_C(16)))|/*IC*/(T2)(r2high_16(a7))),a1); -/*l222c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_188916); -/*l223c10/wacom_pointer.e*/ +r7append(((T7*)a1),ms70_188916); r2append_in(a8,a1); -/*l224c14/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_22702411); -/*l176c4/real_general.e*/ +r7append(((T7*)a1),ms70_22702411); +if(((/*RF2*/(C)->_cropping/*32p*/))==(0)){ r5append_in_format(((T5)(a2))/(INT32_C(86400)),a1,INT32_C(6)); -/*l226c14/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_22702416); -/*l176c4/real_general.e*/ +} +else{ +r5append_in_format(((T5)(((int32_t)(a2))-((/*RF2*/(C)->_x_min_crop/*32p*/))))/((/*RF2*/(C)->_crop_width/*32p*/)),a1,INT32_C(6)); +} +r7append(((T7*)a1),ms70_22702416); +if(((/*RF2*/(C)->_cropping/*32p*/))==(0)){ r5append_in_format(((T5)(a3))/(INT32_C(65000)),a1,INT32_C(6)); -/*l228c13/wacom_pointer.e*/ -r7append(((T7*)a1),ms69_586741066); -/*l229c13/wacom_pointer.e*/ +} +else{ +r5append_in_format(((T5)(((int32_t)(a3))-((/*RF2*/(C)->_y_min_crop/*32p*/))))/((/*RF2*/(C)->_crop_height/*32p*/)),a1,INT32_C(6)); +} +r7append(((T7*)a1),ms70_586741066); r7append(((T7*)a1),a9); }/*--*/ -/*WACOM_POINTER*/void r69set_message_header(T69* C,T0* a1){ +/*WACOM_POINTER*/void r70move(T70* C,T0* a1){ /*[INTERNAL_C_LOCAL list*/ -T0* tmp0; +T6 tmp0; +T6 tmp1; +T6 tmp2; /*INTERNAL_C_LOCAL list]*/ -T2 _history_size=0; -/*l124c4/wacom_pointer.e*/ -/*SFN*/(C->_pointer_message_header/*25p*/)=se_ms(7,s69_2179769); -/*l125c27/wacom_pointer.e*/ -r7append((T7*)((/*RF2*/(C)->_pointer_message_header/*25p*/)),a1); -/*l126c4/wacom_pointer.e*/ -/*SFN*/(C->_button_message_header/*25p*/)=se_ms(6,s69_397440); -/*l127c26/wacom_pointer.e*/ -r7append((T7*)((/*RF2*/(C)->_button_message_header/*25p*/)),a1); -/*l128c4/wacom_pointer.e*/ -_history_size=INT32_C(1); -/*l129c4/wacom_pointer.e*/ -tmp0=((T0*)(new213())); -r213make(((T213*)tmp0),INT32_C(0),_history_size); -/*SFN*/(C->_x_history/*25p*/)=tmp0; -/*l130c4/wacom_pointer.e*/ -tmp0=((T0*)(new213())); -r213make(((T213*)tmp0),INT32_C(0),_history_size); -/*SFN*/(C->_y_history/*25p*/)=tmp0; -/*l131c4/wacom_pointer.e*/ -tmp0=((T0*)(new213())); -r213make(((T213*)tmp0),INT32_C(0),_history_size); -/*SFN*/(C->_time_history/*25p*/)=tmp0; -}/*--*/ - -/*WACOM_POINTER*/void r69button(T69* C,T6 a1,T0* a2){ T2 _x=0; T2 _y=0; T2 _presure=0; T5 _t3=0; T0* _message=(void*)0; -/*l238c4/wacom_pointer.e*/ -_x=r67motion_axis_data(INT32_C(1)); -/*l239c4/wacom_pointer.e*/ -_y=r67motion_axis_data(INT32_C(2)); -/*l241c14/wacom_pointer.e*/ -r213remove_first((T213*)((/*RF2*/(C)->_x_history/*25p*/))); -/*l242c14/wacom_pointer.e*/ -r213add_last((T213*)((/*RF2*/(C)->_x_history/*25p*/)),_x); -/*l243c14/wacom_pointer.e*/ -r213remove_first((T213*)((/*RF2*/(C)->_y_history/*25p*/))); -/*l244c14/wacom_pointer.e*/ -r213add_last((T213*)((/*RF2*/(C)->_y_history/*25p*/)),_y); -/*l245c17/wacom_pointer.e*/ -r213remove_first((T213*)((/*RF2*/(C)->_time_history/*25p*/))); -/*l246c17/wacom_pointer.e*/ -r213add_last((T213*)((/*RF2*/(C)->_time_history/*25p*/)),x_device_event_time); -/*l247c4/wacom_pointer.e*/ -_t3=r69mean((/*RF2*/(C)->_time_history/*25p*/)); -/*l248c4/wacom_pointer.e*/ -if(((T5)((_t3)))!=(((T5)((/*RF2*/(C)->_t2/*25p*/))))){ -r69update_predicted_position(C,r69mean((/*RF2*/(C)->_x_history/*25p*/)),r69mean((/*RF2*/(C)->_y_history/*25p*/)),_t3); -} -/*l251c4/wacom_pointer.e*/ -_message=ms25_0bc69; -/*l252c12/wacom_pointer.e*/ -r7copy(((T7*)_message),(/*RF2*/(C)->_button_message_header/*25p*/)); -/*l253c12/wacom_pointer.e*/ -r7append(((T7*)_message),ms25_4487261bc69); -/*l254c26/wacom_pointer.e*/ -r2append_in(x_device_button_event_number,_message); -/*l255c12/wacom_pointer.e*/ -r7append(((T7*)_message),ms69_4738061); -/*l256c4/wacom_pointer.e*/ -if(a1){ -r7append(((T7*)_message),ms69_15980); +_x=r68motion_axis_data(INT32_C(1)); +_y=r68motion_axis_data(INT32_C(2)); +r255remove_first((T255*)((/*RF2*/(C)->_x_history/*32p*/))); +r255add_last((T255*)((/*RF2*/(C)->_x_history/*32p*/)),_x); +r255remove_first((T255*)((/*RF2*/(C)->_y_history/*32p*/))); +r255add_last((T255*)((/*RF2*/(C)->_y_history/*32p*/)),_y); +r255remove_first((T255*)((/*RF2*/(C)->_time_history/*32p*/))); +r255add_last((T255*)((/*RF2*/(C)->_time_history/*32p*/)),x_device_event_time); +_t3=r70mean((/*RF2*/(C)->_time_history/*32p*/)); +if(((T5)((_t3)))!=(((T5)((/*RF2*/(C)->_t2/*32p*/))))){ +r70update_predicted_position(C,r70mean((/*RF2*/(C)->_x_history/*32p*/)),r70mean((/*RF2*/(C)->_y_history/*32p*/)),_t3); +} +_presure=r68motion_axis_data(INT32_C(3)); +if((/*RF2*/(C)->_cropping/*32p*/)){ +tmp0/*or else*/=((T6)(((int32_t)(_x))<((/*RF2*/(C)->_x_min_crop/*32p*/)))); +if(tmp0/*or else*/){ } else{ -r7append(((T7*)_message),ms69_697); +tmp0/*or else*/=((T6)(((int32_t)(_y))<((/*RF2*/(C)->_y_min_crop/*32p*/)))); } -/*l261c4/wacom_pointer.e*/ -_presure=r67motion_axis_data(INT32_C(3)); -/*l262c4/wacom_pointer.e*/ -r69print_data_in(C,_message,_x,_y,_presure,r67motion_axis_data(INT32_C(4)),r67motion_axis_data(INT32_C(5)),r67motion_axis_data(INT32_C(6)),x_device_event_time,ms69_56246305); -/*l266c19/wacom_pointer.e*/ -r70send_message((T70*)((/*RF2*/((T25*)((/*RF2*/(C)->_xinput_ivy/*25p*/)))->_ivy/*8p*/)),_message); -}/*--*/ - -/*WACOM_POINTER*/void r69proximity(T69* C,T6 a1,T0* a2){ -T2 _x=0; -T2 _y=0; -T5 _t3=0; -T0* _message=(void*)0; -T0* _proximity_status=(void*)0; -/*l275c4/wacom_pointer.e*/ -_x=r67proximity_axis_data(INT32_C(1)); -/*l276c4/wacom_pointer.e*/ -_y=r67proximity_axis_data(INT32_C(2)); -/*l279c14/wacom_pointer.e*/ -r213remove_first((T213*)((/*RF2*/(C)->_x_history/*25p*/))); -/*l280c14/wacom_pointer.e*/ -r213add_last((T213*)((/*RF2*/(C)->_x_history/*25p*/)),_x); -/*l281c14/wacom_pointer.e*/ -r213remove_first((T213*)((/*RF2*/(C)->_y_history/*25p*/))); -/*l282c14/wacom_pointer.e*/ -r213add_last((T213*)((/*RF2*/(C)->_y_history/*25p*/)),_y); -/*l283c17/wacom_pointer.e*/ -r213remove_first((T213*)((/*RF2*/(C)->_time_history/*25p*/))); -/*l284c17/wacom_pointer.e*/ -r213add_last((T213*)((/*RF2*/(C)->_time_history/*25p*/)),x_device_event_time); -/*l285c4/wacom_pointer.e*/ -_t3=r69mean((/*RF2*/(C)->_time_history/*25p*/)); -/*l286c4/wacom_pointer.e*/ -if(((T5)((_t3)))!=(((T5)((/*RF2*/(C)->_t2/*25p*/))))){ -r69update_predicted_position(C,r69mean((/*RF2*/(C)->_x_history/*25p*/)),r69mean((/*RF2*/(C)->_y_history/*25p*/)),_t3); -} -/*l289c4/wacom_pointer.e*/ -if(a1){ -_proximity_status=ms69_475; +tmp1/*or else*/=((T6)(tmp0/*or else*/)); +if(tmp1/*or else*/){ } else{ -_proximity_status=ms69_2676; +tmp1/*or else*/=((T6)(((int32_t)(_x))>((/*RF2*/(C)->_x_max_crop/*32p*/)))); } -/*l294c4/wacom_pointer.e*/ -_message=ms25_0bc69c15; -/*l295c12/wacom_pointer.e*/ -r7copy(((T7*)_message),(/*RF2*/(C)->_pointer_message_header/*25p*/)); -/*l296c4/wacom_pointer.e*/ -r69print_data_in(C,_message,_x,_y,r67proximity_axis_data(INT32_C(3)),r67proximity_axis_data(INT32_C(4)),r67proximity_axis_data(INT32_C(5)),r67proximity_axis_data(INT32_C(6)),x_device_event_time,_proximity_status); -/*l301c19/wacom_pointer.e*/ -r70send_message((T70*)((/*RF2*/((T25*)((/*RF2*/(C)->_xinput_ivy/*25p*/)))->_ivy/*8p*/)),_message); -}/*--*/ - -/*WACOM_POINTER*/T2 r69device_to_screen_y(T69* C,T2 a1){ -T2 R=0; -R=((int32_t)(((((T5)(a1))/(INT32_C(65000)))*(/*IC*/(T5)(INT16_C(1200))))+(/*IC*/(T5)((/*RF2*/(C)->_y_offset/*25p*/))))); -return R; +tmp2/*or else*/=((T6)(tmp1/*or else*/)); +if(tmp2/*or else*/){ +} +else{ +tmp2/*or else*/=((T6)(((int32_t)(_y))>((/*RF2*/(C)->_y_max_crop/*32p*/)))); +} +if(tmp2/*or else*/){ +/*SFN*/(C->_ignored_counter/*32p*/)=INT32_C(-1); +} +} +/*auto-unlock tmp0*/tmp0/*and then*/=((T6)(((int32_t)((/*RF2*/(C)->_ignored_counter/*32p*/)))<((/*RF2*/(C)->_ignore_rate/*32p*/)))); +if(tmp0/*and then*/){ +tmp0/*and then*/=((T6)((((/*RF2*/(C)->_old_presure/*32p*/))==(INT8_C(0)))==((_presure)==(INT8_C(0))))); +} +if(tmp0/*and then*/){ +/*SFN*/(C->_ignored_counter/*32p*/)=((int32_t)((/*RF2*/(C)->_ignored_counter/*32p*/)))+(INT32_C(1)); +} +else{ +/*SFN*/(C->_ignored_counter/*32p*/)=INT32_C(0); +_message=ms25_0bc70c16; +r7copy(((T7*)_message),(/*RF2*/(C)->_pointer_message_header/*32p*/)); +r70print_data_in(C,_message,_x,_y,_presure,r68motion_axis_data(INT32_C(4)),r68motion_axis_data(INT32_C(5)),r68motion_axis_data(INT32_C(6)),x_device_event_time,ms70_56246305bc70); +r71send_message((T71*)((/*RF2*/((T25*)((/*RF2*/(C)->_xinput_ivy/*32p*/)))->_ivy/*8p*/)),_message); +} +/*SFN*/(C->_old_presure/*32p*/)=_presure; }/*--*/ -/*WACOM_POINTER*/T2 r69device_to_screen_x(T69* C,T2 a1){ -T2 R=0; -R=((int32_t)(((((T5)(a1))/(INT32_C(86400)))*(/*IC*/(T5)(INT16_C(1600))))+(/*IC*/(T5)((/*RF2*/(C)->_x_offset/*25p*/))))); -return R; +/*IVY*/void r71start(T71* C,T0* a1){ +if(((/*RF2*/(((T7*)a1))->_count/*3p*/))==(INT8_C(0))){ +IvyStart(NULL/*_POINTER*/); +} +else{ +IvyStart(r7to_external(((T7*)a1))); +} +/*SFN*/(C->_started/*i11p*/)=((T6)(1)); }/*--*/ -/*WACOM_POINTER*/void r69move(T69* C,T0* a1){ -T2 _x=0; -T2 _y=0; -T2 _presure=0; -T5 _t3=0; -T0* _message=(void*)0; -/*l170c4/wacom_pointer.e*/ -_x=r67motion_axis_data(INT32_C(1)); -/*l171c4/wacom_pointer.e*/ -_y=r67motion_axis_data(INT32_C(2)); -/*l173c14/wacom_pointer.e*/ -r213remove_first((T213*)((/*RF2*/(C)->_x_history/*25p*/))); -/*l174c14/wacom_pointer.e*/ -r213add_last((T213*)((/*RF2*/(C)->_x_history/*25p*/)),_x); -/*l175c14/wacom_pointer.e*/ -r213remove_first((T213*)((/*RF2*/(C)->_y_history/*25p*/))); -/*l176c14/wacom_pointer.e*/ -r213add_last((T213*)((/*RF2*/(C)->_y_history/*25p*/)),_y); -/*l177c17/wacom_pointer.e*/ -r213remove_first((T213*)((/*RF2*/(C)->_time_history/*25p*/))); -/*l178c17/wacom_pointer.e*/ -r213add_last((T213*)((/*RF2*/(C)->_time_history/*25p*/)),x_device_event_time); -/*l179c4/wacom_pointer.e*/ -_t3=r69mean((/*RF2*/(C)->_time_history/*25p*/)); -/*l180c4/wacom_pointer.e*/ -if(((T5)((_t3)))!=(((T5)((/*RF2*/(C)->_t2/*25p*/))))){ -r69update_predicted_position(C,r69mean((/*RF2*/(C)->_x_history/*25p*/)),r69mean((/*RF2*/(C)->_y_history/*25p*/)),_t3); -} -/*l183c4/wacom_pointer.e*/ -_presure=r67motion_axis_data(INT32_C(3)); -/*l184c4/wacom_pointer.e*/ -if((T6)((((int32_t)((/*RF2*/(C)->_ignored_counter/*25p*/)))<((/*RF2*/(C)->_ignore_rate/*25p*/)))&&((T6)((((/*RF2*/(C)->_old_presure/*25p*/))==(INT8_C(0)))==((_presure)==(INT8_C(0))))))){ -/*SFN*/(C->_ignored_counter/*25p*/)=((int32_t)((/*RF2*/(C)->_ignored_counter/*25p*/)))+(INT32_C(1)); -} -else{ -/*l187c5/wacom_pointer.e*/ -/*SFN*/(C->_ignored_counter/*25p*/)=INT32_C(0); -/*l188c5/wacom_pointer.e*/ -_message=ms25_0bc69c16; -/*l189c13/wacom_pointer.e*/ -r7copy(((T7*)_message),(/*RF2*/(C)->_pointer_message_header/*25p*/)); -/*l190c5/wacom_pointer.e*/ -r69print_data_in(C,_message,_x,_y,_presure,r67motion_axis_data(INT32_C(4)),r67motion_axis_data(INT32_C(5)),r67motion_axis_data(INT32_C(6)),x_device_event_time,ms69_56246305bc69); -/*l194c20/wacom_pointer.e*/ -r70send_message((T70*)((/*RF2*/((T25*)((/*RF2*/(C)->_xinput_ivy/*25p*/)))->_ivy/*8p*/)),_message); -} -/*l196c4/wacom_pointer.e*/ -/*SFN*/(C->_old_presure/*25p*/)=_presure; -}/*--*/ - -/*IVY*/void r70prepare(T70* C,T0* a1){ +/*IVY*/void r71prepare(T71* C,T0* a1){ T2 _i=0; _i=INT32_C(0); -while (!(((int32_t)(_i))>((/*RF2*/((T207*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_upper/*3p*/)))) +while(!(((int32_t)(_i))>((/*RF2*/((T249*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_upper/*3p*/)))) { -/*l90c12/ivy.e*/ -r147expect(((T147*)a1),r146event_can_read((T146*)(((/*RF2*/((T207*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_storage/*3p*/))[_i]))); -/*l91c12/ivy.e*/ -r147expect(((T147*)a1),r146event_exception((T146*)(((/*RF2*/((T207*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_storage/*3p*/))[_i]))); -/*l92c5/ivy.e*/ +r154expect(((T154*)a1),r153event_can_read((T153*)(((/*RF2*/((T249*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_storage/*3p*/))[_i]))); +r154expect(((T154*)a1),r153event_exception((T153*)(((/*RF2*/((T249*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_storage/*3p*/))[_i]))); _i=((int32_t)(_i))+(INT32_C(1)); } }/*--*/ -/*IVY*/T6 r70is_ready(T70* C,T0* a1){ +/*IVY*/void r71make(T71* C,T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +/*SFN*/(C->_application_name_/*i11p*/)=r7twin(((T7*)a1)); +/*SFN*/(C->_ready_message_/*i11p*/)=r7twin(((T7*)a1)); +r7append((T7*)((/*RF2*/(C)->_ready_message_/*i11p*/)),se_ms(6,s71_202554)); +ivy_init(r7to_external((T7*)((/*RF2*/(C)->_application_name_/*i11p*/))),r7to_external((T7*)((/*RF2*/(C)->_ready_message_/*i11p*/))),(T0*)C,/*$*/((void*)W71channel_up),/*$*/((void*)W71channel_down),/*$*/((void*)W71callback_runner)); +tmp0/*new*/=((T0*)(new253())); +r253make(((T253*)tmp0/*new*/)); +/*SFN*/(C->_pattern_list/*i11p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new250())); +r250make(((T250*)tmp0/*new*/)); +/*SFN*/(C->_callback_list/*i11p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new249())); +r249make(((T249*)tmp0/*new*/),INT32_C(0)); +/*SFN*/(C->_ivy_clients/*i11p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new249())); +r249make(((T249*)tmp0/*new*/),INT32_C(0)); +/*SFN*/(C->_tmp_client_list/*i11p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +}/*--*/ + +/*IVY*/T6 r71is_ready(T71* C,T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +T6 tmp1; +/*INTERNAL_C_LOCAL list]*/ T6 R=0; T2 _i=0; -/*l100c4/ivy.e*/ _i=INT32_C(0); -while (!((T6)((((int32_t)(_i))>((/*RF2*/((T207*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_upper/*3p*/)))||((T6)(R))))) -{ -/*l105c5/ivy.e*/ -R=((T6)((T6)((r147event_occurred(((T147*)a1),r146event_exception((T146*)(((/*RF2*/((T207*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_storage/*3p*/))[_i]))))||((T6)(r147event_occurred(((T147*)a1),r146event_can_read((T146*)(((/*RF2*/((T207*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_storage/*3p*/))[_i])))))))); -/*l106c5/ivy.e*/ +while(1){ +tmp0/*or else*/=((T6)(((int32_t)(_i))>((/*RF2*/((T249*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_upper/*3p*/)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)(R)); +} +if(tmp0/*or else*/){ +break; +} +tmp1/*or else*/=((T6)(r154event_occurred(((T154*)a1),r153event_exception((T153*)(((/*RF2*/((T249*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_storage/*3p*/))[_i]))))); +if(tmp1/*or else*/){ +} +else{ +tmp1/*or else*/=((T6)(r154event_occurred(((T154*)a1),r153event_can_read((T153*)(((/*RF2*/((T249*)((/*RF2*/(C)->_ivy_clients/*i11p*/)))->_storage/*3p*/))[_i]))))); +} +R=((T6)(tmp1/*or else*/)); _i=((int32_t)(_i))+(INT32_C(1)); } -/*l108c4/ivy.e*/ /*SFN*/(C->_events_set/*i11p*/)=a1; return R; }/*--*/ -/*IVY*/void r70continue(T70* C){ +/*IVY*/void r71continue(T71* C){ T2 _i=0; T0* _client=(void*)0; -/*l118c21/ivy.e*/ -r207copy((T207*)((/*RF2*/(C)->_tmp_client_list/*i11p*/)),(/*RF2*/(C)->_ivy_clients/*i11p*/)); -/*l119c5/ivy.e*/ +r249copy((T249*)((/*RF2*/(C)->_tmp_client_list/*i11p*/)),(/*RF2*/(C)->_ivy_clients/*i11p*/)); _i=INT32_C(0); -while (!(((int32_t)(_i))>((/*RF2*/((T207*)((/*RF2*/(C)->_tmp_client_list/*i11p*/)))->_upper/*3p*/)))) +while(!(((int32_t)(_i))>((/*RF2*/((T249*)((/*RF2*/(C)->_tmp_client_list/*i11p*/)))->_upper/*3p*/)))) { -/*l123c5/ivy.e*/ -_client=((/*RF2*/((T207*)((/*RF2*/(C)->_tmp_client_list/*i11p*/)))->_storage/*3p*/))[_i]; -/*l124c5/ivy.e*/ -if(r147event_occurred((T147*)((/*RF2*/(C)->_events_set/*i11p*/)),r146event_exception(((T146*)_client)))){ -r146disconnect(((T146*)_client)); +_client=((/*RF2*/((T249*)((/*RF2*/(C)->_tmp_client_list/*i11p*/)))->_storage/*3p*/))[_i]; +if(r154event_occurred((T154*)((/*RF2*/(C)->_events_set/*i11p*/)),r153event_exception(((T153*)_client)))){ +r153disconnect(((T153*)_client)); } else{ -/*l130c6/ivy.e*/ -if(r147event_occurred((T147*)((/*RF2*/(C)->_events_set/*i11p*/)),r146event_can_read(((T146*)_client)))){ -r146process_incomming_data(((T146*)_client)); +if(r154event_occurred((T154*)((/*RF2*/(C)->_events_set/*i11p*/)),r153event_can_read(((T153*)_client)))){ +r153process_incomming_data(((T153*)_client)); } -/*l133c6/ivy.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } } }/*--*/ -/*IVY*/void r70channel_down(T70* C,T0* a1){ -/*l165c12/ivy.e*/ -r146disconnect(((T146*)a1)); -/*l166c16/ivy.e*/ -r207remove((T207*)((/*RF2*/(C)->_ivy_clients/*i11p*/)),r207fast_index_of((T207*)((/*RF2*/(C)->_ivy_clients/*i11p*/)),a1,INT32_C(0))); +/*IVY*/void r71channel_down(T71* C,T0* a1){ +r153disconnect(((T153*)a1)); +r249remove((T249*)((/*RF2*/(C)->_ivy_clients/*i11p*/)),r249fast_index_of((T249*)((/*RF2*/(C)->_ivy_clients/*i11p*/)),a1,INT32_C(0))); }/*--*/ -/*IVY*/void r70callback_runner(T0* a1,T2 a2,T212 a3){ +/*IVY*/void r71callback_runner(T0* a1,T2 a2,T254 a3){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T2 _i=0; T0* _match_list=(void*)0; -/*l174c4/ivy.e*/ -tmp0=((T0*)(new204())); -r204with_capacity(((T204*)tmp0),a2); -_match_list=tmp0; -while (!(((int32_t)(_i))>=(a2))) +tmp0/*new*/=((T0*)(new247())); +r247with_capacity(((T247*)tmp0/*new*/),a2); +_match_list=tmp0/*new*/; +/*tmp0.unlock*/ +while(!(((int32_t)(_i))>=(a2))) { -/*l179c16/ivy.e*/ -r204add_last(((T204*)_match_list),((T0*)create7from_external((a3)[_i]))); -/*l180c5/ivy.e*/ +r247add_last(((T247*)_match_list),((T0*)create7from_external((a3)[_i]))); _i=((int32_t)(_i))+(INT32_C(1)); } -/*l182c13/ivy.e*/ agent_launcher_FAST_ARRAY__STRING__(a1,_match_list); }/*--*/ -/*IVY*/T0* r70channel_up(T70* C,T2 a1,T8 a2,T8 a3,T8 a4){ +/*IVY*/T0* r71channel_up(T71* C,T2 a1,T8 a2,T8 a3,T8 a4,T8 a5){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T0* R=(void*)0; -/*l157c4/ivy.e*/ -tmp0=((T0*)(new146())); -r146make(((T146*)tmp0),a1,a2,a3,a4); -R=tmp0; -/*l158c16/ivy.e*/ -r207add_last((T207*)((/*RF2*/(C)->_ivy_clients/*i11p*/)),R); +tmp0/*new*/=((T0*)(new153())); +r153make(((T153*)tmp0/*new*/),a1,a2,a3,a4,a5); +R=tmp0/*new*/; +/*tmp0.unlock*/ +r249add_last((T249*)((/*RF2*/(C)->_ivy_clients/*i11p*/)),R); return R; }/*--*/ -/*IVY*/void r70send_message(T70* C,T0* a1){ +/*IVY*/void r71send_message(T71* C,T0* a1){ /*SFN*/(C->_destination_count/*i11p*/)=send_message(r7to_external(((T7*)a1))); }/*--*/ -/*IVY*/void r70make(T70* C,T0* a1){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -/*l16c4/ivy.e*/ -/*SFN*/(C->_application_name_/*i11p*/)=r7twin(((T7*)a1)); -/*l17c4/ivy.e*/ -/*SFN*/(C->_ready_message_/*i11p*/)=r7twin(((T7*)a1)); -/*l18c19/ivy.e*/ -r7append((T7*)((/*RF2*/(C)->_ready_message_/*i11p*/)),se_ms(6,s70_202554)); -/*l19c4/ivy.e*/ -ivy_init(r7to_external((T7*)((/*RF2*/(C)->_application_name_/*i11p*/))),r7to_external((T7*)((/*RF2*/(C)->_ready_message_/*i11p*/))),(T0*)C,/*$*/((void*)r70channel_up),/*$*/((void*)r70channel_down),/*$*/((void*)W70callback_runner)); -/*l20c4/ivy.e*/ -tmp0=((T0*)(new211())); -r211make(((T211*)tmp0)); -/*SFN*/(C->_pattern_list/*i11p*/)=tmp0; -/*l21c4/ivy.e*/ -tmp0=((T0*)(new208())); -r208make(((T208*)tmp0)); -/*SFN*/(C->_callback_list/*i11p*/)=tmp0; -/*l22c4/ivy.e*/ -tmp0=((T0*)(new207())); -r207make(((T207*)tmp0),INT32_C(0)); -/*SFN*/(C->_ivy_clients/*i11p*/)=tmp0; -/*l23c4/ivy.e*/ -tmp0=((T0*)(new207())); -r207make(((T207*)tmp0),INT32_C(0)); -/*SFN*/(C->_tmp_client_list/*i11p*/)=tmp0; -}/*--*/ - -/*IVY*/void r70start(T70* C,T0* a1){ -/*l40c4/ivy.e*/ -IvyStart(r7to_external(((T7*)a1))); -/*l41c4/ivy.e*/ -/*SFN*/(C->_started/*i11p*/)=((T6)(1)); -}/*--*/ -T0*oBC64root_window=(void*)0; -int fBC64root_window=0; - -/*VISION*/T0* r64root_window(void){ -/*[INTERNAL_C_LOCAL list*/ -T0* tmp0; -/*INTERNAL_C_LOCAL list]*/ -if(fBC64root_window==0){fBC64root_window=1;{ -tmp0=((T0*)(new72())); -r72default_create(((T72*)tmp0)); -oBC64root_window=tmp0; -}} -return oBC64root_window; +void* W71channel_up(void* C,T2 a1,T8 a2,T8 a3,T8 a4,T8 a5){ +return r71channel_up(C,a1,a2,a3,a4,a5); }/*--*/ -T0*oBC13std_error=(void*)0; -/*VISION*/void r64crash(T64* C){ -/*l274c4/any.e*/ -se_print_run_time_stack(); -/*l275c4/any.e*/ -/*l276c4/any.e*/ -se_die(INT32_C(1)); +void W71channel_down(void* C,void* a1){ +r71channel_down(C,a1); }/*--*/ -/*VISION*/void r64not_yet_implemented(T64* C){ -/*l305c4/any.e*/ -/*l306c14/any.e*/ -r43put_string(se_ms(611,s13_1432888418)); -/*l318c14/any.e*/ -r43put_string((T0*)(t[64])); -/*l319c14/any.e*/ -r43put_string(se_ms(3,s13_1210)); -/*l320c4/any.e*/ -r64crash(C); +void W71callback_runner(void* C,void* a1,T2 a2,T254 a3){ +r71callback_runner(a1,a2,a3); }/*--*/ -/*VISION*/void r64start(T64* C){ -/*l49c18/vision.e*/ -r128continue((T128*)((/*RF2*/(C)->_event_catcher/*6p*/))); -/*l50c15/vision.e*/ -r130run((T130*)((/*RF2*/(C)->_loop_stack/*6p*/))); +/*VISION*/void r65start(T65* C){ +r131continue((T131*)((/*RF2*/(C)->_event_catcher/*6p*/))); +r133run(((T133*)/*no_dispatch.e*/(/*RF2*/(C)->_loop_stack/*6p*/))); }/*--*/ -/*VISION*/void r64register(T64* C,T0* a1){ -r227add((T227*)((/*RF2*/(C)->_widget/*6p*/)),a1,(/*RF2*/(((T72*)a1))->_widget/*11p*/)); +/*VISION*/void r65register(T65* C,T0* a1){ +r276add(((T276*)/*no_dispatch.e*/(/*RF2*/(C)->_widget/*6p*/)),a1,(/*RF2*/(((T73*)/*no_dispatch.e*/a1))->_widget/*9p*/)); }/*--*/ -/*VISION*/void r64graphic_init(T64* C){ +/*VISION*/void r65graphic_init(T65* C){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T2 _g_c=0; T0* _ls=(void*)0; -/*l19c4/vision.e*/ _g_c=basic_vision_init; -/*l20c4/vision.e*/ if((_g_c)!=(INT8_C(0))){ -tmp0=((T0*)(new131())); -r131set_descriptor(((T131*)tmp0),_g_c); -/*SFN*/(C->_graphic_connection/*6p*/)=tmp0; +tmp0/*new*/=((T0*)(new134())); +r134set_descriptor(((T134*)tmp0/*new*/),_g_c); +/*SFN*/(C->_graphic_connection/*6p*/)=tmp0/*new*/; +/*tmp0.unlock*/ } else{ -/*l23c8/vision.e*/ -r46put_string(se_ms(47,s64_1686724329)); -/*l24c5/vision.e*/ -r64not_yet_implemented(C); +r46put_string(se_ms(47,s65_1686724329)); +r65not_yet_implemented(C); } -/*l26c4/vision.e*/ /*SFN*/(C->_display_width/*6p*/)=basic_vision_display_width; -/*l27c4/vision.e*/ /*SFN*/(C->_display_height/*6p*/)=basic_vision_display_height; -/*l28c4/vision.e*/ -tmp0=((T0*)(new130())); -r130make(((T130*)tmp0)); -_ls=tmp0; -/*l30c4/vision_loop_stack.e*/ -(/*RF2*/(((T130*)_ls))->_vision/*4p*/)=((T0*)(C)); -/*l30c4/vision.e*/ +/*reusing tmp0*/tmp0/*new*/=((T0*)(new133())); +r133make(((T133*)tmp0/*new*/)); +_ls=tmp0/*new*/; +/*tmp0.unlock*/ +(/*RF2*/(((T133*)_ls))->_vision/*4p*/)=((T0*)(C)); /*SFN*/(C->_loop_stack/*6p*/)=_ls; -/*l31c4/vision.e*/ -tmp0=((T0*)(new128())); -r128make(((T128*)tmp0),(/*RF2*/(C)->_graphic_connection/*6p*/)); -/*SFN*/(C->_event_catcher/*6p*/)=tmp0; -/*l32c4/vision.e*/ -/*SFN*/(C->_widget/*6p*/)=(/*RF2*/((T128*)((/*RF2*/(C)->_event_catcher/*6p*/)))->_widget/*i11p*/); -/*l33c15/vision.e*/ -r130add_job((T130*)((/*RF2*/(C)->_loop_stack/*6p*/)),(/*RF2*/(C)->_event_catcher/*6p*/)); +/*reusing tmp0*/tmp0/*new*/=((T0*)(new131())); +r131make(((T131*)tmp0/*new*/),(/*RF2*/(C)->_graphic_connection/*6p*/)); +/*SFN*/(C->_event_catcher/*6p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +/*SFN*/(C->_widget/*6p*/)=(/*RF2*/((T131*)((/*RF2*/(C)->_event_catcher/*6p*/)))->_widget/*i11p*/); +r155add_job((T155*)(r133current_loop(((T133*)/*no_dispatch.e*/(/*RF2*/(C)->_loop_stack/*6p*/)))),(/*RF2*/(C)->_event_catcher/*6p*/)); +}/*--*/ +T0*oBC13io=(void*)0; +T0*oBC65root_window=(void*)0; +int fBC65root_window=0; + +/*VISION*/T0* r65root_window(void){ +/*[INTERNAL_C_LOCAL list*/ +T0* tmp0; +/*INTERNAL_C_LOCAL list]*/ +if(fBC65root_window==0){fBC65root_window=1;{ +tmp0/*new*/=((T0*)(new73())); +r73default_create(((T73*)tmp0/*new*/)); +oBC65root_window=tmp0/*new*/; +/*tmp0.unlock*/ +}} +return oBC65root_window; +}/*--*/ +T0*oBC13std_error=(void*)0; + +/*VISION*/void r65crash(T65* C){ +se_print_run_time_stack(); +se_die(INT32_C(1)); +}/*--*/ + +/*VISION*/void r65not_yet_implemented(T65* C){ +r43put_string(se_ms(611,s13_1432888418)); +r43put_string((T0*)(t[65])); +r43put_string(se_ms(3,s13_1210)); +r65crash(C); }/*--*/ -/*agent launcher*/static void _agenT25C25l194c40(se_agenT25C25l194c40*u,T0* Open2L194C77){ -T0* c0=(u->c0); -T6 c1=(u->c1); -r69proximity(((T69*)u->c0),(T6)(0),Open2L194C77); +/*agent launcher*/static void _agenT25f25l206c40(se_agenT25f25l206c40*u,T0* open_a2){ +T0* closed_C=(u->closed_C); +r70proximity(((T70*)closed_C),(T6)(0),open_a2); }/*--*/ -/*agent creation*/T0*agenT25C25l194c40(T0* c0,T6 c1){ -se_agenT25C25l194c40*u=(void*)new_agent(202); +/*agent creation*/T0*agenT25f25l206c40(T0* closed_C){ +se_agenT25f25l206c40*u=(void*)new_agent(244); u->creation_mold_id=0; -u->afp=_agenT25C25l194c40; -u->eq=eq_agent_eqC69C6_r69proximity; -u->gc_mark_agent_mold=gc_mark_agenT25C25l194c40; -u->c0=c0; -u->c1=c1; +u->afp=_agenT25f25l206c40; +u->gc_mark_agent_mold=gc_mark_agenT25f25l206c40; +u->closed_C=closed_C; return((T0*)u); }/*--*/ -void gc_mark_agenT25C25l194c40(se_agenT25C25l194c40*u){ +void gc_mark_agenT25f25l206c40(se_agenT25f25l206c40*u){ gc_agent*gcu=(gc_agent*)u; if (gcu->header.flag==FSOH_UNMARKED){ gcu->header.flag=FSOH_MARKED; -gc_mark(u->c0); +gc_mark(u->closed_C); } }/*--*/ -/*agent equality*/int eq_agent_eqC69C6_r69proximity(se_agent*u1, se_agent*u2){ -int R=1; -se_agent_eqC69C6_r69proximity*a1=(se_agent_eqC69C6_r69proximity*)u1; -se_agent_eqC69C6_r69proximity*a2=(se_agent_eqC69C6_r69proximity*)u2; -R&=a1->c0==a2->c0; -R&=a1->c1==a2->c1; -return R; -}/*--*/ - -/*agent launcher*/static void _agenT25C25l193c39(se_agenT25C25l193c39*u,T0* Open2L193C75){ -T0* c0=(u->c0); -T6 c1=(u->c1); -r69proximity(((T69*)u->c0),(T6)(1),Open2L193C75); +/*agent launcher*/static void _agenT25f25l205c39(se_agenT25f25l205c39*u,T0* open_a2){ +T0* closed_C=(u->closed_C); +r70proximity(((T70*)closed_C),(T6)(1),open_a2); }/*--*/ -/*agent creation*/T0*agenT25C25l193c39(T0* c0,T6 c1){ -se_agenT25C25l193c39*u=(void*)new_agent(202); +/*agent creation*/T0*agenT25f25l205c39(T0* closed_C){ +se_agenT25f25l205c39*u=(void*)new_agent(244); u->creation_mold_id=1; -u->afp=_agenT25C25l193c39; -u->eq=eq_agent_eqC69C6_r69proximity; -u->gc_mark_agent_mold=gc_mark_agenT25C25l193c39; -u->c0=c0; -u->c1=c1; +u->afp=_agenT25f25l205c39; +u->gc_mark_agent_mold=gc_mark_agenT25f25l205c39; +u->closed_C=closed_C; return((T0*)u); }/*--*/ -void gc_mark_agenT25C25l193c39(se_agenT25C25l193c39*u){ +void gc_mark_agenT25f25l205c39(se_agenT25f25l205c39*u){ gc_agent*gcu=(gc_agent*)u; if (gcu->header.flag==FSOH_UNMARKED){ gcu->header.flag=FSOH_MARKED; -gc_mark(u->c0); +gc_mark(u->closed_C); } }/*--*/ -/*agent launcher*/static void _agenT25C25l192c42(se_agenT25C25l192c42*u,T0* Open2L192C76){ -T0* c0=(u->c0); -T6 c1=(u->c1); -r69button(((T69*)u->c0),(T6)(0),Open2L192C76); +/*agent launcher*/static void _agenT25f25l204c42(se_agenT25f25l204c42*u,T0* open_a2){ +T0* closed_C=(u->closed_C); +r70button(((T70*)closed_C),(T6)(0),open_a2); }/*--*/ -/*agent creation*/T0*agenT25C25l192c42(T0* c0,T6 c1){ -se_agenT25C25l192c42*u=(void*)new_agent(202); +/*agent creation*/T0*agenT25f25l204c42(T0* closed_C){ +se_agenT25f25l204c42*u=(void*)new_agent(244); u->creation_mold_id=2; -u->afp=_agenT25C25l192c42; -u->eq=eq_agent_eqC69C6_r69button; -u->gc_mark_agent_mold=gc_mark_agenT25C25l192c42; -u->c0=c0; -u->c1=c1; +u->afp=_agenT25f25l204c42; +u->gc_mark_agent_mold=gc_mark_agenT25f25l204c42; +u->closed_C=closed_C; return((T0*)u); }/*--*/ -void gc_mark_agenT25C25l192c42(se_agenT25C25l192c42*u){ +void gc_mark_agenT25f25l204c42(se_agenT25f25l204c42*u){ gc_agent*gcu=(gc_agent*)u; if (gcu->header.flag==FSOH_UNMARKED){ gcu->header.flag=FSOH_MARKED; -gc_mark(u->c0); +gc_mark(u->closed_C); } }/*--*/ -/*agent equality*/int eq_agent_eqC69C6_r69button(se_agent*u1, se_agent*u2){ -int R=1; -se_agent_eqC69C6_r69button*a1=(se_agent_eqC69C6_r69button*)u1; -se_agent_eqC69C6_r69button*a2=(se_agent_eqC69C6_r69button*)u2; -R&=a1->c0==a2->c0; -R&=a1->c1==a2->c1; -return R; -}/*--*/ - -/*agent launcher*/static void _agenT25C25l191c41(se_agenT25C25l191c41*u,T0* Open2L191C74){ -T0* c0=(u->c0); -T6 c1=(u->c1); -r69button(((T69*)u->c0),(T6)(1),Open2L191C74); +/*agent launcher*/static void _agenT25f25l203c41(se_agenT25f25l203c41*u,T0* open_a2){ +T0* closed_C=(u->closed_C); +r70button(((T70*)closed_C),(T6)(1),open_a2); }/*--*/ -/*agent creation*/T0*agenT25C25l191c41(T0* c0,T6 c1){ -se_agenT25C25l191c41*u=(void*)new_agent(202); +/*agent creation*/T0*agenT25f25l203c41(T0* closed_C){ +se_agenT25f25l203c41*u=(void*)new_agent(244); u->creation_mold_id=3; -u->afp=_agenT25C25l191c41; -u->eq=eq_agent_eqC69C6_r69button; -u->gc_mark_agent_mold=gc_mark_agenT25C25l191c41; -u->c0=c0; -u->c1=c1; +u->afp=_agenT25f25l203c41; +u->gc_mark_agent_mold=gc_mark_agenT25f25l203c41; +u->closed_C=closed_C; return((T0*)u); }/*--*/ -void gc_mark_agenT25C25l191c41(se_agenT25C25l191c41*u){ +void gc_mark_agenT25f25l203c41(se_agenT25f25l203c41*u){ gc_agent*gcu=(gc_agent*)u; if (gcu->header.flag==FSOH_UNMARKED){ gcu->header.flag=FSOH_MARKED; -gc_mark(u->c0); +gc_mark(u->closed_C); } }/*--*/ -/*agent launcher*/static void _agenT25C25l190c32(se_agenT25C25l190c32*u,T0* Open1L190C52){ -T0* c0=(u->c0); -r69move(((T69*)u->c0),Open1L190C52); +/*agent launcher*/static void _agenT25f25l202c32(se_agenT25f25l202c32*u,T0* open_a1){ +T0* closed_C=(u->closed_C); +r70move(((T70*)closed_C),open_a1); }/*--*/ -/*agent creation*/T0*agenT25C25l190c32(T0* c0){ -se_agenT25C25l190c32*u=(void*)new_agent(202); +/*agent creation*/T0*agenT25f25l202c32(T0* closed_C){ +se_agenT25f25l202c32*u=(void*)new_agent(244); u->creation_mold_id=4; -u->afp=_agenT25C25l190c32; -u->eq=eq_agent_eqC69_r69move; -u->gc_mark_agent_mold=gc_mark_agenT25C25l190c32; -u->c0=c0; +u->afp=_agenT25f25l202c32; +u->gc_mark_agent_mold=gc_mark_agenT25f25l202c32; +u->closed_C=closed_C; return((T0*)u); }/*--*/ -void gc_mark_agenT25C25l190c32(se_agenT25C25l190c32*u){ +void gc_mark_agenT25f25l202c32(se_agenT25f25l202c32*u){ gc_agent*gcu=(gc_agent*)u; if (gcu->header.flag==FSOH_UNMARKED){ gcu->header.flag=FSOH_MARKED; -gc_mark(u->c0); +gc_mark(u->closed_C); } }/*--*/ -/*agent equality*/int eq_agent_eqC69_r69move(se_agent*u1, se_agent*u2){ -int R=1; -se_agent_eqC69_r69move*a1=(se_agent_eqC69_r69move*)u1; -se_agent_eqC69_r69move*a2=(se_agent_eqC69_r69move*)u2; -R&=a1->c0==a2->c0; -return R; -}/*--*/ - -/*agent launcher*/static void _agenT25C25l173c38(se_agenT25C25l173c38*u,T0* Open2L173C80){ -T0* c0=(u->c0); -T0* c1=(u->c1); -r25pad_button_released(((T25*)u->c0),u->c1,Open2L173C80); +/*agent launcher*/static void _agenT25f25l185c38(se_agenT25f25l185c38*u,T0* open_a2){ +T0* closed_C=(u->closed_C); +T0* closed_a1=(u->closed_a1); +r25pad_button_released(((T25*)closed_C),closed_a1,open_a2); }/*--*/ -/*agent creation*/T0*agenT25C25l173c38(T0* c0,T0* c1){ -se_agenT25C25l173c38*u=(void*)new_agent(202); +/*agent creation*/T0*agenT25f25l185c38(T0* closed_C,T0* closed_a1){ +se_agenT25f25l185c38*u=(void*)new_agent(244); u->creation_mold_id=5; -u->afp=_agenT25C25l173c38; -u->eq=eq_agent_eqC25C7_r25pad_button_released; -u->gc_mark_agent_mold=gc_mark_agenT25C25l173c38; -u->c0=c0; -u->c1=c1; +u->afp=_agenT25f25l185c38; +u->gc_mark_agent_mold=gc_mark_agenT25f25l185c38; +u->closed_C=closed_C; +u->closed_a1=closed_a1; return((T0*)u); }/*--*/ -void gc_mark_agenT25C25l173c38(se_agenT25C25l173c38*u){ +void gc_mark_agenT25f25l185c38(se_agenT25f25l185c38*u){ gc_agent*gcu=(gc_agent*)u; if (gcu->header.flag==FSOH_UNMARKED){ gcu->header.flag=FSOH_MARKED; -gc_mark(u->c0); -gc_mark(u->c1); +gc_mark(u->closed_C); +gc_mark(u->closed_a1); } }/*--*/ -/*agent equality*/int eq_agent_eqC25C7_r25pad_button_released(se_agent*u1, se_agent*u2){ -int R=1; -se_agent_eqC25C7_r25pad_button_released*a1=(se_agent_eqC25C7_r25pad_button_released*)u1; -se_agent_eqC25C7_r25pad_button_released*a2=(se_agent_eqC25C7_r25pad_button_released*)u2; -R&=a1->c0==a2->c0; -R&=a1->c1==a2->c1; -return R; -}/*--*/ - -/*agent launcher*/static void _agenT25C25l172c37(se_agenT25C25l172c37*u,T0* Open2L172C78){ -T0* c0=(u->c0); -T0* c1=(u->c1); -r25pad_button_pressed(((T25*)u->c0),u->c1,Open2L172C78); +/*agent launcher*/static void _agenT25f25l184c37(se_agenT25f25l184c37*u,T0* open_a2){ +T0* closed_C=(u->closed_C); +T0* closed_a1=(u->closed_a1); +r25pad_button_pressed(((T25*)closed_C),closed_a1,open_a2); }/*--*/ -/*agent creation*/T0*agenT25C25l172c37(T0* c0,T0* c1){ -se_agenT25C25l172c37*u=(void*)new_agent(202); +/*agent creation*/T0*agenT25f25l184c37(T0* closed_C,T0* closed_a1){ +se_agenT25f25l184c37*u=(void*)new_agent(244); u->creation_mold_id=6; -u->afp=_agenT25C25l172c37; -u->eq=eq_agent_eqC25C7_r25pad_button_pressed; -u->gc_mark_agent_mold=gc_mark_agenT25C25l172c37; -u->c0=c0; -u->c1=c1; +u->afp=_agenT25f25l184c37; +u->gc_mark_agent_mold=gc_mark_agenT25f25l184c37; +u->closed_C=closed_C; +u->closed_a1=closed_a1; return((T0*)u); }/*--*/ -void gc_mark_agenT25C25l172c37(se_agenT25C25l172c37*u){ +void gc_mark_agenT25f25l184c37(se_agenT25f25l184c37*u){ gc_agent*gcu=(gc_agent*)u; if (gcu->header.flag==FSOH_UNMARKED){ gcu->header.flag=FSOH_MARKED; -gc_mark(u->c0); -gc_mark(u->c1); +gc_mark(u->closed_C); +gc_mark(u->closed_a1); } }/*--*/ -/*agent equality*/int eq_agent_eqC25C7_r25pad_button_pressed(se_agent*u1, se_agent*u2){ -int R=1; -se_agent_eqC25C7_r25pad_button_pressed*a1=(se_agent_eqC25C7_r25pad_button_pressed*)u1; -se_agent_eqC25C7_r25pad_button_pressed*a2=(se_agent_eqC25C7_r25pad_button_pressed*)u2; -R&=a1->c0==a2->c0; -R&=a1->c1==a2->c1; -return R; -}/*--*/ - -/*agent launcher*/static void _agenT25C25l167c36(se_agenT25C25l167c36*u,T0* Open2L167C74){ -T0* c0=(u->c0); -T0* c1=(u->c1); -r25left_slider_out(((T25*)u->c0),u->c1,Open2L167C74); +/*agent launcher*/static void _agenT25f25l179c36(se_agenT25f25l179c36*u,T0* open_a2){ +T0* closed_C=(u->closed_C); +T0* closed_a1=(u->closed_a1); +r25left_slider_out(((T25*)closed_C),closed_a1,open_a2); }/*--*/ -/*agent creation*/T0*agenT25C25l167c36(T0* c0,T0* c1){ -se_agenT25C25l167c36*u=(void*)new_agent(202); +/*agent creation*/T0*agenT25f25l179c36(T0* closed_C,T0* closed_a1){ +se_agenT25f25l179c36*u=(void*)new_agent(244); u->creation_mold_id=7; -u->afp=_agenT25C25l167c36; -u->eq=eq_agent_eqC25C7_r25left_slider_out; -u->gc_mark_agent_mold=gc_mark_agenT25C25l167c36; -u->c0=c0; -u->c1=c1; +u->afp=_agenT25f25l179c36; +u->gc_mark_agent_mold=gc_mark_agenT25f25l179c36; +u->closed_C=closed_C; +u->closed_a1=closed_a1; return((T0*)u); }/*--*/ -void gc_mark_agenT25C25l167c36(se_agenT25C25l167c36*u){ +void gc_mark_agenT25f25l179c36(se_agenT25f25l179c36*u){ gc_agent*gcu=(gc_agent*)u; if (gcu->header.flag==FSOH_UNMARKED){ gcu->header.flag=FSOH_MARKED; -gc_mark(u->c0); -gc_mark(u->c1); +gc_mark(u->closed_C); +gc_mark(u->closed_a1); } }/*--*/ -/*agent equality*/int eq_agent_eqC25C7_r25left_slider_out(se_agent*u1, se_agent*u2){ -int R=1; -se_agent_eqC25C7_r25left_slider_out*a1=(se_agent_eqC25C7_r25left_slider_out*)u1; -se_agent_eqC25C7_r25left_slider_out*a2=(se_agent_eqC25C7_r25left_slider_out*)u2; -R&=a1->c0==a2->c0; -R&=a1->c1==a2->c1; -return R; -}/*--*/ - -/*agent launcher*/static void _agenT25C25l166c28(se_agenT25C25l166c28*u,T0* Open2L166C63){ -T0* c0=(u->c0); -T0* c1=(u->c1); -r25slider_event(((T25*)u->c0),u->c1,Open2L166C63); +/*agent launcher*/static void _agenT25f25l178c28(se_agenT25f25l178c28*u,T0* open_a2){ +T0* closed_C=(u->closed_C); +T0* closed_a1=(u->closed_a1); +r25slider_event(((T25*)closed_C),closed_a1,open_a2); }/*--*/ -/*agent creation*/T0*agenT25C25l166c28(T0* c0,T0* c1){ -se_agenT25C25l166c28*u=(void*)new_agent(202); +/*agent creation*/T0*agenT25f25l178c28(T0* closed_C,T0* closed_a1){ +se_agenT25f25l178c28*u=(void*)new_agent(244); u->creation_mold_id=8; -u->afp=_agenT25C25l166c28; -u->eq=eq_agent_eqC25C7_r25slider_event; -u->gc_mark_agent_mold=gc_mark_agenT25C25l166c28; -u->c0=c0; -u->c1=c1; +u->afp=_agenT25f25l178c28; +u->gc_mark_agent_mold=gc_mark_agenT25f25l178c28; +u->closed_C=closed_C; +u->closed_a1=closed_a1; return((T0*)u); }/*--*/ -void gc_mark_agenT25C25l166c28(se_agenT25C25l166c28*u){ +void gc_mark_agenT25f25l178c28(se_agenT25f25l178c28*u){ gc_agent*gcu=(gc_agent*)u; if (gcu->header.flag==FSOH_UNMARKED){ gcu->header.flag=FSOH_MARKED; -gc_mark(u->c0); -gc_mark(u->c1); +gc_mark(u->closed_C); +gc_mark(u->closed_a1); } }/*--*/ -/*agent equality*/int eq_agent_eqC25C7_r25slider_event(se_agent*u1, se_agent*u2){ -int R=1; -se_agent_eqC25C7_r25slider_event*a1=(se_agent_eqC25C7_r25slider_event*)u1; -se_agent_eqC25C7_r25slider_event*a2=(se_agent_eqC25C7_r25slider_event*)u2; -R&=a1->c0==a2->c0; -R&=a1->c1==a2->c1; -return R; -}/*--*/ - /*XINPUT_IVY*/T0* r25std_output(void){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ if(fBC13std_output==0){fBC13std_output=1;{ -tmp0=((T0*)(new53())); -r53make(((T53*)tmp0)); -oBC13std_output=tmp0; +tmp0/*new*/=((T0*)(new53())); +r53make(((T53*)tmp0/*new*/)); +oBC13std_output=tmp0/*new*/; +/*tmp0.unlock*/ }} return oBC13std_output; }/*--*/ @@ -10378,9 +9974,10 @@ return oBC13std_output; T0* tmp0; /*INTERNAL_C_LOCAL list]*/ if(fBC26vision==0){fBC26vision=1;{ -tmp0=((T0*)(new64())); -r64graphic_init(((T64*)tmp0)); -oBC26vision=tmp0; +tmp0/*new*/=((T0*)(new65())); +r65graphic_init(((T65*)tmp0/*new*/)); +oBC26vision=tmp0/*new*/; +/*tmp0.unlock*/ }} return oBC26vision; }/*--*/ @@ -10388,6 +9985,10 @@ return oBC26vision; /*XINPUT_IVY*/T6 r25decode_options(T25* C){ /*[INTERNAL_C_LOCAL list*/ T0* tmp0; +T3 tmp1; +T2 tmp2; +T3 tmp3; +T3 tmp4; /*INTERNAL_C_LOCAL list]*/ T6 R=0; T2 _i=0; @@ -10396,532 +9997,538 @@ T0* _value=(void*)0; T2 _equal_index=0; T6 _error=0; T0* _tmp_pointer=(void*)0; -T0* _0; /* string inspect expression */ /*l64c5/xinput_ivy.e*/ -T2 _1; /* string inspect state */ /*l64c5/xinput_ivy.e*/ -/*l47c4/xinput_ivy.e*/ -/*l48c5/xinput_ivy.e*/ _i=INT32_C(1); -/*l49c5/xinput_ivy.e*/ _option=se_ms(0,s25_0); -/*l50c5/xinput_ivy.e*/ _value=se_ms(0,s25_0); -/*l51c5/xinput_ivy.e*/ -tmp0=((T0*)(new69())); -r69make(((T69*)tmp0),(T0*)C); -_tmp_pointer=tmp0; -while (!(r6_ix_or((T6)(((int32_t)(_i))>(r25argument_count())),(T6)(_error)))) +tmp0/*new*/=((T0*)(new70())); +r70make(((T70*)tmp0/*new*/),(T0*)C); +_tmp_pointer=tmp0/*new*/; +/*tmp0.unlock*/ +while(!(r6_ix_or((T6)(((int32_t)(_i))>(r25argument_count())),(T6)(_error)))) { -/*l55c12/xinput_ivy.e*/ -r7copy(((T7*)_option),((/*RF2*/((T204*)(r25command_arguments()))->_storage/*3p*/))[_i]); -/*l56c5/xinput_ivy.e*/ +r7copy(((T7*)_option),((/*RF2*/((T247*)(r25command_arguments()))->_storage/*3p*/))[_i]); _equal_index=r7first_index_of(((T7*)_option),((T3)'\075')); -/*l57c5/xinput_ivy.e*/ if((_equal_index)==(INT8_C(0))){ (/*RF2*/(((T7*)_value))->_count/*3p*/)=INT32_C(0); } else{ -/*l60c12/xinput_ivy.e*/ r7copy(((T7*)_value),_option); -/*l61c12/xinput_ivy.e*/ r7remove_head(((T7*)_value),_equal_index); -/*l62c13/xinput_ivy.e*/ r7remove_tail(((T7*)_option),((int32_t)(((int32_t)((/*RF2*/(((T7*)_option))->_count/*3p*/)))-(_equal_index)))+(INT32_C(1))); } -/*l64c5/xinput_ivy.e*/ -_0=_option; -/*l64c5/xinput_ivy.e*/ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(0)])==(((T3)'\055'))){ -/*[INSPECT*/ -{int inspect_tmp_1=((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(1)]; -switch(inspect_tmp_1){ +if((r7item(((T7*)_option),INT8_C(1)))==(((T3)'\055'))){ +tmp1/*inspectExpression*/=r7item(((T7*)_option),INT8_C(2)); +/*[inspect*/ +switch(tmp1/*inspectExpression*/){ case 104: -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(2)])==(((T3)'e'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(3)])==(((T3)'l'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(4)])==(((T3)'p'))){ -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(5))){ -_1=INT8_C(1); +if((r7item(((T7*)_option),INT8_C(3)))==(((T3)'e'))){ +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'l'))){ +if((r7item(((T7*)_option),INT8_C(5)))==(((T3)'p'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(5))){ +tmp2/*state*/=INT8_C(1); } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } break; case 108: -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(2)])==(((T3)'i'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(3)])==(((T3)'s'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(4)])==(((T3)'t'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(5)])==(((T3)'\137'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(6)])==(((T3)'d'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(7)])==(((T3)'e'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(8)])==(((T3)'v'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(9)])==(((T3)'i'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(10)])==(((T3)'c'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(11)])==(((T3)'e'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(12)])==(((T3)'s'))){ -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(13))){ -_1=INT8_C(2); +if((r7item(((T7*)_option),INT8_C(3)))==(((T3)'i'))){ +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'s'))){ +if((r7item(((T7*)_option),INT8_C(5)))==(((T3)'t'))){ +if((r7item(((T7*)_option),INT8_C(6)))==(((T3)'\137'))){ +if((r7item(((T7*)_option),INT8_C(7)))==(((T3)'d'))){ +if((r7item(((T7*)_option),INT8_C(8)))==(((T3)'e'))){ +if((r7item(((T7*)_option),INT8_C(9)))==(((T3)'v'))){ +if((r7item(((T7*)_option),INT8_C(10)))==(((T3)'i'))){ +if((r7item(((T7*)_option),INT8_C(11)))==(((T3)'c'))){ +if((r7item(((T7*)_option),INT8_C(12)))==(((T3)'e'))){ +if((r7item(((T7*)_option),INT8_C(13)))==(((T3)'s'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(13))){ +tmp2/*state*/=INT8_C(2); } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } break; case 112: -/*[INSPECT*/ -{int inspect_tmp_2=((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(2)]; -switch(inspect_tmp_2){ +tmp3/*inspectExpression*/=r7item(((T7*)_option),INT8_C(3)); +/*[inspect*/ +switch(tmp3/*inspectExpression*/){ case 97: -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(3)])==(((T3)'d'))){ -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(4))){ -_1=INT8_C(3); +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'d'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(4))){ +tmp2/*state*/=INT8_C(3); } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } break; case 114: -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(3)])==(((T3)'e'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(4)])==(((T3)'d'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(5)])==(((T3)'i'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(6)])==(((T3)'c'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(7)])==(((T3)'t'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(8)])==(((T3)'i'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(9)])==(((T3)'o'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(10)])==(((T3)'n'))){ -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(11))){ -_1=INT8_C(11); +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'e'))){ +if((r7item(((T7*)_option),INT8_C(5)))==(((T3)'d'))){ +if((r7item(((T7*)_option),INT8_C(6)))==(((T3)'i'))){ +if((r7item(((T7*)_option),INT8_C(7)))==(((T3)'c'))){ +if((r7item(((T7*)_option),INT8_C(8)))==(((T3)'t'))){ +if((r7item(((T7*)_option),INT8_C(9)))==(((T3)'i'))){ +if((r7item(((T7*)_option),INT8_C(10)))==(((T3)'o'))){ +if((r7item(((T7*)_option),INT8_C(11)))==(((T3)'n'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(11))){ +tmp2/*state*/=INT8_C(11); } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } break; default:; -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } -}/*INSPECT]*/ +/*inspect]*/ break; case 119: -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(2)])==(((T3)'a'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(3)])==(((T3)'c'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(4)])==(((T3)'o'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(5)])==(((T3)'m'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(6)])==(((T3)'\137'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(7)])==(((T3)'p'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(8)])==(((T3)'o'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(9)])==(((T3)'i'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(10)])==(((T3)'n'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(11)])==(((T3)'t'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(12)])==(((T3)'e'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(13)])==(((T3)'r'))){ -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(14))){ -_1=INT8_C(4); +if((r7item(((T7*)_option),INT8_C(3)))==(((T3)'a'))){ +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'c'))){ +if((r7item(((T7*)_option),INT8_C(5)))==(((T3)'o'))){ +if((r7item(((T7*)_option),INT8_C(6)))==(((T3)'m'))){ +if((r7item(((T7*)_option),INT8_C(7)))==(((T3)'\137'))){ +if((r7item(((T7*)_option),INT8_C(8)))==(((T3)'p'))){ +if((r7item(((T7*)_option),INT8_C(9)))==(((T3)'o'))){ +if((r7item(((T7*)_option),INT8_C(10)))==(((T3)'i'))){ +if((r7item(((T7*)_option),INT8_C(11)))==(((T3)'n'))){ +if((r7item(((T7*)_option),INT8_C(12)))==(((T3)'t'))){ +if((r7item(((T7*)_option),INT8_C(13)))==(((T3)'e'))){ +if((r7item(((T7*)_option),INT8_C(14)))==(((T3)'r'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(14))){ +tmp2/*state*/=INT8_C(4); } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } break; case 98: -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(2))){ -_1=INT8_C(6); +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(2))){ +tmp2/*state*/=INT8_C(6); } else{ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(2)])==(((T3)'u'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(3)])==(((T3)'s'))){ -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(4))){ -_1=INT8_C(5); +if((r7item(((T7*)_option),INT8_C(3)))==(((T3)'u'))){ +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'s'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(4))){ +tmp2/*state*/=INT8_C(5); } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } break; case 97: -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(2)])==(((T3)'p'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(3)])==(((T3)'p'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(4)])==(((T3)'l'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(5)])==(((T3)'i'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(6)])==(((T3)'c'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(7)])==(((T3)'a'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(8)])==(((T3)'t'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(9)])==(((T3)'i'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(10)])==(((T3)'o'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(11)])==(((T3)'n'))){ -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(12))){ -_1=INT8_C(7); +if((r7item(((T7*)_option),INT8_C(3)))==(((T3)'p'))){ +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'p'))){ +if((r7item(((T7*)_option),INT8_C(5)))==(((T3)'l'))){ +if((r7item(((T7*)_option),INT8_C(6)))==(((T3)'i'))){ +if((r7item(((T7*)_option),INT8_C(7)))==(((T3)'c'))){ +if((r7item(((T7*)_option),INT8_C(8)))==(((T3)'a'))){ +if((r7item(((T7*)_option),INT8_C(9)))==(((T3)'t'))){ +if((r7item(((T7*)_option),INT8_C(10)))==(((T3)'i'))){ +if((r7item(((T7*)_option),INT8_C(11)))==(((T3)'o'))){ +if((r7item(((T7*)_option),INT8_C(12)))==(((T3)'n'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(12))){ +tmp2/*state*/=INT8_C(7); } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } break; case 105: -/*[INSPECT*/ -{int inspect_tmp_2=((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(2)]; -switch(inspect_tmp_2){ +tmp4/*inspectExpression*/=r7item(((T7*)_option),INT8_C(3)); +/*[inspect*/ +switch(tmp4/*inspectExpression*/){ case 100: -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(3)])==(((T3)'e'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(4)])==(((T3)'n'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(5)])==(((T3)'t'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(6)])==(((T3)'i'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(7)])==(((T3)'f'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(8)])==(((T3)'i'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(9)])==(((T3)'e'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(10)])==(((T3)'r'))){ -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(11))){ -_1=INT8_C(8); +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'e'))){ +if((r7item(((T7*)_option),INT8_C(5)))==(((T3)'n'))){ +if((r7item(((T7*)_option),INT8_C(6)))==(((T3)'t'))){ +if((r7item(((T7*)_option),INT8_C(7)))==(((T3)'i'))){ +if((r7item(((T7*)_option),INT8_C(8)))==(((T3)'f'))){ +if((r7item(((T7*)_option),INT8_C(9)))==(((T3)'i'))){ +if((r7item(((T7*)_option),INT8_C(10)))==(((T3)'e'))){ +if((r7item(((T7*)_option),INT8_C(11)))==(((T3)'r'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(11))){ +tmp2/*state*/=INT8_C(8); } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } break; case 103: -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(3)])==(((T3)'n'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(4)])==(((T3)'o'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(5)])==(((T3)'r'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(6)])==(((T3)'e'))){ -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(7))){ -_1=INT8_C(12); +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'n'))){ +if((r7item(((T7*)_option),INT8_C(5)))==(((T3)'o'))){ +if((r7item(((T7*)_option),INT8_C(6)))==(((T3)'r'))){ +if((r7item(((T7*)_option),INT8_C(7)))==(((T3)'e'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(7))){ +tmp2/*state*/=INT8_C(12); } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } break; default:; -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } -}/*INSPECT]*/ +/*inspect]*/ break; case 120: -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(2)])==(((T3)'\137'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(3)])==(((T3)'o'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(4)])==(((T3)'f'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(5)])==(((T3)'f'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(6)])==(((T3)'s'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(7)])==(((T3)'e'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(8)])==(((T3)'t'))){ -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(9))){ -_1=INT8_C(9); +if((r7item(((T7*)_option),INT8_C(3)))==(((T3)'\137'))){ +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'o'))){ +if((r7item(((T7*)_option),INT8_C(5)))==(((T3)'f'))){ +if((r7item(((T7*)_option),INT8_C(6)))==(((T3)'f'))){ +if((r7item(((T7*)_option),INT8_C(7)))==(((T3)'s'))){ +if((r7item(((T7*)_option),INT8_C(8)))==(((T3)'e'))){ +if((r7item(((T7*)_option),INT8_C(9)))==(((T3)'t'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(9))){ +tmp2/*state*/=INT8_C(9); } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } break; case 121: -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(2)])==(((T3)'\137'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(3)])==(((T3)'o'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(4)])==(((T3)'f'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(5)])==(((T3)'f'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(6)])==(((T3)'s'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(7)])==(((T3)'e'))){ -if((((/*RF2*/(((T7*)_0))->_storage/*3p*/))[INT32_C(8)])==(((T3)'t'))){ -if(((/*RF2*/(((T7*)_0))->_count/*3p*/))==(INT8_C(9))){ -_1=INT8_C(10); +if((r7item(((T7*)_option),INT8_C(3)))==(((T3)'\137'))){ +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'o'))){ +if((r7item(((T7*)_option),INT8_C(5)))==(((T3)'f'))){ +if((r7item(((T7*)_option),INT8_C(6)))==(((T3)'f'))){ +if((r7item(((T7*)_option),INT8_C(7)))==(((T3)'s'))){ +if((r7item(((T7*)_option),INT8_C(8)))==(((T3)'e'))){ +if((r7item(((T7*)_option),INT8_C(9)))==(((T3)'t'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(9))){ +tmp2/*state*/=INT8_C(10); +} +else{ +tmp2/*state*/=INT8_C(0); +} +} +else{ +tmp2/*state*/=INT8_C(0); +} +} +else{ +tmp2/*state*/=INT8_C(0); +} +} +else{ +tmp2/*state*/=INT8_C(0); +} } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } +break; +case 99: +if((r7item(((T7*)_option),INT8_C(3)))==(((T3)'r'))){ +if((r7item(((T7*)_option),INT8_C(4)))==(((T3)'o'))){ +if((r7item(((T7*)_option),INT8_C(5)))==(((T3)'p'))){ +if(((/*RF2*/(((T7*)_option))->_count/*3p*/))==(INT8_C(5))){ +tmp2/*state*/=INT8_C(13); } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } break; default:; -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } -}/*INSPECT]*/ +/*inspect]*/ } else{ -_1=INT8_C(0); +tmp2/*state*/=INT8_C(0); } -/*l64c5/xinput_ivy.e*/ -/*[INSPECT*/ -{int inspect_tmp_1=_1; -switch(inspect_tmp_1){ +/*[inspect*/ +switch(tmp2/*state*/){ case 1: r25print_help(); break; @@ -10933,13 +10540,9 @@ if(r25init_pad(C,_value)){ R=((T6)(1)); } else{ -/*l73c7/xinput_ivy.e*/ _error=((T6)(1)); -/*l37c4/std_error.e*/ io_putc(((T3)'\042'),(stderr)); -/*l75c17/xinput_ivy.e*/ r43put_string(_value); -/*l76c17/xinput_ivy.e*/ r43put_string(se_ms(27,s25_69208946)); } break; @@ -10948,13 +10551,9 @@ if(r25init_wacom_pointer(C,_tmp_pointer,_value)){ R=((T6)(1)); } else{ -/*l82c7/xinput_ivy.e*/ _error=((T6)(1)); -/*l37c4/std_error.e*/ io_putc(((T3)'\042'),(stderr)); -/*l84c17/xinput_ivy.e*/ r43put_string(_value); -/*l85c17/xinput_ivy.e*/ r43put_string(se_ms(31,s25_447643634)); } break; @@ -10963,15 +10562,11 @@ r7copy((T7*)((/*RF2*/(C)->_ivy_bus/*8p*/)),_value); break; case 6: if(((int32_t)(_i))<(r25argument_count())){ -/*l91c7/xinput_ivy.e*/ _i=((int32_t)(_i))+(INT32_C(1)); -/*l92c15/xinput_ivy.e*/ -r7copy((T7*)((/*RF2*/(C)->_ivy_bus/*8p*/)),((/*RF2*/((T204*)(r25command_arguments()))->_storage/*3p*/))[_i]); +r7copy((T7*)((/*RF2*/(C)->_ivy_bus/*8p*/)),((/*RF2*/((T247*)(r25command_arguments()))->_storage/*3p*/))[_i]); } else{ -/*l94c7/xinput_ivy.e*/ _error=((T6)(1)); -/*l95c17/xinput_ivy.e*/ r43put_string(se_ms(40,s25_1554692325)); } break; @@ -10983,85 +10578,75 @@ r7copy((T7*)((/*RF2*/(C)->_device_id/*8p*/)),_value); break; case 9: if(r7is_integer(((T7*)_value))){ -(/*RF2*/(((T69*)_tmp_pointer))->_x_offset/*25p*/)=r7to_integer(((T7*)_value)); +(/*RF2*/(((T70*)_tmp_pointer))->_x_offset/*32p*/)=r7to_integer(((T7*)_value)); } else{ -/*l106c7/xinput_ivy.e*/ _error=((T6)(1)); -/*l37c4/std_error.e*/ io_putc(((T3)'\042'),(stderr)); -/*l108c17/xinput_ivy.e*/ r43put_string(_value); -/*l109c17/xinput_ivy.e*/ r43put_string(se_ms(50,s25_1491411490)); } break; case 10: if(r7is_integer(((T7*)_value))){ -(/*RF2*/(((T69*)_tmp_pointer))->_y_offset/*25p*/)=r7to_integer(((T7*)_value)); +(/*RF2*/(((T70*)_tmp_pointer))->_y_offset/*32p*/)=r7to_integer(((T7*)_value)); } else{ -/*l115c7/xinput_ivy.e*/ _error=((T6)(1)); -/*l37c4/std_error.e*/ io_putc(((T3)'\042'),(stderr)); -/*l117c17/xinput_ivy.e*/ r43put_string(_value); -/*l118c17/xinput_ivy.e*/ r43put_string(se_ms(50,s25_751291742)); } break; case 11: if(r7is_real(((T7*)_value))){ -(/*RF2*/(((T69*)_tmp_pointer))->_prediction_time/*25p*/)=r7to_real(((T7*)_value)); +(/*RF2*/(((T70*)_tmp_pointer))->_prediction_time/*32p*/)=r7to_real(((T7*)_value)); } else{ -/*l124c7/xinput_ivy.e*/ _error=((T6)(1)); -/*l37c4/std_error.e*/ io_putc(((T3)'\042'),(stderr)); -/*l126c17/xinput_ivy.e*/ r43put_string(_value); -/*l127c17/xinput_ivy.e*/ r43put_string(se_ms(49,s25_357338863)); } break; case 12: if(r7is_integer(((T7*)_value))){ -(/*RF2*/(((T69*)_tmp_pointer))->_ignore_rate/*25p*/)=r7to_integer(((T7*)_value)); +(/*RF2*/(((T70*)_tmp_pointer))->_ignore_rate/*32p*/)=r7to_integer(((T7*)_value)); } else{ -/*l133c7/xinput_ivy.e*/ _error=((T6)(1)); -/*l37c4/std_error.e*/ io_putc(((T3)'\042'),(stderr)); -/*l135c17/xinput_ivy.e*/ r43put_string(_value); -/*l136c17/xinput_ivy.e*/ r43put_string(se_ms(53,s25_382517595)); } break; +case 13: +r43put_string(se_ms(29,s25_1370426634)); +r43put_string(_value); +io_putc(((T3)'\n'),(stderr)); +if(r70is_valid_crop(_value)){ +r70set_crop(((T70*)_tmp_pointer),_value); +} +else{ +_error=((T6)(1)); +io_putc(((T3)'\042'),(stderr)); +r43put_string(_value); +r43put_string(se_ms(74,s25_1387538644)); +} +break; default:; -/*l139c6/xinput_ivy.e*/ _error=((T6)(1)); -/*l140c16/xinput_ivy.e*/ r43put_string(se_ms(15,s25_1260406502)); -/*l141c16/xinput_ivy.e*/ -r43put_string(((/*RF2*/((T204*)(r25command_arguments()))->_storage/*3p*/))[_i]); -/*l37c4/std_error.e*/ +r43put_string(((/*RF2*/((T247*)(r25command_arguments()))->_storage/*3p*/))[_i]); io_putc(((T3)'\n'),(stderr)); -/*l143c6/xinput_ivy.e*/ r25print_help(); } -}/*INSPECT]*/ -/*l145c5/xinput_ivy.e*/ +/*inspect]*/ _i=((int32_t)(_i))+(INT32_C(1)); } -/*l147c4/xinput_ivy.e*/ if(_error){ R=((T6)(0)); } -/*l150c4/xinput_ivy.e*/ if((r25argument_count())==(INT8_C(0))){ r25print_help(); } @@ -11072,135 +10657,94 @@ return R; T2 _i=0; T0* _devices=(void*)0; T0* _device=(void*)0; -if((r143has_x_input_extension())==(0)){ +if((r150has_x_input_extension())==(0)){ r43put_line(se_ms(33,s25_1213754110)); } else{ -/*l403c6/xinput_ivy.e*/ -_devices=(/*RF2*/((T175*)(r143x_input_extension()))->_devices/*p*/); -/*l404c6/xinput_ivy.e*/ +_devices=(/*RF2*/((T191*)(r150x_input_extension()))->_devices/*p*/); _i=INT32_C(0); -while (!(((int32_t)(_i))>((/*RF2*/(((T205*)_devices))->_upper/*3p*/)))) +while(!(((int32_t)(_i))>((/*RF2*/(((T246*)_devices))->_upper/*3p*/)))) { -/*l408c6/xinput_ivy.e*/ -_device=((/*RF2*/(((T205*)_devices))->_storage/*3p*/))[_i]; -/*l409c17/xinput_ivy.e*/ -r53put_string((T53*)(r25std_output()),(/*RF2*/(((T67*)_device))->_name/*14p*/)); -/*l410c17/xinput_ivy.e*/ +_device=((/*RF2*/(((T246*)_devices))->_storage/*3p*/))[_i]; +r53put_string((T53*)(r25std_output()),(/*RF2*/(((T68*)_device))->_name/*14p*/)); r53put_string((T53*)(r25std_output()),ms25_3479972); -/*l411c6/xinput_ivy.e*/ -if(((/*RF2*/(((T67*)_device))->_type/*14p*/))==((void*)((void*)0))){ +if(((/*RF2*/(((T68*)_device))->_type/*14p*/))==((void*)((void*)0))){ r53filtered_put_character((T53*)(r25std_output()),((T3)'\077')); } else{ -r53put_string((T53*)(r25std_output()),(/*RF2*/(((T67*)_device))->_type/*14p*/)); +r53put_string((T53*)(r25std_output()),(/*RF2*/(((T68*)_device))->_type/*14p*/)); } -/*l416c17/xinput_ivy.e*/ r53put_string((T53*)(r25std_output()),ms25_21190322); -/*l417c6/xinput_ivy.e*/ -if((/*RF2*/(((T67*)_device))->_is_available_extension/*14p*/)){ +if((/*RF2*/(((T68*)_device))->_is_available_extension/*14p*/)){ r53put_line((T53*)(r25std_output()),ms25_557679246); } else{ r53put_line((T53*)(r25std_output()),ms25_1959886733); } -/*l422c6/xinput_ivy.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } } }/*--*/ /*XINPUT_IVY*/void r25print_help(void){ -r46put_string(se_ms(4135,s25_703548632)); +r46put_string(se_ms(4362,s25_674125196)); }/*--*/ /*XINPUT_IVY*/T6 r25init_pad(T25* C,T0* a1){ T6 R=0; T0* _pad=(void*)0; T0* _message_header=(void*)0; -/*l160c4/xinput_ivy.e*/ _pad=r25subscribe_input(C,a1); -/*l161c4/xinput_ivy.e*/ if((_pad)!=((void*)((void*)0))){ -/*l162c5/xinput_ivy.e*/ R=((T6)(1)); -/*l163c5/xinput_ivy.e*/ _message_header=se_ms(23,s25_1948078333); -/*l164c20/xinput_ivy.e*/ r7append(((T7*)_message_header),(/*RF2*/(C)->_device_id/*8p*/)); -/*l165c20/xinput_ivy.e*/ r7append(((T7*)_message_header),ms25_946366); -/*l166c9/xinput_ivy.e*/ -r67when_moved(((T67*)_pad),(/*RF2*/(C)->_screen/*8p*/),agenT25C25l166c28((T0*)C,_message_header)); -/*l167c9/xinput_ivy.e*/ -r67when_proximity_out(((T67*)_pad),(/*RF2*/(C)->_screen/*8p*/),agenT25C25l167c36((T0*)C,_message_header)); -/*l169c5/xinput_ivy.e*/ +r68when_moved(((T68*)_pad),(/*RF2*/(C)->_screen/*8p*/),agenT25f25l178c28((T0*)C,_message_header)); +r68when_proximity_out(((T68*)_pad),(/*RF2*/(C)->_screen/*8p*/),agenT25f25l179c36((T0*)C,_message_header)); _message_header=se_ms(20,s25_1666922512); -/*l170c20/xinput_ivy.e*/ r7append(((T7*)_message_header),(/*RF2*/(C)->_device_id/*8p*/)); -/*l171c20/xinput_ivy.e*/ r7append(((T7*)_message_header),ms25_4487261); -/*l172c9/xinput_ivy.e*/ -r67when_button_pressed(((T67*)_pad),(/*RF2*/(C)->_screen/*8p*/),agenT25C25l172c37((T0*)C,_message_header)); -/*l173c9/xinput_ivy.e*/ -r67when_button_released(((T67*)_pad),(/*RF2*/(C)->_screen/*8p*/),agenT25C25l173c38((T0*)C,_message_header)); +r68when_button_pressed(((T68*)_pad),(/*RF2*/(C)->_screen/*8p*/),agenT25f25l184c37((T0*)C,_message_header)); +r68when_button_released(((T68*)_pad),(/*RF2*/(C)->_screen/*8p*/),agenT25f25l185c38((T0*)C,_message_header)); } return R; }/*--*/ /*XINPUT_IVY*/void r25left_slider_out(T25* C,T0* a1,T0* a2){ T0* _message=(void*)0; -/*l360c4/xinput_ivy.e*/ -_message=ms25_0bc25c15l360; -/*l361c12/xinput_ivy.e*/ +_message=ms25_0bc25c15l376; r7copy(((T7*)_message),a1); -/*l362c12/xinput_ivy.e*/ r7extend(((T7*)_message),((T3)'0')); -/*l363c12/xinput_ivy.e*/ r7append(((T7*)_message),ms25_1403610646bc25); -/*l364c19/xinput_ivy.e*/ r2append_in(x_device_event_time,_message); -/*l365c8/xinput_ivy.e*/ -r70send_message((T70*)((/*RF2*/(C)->_ivy/*8p*/)),_message); -/*l366c4/xinput_ivy.e*/ +r71send_message((T71*)((/*RF2*/(C)->_ivy/*8p*/)),_message); /*SFN*/(C->_left_pad_position/*8p*/)=INT32_C(0); }/*--*/ /*XINPUT_IVY*/void r25pad_button_pressed(T25* C,T0* a1,T0* a2){ T0* _message=(void*)0; -/*l373c4/xinput_ivy.e*/ _message=ms25_0bc25c15; -/*l374c12/xinput_ivy.e*/ r7copy(((T7*)_message),a1); -/*l375c22/xinput_ivy.e*/ r2append_in(x_device_button_event_number,_message); -/*l376c12/xinput_ivy.e*/ r7append(((T7*)_message),ms25_694149733); -/*l377c19/xinput_ivy.e*/ r2append_in(x_device_event_time,_message); -/*l378c8/xinput_ivy.e*/ -r70send_message((T70*)((/*RF2*/(C)->_ivy/*8p*/)),_message); +r71send_message((T71*)((/*RF2*/(C)->_ivy/*8p*/)),_message); }/*--*/ /*XINPUT_IVY*/void r25pad_button_released(T25* C,T0* a1,T0* a2){ T0* _message=(void*)0; -/*l385c4/xinput_ivy.e*/ _message=ms25_0bc25; -/*l386c12/xinput_ivy.e*/ r7copy(((T7*)_message),a1); -/*l387c22/xinput_ivy.e*/ r2append_in(x_device_button_event_number,_message); -/*l388c12/xinput_ivy.e*/ r7append(((T7*)_message),ms25_314746909); -/*l389c19/xinput_ivy.e*/ r2append_in(x_device_event_time,_message); -/*l390c8/xinput_ivy.e*/ -r70send_message((T70*)((/*RF2*/(C)->_ivy/*8p*/)),_message); +r71send_message((T71*)((/*RF2*/(C)->_ivy/*8p*/)),_message); }/*--*/ /*XINPUT_IVY*/T2 r25argument_count(void){ T2 R=0; -R=(/*RF2*/((T204*)(r25command_arguments()))->_upper/*3p*/); +R=(/*RF2*/((T247*)(r25command_arguments()))->_upper/*3p*/); return R; }/*--*/ @@ -11209,58 +10753,54 @@ return R; T0* tmp0; /*INTERNAL_C_LOCAL list]*/ T6 _ready=0; -/*l24c4/xinput_ivy.e*/ /*SFN*/(C->_application_name/*8p*/)=se_ms(5,s25_89639); -/*l25c4/xinput_ivy.e*/ -/*SFN*/(C->_ivy_bus/*8p*/)=se_ms(5,s25_44143); -/*l26c4/xinput_ivy.e*/ +/*SFN*/(C->_ivy_bus/*8p*/)=se_ms(0,s25_0); /*SFN*/(C->_device_id/*8p*/)=se_ms(7,s25_1957581); -/*l27c4/xinput_ivy.e*/ -/*SFN*/(C->_screen/*8p*/)=((/*UT*/(void)((T64*)(r25vision()))),r64root_window()); -/*l28c4/xinput_ivy.e*/ +/*SFN*/(C->_screen/*8p*/)=((/*UT*/(void)((T65*)(r25vision()))),r65root_window()); _ready=((T6)(r25decode_options(C))); -/*l29c4/xinput_ivy.e*/ if(_ready){ -/*l30c5/xinput_ivy.e*/ -tmp0=((T0*)(new70())); -r70make(((T70*)tmp0),(/*RF2*/(C)->_application_name/*8p*/)); -/*SFN*/(C->_ivy/*8p*/)=tmp0; -/*l31c9/xinput_ivy.e*/ -r70start((T70*)((/*RF2*/(C)->_ivy/*8p*/)),(/*RF2*/(C)->_ivy_bus/*8p*/)); -/*l32c23/xinput_ivy.e*/ -r130add_job((T130*)((/*RF2*/((T64*)(r25vision()))->_loop_stack/*6p*/)),(/*RF2*/(C)->_ivy/*8p*/)); -/*l33c12/xinput_ivy.e*/ -r64start((T64*)(r25vision())); +tmp0/*new*/=((T0*)(new71())); +r71make(((T71*)tmp0/*new*/),(/*RF2*/(C)->_application_name/*8p*/)); +/*SFN*/(C->_ivy/*8p*/)=tmp0/*new*/; +/*tmp0.unlock*/ +r71start((T71*)((/*RF2*/(C)->_ivy/*8p*/)),(/*RF2*/(C)->_ivy_bus/*8p*/)); +r155add_job((T155*)(r133current_loop(((T133*)/*no_dispatch.e*/(/*RF2*/((T65*)(r25vision()))->_loop_stack/*6p*/)))),(/*RF2*/(C)->_ivy/*8p*/)); +r65start((T65*)(r25vision())); } }/*--*/ /*XINPUT_IVY*/T0* r25subscribe_input(T25* C,T0* a1){ +/*[INTERNAL_C_LOCAL list*/ +T6 tmp0; +/*INTERNAL_C_LOCAL list]*/ T0* R=(void*)0; T2 _i=0; T0* _devices=(void*)0; -if((r143has_x_input_extension())==(0)){ +if((r150has_x_input_extension())==(0)){ r43put_line(se_ms(33,s25_1213754110)); } else{ -/*l308c6/xinput_ivy.e*/ -_devices=(/*RF2*/((T175*)(r143x_input_extension()))->_devices/*p*/); -/*l309c6/xinput_ivy.e*/ +_devices=(/*RF2*/((T191*)(r150x_input_extension()))->_devices/*p*/); _i=INT32_C(0); -while (!((T6)((((int32_t)(_i))>((/*RF2*/(((T205*)_devices))->_upper/*3p*/)))||((T6)((R)!=((void*)((void*)0))))))) -{ -/*l313c6/xinput_ivy.e*/ -if(r7is_equal((T7*)((/*RF2*/((T67*)(((/*RF2*/(((T205*)_devices))->_storage/*3p*/))[_i]))->_name/*14p*/)),a1)){ -/*l314c7/xinput_ivy.e*/ -R=((/*RF2*/(((T205*)_devices))->_storage/*3p*/))[_i]; -/*l315c7/xinput_ivy.e*/ -if((/*RF2*/(((T67*)R))->_is_available_extension/*14p*/)){ -r67connect(((T67*)R)); +while(1){ +tmp0/*or else*/=((T6)(((int32_t)(_i))>((/*RF2*/(((T246*)_devices))->_upper/*3p*/)))); +if(tmp0/*or else*/){ +} +else{ +tmp0/*or else*/=((T6)((R)!=((void*)((void*)0)))); +} +if(tmp0/*or else*/){ +break; +} +if(r7is_equal((T7*)((/*RF2*/((T68*)(((/*RF2*/(((T246*)_devices))->_storage/*3p*/))[_i]))->_name/*14p*/)),a1)){ +R=((/*RF2*/(((T246*)_devices))->_storage/*3p*/))[_i]; +if((/*RF2*/(((T68*)R))->_is_available_extension/*14p*/)){ +r68connect(((T68*)R)); } else{ R=(void*)0; } } -/*l321c6/xinput_ivy.e*/ _i=((int32_t)(_i))+(INT32_C(1)); } } @@ -11272,74 +10812,21 @@ T6 R=0; T0* _pointer=(void*)0; T0* _message_header=(void*)0; T0* _wacom_pointer=(void*)0; -/*l183c4/xinput_ivy.e*/ _pointer=r25subscribe_input(C,a2); -/*l184c4/xinput_ivy.e*/ if((_pointer)!=((void*)((void*)0))){ -/*l185c5/xinput_ivy.e*/ R=((T6)(1)); -/*l186c5/xinput_ivy.e*/ -_wacom_pointer=r69twin(((T69*)a1)); -/*l187c5/xinput_ivy.e*/ +_wacom_pointer=r70twin(((T70*)a1)); _message_header=se_ms(17,s25_765567725); -/*l188c20/xinput_ivy.e*/ r7append(((T7*)_message_header),(/*RF2*/(C)->_device_id/*8p*/)); -/*l189c19/xinput_ivy.e*/ -r69set_message_header(((T69*)_wacom_pointer),_message_header); -/*l190c13/xinput_ivy.e*/ -r67when_moved(((T67*)_pointer),(/*RF2*/(C)->_screen/*8p*/),agenT25C25l190c32(_wacom_pointer)); -/*l191c13/xinput_ivy.e*/ -r67when_button_pressed(((T67*)_pointer),(/*RF2*/(C)->_screen/*8p*/),agenT25C25l191c41(_wacom_pointer,1)); -/*l192c13/xinput_ivy.e*/ -r67when_button_released(((T67*)_pointer),(/*RF2*/(C)->_screen/*8p*/),agenT25C25l192c42(_wacom_pointer,0)); -/*l193c13/xinput_ivy.e*/ -r67when_proximity_in(((T67*)_pointer),(/*RF2*/(C)->_screen/*8p*/),agenT25C25l193c39(_wacom_pointer,1)); -/*l194c13/xinput_ivy.e*/ -r67when_proximity_out(((T67*)_pointer),(/*RF2*/(C)->_screen/*8p*/),agenT25C25l194c40(_wacom_pointer,0)); +r70set_message_header(((T70*)_wacom_pointer),_message_header); +r68when_moved(((T68*)_pointer),(/*RF2*/(C)->_screen/*8p*/),agenT25f25l202c32(_wacom_pointer)); +r68when_button_pressed(((T68*)_pointer),(/*RF2*/(C)->_screen/*8p*/),agenT25f25l203c41(_wacom_pointer)); +r68when_button_released(((T68*)_pointer),(/*RF2*/(C)->_screen/*8p*/),agenT25f25l204c42(_wacom_pointer)); +r68when_proximity_in(((T68*)_pointer),(/*RF2*/(C)->_screen/*8p*/),agenT25f25l205c39(_wacom_pointer)); +r68when_proximity_out(((T68*)_pointer),(/*RF2*/(C)->_screen/*8p*/),agenT25f25l206c40(_wacom_pointer)); } return R; }/*--*/ - -/*XINPUT_IVY*/void r25slider_event(T25* C,T0* a1,T0* a2){ -T2 _new_pad_position=0; -T0* _message=(void*)0; -/*l334c4/xinput_ivy.e*/ -_message=ms25_0; -/*l335c4/xinput_ivy.e*/ -_new_pad_position=r67motion_axis_data(INT32_C(4)); -/*l336c4/xinput_ivy.e*/ -if((_new_pad_position)!=((/*RF2*/(C)->_left_pad_position/*8p*/))){ -/*l337c13/xinput_ivy.e*/ -r7copy(((T7*)_message),a1); -/*l338c22/xinput_ivy.e*/ -r2append_in(_new_pad_position,_message); -/*l339c13/xinput_ivy.e*/ -r7append(((T7*)_message),ms25_1403610646); -/*l340c20/xinput_ivy.e*/ -r2append_in(x_device_event_time,_message); -/*l341c9/xinput_ivy.e*/ -r70send_message((T70*)((/*RF2*/(C)->_ivy/*8p*/)),_message); -/*l342c5/xinput_ivy.e*/ -/*SFN*/(C->_left_pad_position/*8p*/)=_new_pad_position; -} -/*l345c4/xinput_ivy.e*/ -_new_pad_position=r67motion_axis_data(INT32_C(5)); -/*l346c4/xinput_ivy.e*/ -if((_new_pad_position)!=((/*RF2*/(C)->_right_pad_position/*8p*/))){ -/*l347c13/xinput_ivy.e*/ -r7copy(((T7*)_message),a1); -/*l348c22/xinput_ivy.e*/ -r2append_in(_new_pad_position,_message); -/*l349c13/xinput_ivy.e*/ -r7append(((T7*)_message),ms25_1638797568); -/*l350c20/xinput_ivy.e*/ -r2append_in(x_device_event_time,_message); -/*l351c9/xinput_ivy.e*/ -r70send_message((T70*)((/*RF2*/(C)->_ivy/*8p*/)),_message); -/*l352c5/xinput_ivy.e*/ -/*SFN*/(C->_right_pad_position/*8p*/)=_new_pad_position; -} -}/*--*/ T0*oBC30command_arguments=(void*)0; int fBC30command_arguments=0; @@ -11350,27 +10837,42 @@ T0* tmp0; T2 _i=0; T0* _arg=(void*)0; if(fBC30command_arguments==0){fBC30command_arguments=1;{ -/*l44c5/arguments.e*/ _i=se_argc; -/*l45c5/arguments.e*/ -tmp0=((T0*)(new204())); -r204make(((T204*)tmp0),_i); -oBC30command_arguments=tmp0; -while (!((_i)==(INT8_C(0)))) +tmp0/*new*/=((T0*)(new247())); +r247make(((T247*)tmp0/*new*/),_i); +oBC30command_arguments=tmp0/*new*/; +/*tmp0.unlock*/ +while(!((_i)==(INT8_C(0)))) { -/*l49c5/arguments.e*/ _i=((int32_t)(_i))-(INT32_C(1)); -/*l50c5/arguments.e*/ _arg=((T0*)se_string(se_argv[_i])); -/*l122c12/fast_array.e*/ -((/*RF2*/(((T204*)oBC30command_arguments))->_storage/*3p*/))[_i]=(_arg); +((/*RF2*/(((T247*)oBC30command_arguments))->_storage/*3p*/))[_i]=(_arg); } }} return oBC30command_arguments; }/*--*/ -void agent_launcher(/*agent*/T0*a){ -/*PROCEDURE[TUPLE]*/switch(((se_agent0*)a)->creation_mold_id){ +/*XINPUT_IVY*/void r25slider_event(T25* C,T0* a1,T0* a2){ +T2 _new_pad_position=0; +T0* _message=(void*)0; +_message=ms25_0; +_new_pad_position=r68motion_axis_data(INT32_C(4)); +if((_new_pad_position)!=((/*RF2*/(C)->_left_pad_position/*8p*/))){ +r7copy(((T7*)_message),a1); +r2append_in(_new_pad_position,_message); +r7append(((T7*)_message),ms25_1403610646); +r2append_in(x_device_event_time,_message); +r71send_message((T71*)((/*RF2*/(C)->_ivy/*8p*/)),_message); +/*SFN*/(C->_left_pad_position/*8p*/)=_new_pad_position; +} +_new_pad_position=r68motion_axis_data(INT32_C(5)); +if((_new_pad_position)!=((/*RF2*/(C)->_right_pad_position/*8p*/))){ +r7copy(((T7*)_message),a1); +r2append_in(_new_pad_position,_message); +r7append(((T7*)_message),ms25_1638797568); +r2append_in(x_device_event_time,_message); +r71send_message((T71*)((/*RF2*/(C)->_ivy/*8p*/)),_message); +/*SFN*/(C->_right_pad_position/*8p*/)=_new_pad_position; } }/*--*/ @@ -11379,52 +10881,42 @@ void agent_launcher_FAST_ARRAY__STRING__(/*agent*/T0*a,T0* a1){ } }/*--*/ -void agent_launcher_INTEGER_32_INTEGER_32(/*agent*/T0*a,T2 a1,T2 a2){ -/*PROCEDURE[TUPLE[INTEGER_32,INTEGER_32]]*/switch(((se_agent0*)a)->creation_mold_id){ -} -}/*--*/ - -void agent_launcher_INTEGER_32_INTEGER_32_INTEGER_32_INTEGER_32(/*agent*/T0*a,T2 a1,T2 a2,T2 a3,T2 a4){ -/*PROCEDURE[TUPLE[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32]]*/switch(((se_agent0*)a)->creation_mold_id){ -} -}/*--*/ - void agent_launcher_X_INPUT_DEVICE(/*agent*/T0*a,T0* a1){ /*PROCEDURE[TUPLE[X_INPUT_DEVICE]]*/switch(((se_agent0*)a)->creation_mold_id){ case 0:{ -((se_agenT25C25l194c40*)a)->afp(((/*agent*/void*)a),a1); +((se_agenT25f25l206c40*)a)->afp(((/*agent*/void*)a),a1); break; } case 1:{ -((se_agenT25C25l193c39*)a)->afp(((/*agent*/void*)a),a1); +((se_agenT25f25l205c39*)a)->afp(((/*agent*/void*)a),a1); break; } case 2:{ -((se_agenT25C25l192c42*)a)->afp(((/*agent*/void*)a),a1); +((se_agenT25f25l204c42*)a)->afp(((/*agent*/void*)a),a1); break; } case 3:{ -((se_agenT25C25l191c41*)a)->afp(((/*agent*/void*)a),a1); +((se_agenT25f25l203c41*)a)->afp(((/*agent*/void*)a),a1); break; } case 4:{ -((se_agenT25C25l190c32*)a)->afp(((/*agent*/void*)a),a1); +((se_agenT25f25l202c32*)a)->afp(((/*agent*/void*)a),a1); break; } case 5:{ -((se_agenT25C25l173c38*)a)->afp(((/*agent*/void*)a),a1); +((se_agenT25f25l185c38*)a)->afp(((/*agent*/void*)a),a1); break; } case 6:{ -((se_agenT25C25l172c37*)a)->afp(((/*agent*/void*)a),a1); +((se_agenT25f25l184c37*)a)->afp(((/*agent*/void*)a),a1); break; } case 7:{ -((se_agenT25C25l167c36*)a)->afp(((/*agent*/void*)a),a1); +((se_agenT25f25l179c36*)a)->afp(((/*agent*/void*)a),a1); break; } case 8:{ -((se_agenT25C25l166c28*)a)->afp(((/*agent*/void*)a),a1); +((se_agenT25f25l178c28*)a)->afp(((/*agent*/void*)a),a1); break; } } @@ -11598,61 +11090,61 @@ void gc_align_mark_agent (fsoc * c, gc_agent * p) { } #endif /* SE_GC_LIB */ -T0*ms69_1874520032; -T0*ms25_0bc25c15l360; -T0*ms69_22702416; -T0*ms69_22702411; -T0*ms69_190991; -T0*ms143_1472358418; -T0*ms69_15980; +T0*ms25_0bc70c16; +T0*ms25_0bc70c15; +T0*ms70_952626; +T0*ms70_15980; +T0*ms25_0bc25c15l376; +T0*ms25_0bc70c15l97; +T0*ms70_1874520032; +T0*ms70_22702416; +T0*ms70_22702411; T0*ms25_0bc25; -T0*ms69_188916; -T0*ms25_0bc69; -T0*ms25_0bc69c15l93; -T0*ms69_1501987274; +T0*ms25_0bc70; +T0*ms70_2057747851; T0*ms25_1403610646; +T0*ms70_1257860908; +T0*ms70_190991; +T0*ms70_586741066; T0*ms25_0; -T0*ms69_10739030; -T0*ms69_10739024; -T0*ms69_10739017; +T0*ms70_188916; T0*ms25_1959886733; T0*ms25_0bc25c15; T0*ms25_3479972; +T0*ms70_2112369621; T0*ms25_21190322; -T0*ms69_1756148648; -T0*ms69_1756148653; -T0*ms69_1619665677; -T0*ms69_104371129; -T0*ms69_104371267; +T0*ms70_10739030; +T0*ms70_10739024; +T0*ms70_10739017; T0*ms25_314746909; +T0*ms70_1961093439; T0*ms25_1638797568; -T0*ms69_1961093439; -T0*ms69_1699147265; -T0*ms69_23436791; -T0*ms25_4487261bc69; +T0*ms70_1699147265; +T0*ms70_475; +T0*ms70_697; +T0*ms25_4487261bc70; T0*ms25_694149733; -T0*ms69_4738061; -T0*ms69_2112369621; +T0*ms70_1619665677; +T0*ms70_1756148648; +T0*ms70_1756148653; +T0*ms150_1472358418; +T0*ms70_4738061; +T0*ms70_23436791; T0*ms25_557679246; -T0*ms69_1940108584; -T0*ms69_952626; -T0*ms69_1461; -T0*ms69_1466; -T0*ms69_4725666; -T0*ms69_4725661; -T0*ms69_56246305; -T0*ms69_2676; +T0*ms70_1940108584; +T0*ms70_1461; +T0*ms70_1466; +T0*ms70_2676; +T0*ms70_4725666; +T0*ms70_4725661; T0*ms25_4487261; -T0*ms69_1257860908; -T0*ms69_56246305bc69; +T0*ms70_1501987274; +T0*ms70_104371129; T0*ms25_1403610646bc25; -T0*ms69_2057747851; -T0*ms25_0bc69c16; -T0*ms25_0bc69c15; -T0*ms69_586741066; +T0*ms70_104371267; +T0*ms70_56246305bc70; +T0*ms70_56246305; T0*ms25_946366; -T0*ms69_475; -T0*ms69_697; T0*se_ms(int c,char*e){ /* Allocate a Manifest STRING.*/ @@ -11674,150 +11166,138 @@ memcpy(s->_storage,e,c+1); return((T0*)s);}/*--*/ void se_msi1(void){ -ms69_1874520032=se_ms(15,s69_1874520032); -ms25_0bc25c15l360=se_ms(0,s25_0); -ms69_22702416=se_ms(9,s69_22702416); -ms69_22702411=se_ms(9,s69_22702411); -ms69_190991=se_ms(6,s69_190991); -ms143_1472358418=se_ms(15,s143_1472358418); -ms69_15980=se_ms(4,s69_15980); +ms25_0bc70c16=se_ms(0,s25_0); +ms25_0bc70c15=se_ms(0,s25_0); +ms70_952626=se_ms(7,s70_952626); +ms70_15980=se_ms(4,s70_15980); +ms25_0bc25c15l376=se_ms(0,s25_0); +ms25_0bc70c15l97=se_ms(0,s25_0); +ms70_1874520032=se_ms(15,s70_1874520032); +ms70_22702416=se_ms(9,s70_22702416); +ms70_22702411=se_ms(9,s70_22702411); ms25_0bc25=se_ms(0,s25_0); -ms69_188916=se_ms(6,s69_188916); -ms25_0bc69=se_ms(0,s25_0); -ms25_0bc69c15l93=se_ms(0,s25_0); -ms69_1501987274=se_ms(20,s69_1501987274); +ms25_0bc70=se_ms(0,s25_0); +ms70_2057747851=se_ms(20,s70_2057747851); ms25_1403610646=se_ms(16,s25_1403610646); +ms70_1257860908=se_ms(11,s70_1257860908); +ms70_190991=se_ms(6,s70_190991); +ms70_586741066=se_ms(11,s70_586741066); ms25_0=se_ms(0,s25_0); -ms69_10739030=se_ms(8,s69_10739030); -ms69_10739024=se_ms(8,s69_10739024); -ms69_10739017=se_ms(8,s69_10739017); +ms70_188916=se_ms(6,s70_188916); ms25_1959886733=se_ms(13,s25_1959886733); ms25_0bc25c15=se_ms(0,s25_0); ms25_3479972=se_ms(8,s25_3479972); +ms70_2112369621=se_ms(15,s70_2112369621); ms25_21190322=se_ms(9,s25_21190322); -ms69_1756148648=se_ms(13,s69_1756148648); -ms69_1756148653=se_ms(13,s69_1756148653); -ms69_1619665677=se_ms(16,s69_1619665677); -ms69_104371129=se_ms(13,s69_104371129); -ms69_104371267=se_ms(13,s69_104371267); +ms70_10739030=se_ms(8,s70_10739030); +ms70_10739024=se_ms(8,s70_10739024); +ms70_10739017=se_ms(8,s70_10739017); ms25_314746909=se_ms(16,s25_314746909); +ms70_1961093439=se_ms(15,s70_1961093439); ms25_1638797568=se_ms(17,s25_1638797568); -ms69_1961093439=se_ms(15,s69_1961093439); -ms69_1699147265=se_ms(23,s69_1699147265); -ms69_23436791=se_ms(9,s69_23436791); -ms25_4487261bc69=se_ms(8,s25_4487261); +ms70_1699147265=se_ms(23,s70_1699147265); +ms70_475=se_ms(2,s70_475); +ms70_697=se_ms(2,s70_697); +ms25_4487261bc70=se_ms(8,s25_4487261); ms25_694149733=se_ms(18,s25_694149733); -ms69_4738061=se_ms(8,s69_4738061); -ms69_2112369621=se_ms(15,s69_2112369621); +ms70_1619665677=se_ms(16,s70_1619665677); +ms70_1756148648=se_ms(13,s70_1756148648); +ms70_1756148653=se_ms(13,s70_1756148653); +ms150_1472358418=se_ms(15,s150_1472358418); +ms70_4738061=se_ms(8,s70_4738061); +ms70_23436791=se_ms(9,s70_23436791); ms25_557679246=se_ms(11,s25_557679246); -ms69_1940108584=se_ms(13,s69_1940108584); -ms69_952626=se_ms(7,s69_952626); -ms69_1461=se_ms(3,s69_1461); -ms69_1466=se_ms(3,s69_1466); -ms69_4725666=se_ms(8,s69_4725666); -ms69_4725661=se_ms(8,s69_4725661); -ms69_56246305=se_ms(9,s69_56246305); -ms69_2676=se_ms(3,s69_2676); +ms70_1940108584=se_ms(13,s70_1940108584); +ms70_1461=se_ms(3,s70_1461); +ms70_1466=se_ms(3,s70_1466); +ms70_2676=se_ms(3,s70_2676); +ms70_4725666=se_ms(8,s70_4725666); +ms70_4725661=se_ms(8,s70_4725661); ms25_4487261=se_ms(8,s25_4487261); -ms69_1257860908=se_ms(11,s69_1257860908); -ms69_56246305bc69=se_ms(9,s69_56246305); -ms25_1403610646bc25=se_ms(16,s25_1403610646); -ms69_2057747851=se_ms(20,s69_2057747851); -ms25_0bc69c16=se_ms(0,s25_0); +ms70_1501987274=se_ms(20,s70_1501987274); +ms70_104371129=se_ms(13,s70_104371129); se_msi2();}/*--*/ void se_msi2(void){ -ms25_0bc69c15=se_ms(0,s25_0); -ms69_586741066=se_ms(11,s69_586741066); +ms25_1403610646bc25=se_ms(16,s25_1403610646); +ms70_104371267=se_ms(13,s70_104371267); +ms70_56246305bc70=se_ms(9,s70_56246305); +ms70_56246305=se_ms(9,s70_56246305); ms25_946366=se_ms(7,s25_946366); -ms69_475=se_ms(2,s69_475); -ms69_697=se_ms(2,s69_697); -}/*--*/ - -void W70callback_runner(void* C,void* a1,T2 a2,T212 a3){ -#ifndef FIXED_STACK_BOTTOM -int valid_stack_bottom = stack_bottom != NULL; -#endif -#ifndef FIXED_STACK_BOTTOM -if(!valid_stack_bottom) stack_bottom = (void**)(void*)&valid_stack_bottom; -#endif -r70callback_runner(a1,a2,a3); -#ifndef FIXED_STACK_BOTTOM -if(!valid_stack_bottom) if(!valid_stack_bottom) stack_bottom = NULL; -#endif }/*--*/ void manifest_string_mark1(void){ -gc_mark7((T7*)ms69_1874520032); -gc_mark7((T7*)ms25_0bc25c15l360); -gc_mark7((T7*)ms69_22702416); -gc_mark7((T7*)ms69_22702411); -gc_mark7((T7*)ms69_190991); -gc_mark7((T7*)ms143_1472358418); -gc_mark7((T7*)ms69_15980); +gc_mark7((T7*)ms25_0bc70c16); +gc_mark7((T7*)ms25_0bc70c15); +gc_mark7((T7*)ms70_952626); +gc_mark7((T7*)ms70_15980); +gc_mark7((T7*)ms25_0bc25c15l376); +gc_mark7((T7*)ms25_0bc70c15l97); +gc_mark7((T7*)ms70_1874520032); +gc_mark7((T7*)ms70_22702416); +gc_mark7((T7*)ms70_22702411); gc_mark7((T7*)ms25_0bc25); -gc_mark7((T7*)ms69_188916); -gc_mark7((T7*)ms25_0bc69); -gc_mark7((T7*)ms25_0bc69c15l93); -gc_mark7((T7*)ms69_1501987274); +gc_mark7((T7*)ms25_0bc70); +gc_mark7((T7*)ms70_2057747851); gc_mark7((T7*)ms25_1403610646); +gc_mark7((T7*)ms70_1257860908); +gc_mark7((T7*)ms70_190991); +gc_mark7((T7*)ms70_586741066); gc_mark7((T7*)ms25_0); -gc_mark7((T7*)ms69_10739030); -gc_mark7((T7*)ms69_10739024); -gc_mark7((T7*)ms69_10739017); +gc_mark7((T7*)ms70_188916); gc_mark7((T7*)ms25_1959886733); gc_mark7((T7*)ms25_0bc25c15); gc_mark7((T7*)ms25_3479972); +gc_mark7((T7*)ms70_2112369621); gc_mark7((T7*)ms25_21190322); -gc_mark7((T7*)ms69_1756148648); -gc_mark7((T7*)ms69_1756148653); -gc_mark7((T7*)ms69_1619665677); -gc_mark7((T7*)ms69_104371129); -gc_mark7((T7*)ms69_104371267); +gc_mark7((T7*)ms70_10739030); +gc_mark7((T7*)ms70_10739024); +gc_mark7((T7*)ms70_10739017); gc_mark7((T7*)ms25_314746909); +gc_mark7((T7*)ms70_1961093439); gc_mark7((T7*)ms25_1638797568); -gc_mark7((T7*)ms69_1961093439); -gc_mark7((T7*)ms69_1699147265); -gc_mark7((T7*)ms69_23436791); -gc_mark7((T7*)ms25_4487261bc69); +gc_mark7((T7*)ms70_1699147265); +gc_mark7((T7*)ms70_475); +gc_mark7((T7*)ms70_697); +gc_mark7((T7*)ms25_4487261bc70); gc_mark7((T7*)ms25_694149733); -gc_mark7((T7*)ms69_4738061); -gc_mark7((T7*)ms69_2112369621); +gc_mark7((T7*)ms70_1619665677); +gc_mark7((T7*)ms70_1756148648); +gc_mark7((T7*)ms70_1756148653); +gc_mark7((T7*)ms150_1472358418); +gc_mark7((T7*)ms70_4738061); +gc_mark7((T7*)ms70_23436791); gc_mark7((T7*)ms25_557679246); -gc_mark7((T7*)ms69_1940108584); -gc_mark7((T7*)ms69_952626); -gc_mark7((T7*)ms69_1461); -gc_mark7((T7*)ms69_1466); -gc_mark7((T7*)ms69_4725666); -gc_mark7((T7*)ms69_4725661); -gc_mark7((T7*)ms69_56246305); -gc_mark7((T7*)ms69_2676); +gc_mark7((T7*)ms70_1940108584); +gc_mark7((T7*)ms70_1461); +gc_mark7((T7*)ms70_1466); +gc_mark7((T7*)ms70_2676); +gc_mark7((T7*)ms70_4725666); +gc_mark7((T7*)ms70_4725661); gc_mark7((T7*)ms25_4487261); -gc_mark7((T7*)ms69_1257860908); -gc_mark7((T7*)ms69_56246305bc69); +gc_mark7((T7*)ms70_1501987274); +gc_mark7((T7*)ms70_104371129); gc_mark7((T7*)ms25_1403610646bc25); -gc_mark7((T7*)ms69_2057747851); -gc_mark7((T7*)ms25_0bc69c16); -gc_mark7((T7*)ms25_0bc69c15); -gc_mark7((T7*)ms69_586741066); +gc_mark7((T7*)ms70_104371267); +gc_mark7((T7*)ms70_56246305bc70); +gc_mark7((T7*)ms70_56246305); gc_mark7((T7*)ms25_946366); -gc_mark7((T7*)ms69_475); -gc_mark7((T7*)ms69_697); }/*--*/ void once_function_mark(void){ /*NON_VOID_NO_DISPATCH:*/ -gc_mark9((oBC101sprintf_buffer)); +gc_mark9((oBC102sprintf_buffer)); gc_mark43((T43*)(oBC13std_error)); gc_mark46((T46*)(oBC13io)); /*Ordinary once functions:*/ -if(NULL!=oBC30command_arguments)gc_mark204((T204*)(oBC30command_arguments)); -if(NULL!=oBC26vision)gc_mark64((T64*)(oBC26vision)); +if(NULL!=oBC30command_arguments)gc_mark247((T247*)(oBC30command_arguments)); +if(NULL!=oBC26vision)gc_mark65((T65*)(oBC26vision)); if(NULL!=oBC13std_output)gc_mark53((T53*)(oBC13std_output)); -if(NULL!=oBC64root_window)gc_mark72((T72*)(oBC64root_window)); -if(NULL!=oBC143x_input_extension)gc_mark175((T175*)(oBC143x_input_extension)); -if(NULL!=oBC13std_input)gc_mark54((T54*)(oBC13std_input)); -if(NULL!=oBC136common_free_nodes)gc_mark244((T244*)(oBC136common_free_nodes)); +if(NULL!=oBC65root_window)gc_mark73((T73*)(oBC65root_window)); +if(NULL!=oBC7split_buffer)gc_mark256((T256*)(oBC7split_buffer)); +if(NULL!=oBC7string_buffer)gc_mark7((T7*)(oBC7string_buffer)); +if(NULL!=oBC150x_input_extension)gc_mark191((T191*)(oBC150x_input_extension)); +if(NULL!=oBC143common_free_nodes)gc_mark288((T288*)(oBC143common_free_nodes)); }/*--*/ void gc_start(void){ @@ -11826,22 +11306,168 @@ if(garbage_delayed())return; handle(SE_HANDLE_ENTER_GC,NULL); gcmt_tail_addr=(((char*)(gcmt[gcmt_used-1]))+(gcmt[gcmt_used-1])->size); ((gc25*)eiffel_root_object)->header.flag=FSOH_UNMARKED; -gc_free110=(void*)0; -gc_free120=(void*)0; -if(na_env293.store_left>0){ -na_env293.store->header.size=na_env293.store_left; -na_env293.store->header.magic_flag=RSOH_FREE; -na_env293.store_left=0; -} -na_env293.chunk_list=NULL; -na_env293.store_chunk=NULL; -if(na_env292.store_left>0){ -na_env292.store->header.size=na_env292.store_left; -na_env292.store->header.magic_flag=RSOH_FREE; -na_env292.store_left=0; -} -na_env292.chunk_list=NULL; -na_env292.store_chunk=NULL; +gc_free113=(void*)0; +gc_free123=(void*)0; +if(na_env337.store_left>0){ +na_env337.store->header.size=na_env337.store_left; +na_env337.store->header.magic_flag=RSOH_FREE; +na_env337.store_left=0; +} +na_env337.chunk_list=NULL; +na_env337.store_chunk=NULL; +if(na_env336.store_left>0){ +na_env336.store->header.size=na_env336.store_left; +na_env336.store->header.magic_flag=RSOH_FREE; +na_env336.store_left=0; +} +na_env336.chunk_list=NULL; +na_env336.store_chunk=NULL; +if(na_env335.store_left>0){ +na_env335.store->header.size=na_env335.store_left; +na_env335.store->header.magic_flag=RSOH_FREE; +na_env335.store_left=0; +} +na_env335.chunk_list=NULL; +na_env335.store_chunk=NULL; +if(na_env334.store_left>0){ +na_env334.store->header.size=na_env334.store_left; +na_env334.store->header.magic_flag=RSOH_FREE; +na_env334.store_left=0; +} +na_env334.chunk_list=NULL; +na_env334.store_chunk=NULL; +if(na_env333.store_left>0){ +na_env333.store->header.size=na_env333.store_left; +na_env333.store->header.magic_flag=RSOH_FREE; +na_env333.store_left=0; +} +na_env333.chunk_list=NULL; +na_env333.store_chunk=NULL; +if(na_env332.store_left>0){ +na_env332.store->header.size=na_env332.store_left; +na_env332.store->header.magic_flag=RSOH_FREE; +na_env332.store_left=0; +} +na_env332.chunk_list=NULL; +na_env332.store_chunk=NULL; +if(na_env331.store_left>0){ +na_env331.store->header.size=na_env331.store_left; +na_env331.store->header.magic_flag=RSOH_FREE; +na_env331.store_left=0; +} +na_env331.chunk_list=NULL; +na_env331.store_chunk=NULL; +if(na_env330.store_left>0){ +na_env330.store->header.size=na_env330.store_left; +na_env330.store->header.magic_flag=RSOH_FREE; +na_env330.store_left=0; +} +na_env330.chunk_list=NULL; +na_env330.store_chunk=NULL; +gc_free329=(void*)0; +if(na_env328.store_left>0){ +na_env328.store->header.size=na_env328.store_left; +na_env328.store->header.magic_flag=RSOH_FREE; +na_env328.store_left=0; +} +na_env328.chunk_list=NULL; +na_env328.store_chunk=NULL; +gc_free327=(void*)0; +gc_free326=(void*)0; +if(na_env324.store_left>0){ +na_env324.store->header.size=na_env324.store_left; +na_env324.store->header.magic_flag=RSOH_FREE; +na_env324.store_left=0; +} +na_env324.chunk_list=NULL; +na_env324.store_chunk=NULL; +if(na_env321.store_left>0){ +na_env321.store->header.size=na_env321.store_left; +na_env321.store->header.magic_flag=RSOH_FREE; +na_env321.store_left=0; +} +na_env321.chunk_list=NULL; +na_env321.store_chunk=NULL; +gc_free317=(void*)0; +if(na_env316.store_left>0){ +na_env316.store->header.size=na_env316.store_left; +na_env316.store->header.magic_flag=RSOH_FREE; +na_env316.store_left=0; +} +na_env316.chunk_list=NULL; +na_env316.store_chunk=NULL; +gc_free311=(void*)0; +if(na_env310.store_left>0){ +na_env310.store->header.size=na_env310.store_left; +na_env310.store->header.magic_flag=RSOH_FREE; +na_env310.store_left=0; +} +na_env310.chunk_list=NULL; +na_env310.store_chunk=NULL; +gc_free308=(void*)0; +gc_free307=(void*)0; +if(na_env306.store_left>0){ +na_env306.store->header.size=na_env306.store_left; +na_env306.store->header.magic_flag=RSOH_FREE; +na_env306.store_left=0; +} +na_env306.chunk_list=NULL; +na_env306.store_chunk=NULL; +if(na_env305.store_left>0){ +na_env305.store->header.size=na_env305.store_left; +na_env305.store->header.magic_flag=RSOH_FREE; +na_env305.store_left=0; +} +na_env305.chunk_list=NULL; +na_env305.store_chunk=NULL; +if(na_env304.store_left>0){ +na_env304.store->header.size=na_env304.store_left; +na_env304.store->header.magic_flag=RSOH_FREE; +na_env304.store_left=0; +} +na_env304.chunk_list=NULL; +na_env304.store_chunk=NULL; +if(na_env303.store_left>0){ +na_env303.store->header.size=na_env303.store_left; +na_env303.store->header.magic_flag=RSOH_FREE; +na_env303.store_left=0; +} +na_env303.chunk_list=NULL; +na_env303.store_chunk=NULL; +gc_free302=(void*)0; +if(na_env301.store_left>0){ +na_env301.store->header.size=na_env301.store_left; +na_env301.store->header.magic_flag=RSOH_FREE; +na_env301.store_left=0; +} +na_env301.chunk_list=NULL; +na_env301.store_chunk=NULL; +gc_free300=(void*)0; +if(na_env299.store_left>0){ +na_env299.store->header.size=na_env299.store_left; +na_env299.store->header.magic_flag=RSOH_FREE; +na_env299.store_left=0; +} +na_env299.chunk_list=NULL; +na_env299.store_chunk=NULL; +gc_free298=(void*)0; +gc_free297=(void*)0; +gc_free296=(void*)0; +if(na_env295.store_left>0){ +na_env295.store->header.size=na_env295.store_left; +na_env295.store->header.magic_flag=RSOH_FREE; +na_env295.store_left=0; +} +na_env295.chunk_list=NULL; +na_env295.store_chunk=NULL; +if(na_env294.store_left>0){ +na_env294.store->header.size=na_env294.store_left; +na_env294.store->header.magic_flag=RSOH_FREE; +na_env294.store_left=0; +} +na_env294.chunk_list=NULL; +na_env294.store_chunk=NULL; +gc_free293=(void*)0; if(na_env291.store_left>0){ na_env291.store->header.size=na_env291.store_left; na_env291.store->header.magic_flag=RSOH_FREE; @@ -11849,42 +11475,24 @@ na_env291.store_left=0; } na_env291.chunk_list=NULL; na_env291.store_chunk=NULL; -if(na_env290.store_left>0){ -na_env290.store->header.size=na_env290.store_left; -na_env290.store->header.magic_flag=RSOH_FREE; -na_env290.store_left=0; -} -na_env290.chunk_list=NULL; -na_env290.store_chunk=NULL; -if(na_env289.store_left>0){ -na_env289.store->header.size=na_env289.store_left; -na_env289.store->header.magic_flag=RSOH_FREE; -na_env289.store_left=0; -} -na_env289.chunk_list=NULL; -na_env289.store_chunk=NULL; -if(na_env288.store_left>0){ -na_env288.store->header.size=na_env288.store_left; -na_env288.store->header.magic_flag=RSOH_FREE; -na_env288.store_left=0; -} -na_env288.chunk_list=NULL; -na_env288.store_chunk=NULL; -if(na_env287.store_left>0){ -na_env287.store->header.size=na_env287.store_left; -na_env287.store->header.magic_flag=RSOH_FREE; -na_env287.store_left=0; -} -na_env287.chunk_list=NULL; -na_env287.store_chunk=NULL; -gc_free286=(void*)0; -if(na_env284.store_left>0){ -na_env284.store->header.size=na_env284.store_left; -na_env284.store->header.magic_flag=RSOH_FREE; -na_env284.store_left=0; -} -na_env284.chunk_list=NULL; -na_env284.store_chunk=NULL; +gc_free290=(void*)0; +gc_free289=(void*)0; +gc_free288=(void*)0; +gc_free287=(void*)0; +if(na_env283.store_left>0){ +na_env283.store->header.size=na_env283.store_left; +na_env283.store->header.magic_flag=RSOH_FREE; +na_env283.store_left=0; +} +na_env283.chunk_list=NULL; +na_env283.store_chunk=NULL; +if(na_env282.store_left>0){ +na_env282.store->header.size=na_env282.store_left; +na_env282.store->header.magic_flag=RSOH_FREE; +na_env282.store_left=0; +} +na_env282.chunk_list=NULL; +na_env282.store_chunk=NULL; if(na_env281.store_left>0){ na_env281.store->header.size=na_env281.store_left; na_env281.store->header.magic_flag=RSOH_FREE; @@ -11892,22 +11500,16 @@ na_env281.store_left=0; } na_env281.chunk_list=NULL; na_env281.store_chunk=NULL; +gc_free280=(void*)0; +gc_free154=(void*)0; +gc_free279=(void*)0; +gc_free160=(void*)0; gc_free277=(void*)0; -if(na_env276.store_left>0){ -na_env276.store->header.size=na_env276.store_left; -na_env276.store->header.magic_flag=RSOH_FREE; -na_env276.store_left=0; -} -na_env276.chunk_list=NULL; -na_env276.store_chunk=NULL; +gc_free276=(void*)0; +gc_free275=(void*)0; +gc_free273=(void*)0; gc_free271=(void*)0; -if(na_env270.store_left>0){ -na_env270.store->header.size=na_env270.store_left; -na_env270.store->header.magic_flag=RSOH_FREE; -na_env270.store_left=0; -} -na_env270.chunk_list=NULL; -na_env270.store_chunk=NULL; +gc_free269=(void*)0; gc_free268=(void*)0; if(na_env267.store_left>0){ na_env267.store->header.size=na_env267.store_left; @@ -11916,8 +11518,11 @@ na_env267.store_left=0; } na_env267.chunk_list=NULL; na_env267.store_chunk=NULL; +gc_free146=(void*)0; gc_free266=(void*)0; +gc_free149=(void*)0; gc_free265=(void*)0; +gc_free148=(void*)0; gc_free264=(void*)0; if(na_env263.store_left>0){ na_env263.store->header.size=na_env263.store_left; @@ -11926,163 +11531,38 @@ na_env263.store_left=0; } na_env263.chunk_list=NULL; na_env263.store_chunk=NULL; -if(na_env262.store_left>0){ -na_env262.store->header.size=na_env262.store_left; -na_env262.store->header.magic_flag=RSOH_FREE; -na_env262.store_left=0; -} -na_env262.chunk_list=NULL; -na_env262.store_chunk=NULL; -if(na_env261.store_left>0){ -na_env261.store->header.size=na_env261.store_left; -na_env261.store->header.magic_flag=RSOH_FREE; -na_env261.store_left=0; -} -na_env261.chunk_list=NULL; -na_env261.store_chunk=NULL; -if(na_env260.store_left>0){ -na_env260.store->header.size=na_env260.store_left; -na_env260.store->header.magic_flag=RSOH_FREE; -na_env260.store_left=0; -} -na_env260.chunk_list=NULL; -na_env260.store_chunk=NULL; -if(na_env259.store_left>0){ -na_env259.store->header.size=na_env259.store_left; -na_env259.store->header.magic_flag=RSOH_FREE; -na_env259.store_left=0; -} -na_env259.chunk_list=NULL; -na_env259.store_chunk=NULL; +gc_free262=(void*)0; +gc_free261=(void*)0; +gc_free260=(void*)0; +gc_free259=(void*)0; gc_free258=(void*)0; -if(na_env257.store_left>0){ -na_env257.store->header.size=na_env257.store_left; -na_env257.store->header.magic_flag=RSOH_FREE; -na_env257.store_left=0; -} -na_env257.chunk_list=NULL; -na_env257.store_chunk=NULL; gc_free256=(void*)0; -if(na_env255.store_left>0){ -na_env255.store->header.size=na_env255.store_left; -na_env255.store->header.magic_flag=RSOH_FREE; -na_env255.store_left=0; -} -na_env255.chunk_list=NULL; -na_env255.store_chunk=NULL; -gc_free254=(void*)0; +gc_free255=(void*)0; +if(na_env254.store_left>0){ +na_env254.store->header.size=na_env254.store_left; +na_env254.store->header.magic_flag=RSOH_FREE; +na_env254.store_left=0; +} +na_env254.chunk_list=NULL; +na_env254.store_chunk=NULL; gc_free253=(void*)0; -gc_free252=(void*)0; -if(na_env251.store_left>0){ -na_env251.store->header.size=na_env251.store_left; -na_env251.store->header.magic_flag=RSOH_FREE; -na_env251.store_left=0; -} -na_env251.chunk_list=NULL; -na_env251.store_chunk=NULL; -if(na_env250.store_left>0){ -na_env250.store->header.size=na_env250.store_left; -na_env250.store->header.magic_flag=RSOH_FREE; -na_env250.store_left=0; -} -na_env250.chunk_list=NULL; -na_env250.store_chunk=NULL; +gc_free250=(void*)0; +gc_free153=(void*)0; gc_free249=(void*)0; -if(na_env247.store_left>0){ -na_env247.store->header.size=na_env247.store_left; -na_env247.store->header.magic_flag=RSOH_FREE; -na_env247.store_left=0; -} -na_env247.chunk_list=NULL; -na_env247.store_chunk=NULL; -gc_free246=(void*)0; -gc_free245=(void*)0; -gc_free244=(void*)0; -gc_free243=(void*)0; -if(na_env239.store_left>0){ -na_env239.store->header.size=na_env239.store_left; -na_env239.store->header.magic_flag=RSOH_FREE; -na_env239.store_left=0; -} -na_env239.chunk_list=NULL; -na_env239.store_chunk=NULL; -if(na_env238.store_left>0){ -na_env238.store->header.size=na_env238.store_left; -na_env238.store->header.magic_flag=RSOH_FREE; -na_env238.store_left=0; -} -na_env238.chunk_list=NULL; -na_env238.store_chunk=NULL; -if(na_env237.store_left>0){ -na_env237.store->header.size=na_env237.store_left; -na_env237.store->header.magic_flag=RSOH_FREE; -na_env237.store_left=0; -} -na_env237.chunk_list=NULL; -na_env237.store_chunk=NULL; -gc_free147=(void*)0; -gc_free236=(void*)0; -gc_free235=(void*)0; -gc_free234=(void*)0; -gc_free232=(void*)0; -gc_free230=(void*)0; -gc_free228=(void*)0; -gc_free227=(void*)0; -gc_free226=(void*)0; -gc_free225=(void*)0; -gc_free158=(void*)0; -gc_free54=(void*)0; -gc_free139=(void*)0; -gc_free223=(void*)0; -gc_free142=(void*)0; -gc_free222=(void*)0; -gc_free141=(void*)0; -gc_free221=(void*)0; -if(na_env220.store_left>0){ -na_env220.store->header.size=na_env220.store_left; -na_env220.store->header.magic_flag=RSOH_FREE; -na_env220.store_left=0; -} -na_env220.chunk_list=NULL; -na_env220.store_chunk=NULL; -if(na_env219.store_left>0){ -na_env219.store->header.size=na_env219.store_left; -na_env219.store->header.magic_flag=RSOH_FREE; -na_env219.store_left=0; -} -na_env219.chunk_list=NULL; -na_env219.store_chunk=NULL; -gc_free218=(void*)0; -gc_free217=(void*)0; -gc_free216=(void*)0; -gc_free215=(void*)0; -gc_free214=(void*)0; -gc_free213=(void*)0; -if(na_env212.store_left>0){ -na_env212.store->header.size=na_env212.store_left; -na_env212.store->header.magic_flag=RSOH_FREE; -na_env212.store_left=0; -} -na_env212.chunk_list=NULL; -na_env212.store_chunk=NULL; -gc_free211=(void*)0; -gc_free208=(void*)0; -gc_free146=(void*)0; -gc_free207=(void*)0; -gc_free206=(void*)0; -gc_free148=(void*)0; +gc_free248=(void*)0; +gc_free155=(void*)0; +gc_free73=(void*)0; +gc_free134=(void*)0; +gc_free133=(void*)0; gc_free131=(void*)0; -gc_free130=(void*)0; -gc_free128=(void*)0; -gc_free72=(void*)0; gc_free53=(void*)0; gc_free46=(void*)0; -gc_free175=(void*)0; -gc_free205=(void*)0; -gc_free204=(void*)0; -gc_free67=(void*)0; +gc_free247=(void*)0; +gc_free191=(void*)0; +gc_free246=(void*)0; +gc_free68=(void*)0; gc_free43=(void*)0; -gc_free69=(void*)0; +gc_free70=(void*)0; if(na_env9.store_left>0){ na_env9.store->header.size=na_env9.store_left; na_env9.store->header.magic_flag=RSOH_FREE; @@ -12091,8 +11571,8 @@ na_env9.store_left=0; na_env9.chunk_list=NULL; na_env9.store_chunk=NULL; gc_free7=(void*)0; -gc_free70=(void*)0; -gc_free64=(void*)0; +gc_free71=(void*)0; +gc_free65=(void*)0; gc_free25=(void*)0; gc_mark25(eiffel_root_object); manifest_string_mark1(); @@ -12112,246 +11592,246 @@ gc_sweep(); collector_counter++; handle(SE_HANDLE_EXIT_GC,NULL); }/*--*/ -gc110*store110=(void*)0; -int store_left110=0; -fsoc*store_chunk110=(void*)0; -gc110*gc_free110=(void*)0; -gc120*store120=(void*)0; -int store_left120=0; -fsoc*store_chunk120=(void*)0; -gc120*gc_free120=(void*)0; -na_env na_env293={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark293}; -na_env na_env292={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark292}; +gc113*store113=(void*)0; +int store_left113=0; +fsoc*store_chunk113=(void*)0; +gc113*gc_free113=(void*)0; +gc123*store123=(void*)0; +int store_left123=0; +fsoc*store_chunk123=(void*)0; +gc123*gc_free123=(void*)0; +na_env na_env337={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark337}; +na_env na_env336={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark336}; +na_env na_env335={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark335}; +na_env na_env334={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark334}; +na_env na_env333={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark333}; +na_env na_env332={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark332}; +na_env na_env331={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark331}; +na_env na_env330={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark330}; +gc329*store329=(void*)0; +int store_left329=0; +fsoc*store_chunk329=(void*)0; +gc329*gc_free329=(void*)0; +na_env na_env328={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark328}; +gc327*store327=(void*)0; +int store_left327=0; +fsoc*store_chunk327=(void*)0; +gc327*gc_free327=(void*)0; +gc326*store326=(void*)0; +int store_left326=0; +fsoc*store_chunk326=(void*)0; +gc326*gc_free326=(void*)0; +na_env na_env324={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark324}; +na_env na_env321={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark321}; +gc317*store317=(void*)0; +int store_left317=0; +fsoc*store_chunk317=(void*)0; +gc317*gc_free317=(void*)0; +na_env na_env316={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark316}; +gc311*store311=(void*)0; +int store_left311=0; +fsoc*store_chunk311=(void*)0; +gc311*gc_free311=(void*)0; +na_env na_env310={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark310}; +gc308*store308=(void*)0; +int store_left308=0; +fsoc*store_chunk308=(void*)0; +gc308*gc_free308=(void*)0; +gc307*store307=(void*)0; +int store_left307=0; +fsoc*store_chunk307=(void*)0; +gc307*gc_free307=(void*)0; +na_env na_env306={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark306}; +na_env na_env305={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark305}; +na_env na_env304={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark304}; +na_env na_env303={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark303}; +gc302*store302=(void*)0; +int store_left302=0; +fsoc*store_chunk302=(void*)0; +gc302*gc_free302=(void*)0; +na_env na_env301={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark301}; +gc300*store300=(void*)0; +int store_left300=0; +fsoc*store_chunk300=(void*)0; +gc300*gc_free300=(void*)0; +na_env na_env299={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark299}; +gc298*store298=(void*)0; +int store_left298=0; +fsoc*store_chunk298=(void*)0; +gc298*gc_free298=(void*)0; +gc297*store297=(void*)0; +int store_left297=0; +fsoc*store_chunk297=(void*)0; +gc297*gc_free297=(void*)0; +gc296*store296=(void*)0; +int store_left296=0; +fsoc*store_chunk296=(void*)0; +gc296*gc_free296=(void*)0; +na_env na_env295={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark295}; +na_env na_env294={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark294}; +gc293*store293=(void*)0; +int store_left293=0; +fsoc*store_chunk293=(void*)0; +gc293*gc_free293=(void*)0; na_env na_env291={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark291}; -na_env na_env290={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark290}; -na_env na_env289={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark289}; -na_env na_env288={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark288}; -na_env na_env287={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark287}; -gc286*store286=(void*)0; -int store_left286=0; -fsoc*store_chunk286=(void*)0; -gc286*gc_free286=(void*)0; -na_env na_env284={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark284}; +gc290*store290=(void*)0; +int store_left290=0; +fsoc*store_chunk290=(void*)0; +gc290*gc_free290=(void*)0; +gc289*store289=(void*)0; +int store_left289=0; +fsoc*store_chunk289=(void*)0; +gc289*gc_free289=(void*)0; +gc288*store288=(void*)0; +int store_left288=0; +fsoc*store_chunk288=(void*)0; +gc288*gc_free288=(void*)0; +gc287*store287=(void*)0; +int store_left287=0; +fsoc*store_chunk287=(void*)0; +gc287*gc_free287=(void*)0; +na_env na_env283={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark283}; +na_env na_env282={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark282}; na_env na_env281={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark281}; +gc280*store280=(void*)0; +int store_left280=0; +fsoc*store_chunk280=(void*)0; +gc280*gc_free280=(void*)0; +gc154*store154=(void*)0; +int store_left154=0; +fsoc*store_chunk154=(void*)0; +gc154*gc_free154=(void*)0; +gc279*store279=(void*)0; +int store_left279=0; +fsoc*store_chunk279=(void*)0; +gc279*gc_free279=(void*)0; +gc160*store160=(void*)0; +int store_left160=0; +fsoc*store_chunk160=(void*)0; +gc160*gc_free160=(void*)0; gc277*store277=(void*)0; int store_left277=0; fsoc*store_chunk277=(void*)0; gc277*gc_free277=(void*)0; -na_env na_env276={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark276}; +gc276*store276=(void*)0; +int store_left276=0; +fsoc*store_chunk276=(void*)0; +gc276*gc_free276=(void*)0; +gc275*store275=(void*)0; +int store_left275=0; +fsoc*store_chunk275=(void*)0; +gc275*gc_free275=(void*)0; +gc273*store273=(void*)0; +int store_left273=0; +fsoc*store_chunk273=(void*)0; +gc273*gc_free273=(void*)0; gc271*store271=(void*)0; int store_left271=0; fsoc*store_chunk271=(void*)0; gc271*gc_free271=(void*)0; -na_env na_env270={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark270}; +gc269*store269=(void*)0; +int store_left269=0; +fsoc*store_chunk269=(void*)0; +gc269*gc_free269=(void*)0; gc268*store268=(void*)0; int store_left268=0; fsoc*store_chunk268=(void*)0; gc268*gc_free268=(void*)0; na_env na_env267={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark267}; +gc146*store146=(void*)0; +int store_left146=0; +fsoc*store_chunk146=(void*)0; +gc146*gc_free146=(void*)0; gc266*store266=(void*)0; int store_left266=0; fsoc*store_chunk266=(void*)0; gc266*gc_free266=(void*)0; +gc149*store149=(void*)0; +int store_left149=0; +fsoc*store_chunk149=(void*)0; +gc149*gc_free149=(void*)0; gc265*store265=(void*)0; int store_left265=0; fsoc*store_chunk265=(void*)0; gc265*gc_free265=(void*)0; +gc148*store148=(void*)0; +int store_left148=0; +fsoc*store_chunk148=(void*)0; +gc148*gc_free148=(void*)0; gc264*store264=(void*)0; int store_left264=0; fsoc*store_chunk264=(void*)0; gc264*gc_free264=(void*)0; na_env na_env263={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark263}; -na_env na_env262={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark262}; -na_env na_env261={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark261}; -na_env na_env260={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark260}; -na_env na_env259={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark259}; +gc262*store262=(void*)0; +int store_left262=0; +fsoc*store_chunk262=(void*)0; +gc262*gc_free262=(void*)0; +gc261*store261=(void*)0; +int store_left261=0; +fsoc*store_chunk261=(void*)0; +gc261*gc_free261=(void*)0; +gc260*store260=(void*)0; +int store_left260=0; +fsoc*store_chunk260=(void*)0; +gc260*gc_free260=(void*)0; +gc259*store259=(void*)0; +int store_left259=0; +fsoc*store_chunk259=(void*)0; +gc259*gc_free259=(void*)0; gc258*store258=(void*)0; int store_left258=0; fsoc*store_chunk258=(void*)0; gc258*gc_free258=(void*)0; -na_env na_env257={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark257}; gc256*store256=(void*)0; int store_left256=0; fsoc*store_chunk256=(void*)0; gc256*gc_free256=(void*)0; -na_env na_env255={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark255}; -gc254*store254=(void*)0; -int store_left254=0; -fsoc*store_chunk254=(void*)0; -gc254*gc_free254=(void*)0; +gc255*store255=(void*)0; +int store_left255=0; +fsoc*store_chunk255=(void*)0; +gc255*gc_free255=(void*)0; +na_env na_env254={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark254}; gc253*store253=(void*)0; int store_left253=0; fsoc*store_chunk253=(void*)0; gc253*gc_free253=(void*)0; -gc252*store252=(void*)0; -int store_left252=0; -fsoc*store_chunk252=(void*)0; -gc252*gc_free252=(void*)0; -na_env na_env251={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark251}; -na_env na_env250={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark250}; +gc250*store250=(void*)0; +int store_left250=0; +fsoc*store_chunk250=(void*)0; +gc250*gc_free250=(void*)0; +gc153*store153=(void*)0; +int store_left153=0; +fsoc*store_chunk153=(void*)0; +gc153*gc_free153=(void*)0; gc249*store249=(void*)0; int store_left249=0; fsoc*store_chunk249=(void*)0; gc249*gc_free249=(void*)0; -na_env na_env247={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark247}; -gc246*store246=(void*)0; -int store_left246=0; -fsoc*store_chunk246=(void*)0; -gc246*gc_free246=(void*)0; -gc245*store245=(void*)0; -int store_left245=0; -fsoc*store_chunk245=(void*)0; -gc245*gc_free245=(void*)0; -gc244*store244=(void*)0; -int store_left244=0; -fsoc*store_chunk244=(void*)0; -gc244*gc_free244=(void*)0; -gc243*store243=(void*)0; -int store_left243=0; -fsoc*store_chunk243=(void*)0; -gc243*gc_free243=(void*)0; -na_env na_env239={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark239}; -na_env na_env238={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark238}; -na_env na_env237={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark237}; -gc147*store147=(void*)0; -int store_left147=0; -fsoc*store_chunk147=(void*)0; -gc147*gc_free147=(void*)0; -gc236*store236=(void*)0; -int store_left236=0; -fsoc*store_chunk236=(void*)0; -gc236*gc_free236=(void*)0; -gc235*store235=(void*)0; -int store_left235=0; -fsoc*store_chunk235=(void*)0; -gc235*gc_free235=(void*)0; -gc234*store234=(void*)0; -int store_left234=0; -fsoc*store_chunk234=(void*)0; -gc234*gc_free234=(void*)0; -gc232*store232=(void*)0; -int store_left232=0; -fsoc*store_chunk232=(void*)0; -gc232*gc_free232=(void*)0; -gc230*store230=(void*)0; -int store_left230=0; -fsoc*store_chunk230=(void*)0; -gc230*gc_free230=(void*)0; -gc228*store228=(void*)0; -int store_left228=0; -fsoc*store_chunk228=(void*)0; -gc228*gc_free228=(void*)0; -gc227*store227=(void*)0; -int store_left227=0; -fsoc*store_chunk227=(void*)0; -gc227*gc_free227=(void*)0; -gc226*store226=(void*)0; -int store_left226=0; -fsoc*store_chunk226=(void*)0; -gc226*gc_free226=(void*)0; -gc225*store225=(void*)0; -int store_left225=0; -fsoc*store_chunk225=(void*)0; -gc225*gc_free225=(void*)0; -gc158*store158=(void*)0; -int store_left158=0; -fsoc*store_chunk158=(void*)0; -gc158*gc_free158=(void*)0; -gc54*store54=(void*)0; -int store_left54=0; -fsoc*store_chunk54=(void*)0; -gc54*gc_free54=(void*)0; -gc139*store139=(void*)0; -int store_left139=0; -fsoc*store_chunk139=(void*)0; -gc139*gc_free139=(void*)0; -gc223*store223=(void*)0; -int store_left223=0; -fsoc*store_chunk223=(void*)0; -gc223*gc_free223=(void*)0; -gc142*store142=(void*)0; -int store_left142=0; -fsoc*store_chunk142=(void*)0; -gc142*gc_free142=(void*)0; -gc222*store222=(void*)0; -int store_left222=0; -fsoc*store_chunk222=(void*)0; -gc222*gc_free222=(void*)0; -gc141*store141=(void*)0; -int store_left141=0; -fsoc*store_chunk141=(void*)0; -gc141*gc_free141=(void*)0; -gc221*store221=(void*)0; -int store_left221=0; -fsoc*store_chunk221=(void*)0; -gc221*gc_free221=(void*)0; -na_env na_env220={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark220}; -na_env na_env219={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark219}; -gc218*store218=(void*)0; -int store_left218=0; -fsoc*store_chunk218=(void*)0; -gc218*gc_free218=(void*)0; -gc217*store217=(void*)0; -int store_left217=0; -fsoc*store_chunk217=(void*)0; -gc217*gc_free217=(void*)0; -gc216*store216=(void*)0; -int store_left216=0; -fsoc*store_chunk216=(void*)0; -gc216*gc_free216=(void*)0; -gc215*store215=(void*)0; -int store_left215=0; -fsoc*store_chunk215=(void*)0; -gc215*gc_free215=(void*)0; -gc214*store214=(void*)0; -int store_left214=0; -fsoc*store_chunk214=(void*)0; -gc214*gc_free214=(void*)0; -gc213*store213=(void*)0; -int store_left213=0; -fsoc*store_chunk213=(void*)0; -gc213*gc_free213=(void*)0; -na_env na_env212={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark212}; -gc211*store211=(void*)0; -int store_left211=0; -fsoc*store_chunk211=(void*)0; -gc211*gc_free211=(void*)0; -gc208*store208=(void*)0; -int store_left208=0; -fsoc*store_chunk208=(void*)0; -gc208*gc_free208=(void*)0; -gc146*store146=(void*)0; -int store_left146=0; -fsoc*store_chunk146=(void*)0; -gc146*gc_free146=(void*)0; -gc207*store207=(void*)0; -int store_left207=0; -fsoc*store_chunk207=(void*)0; -gc207*gc_free207=(void*)0; -gc206*store206=(void*)0; -int store_left206=0; -fsoc*store_chunk206=(void*)0; -gc206*gc_free206=(void*)0; -gc148*store148=(void*)0; -int store_left148=0; -fsoc*store_chunk148=(void*)0; -gc148*gc_free148=(void*)0; +gc248*store248=(void*)0; +int store_left248=0; +fsoc*store_chunk248=(void*)0; +gc248*gc_free248=(void*)0; +gc155*store155=(void*)0; +int store_left155=0; +fsoc*store_chunk155=(void*)0; +gc155*gc_free155=(void*)0; +gc73*store73=(void*)0; +int store_left73=0; +fsoc*store_chunk73=(void*)0; +gc73*gc_free73=(void*)0; +gc134*store134=(void*)0; +int store_left134=0; +fsoc*store_chunk134=(void*)0; +gc134*gc_free134=(void*)0; +gc133*store133=(void*)0; +int store_left133=0; +fsoc*store_chunk133=(void*)0; +gc133*gc_free133=(void*)0; gc131*store131=(void*)0; int store_left131=0; fsoc*store_chunk131=(void*)0; gc131*gc_free131=(void*)0; -gc130*store130=(void*)0; -int store_left130=0; -fsoc*store_chunk130=(void*)0; -gc130*gc_free130=(void*)0; -gc128*store128=(void*)0; -int store_left128=0; -fsoc*store_chunk128=(void*)0; -gc128*gc_free128=(void*)0; -gc72*store72=(void*)0; -int store_left72=0; -fsoc*store_chunk72=(void*)0; -gc72*gc_free72=(void*)0; gc53*store53=(void*)0; int store_left53=0; fsoc*store_chunk53=(void*)0; @@ -12360,77 +11840,77 @@ gc46*store46=(void*)0; int store_left46=0; fsoc*store_chunk46=(void*)0; gc46*gc_free46=(void*)0; -gc175*store175=(void*)0; -int store_left175=0; -fsoc*store_chunk175=(void*)0; -gc175*gc_free175=(void*)0; -gc205*store205=(void*)0; -int store_left205=0; -fsoc*store_chunk205=(void*)0; -gc205*gc_free205=(void*)0; -gc204*store204=(void*)0; -int store_left204=0; -fsoc*store_chunk204=(void*)0; -gc204*gc_free204=(void*)0; -gc67*store67=(void*)0; -int store_left67=0; -fsoc*store_chunk67=(void*)0; -gc67*gc_free67=(void*)0; +gc247*store247=(void*)0; +int store_left247=0; +fsoc*store_chunk247=(void*)0; +gc247*gc_free247=(void*)0; +gc191*store191=(void*)0; +int store_left191=0; +fsoc*store_chunk191=(void*)0; +gc191*gc_free191=(void*)0; +gc246*store246=(void*)0; +int store_left246=0; +fsoc*store_chunk246=(void*)0; +gc246*gc_free246=(void*)0; +gc68*store68=(void*)0; +int store_left68=0; +fsoc*store_chunk68=(void*)0; +gc68*gc_free68=(void*)0; gc43*store43=(void*)0; int store_left43=0; fsoc*store_chunk43=(void*)0; gc43*gc_free43=(void*)0; -gc69*store69=(void*)0; -int store_left69=0; -fsoc*store_chunk69=(void*)0; -gc69*gc_free69=(void*)0; +gc70*store70=(void*)0; +int store_left70=0; +fsoc*store_chunk70=(void*)0; +gc70*gc_free70=(void*)0; na_env na_env9={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark9}; gc7*store7=(void*)0; int store_left7=0; fsoc*store_chunk7=(void*)0; gc7*gc_free7=(void*)0; -gc70*store70=(void*)0; -int store_left70=0; -fsoc*store_chunk70=(void*)0; -gc70*gc_free70=(void*)0; -gc64*store64=(void*)0; -int store_left64=0; -fsoc*store_chunk64=(void*)0; -gc64*gc_free64=(void*)0; +gc71*store71=(void*)0; +int store_left71=0; +fsoc*store_chunk71=(void*)0; +gc71*gc_free71=(void*)0; +gc65*store65=(void*)0; +int store_left65=0; +fsoc*store_chunk65=(void*)0; +gc65*gc_free65=(void*)0; gc25*store25=(void*)0; int store_left25=0; fsoc*store_chunk25=(void*)0; gc25*gc_free25=(void*)0; -void gc_sweep110(fsoc*c){ -gc110*o1,*o2; -o1=((gc110*)(&(c->first_object))); +void gc_sweep113(fsoc*c){ +gc113*o1,*o2; +o1=((gc113*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free110; -gc_free110=o1; +o1->header.next=gc_free113; +gc_free113=o1; } } } else{ int dead=1; -gc110* old_gc_free = gc_free110; +gc113* old_gc_free = gc_free113; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free110; -gc_free110=o1; +o1->header.next=gc_free113; +gc_free113=o1; } } if (dead){ -gc_free110 = old_gc_free; +gc_free113 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -12438,95 +11918,95 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark110(T110*o){ -if(((gc110*)o)->header.flag==FSOH_UNMARKED){ -((gc110*)o)->header.flag=FSOH_MARKED; -/*ip*/if(NULL!=o->_stream)gc_mark146((T146*)(o->_stream)); +void gc_mark113(T113*o){ +if(((gc113*)o)->header.flag==FSOH_UNMARKED){ +((gc113*)o)->header.flag=FSOH_MARKED; +/*ip*/if(NULL!=o->_stream)gc_mark153((T153*)(o->_stream)); } }/*--*/ -void gc_align_mark110(fsoc*c,gc110*p){ -gc110*b=((gc110*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store110)))return; +void gc_align_mark113(fsoc*c,gc113*p){ +gc113*b=((gc113*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store113)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T110*o=(&(p->object)); -((gc110*)o)->header.flag=FSOH_MARKED; -/*ip*/if(NULL!=o->_stream)gc_mark146((T146*)(o->_stream)); +T113*o=(&(p->object)); +((gc113*)o)->header.flag=FSOH_MARKED; +/*ip*/if(NULL!=o->_stream)gc_mark153((T153*)(o->_stream)); } } }/*--*/ -fsoc H110={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark110, -(void(*)(mch*))gc_sweep110},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc110))-1)}; +fsoc H113={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark113, +(void(*)(mch*))gc_sweep113},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc113))-1)}; -T110*new110(void){ -gc110*n; +T113*new113(void){ +gc113*n; fsoc*c; -if(store_left110>1){ -store_left110--; -n=store110++; +if(store_left113>1){ +store_left113--; +n=store113++; } -else if(gc_free110!=NULL){ -n=gc_free110; -gc_free110=n->header.next; +else if(gc_free113!=NULL){ +n=gc_free113; +gc_free113=n->header.next; } -else if(store_left110==1){ -store_left110=0; -store_chunk110->header.state_type=FSO_USED_CHUNK; -n=store110++; +else if(store_left113==1){ +store_left113=0; +store_chunk113->header.state_type=FSO_USED_CHUNK; +n=store113++; } else{ c=gc_fsoc_get1(); -if(gc_free110!=NULL){ -n=gc_free110; -gc_free110=n->header.next; +if(gc_free113!=NULL){ +n=gc_free113; +gc_free113=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk110=c; -*store_chunk110=H110; -store110=((gc110*)(&(store_chunk110->first_object))); -store_left110=H110.count_minus_one; -n=store110++; +store_chunk113=c; +*store_chunk113=H113; +store113=((gc113*)(&(store_chunk113->first_object))); +store_left113=H113.count_minus_one; +n=store113++; } } n->header.flag=FSOH_UNMARKED; -n->object=M110; -return((T110*)n); +n->object=M113; +return((T113*)n); }/*--*/ -void gc_sweep120(fsoc*c){ -gc120*o1,*o2; -o1=((gc120*)(&(c->first_object))); +void gc_sweep123(fsoc*c){ +gc123*o1,*o2; +o1=((gc123*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free120; -gc_free120=o1; +o1->header.next=gc_free123; +gc_free123=o1; } } } else{ int dead=1; -gc120* old_gc_free = gc_free120; +gc123* old_gc_free = gc_free123; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free120; -gc_free120=o1; +o1->header.next=gc_free123; +gc_free123=o1; } } if (dead){ -gc_free120 = old_gc_free; +gc_free123 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -12534,67 +12014,67 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark120(T120*o){ -if(((gc120*)o)->header.flag==FSOH_UNMARKED){ -((gc120*)o)->header.flag=FSOH_MARKED; +void gc_mark123(T123*o){ +if(((gc123*)o)->header.flag==FSOH_UNMARKED){ +((gc123*)o)->header.flag=FSOH_MARKED; /*ip*/if(NULL!=o->_input_stream)Xgc_mark49((T0*)(o->_input_stream)); } }/*--*/ -void gc_align_mark120(fsoc*c,gc120*p){ -gc120*b=((gc120*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store120)))return; +void gc_align_mark123(fsoc*c,gc123*p){ +gc123*b=((gc123*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store123)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T120*o=(&(p->object)); -((gc120*)o)->header.flag=FSOH_MARKED; +T123*o=(&(p->object)); +((gc123*)o)->header.flag=FSOH_MARKED; /*ip*/if(NULL!=o->_input_stream)Xgc_mark49((T0*)(o->_input_stream)); } } }/*--*/ -fsoc H120={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark120, -(void(*)(mch*))gc_sweep120},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc120))-1)}; +fsoc H123={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark123, +(void(*)(mch*))gc_sweep123},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc123))-1)}; -T120*new120(void){ -gc120*n; +T123*new123(void){ +gc123*n; fsoc*c; -if(store_left120>1){ -store_left120--; -n=store120++; +if(store_left123>1){ +store_left123--; +n=store123++; } -else if(gc_free120!=NULL){ -n=gc_free120; -gc_free120=n->header.next; +else if(gc_free123!=NULL){ +n=gc_free123; +gc_free123=n->header.next; } -else if(store_left120==1){ -store_left120=0; -store_chunk120->header.state_type=FSO_USED_CHUNK; -n=store120++; +else if(store_left123==1){ +store_left123=0; +store_chunk123->header.state_type=FSO_USED_CHUNK; +n=store123++; } else{ c=gc_fsoc_get1(); -if(gc_free120!=NULL){ -n=gc_free120; -gc_free120=n->header.next; +if(gc_free123!=NULL){ +n=gc_free123; +gc_free123=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk120=c; -*store_chunk120=H120; -store120=((gc120*)(&(store_chunk120->first_object))); -store_left120=H120.count_minus_one; -n=store120++; +store_chunk123=c; +*store_chunk123=H123; +store123=((gc123*)(&(store_chunk123->first_object))); +store_left123=H123.count_minus_one; +n=store123++; } } n->header.flag=FSOH_UNMARKED; -n->object=M120; -return((T120*)n); +n->object=M123; +return((T123*)n); }/*--*/ -void gc_mark293(T293 o){ +void gc_mark337(T337 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -12607,28 +12087,28 @@ e=*p; }}}} }/*--*/ -T293 new293(unsigned int size){ +T337 new337(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env293.store_left)){ -rsoh*r=na_env293.store; -na_env293.store_left-=size; -if(na_env293.store_left>sizeof(rsoh)){ +if (size<=(na_env337.store_left)){ +rsoh*r=na_env337.store; +na_env337.store_left-=size; +if(na_env337.store_left>sizeof(rsoh)){ r->header.size=size; -na_env293.store=((rsoh*)(((char*)(na_env293.store))+size)); +na_env337.store=((rsoh*)(((char*)(na_env337.store))+size)); } else { -r->header.size=size+na_env293.store_left; -na_env293.store_left=0; +r->header.size=size+na_env337.store_left; +na_env337.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T293)(r+1)); +return((T337)(r+1)); } -return((T293)new_na(&na_env293,size)); +return((T337)new_na(&na_env337,size)); }/*--*/ -void gc_mark292(T292 o){ +void gc_mark336(T336 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -12641,28 +12121,28 @@ e=*p; }}}} }/*--*/ -T292 new292(unsigned int size){ +T336 new336(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env292.store_left)){ -rsoh*r=na_env292.store; -na_env292.store_left-=size; -if(na_env292.store_left>sizeof(rsoh)){ +if (size<=(na_env336.store_left)){ +rsoh*r=na_env336.store; +na_env336.store_left-=size; +if(na_env336.store_left>sizeof(rsoh)){ r->header.size=size; -na_env292.store=((rsoh*)(((char*)(na_env292.store))+size)); +na_env336.store=((rsoh*)(((char*)(na_env336.store))+size)); } else { -r->header.size=size+na_env292.store_left; -na_env292.store_left=0; +r->header.size=size+na_env336.store_left; +na_env336.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T292)(r+1)); +return((T336)(r+1)); } -return((T292)new_na(&na_env292,size)); +return((T336)new_na(&na_env336,size)); }/*--*/ -void gc_mark291(T291 o){ +void gc_mark335(T335 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -12675,28 +12155,63 @@ e=*p; }}}} }/*--*/ -T291 new291(unsigned int size){ +T335 new335(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env291.store_left)){ -rsoh*r=na_env291.store; -na_env291.store_left-=size; -if(na_env291.store_left>sizeof(rsoh)){ +if (size<=(na_env335.store_left)){ +rsoh*r=na_env335.store; +na_env335.store_left-=size; +if(na_env335.store_left>sizeof(rsoh)){ r->header.size=size; -na_env291.store=((rsoh*)(((char*)(na_env291.store))+size)); +na_env335.store=((rsoh*)(((char*)(na_env335.store))+size)); } else { -r->header.size=size+na_env291.store_left; -na_env291.store_left=0; +r->header.size=size+na_env335.store_left; +na_env335.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T291)(r+1)); +return((T335)(r+1)); } -return((T291)new_na(&na_env291,size)); +return((T335)new_na(&na_env335,size)); +}/*--*/ + +void gc_mark334(T334 o){ +if(NULL==gc_find_chunk(o)) +return; /* external NA */ +{rsoh*h=((rsoh*)o)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; + {T0* e; +T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); +for(;((void*)p)>=((void*)o);p--){ +e=*p; +if(NULL!=e)gc_mark244((T244*)(e)); +}}}} +}/*--*/ + +T334 new334(unsigned int size){ +size=(size*sizeof(T0*))+sizeof(rsoh); +size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); +if (size<=(na_env334.store_left)){ +rsoh*r=na_env334.store; +na_env334.store_left-=size; +if(na_env334.store_left>sizeof(rsoh)){ +r->header.size=size; +na_env334.store=((rsoh*)(((char*)(na_env334.store))+size)); +} +else { +r->header.size=size+na_env334.store_left; +na_env334.store_left=0; +} +(r->header.magic_flag)=RSOH_UNMARKED; +((void)memset((r+1),0,r->header.size-sizeof(rsoh))); +return((T334)(r+1)); +} +return((T334)new_na(&na_env334,size)); }/*--*/ -void gc_mark290(T290 o){ +void gc_mark333(T333 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -12706,32 +12221,32 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark202((T202*)(e)); +if(NULL!=e)gc_mark290((T290*)(e)); }}}} }/*--*/ -T290 new290(unsigned int size){ +T333 new333(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env290.store_left)){ -rsoh*r=na_env290.store; -na_env290.store_left-=size; -if(na_env290.store_left>sizeof(rsoh)){ +if (size<=(na_env333.store_left)){ +rsoh*r=na_env333.store; +na_env333.store_left-=size; +if(na_env333.store_left>sizeof(rsoh)){ r->header.size=size; -na_env290.store=((rsoh*)(((char*)(na_env290.store))+size)); +na_env333.store=((rsoh*)(((char*)(na_env333.store))+size)); } else { -r->header.size=size+na_env290.store_left; -na_env290.store_left=0; +r->header.size=size+na_env333.store_left; +na_env333.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T290)(r+1)); +return((T333)(r+1)); } -return((T290)new_na(&na_env290,size)); +return((T333)new_na(&na_env333,size)); }/*--*/ -void gc_mark289(T289 o){ +void gc_mark332(T332 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -12741,32 +12256,32 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark246((T246*)(e)); +if(NULL!=e)Xgc_mark72((T0*)(e)); }}}} }/*--*/ -T289 new289(unsigned int size){ +T332 new332(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env289.store_left)){ -rsoh*r=na_env289.store; -na_env289.store_left-=size; -if(na_env289.store_left>sizeof(rsoh)){ +if (size<=(na_env332.store_left)){ +rsoh*r=na_env332.store; +na_env332.store_left-=size; +if(na_env332.store_left>sizeof(rsoh)){ r->header.size=size; -na_env289.store=((rsoh*)(((char*)(na_env289.store))+size)); +na_env332.store=((rsoh*)(((char*)(na_env332.store))+size)); } else { -r->header.size=size+na_env289.store_left; -na_env289.store_left=0; +r->header.size=size+na_env332.store_left; +na_env332.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T289)(r+1)); +return((T332)(r+1)); } -return((T289)new_na(&na_env289,size)); +return((T332)new_na(&na_env332,size)); }/*--*/ -void gc_mark288(T288 o){ +void gc_mark331(T331 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -12776,32 +12291,31 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)Xgc_mark71((T0*)(e)); }}}} }/*--*/ -T288 new288(unsigned int size){ +T331 new331(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env288.store_left)){ -rsoh*r=na_env288.store; -na_env288.store_left-=size; -if(na_env288.store_left>sizeof(rsoh)){ +if (size<=(na_env331.store_left)){ +rsoh*r=na_env331.store; +na_env331.store_left-=size; +if(na_env331.store_left>sizeof(rsoh)){ r->header.size=size; -na_env288.store=((rsoh*)(((char*)(na_env288.store))+size)); +na_env331.store=((rsoh*)(((char*)(na_env331.store))+size)); } else { -r->header.size=size+na_env288.store_left; -na_env288.store_left=0; +r->header.size=size+na_env331.store_left; +na_env331.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T288)(r+1)); +return((T331)(r+1)); } -return((T288)new_na(&na_env288,size)); +return((T331)new_na(&na_env331,size)); }/*--*/ -void gc_mark287(T287 o){ +void gc_mark330(T330 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -12811,62 +12325,62 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark128((T128*)(e)); +if(NULL!=e)gc_mark131((T131*)(e)); }}}} }/*--*/ -T287 new287(unsigned int size){ +T330 new330(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env287.store_left)){ -rsoh*r=na_env287.store; -na_env287.store_left-=size; -if(na_env287.store_left>sizeof(rsoh)){ +if (size<=(na_env330.store_left)){ +rsoh*r=na_env330.store; +na_env330.store_left-=size; +if(na_env330.store_left>sizeof(rsoh)){ r->header.size=size; -na_env287.store=((rsoh*)(((char*)(na_env287.store))+size)); +na_env330.store=((rsoh*)(((char*)(na_env330.store))+size)); } else { -r->header.size=size+na_env287.store_left; -na_env287.store_left=0; +r->header.size=size+na_env330.store_left; +na_env330.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T287)(r+1)); +return((T330)(r+1)); } -return((T287)new_na(&na_env287,size)); +return((T330)new_na(&na_env330,size)); }/*--*/ -void gc_sweep286(fsoc*c){ -gc286*o1,*o2; -o1=((gc286*)(&(c->first_object))); +void gc_sweep329(fsoc*c){ +gc329*o1,*o2; +o1=((gc329*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item_polymorph(&(o1->object._item)); +gc_update_weak_ref_item329(&(o1->object)); } else{ -o1->header.next=gc_free286; -gc_free286=o1; +o1->header.next=gc_free329; +gc_free329=o1; } } } else{ int dead=1; -gc286* old_gc_free = gc_free286; +gc329* old_gc_free = gc_free329; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item_polymorph(&(o1->object._item)); +gc_update_weak_ref_item329(&(o1->object)); dead=0;} else{ -o1->header.next=gc_free286; -gc_free286=o1; +o1->header.next=gc_free329; +gc_free329=o1; } } if (dead){ -gc_free286 = old_gc_free; +gc_free329 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -12874,109 +12388,73 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_update_weak_ref_item_polymorph(T0** item){ -T0* obj_ptr = *item; +void gc_update_weak_ref_item329(T329* wr){ +gc327* obj_ptr = (gc327*)(wr->_item); if (obj_ptr != NULL){ -int obj_size=se_strucT[obj_ptr->id]; -int swept=(((void*)obj_ptr)<=((void*)item)); -obj_ptr = (T0*)(((char*)obj_ptr) + obj_size); -if (swept!=(((fso_header*)obj_ptr)->flag==FSOH_UNMARKED)) +int swept = (((void*)obj_ptr) <= ((void*)wr)); +if (swept != (obj_ptr->header.flag == FSOH_UNMARKED)) /* (already swept) xor marked */ -*item = NULL; +wr->_item = NULL; } }/*--*/ -void gc_mark286(T286*o){ -((gc286*)o)->header.flag=FSOH_MARKED; +void gc_mark329(T329*o){ +((gc329*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark286(fsoc*c,gc286*p){ -gc286*b=((gc286*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store286)))return; +void gc_align_mark329(fsoc*c,gc329*p){ +gc329*b=((gc329*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store329)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T286*o=(&(p->object)); -((gc286*)o)->header.flag=FSOH_MARKED; +T329*o=(&(p->object)); +((gc329*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H286={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark286, -(void(*)(mch*))gc_sweep286},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc286))-1)}; +fsoc H329={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark329, +(void(*)(mch*))gc_sweep329},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc329))-1)}; -T286*new286(void){ -gc286*n; +T329*new329(void){ +gc329*n; fsoc*c; -if(store_left286>1){ -store_left286--; -n=store286++; +if(store_left329>1){ +store_left329--; +n=store329++; } -else if(gc_free286!=NULL){ -n=gc_free286; -gc_free286=n->header.next; +else if(gc_free329!=NULL){ +n=gc_free329; +gc_free329=n->header.next; } -else if(store_left286==1){ -store_left286=0; -store_chunk286->header.state_type=FSO_USED_CHUNK; -n=store286++; +else if(store_left329==1){ +store_left329=0; +store_chunk329->header.state_type=FSO_USED_CHUNK; +n=store329++; } else{ c=gc_fsoc_get1(); -if(gc_free286!=NULL){ -n=gc_free286; -gc_free286=n->header.next; +if(gc_free329!=NULL){ +n=gc_free329; +gc_free329=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk286=c; -*store_chunk286=H286; -store286=((gc286*)(&(store_chunk286->first_object))); -store_left286=H286.count_minus_one; -n=store286++; +store_chunk329=c; +*store_chunk329=H329; +store329=((gc329*)(&(store_chunk329->first_object))); +store_left329=H329.count_minus_one; +n=store329++; } } n->header.flag=FSOH_UNMARKED; -n->object=M286; -return((T286*)n); -}/*--*/ - -void gc_mark284(T284 o){ -if(NULL==gc_find_chunk(o)) -return; /* external NA */ -{rsoh*h=((rsoh*)o)-1; - if((h->header.magic_flag)==RSOH_UNMARKED){ - h->header.magic_flag=RSOH_MARKED; - {T0* e; -T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); -for(;((void*)p)>=((void*)o);p--){ -e=*p; -}}}} +n->object=M329; +return((T329*)n); }/*--*/ -T284 new284(unsigned int size){ -size=(size*sizeof(T0*))+sizeof(rsoh); -size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env284.store_left)){ -rsoh*r=na_env284.store; -na_env284.store_left-=size; -if(na_env284.store_left>sizeof(rsoh)){ -r->header.size=size; -na_env284.store=((rsoh*)(((char*)(na_env284.store))+size)); -} -else { -r->header.size=size+na_env284.store_left; -na_env284.store_left=0; -} -(r->header.magic_flag)=RSOH_UNMARKED; -((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T284)(r+1)); -} -return((T284)new_na(&na_env284,size)); -}/*--*/ - -void gc_mark281(T281 o){ +void gc_mark328(T328 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -12986,62 +12464,60 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark234((T234*)(e)); +if(NULL!=e)gc_mark327((T327*)(e)); }}}} }/*--*/ -T281 new281(unsigned int size){ +T328 new328(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env281.store_left)){ -rsoh*r=na_env281.store; -na_env281.store_left-=size; -if(na_env281.store_left>sizeof(rsoh)){ +if (size<=(na_env328.store_left)){ +rsoh*r=na_env328.store; +na_env328.store_left-=size; +if(na_env328.store_left>sizeof(rsoh)){ r->header.size=size; -na_env281.store=((rsoh*)(((char*)(na_env281.store))+size)); +na_env328.store=((rsoh*)(((char*)(na_env328.store))+size)); } else { -r->header.size=size+na_env281.store_left; -na_env281.store_left=0; +r->header.size=size+na_env328.store_left; +na_env328.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T281)(r+1)); +return((T328)(r+1)); } -return((T281)new_na(&na_env281,size)); +return((T328)new_na(&na_env328,size)); }/*--*/ -void gc_sweep277(fsoc*c){ -gc277*o1,*o2; -o1=((gc277*)(&(c->first_object))); +void gc_sweep327(fsoc*c){ +gc327*o1,*o2; +o1=((gc327*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item_polymorph(&(o1->object._item)); } else{ -o1->header.next=gc_free277; -gc_free277=o1; +o1->header.next=gc_free327; +gc_free327=o1; } } } else{ int dead=1; -gc277* old_gc_free = gc_free277; +gc327* old_gc_free = gc_free327; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item_polymorph(&(o1->object._item)); dead=0;} else{ -o1->header.next=gc_free277; -gc_free277=o1; +o1->header.next=gc_free327; +gc_free327=o1; } } if (dead){ -gc_free277 = old_gc_free; +gc_free327 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -13049,114 +12525,90 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark277(T277*o){ -((gc277*)o)->header.flag=FSOH_MARKED; +void gc_mark327(T327*o){ +begin: +if(((gc327*)o)->header.flag==FSOH_UNMARKED){ +((gc327*)o)->header.flag=FSOH_MARKED; +/*3p*/if(NULL!=o->_item)gc_mark73((T73*)(o->_item)); +o=(void*)o->_next; +if((o!=NULL))goto begin; +} }/*--*/ -void gc_align_mark277(fsoc*c,gc277*p){ -gc277*b=((gc277*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store277)))return; +void gc_align_mark327(fsoc*c,gc327*p){ +gc327*b=((gc327*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store327)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T277*o=(&(p->object)); -((gc277*)o)->header.flag=FSOH_MARKED; +T327*o=(&(p->object)); +begin: +((gc327*)o)->header.flag=FSOH_MARKED; +/*3p*/if(NULL!=o->_item)gc_mark73((T73*)(o->_item)); +o=(void*)o->_next; +if((o!=NULL)&&(((gc327*)o)->header.flag==FSOH_UNMARKED))goto begin; } } }/*--*/ -fsoc H277={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark277, -(void(*)(mch*))gc_sweep277},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc277))-1)}; +fsoc H327={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark327, +(void(*)(mch*))gc_sweep327},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc327))-1)}; -T277*new277(void){ -gc277*n; +T327*new327(void){ +gc327*n; fsoc*c; -if(store_left277>1){ -store_left277--; -n=store277++; -} -else if(gc_free277!=NULL){ -n=gc_free277; -gc_free277=n->header.next; +if(store_left327>1){ +store_left327--; +n=store327++; } -else if(store_left277==1){ -store_left277=0; -store_chunk277->header.state_type=FSO_USED_CHUNK; -n=store277++; +else if(gc_free327!=NULL){ +n=gc_free327; +gc_free327=n->header.next; } -else{ -c=gc_fsoc_get1(); -if(gc_free277!=NULL){ -n=gc_free277; -gc_free277=n->header.next; +else if(store_left327==1){ +store_left327=0; +store_chunk327->header.state_type=FSO_USED_CHUNK; +n=store327++; } else{ -if(c==NULL)c=gc_fsoc_get2(); -store_chunk277=c; -*store_chunk277=H277; -store277=((gc277*)(&(store_chunk277->first_object))); -store_left277=H277.count_minus_one; -n=store277++; -} -} -n->header.flag=FSOH_UNMARKED; -n->object=M277; -return((T277*)n); -}/*--*/ - -void gc_mark276(T276 o){ -if(NULL==gc_find_chunk(o)) -return; /* external NA */ -{rsoh*h=((rsoh*)o)-1; - if((h->header.magic_flag)==RSOH_UNMARKED){ - h->header.magic_flag=RSOH_MARKED; - {T0* e; -T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); -for(;((void*)p)>=((void*)o);p--){ -e=*p; -}}}} -}/*--*/ - -T276 new276(unsigned int size){ -size=(size*sizeof(T0*))+sizeof(rsoh); -size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env276.store_left)){ -rsoh*r=na_env276.store; -na_env276.store_left-=size; -if(na_env276.store_left>sizeof(rsoh)){ -r->header.size=size; -na_env276.store=((rsoh*)(((char*)(na_env276.store))+size)); +c=gc_fsoc_get1(); +if(gc_free327!=NULL){ +n=gc_free327; +gc_free327=n->header.next; } -else { -r->header.size=size+na_env276.store_left; -na_env276.store_left=0; +else{ +if(c==NULL)c=gc_fsoc_get2(); +store_chunk327=c; +*store_chunk327=H327; +store327=((gc327*)(&(store_chunk327->first_object))); +store_left327=H327.count_minus_one; +n=store327++; } -(r->header.magic_flag)=RSOH_UNMARKED; -((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T276)(r+1)); } -return((T276)new_na(&na_env276,size)); +n->header.flag=FSOH_UNMARKED; +n->object=M327; +return((T327*)n); }/*--*/ -void gc_sweep271(fsoc*c){ -gc271*o1,*o2; -o1=((gc271*)(&(c->first_object))); +void gc_sweep326(fsoc*c){ +gc326*o1,*o2; +o1=((gc326*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; gc_update_weak_ref_item_polymorph(&(o1->object._item)); } else{ -o1->header.next=gc_free271; -gc_free271=o1; +o1->header.next=gc_free326; +gc_free326=o1; } } } else{ int dead=1; -gc271* old_gc_free = gc_free271; +gc326* old_gc_free = gc_free326; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ @@ -13164,12 +12616,12 @@ o1->header.flag=FSOH_UNMARKED; gc_update_weak_ref_item_polymorph(&(o1->object._item)); dead=0;} else{ -o1->header.next=gc_free271; -gc_free271=o1; +o1->header.next=gc_free326; +gc_free326=o1; } } if (dead){ -gc_free271 = old_gc_free; +gc_free326 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -13177,63 +12629,75 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark271(T271*o){ -((gc271*)o)->header.flag=FSOH_MARKED; +void gc_update_weak_ref_item_polymorph(T0** item){ +T0* obj_ptr = *item; +if (obj_ptr != NULL){ +int obj_size=se_strucT[obj_ptr->id]; +int swept=(((void*)obj_ptr)<=((void*)item)); +obj_ptr = (T0*)(((char*)obj_ptr) + obj_size); +if (swept!=(((fso_header*)obj_ptr)->flag==FSOH_UNMARKED)) +/* (already swept) xor marked */ +*item = NULL; +} }/*--*/ -void gc_align_mark271(fsoc*c,gc271*p){ -gc271*b=((gc271*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store271)))return; +void gc_mark326(T326*o){ +((gc326*)o)->header.flag=FSOH_MARKED; +}/*--*/ + +void gc_align_mark326(fsoc*c,gc326*p){ +gc326*b=((gc326*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store326)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T271*o=(&(p->object)); -((gc271*)o)->header.flag=FSOH_MARKED; +T326*o=(&(p->object)); +((gc326*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H271={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark271, -(void(*)(mch*))gc_sweep271},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc271))-1)}; +fsoc H326={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark326, +(void(*)(mch*))gc_sweep326},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc326))-1)}; -T271*new271(void){ -gc271*n; +T326*new326(void){ +gc326*n; fsoc*c; -if(store_left271>1){ -store_left271--; -n=store271++; +if(store_left326>1){ +store_left326--; +n=store326++; } -else if(gc_free271!=NULL){ -n=gc_free271; -gc_free271=n->header.next; +else if(gc_free326!=NULL){ +n=gc_free326; +gc_free326=n->header.next; } -else if(store_left271==1){ -store_left271=0; -store_chunk271->header.state_type=FSO_USED_CHUNK; -n=store271++; +else if(store_left326==1){ +store_left326=0; +store_chunk326->header.state_type=FSO_USED_CHUNK; +n=store326++; } else{ c=gc_fsoc_get1(); -if(gc_free271!=NULL){ -n=gc_free271; -gc_free271=n->header.next; +if(gc_free326!=NULL){ +n=gc_free326; +gc_free326=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk271=c; -*store_chunk271=H271; -store271=((gc271*)(&(store_chunk271->first_object))); -store_left271=H271.count_minus_one; -n=store271++; +store_chunk326=c; +*store_chunk326=H326; +store326=((gc326*)(&(store_chunk326->first_object))); +store_left326=H326.count_minus_one; +n=store326++; } } n->header.flag=FSOH_UNMARKED; -n->object=M271; -return((T271*)n); +n->object=M326; +return((T326*)n); }/*--*/ -void gc_mark270(T270 o){ +void gc_mark324(T324 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -13246,58 +12710,93 @@ e=*p; }}}} }/*--*/ -T270 new270(unsigned int size){ +T324 new324(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env270.store_left)){ -rsoh*r=na_env270.store; -na_env270.store_left-=size; -if(na_env270.store_left>sizeof(rsoh)){ +if (size<=(na_env324.store_left)){ +rsoh*r=na_env324.store; +na_env324.store_left-=size; +if(na_env324.store_left>sizeof(rsoh)){ r->header.size=size; -na_env270.store=((rsoh*)(((char*)(na_env270.store))+size)); +na_env324.store=((rsoh*)(((char*)(na_env324.store))+size)); } else { -r->header.size=size+na_env270.store_left; -na_env270.store_left=0; +r->header.size=size+na_env324.store_left; +na_env324.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T270)(r+1)); +return((T324)(r+1)); } -return((T270)new_na(&na_env270,size)); +return((T324)new_na(&na_env324,size)); }/*--*/ -void gc_sweep268(fsoc*c){ -gc268*o1,*o2; -o1=((gc268*)(&(c->first_object))); +void gc_mark321(T321 o){ +if(NULL==gc_find_chunk(o)) +return; /* external NA */ +{rsoh*h=((rsoh*)o)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; + {T0* e; +T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); +for(;((void*)p)>=((void*)o);p--){ +e=*p; +if(NULL!=e)gc_mark275((T275*)(e)); +}}}} +}/*--*/ + +T321 new321(unsigned int size){ +size=(size*sizeof(T0*))+sizeof(rsoh); +size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); +if (size<=(na_env321.store_left)){ +rsoh*r=na_env321.store; +na_env321.store_left-=size; +if(na_env321.store_left>sizeof(rsoh)){ +r->header.size=size; +na_env321.store=((rsoh*)(((char*)(na_env321.store))+size)); +} +else { +r->header.size=size+na_env321.store_left; +na_env321.store_left=0; +} +(r->header.magic_flag)=RSOH_UNMARKED; +((void)memset((r+1),0,r->header.size-sizeof(rsoh))); +return((T321)(r+1)); +} +return((T321)new_na(&na_env321,size)); +}/*--*/ + +void gc_sweep317(fsoc*c){ +gc317*o1,*o2; +o1=((gc317*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item268(&(o1->object)); +gc_update_weak_ref_item_polymorph(&(o1->object._item)); } else{ -o1->header.next=gc_free268; -gc_free268=o1; +o1->header.next=gc_free317; +gc_free317=o1; } } } else{ int dead=1; -gc268* old_gc_free = gc_free268; +gc317* old_gc_free = gc_free317; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item268(&(o1->object)); +gc_update_weak_ref_item_polymorph(&(o1->object._item)); dead=0;} else{ -o1->header.next=gc_free268; -gc_free268=o1; +o1->header.next=gc_free317; +gc_free317=o1; } } if (dead){ -gc_free268 = old_gc_free; +gc_free317 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -13305,73 +12804,63 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_update_weak_ref_item268(T268* wr){ -gc266* obj_ptr = (gc266*)(wr->_item); -if (obj_ptr != NULL){ -int swept = (((void*)obj_ptr) <= ((void*)wr)); -if (swept != (obj_ptr->header.flag == FSOH_UNMARKED)) -/* (already swept) xor marked */ -wr->_item = NULL; -} -}/*--*/ - -void gc_mark268(T268*o){ -((gc268*)o)->header.flag=FSOH_MARKED; +void gc_mark317(T317*o){ +((gc317*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark268(fsoc*c,gc268*p){ -gc268*b=((gc268*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store268)))return; +void gc_align_mark317(fsoc*c,gc317*p){ +gc317*b=((gc317*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store317)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T268*o=(&(p->object)); -((gc268*)o)->header.flag=FSOH_MARKED; +T317*o=(&(p->object)); +((gc317*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H268={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark268, -(void(*)(mch*))gc_sweep268},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc268))-1)}; +fsoc H317={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark317, +(void(*)(mch*))gc_sweep317},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc317))-1)}; -T268*new268(void){ -gc268*n; +T317*new317(void){ +gc317*n; fsoc*c; -if(store_left268>1){ -store_left268--; -n=store268++; +if(store_left317>1){ +store_left317--; +n=store317++; } -else if(gc_free268!=NULL){ -n=gc_free268; -gc_free268=n->header.next; +else if(gc_free317!=NULL){ +n=gc_free317; +gc_free317=n->header.next; } -else if(store_left268==1){ -store_left268=0; -store_chunk268->header.state_type=FSO_USED_CHUNK; -n=store268++; +else if(store_left317==1){ +store_left317=0; +store_chunk317->header.state_type=FSO_USED_CHUNK; +n=store317++; } else{ c=gc_fsoc_get1(); -if(gc_free268!=NULL){ -n=gc_free268; -gc_free268=n->header.next; +if(gc_free317!=NULL){ +n=gc_free317; +gc_free317=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk268=c; -*store_chunk268=H268; -store268=((gc268*)(&(store_chunk268->first_object))); -store_left268=H268.count_minus_one; -n=store268++; +store_chunk317=c; +*store_chunk317=H317; +store317=((gc317*)(&(store_chunk317->first_object))); +store_left317=H317.count_minus_one; +n=store317++; } } n->header.flag=FSOH_UNMARKED; -n->object=M268; -return((T268*)n); +n->object=M317; +return((T317*)n); }/*--*/ -void gc_mark267(T267 o){ +void gc_mark316(T316 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -13381,60 +12870,61 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark266((T266*)(e)); }}}} }/*--*/ -T267 new267(unsigned int size){ +T316 new316(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env267.store_left)){ -rsoh*r=na_env267.store; -na_env267.store_left-=size; -if(na_env267.store_left>sizeof(rsoh)){ +if (size<=(na_env316.store_left)){ +rsoh*r=na_env316.store; +na_env316.store_left-=size; +if(na_env316.store_left>sizeof(rsoh)){ r->header.size=size; -na_env267.store=((rsoh*)(((char*)(na_env267.store))+size)); +na_env316.store=((rsoh*)(((char*)(na_env316.store))+size)); } else { -r->header.size=size+na_env267.store_left; -na_env267.store_left=0; +r->header.size=size+na_env316.store_left; +na_env316.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T267)(r+1)); +return((T316)(r+1)); } -return((T267)new_na(&na_env267,size)); +return((T316)new_na(&na_env316,size)); }/*--*/ -void gc_sweep266(fsoc*c){ -gc266*o1,*o2; -o1=((gc266*)(&(c->first_object))); +void gc_sweep311(fsoc*c){ +gc311*o1,*o2; +o1=((gc311*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; +gc_update_weak_ref_item_polymorph(&(o1->object._item)); } else{ -o1->header.next=gc_free266; -gc_free266=o1; +o1->header.next=gc_free311; +gc_free311=o1; } } } else{ int dead=1; -gc266* old_gc_free = gc_free266; +gc311* old_gc_free = gc_free311; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; +gc_update_weak_ref_item_polymorph(&(o1->object._item)); dead=0;} else{ -o1->header.next=gc_free266; -gc_free266=o1; +o1->header.next=gc_free311; +gc_free311=o1; } } if (dead){ -gc_free266 = old_gc_free; +gc_free311 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -13442,103 +12932,127 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark266(T266*o){ -begin: -if(((gc266*)o)->header.flag==FSOH_UNMARKED){ -((gc266*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_item)gc_mark72((T72*)(o->_item)); -o=(void*)o->_next; -if((o!=NULL))goto begin; -} +void gc_mark311(T311*o){ +((gc311*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark266(fsoc*c,gc266*p){ -gc266*b=((gc266*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store266)))return; +void gc_align_mark311(fsoc*c,gc311*p){ +gc311*b=((gc311*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store311)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T266*o=(&(p->object)); -begin: -((gc266*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_item)gc_mark72((T72*)(o->_item)); -o=(void*)o->_next; -if((o!=NULL)&&(((gc266*)o)->header.flag==FSOH_UNMARKED))goto begin; +T311*o=(&(p->object)); +((gc311*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H266={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark266, -(void(*)(mch*))gc_sweep266},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc266))-1)}; +fsoc H311={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark311, +(void(*)(mch*))gc_sweep311},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc311))-1)}; -T266*new266(void){ -gc266*n; +T311*new311(void){ +gc311*n; fsoc*c; -if(store_left266>1){ -store_left266--; -n=store266++; +if(store_left311>1){ +store_left311--; +n=store311++; } -else if(gc_free266!=NULL){ -n=gc_free266; -gc_free266=n->header.next; +else if(gc_free311!=NULL){ +n=gc_free311; +gc_free311=n->header.next; } -else if(store_left266==1){ -store_left266=0; -store_chunk266->header.state_type=FSO_USED_CHUNK; -n=store266++; +else if(store_left311==1){ +store_left311=0; +store_chunk311->header.state_type=FSO_USED_CHUNK; +n=store311++; } else{ c=gc_fsoc_get1(); -if(gc_free266!=NULL){ -n=gc_free266; -gc_free266=n->header.next; +if(gc_free311!=NULL){ +n=gc_free311; +gc_free311=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk266=c; -*store_chunk266=H266; -store266=((gc266*)(&(store_chunk266->first_object))); -store_left266=H266.count_minus_one; -n=store266++; +store_chunk311=c; +*store_chunk311=H311; +store311=((gc311*)(&(store_chunk311->first_object))); +store_left311=H311.count_minus_one; +n=store311++; } } n->header.flag=FSOH_UNMARKED; -n->object=M266; -return((T266*)n); +n->object=M311; +return((T311*)n); }/*--*/ -void gc_sweep265(fsoc*c){ -gc265*o1,*o2; -o1=((gc265*)(&(c->first_object))); +void gc_mark310(T310 o){ +if(NULL==gc_find_chunk(o)) +return; /* external NA */ +{rsoh*h=((rsoh*)o)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; + {T0* e; +T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); +for(;((void*)p)>=((void*)o);p--){ +e=*p; +}}}} +}/*--*/ + +T310 new310(unsigned int size){ +size=(size*sizeof(T0*))+sizeof(rsoh); +size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); +if (size<=(na_env310.store_left)){ +rsoh*r=na_env310.store; +na_env310.store_left-=size; +if(na_env310.store_left>sizeof(rsoh)){ +r->header.size=size; +na_env310.store=((rsoh*)(((char*)(na_env310.store))+size)); +} +else { +r->header.size=size+na_env310.store_left; +na_env310.store_left=0; +} +(r->header.magic_flag)=RSOH_UNMARKED; +((void)memset((r+1),0,r->header.size-sizeof(rsoh))); +return((T310)(r+1)); +} +return((T310)new_na(&na_env310,size)); +}/*--*/ + +void gc_sweep308(fsoc*c){ +gc308*o1,*o2; +o1=((gc308*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item265(&(o1->object)); +gc_update_weak_ref_item308(&(o1->object)); } else{ -o1->header.next=gc_free265; -gc_free265=o1; +o1->header.next=gc_free308; +gc_free308=o1; } } } else{ int dead=1; -gc265* old_gc_free = gc_free265; +gc308* old_gc_free = gc_free308; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item265(&(o1->object)); +gc_update_weak_ref_item308(&(o1->object)); dead=0;} else{ -o1->header.next=gc_free265; -gc_free265=o1; +o1->header.next=gc_free308; +gc_free308=o1; } } if (dead){ -gc_free265 = old_gc_free; +gc_free308 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -13546,8 +13060,8 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_update_weak_ref_item265(T265* wr){ -gc264* obj_ptr = (gc264*)(wr->_item); +void gc_update_weak_ref_item308(T308* wr){ +gc307* obj_ptr = (gc307*)(wr->_item); if (obj_ptr != NULL){ int swept = (((void*)obj_ptr) <= ((void*)wr)); if (swept != (obj_ptr->header.flag == FSOH_UNMARKED)) @@ -13556,91 +13070,91 @@ wr->_item = NULL; } }/*--*/ -void gc_mark265(T265*o){ -((gc265*)o)->header.flag=FSOH_MARKED; +void gc_mark308(T308*o){ +((gc308*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark265(fsoc*c,gc265*p){ -gc265*b=((gc265*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store265)))return; +void gc_align_mark308(fsoc*c,gc308*p){ +gc308*b=((gc308*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store308)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T265*o=(&(p->object)); -((gc265*)o)->header.flag=FSOH_MARKED; +T308*o=(&(p->object)); +((gc308*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H265={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark265, -(void(*)(mch*))gc_sweep265},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc265))-1)}; +fsoc H308={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark308, +(void(*)(mch*))gc_sweep308},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc308))-1)}; -T265*new265(void){ -gc265*n; +T308*new308(void){ +gc308*n; fsoc*c; -if(store_left265>1){ -store_left265--; -n=store265++; +if(store_left308>1){ +store_left308--; +n=store308++; } -else if(gc_free265!=NULL){ -n=gc_free265; -gc_free265=n->header.next; +else if(gc_free308!=NULL){ +n=gc_free308; +gc_free308=n->header.next; } -else if(store_left265==1){ -store_left265=0; -store_chunk265->header.state_type=FSO_USED_CHUNK; -n=store265++; +else if(store_left308==1){ +store_left308=0; +store_chunk308->header.state_type=FSO_USED_CHUNK; +n=store308++; } else{ c=gc_fsoc_get1(); -if(gc_free265!=NULL){ -n=gc_free265; -gc_free265=n->header.next; +if(gc_free308!=NULL){ +n=gc_free308; +gc_free308=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk265=c; -*store_chunk265=H265; -store265=((gc265*)(&(store_chunk265->first_object))); -store_left265=H265.count_minus_one; -n=store265++; +store_chunk308=c; +*store_chunk308=H308; +store308=((gc308*)(&(store_chunk308->first_object))); +store_left308=H308.count_minus_one; +n=store308++; } } n->header.flag=FSOH_UNMARKED; -n->object=M265; -return((T265*)n); +n->object=M308; +return((T308*)n); }/*--*/ -void gc_sweep264(fsoc*c){ -gc264*o1,*o2; -o1=((gc264*)(&(c->first_object))); +void gc_sweep307(fsoc*c){ +gc307*o1,*o2; +o1=((gc307*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free264; -gc_free264=o1; +o1->header.next=gc_free307; +gc_free307=o1; } } } else{ int dead=1; -gc264* old_gc_free = gc_free264; +gc307* old_gc_free = gc_free307; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free264; -gc_free264=o1; +o1->header.next=gc_free307; +gc_free307=o1; } } if (dead){ -gc_free264 = old_gc_free; +gc_free307 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -13648,108 +13162,73 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark264(T264*o){ +void gc_mark307(T307*o){ begin: -if(((gc264*)o)->header.flag==FSOH_UNMARKED){ -((gc264*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_item)gc_mark67((T67*)(o->_item)); +if(((gc307*)o)->header.flag==FSOH_UNMARKED){ +((gc307*)o)->header.flag=FSOH_MARKED; +/*3p*/if(NULL!=o->_item)gc_mark68((T68*)(o->_item)); o=(void*)o->_next; if((o!=NULL))goto begin; } }/*--*/ -void gc_align_mark264(fsoc*c,gc264*p){ -gc264*b=((gc264*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store264)))return; +void gc_align_mark307(fsoc*c,gc307*p){ +gc307*b=((gc307*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store307)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T264*o=(&(p->object)); +T307*o=(&(p->object)); begin: -((gc264*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_item)gc_mark67((T67*)(o->_item)); +((gc307*)o)->header.flag=FSOH_MARKED; +/*3p*/if(NULL!=o->_item)gc_mark68((T68*)(o->_item)); o=(void*)o->_next; -if((o!=NULL)&&(((gc264*)o)->header.flag==FSOH_UNMARKED))goto begin; +if((o!=NULL)&&(((gc307*)o)->header.flag==FSOH_UNMARKED))goto begin; } } }/*--*/ -fsoc H264={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark264, -(void(*)(mch*))gc_sweep264},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc264))-1)}; +fsoc H307={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark307, +(void(*)(mch*))gc_sweep307},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc307))-1)}; -T264*new264(void){ -gc264*n; +T307*new307(void){ +gc307*n; fsoc*c; -if(store_left264>1){ -store_left264--; -n=store264++; +if(store_left307>1){ +store_left307--; +n=store307++; } -else if(gc_free264!=NULL){ -n=gc_free264; -gc_free264=n->header.next; +else if(gc_free307!=NULL){ +n=gc_free307; +gc_free307=n->header.next; } -else if(store_left264==1){ -store_left264=0; -store_chunk264->header.state_type=FSO_USED_CHUNK; -n=store264++; +else if(store_left307==1){ +store_left307=0; +store_chunk307->header.state_type=FSO_USED_CHUNK; +n=store307++; } else{ c=gc_fsoc_get1(); -if(gc_free264!=NULL){ -n=gc_free264; -gc_free264=n->header.next; +if(gc_free307!=NULL){ +n=gc_free307; +gc_free307=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk264=c; -*store_chunk264=H264; -store264=((gc264*)(&(store_chunk264->first_object))); -store_left264=H264.count_minus_one; -n=store264++; +store_chunk307=c; +*store_chunk307=H307; +store307=((gc307*)(&(store_chunk307->first_object))); +store_left307=H307.count_minus_one; +n=store307++; } } n->header.flag=FSOH_UNMARKED; -n->object=M264; -return((T264*)n); -}/*--*/ - -void gc_mark263(T263 o){ -if(NULL==gc_find_chunk(o)) -return; /* external NA */ -{rsoh*h=((rsoh*)o)-1; - if((h->header.magic_flag)==RSOH_UNMARKED){ - h->header.magic_flag=RSOH_MARKED; - {T0* e; -T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); -for(;((void*)p)>=((void*)o);p--){ -e=*p; -if(NULL!=e)gc_mark264((T264*)(e)); -}}}} -}/*--*/ - -T263 new263(unsigned int size){ -size=(size*sizeof(T0*))+sizeof(rsoh); -size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env263.store_left)){ -rsoh*r=na_env263.store; -na_env263.store_left-=size; -if(na_env263.store_left>sizeof(rsoh)){ -r->header.size=size; -na_env263.store=((rsoh*)(((char*)(na_env263.store))+size)); -} -else { -r->header.size=size+na_env263.store_left; -na_env263.store_left=0; -} -(r->header.magic_flag)=RSOH_UNMARKED; -((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T263)(r+1)); -} -return((T263)new_na(&na_env263,size)); +n->object=M307; +return((T307*)n); }/*--*/ -void gc_mark262(T262 o){ +void gc_mark306(T306 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -13759,31 +13238,32 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; +if(NULL!=e)gc_mark307((T307*)(e)); }}}} }/*--*/ -T262 new262(unsigned int size){ +T306 new306(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env262.store_left)){ -rsoh*r=na_env262.store; -na_env262.store_left-=size; -if(na_env262.store_left>sizeof(rsoh)){ +if (size<=(na_env306.store_left)){ +rsoh*r=na_env306.store; +na_env306.store_left-=size; +if(na_env306.store_left>sizeof(rsoh)){ r->header.size=size; -na_env262.store=((rsoh*)(((char*)(na_env262.store))+size)); +na_env306.store=((rsoh*)(((char*)(na_env306.store))+size)); } else { -r->header.size=size+na_env262.store_left; -na_env262.store_left=0; +r->header.size=size+na_env306.store_left; +na_env306.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T262)(r+1)); +return((T306)(r+1)); } -return((T262)new_na(&na_env262,size)); +return((T306)new_na(&na_env306,size)); }/*--*/ -void gc_mark261(T261 o){ +void gc_mark305(T305 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -13793,32 +13273,32 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark139((T139*)(e)); +if(NULL!=e)gc_mark146((T146*)(e)); }}}} }/*--*/ -T261 new261(unsigned int size){ +T305 new305(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env261.store_left)){ -rsoh*r=na_env261.store; -na_env261.store_left-=size; -if(na_env261.store_left>sizeof(rsoh)){ +if (size<=(na_env305.store_left)){ +rsoh*r=na_env305.store; +na_env305.store_left-=size; +if(na_env305.store_left>sizeof(rsoh)){ r->header.size=size; -na_env261.store=((rsoh*)(((char*)(na_env261.store))+size)); +na_env305.store=((rsoh*)(((char*)(na_env305.store))+size)); } else { -r->header.size=size+na_env261.store_left; -na_env261.store_left=0; +r->header.size=size+na_env305.store_left; +na_env305.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T261)(r+1)); +return((T305)(r+1)); } -return((T261)new_na(&na_env261,size)); +return((T305)new_na(&na_env305,size)); }/*--*/ -void gc_mark260(T260 o){ +void gc_mark304(T304 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -13828,32 +13308,32 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark142((T142*)(e)); +if(NULL!=e)gc_mark149((T149*)(e)); }}}} }/*--*/ -T260 new260(unsigned int size){ +T304 new304(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env260.store_left)){ -rsoh*r=na_env260.store; -na_env260.store_left-=size; -if(na_env260.store_left>sizeof(rsoh)){ +if (size<=(na_env304.store_left)){ +rsoh*r=na_env304.store; +na_env304.store_left-=size; +if(na_env304.store_left>sizeof(rsoh)){ r->header.size=size; -na_env260.store=((rsoh*)(((char*)(na_env260.store))+size)); +na_env304.store=((rsoh*)(((char*)(na_env304.store))+size)); } else { -r->header.size=size+na_env260.store_left; -na_env260.store_left=0; +r->header.size=size+na_env304.store_left; +na_env304.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T260)(r+1)); +return((T304)(r+1)); } -return((T260)new_na(&na_env260,size)); +return((T304)new_na(&na_env304,size)); }/*--*/ -void gc_mark259(T259 o){ +void gc_mark303(T303 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -13863,62 +13343,62 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark141((T141*)(e)); +if(NULL!=e)gc_mark148((T148*)(e)); }}}} }/*--*/ -T259 new259(unsigned int size){ +T303 new303(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env259.store_left)){ -rsoh*r=na_env259.store; -na_env259.store_left-=size; -if(na_env259.store_left>sizeof(rsoh)){ +if (size<=(na_env303.store_left)){ +rsoh*r=na_env303.store; +na_env303.store_left-=size; +if(na_env303.store_left>sizeof(rsoh)){ r->header.size=size; -na_env259.store=((rsoh*)(((char*)(na_env259.store))+size)); +na_env303.store=((rsoh*)(((char*)(na_env303.store))+size)); } else { -r->header.size=size+na_env259.store_left; -na_env259.store_left=0; +r->header.size=size+na_env303.store_left; +na_env303.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T259)(r+1)); +return((T303)(r+1)); } -return((T259)new_na(&na_env259,size)); +return((T303)new_na(&na_env303,size)); }/*--*/ -void gc_sweep258(fsoc*c){ -gc258*o1,*o2; -o1=((gc258*)(&(c->first_object))); +void gc_sweep302(fsoc*c){ +gc302*o1,*o2; +o1=((gc302*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item258(&(o1->object)); +gc_update_weak_ref_item302(&(o1->object)); } else{ -o1->header.next=gc_free258; -gc_free258=o1; +o1->header.next=gc_free302; +gc_free302=o1; } } } else{ int dead=1; -gc258* old_gc_free = gc_free258; +gc302* old_gc_free = gc_free302; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item258(&(o1->object)); +gc_update_weak_ref_item302(&(o1->object)); dead=0;} else{ -o1->header.next=gc_free258; -gc_free258=o1; +o1->header.next=gc_free302; +gc_free302=o1; } } if (dead){ -gc_free258 = old_gc_free; +gc_free302 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -13926,8 +13406,8 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_update_weak_ref_item258(T258* wr){ -gc256* obj_ptr = (gc256*)(wr->_item); +void gc_update_weak_ref_item302(T302* wr){ +gc300* obj_ptr = (gc300*)(wr->_item); if (obj_ptr != NULL){ int swept = (((void*)obj_ptr) <= ((void*)wr)); if (swept != (obj_ptr->header.flag == FSOH_UNMARKED)) @@ -13936,63 +13416,63 @@ wr->_item = NULL; } }/*--*/ -void gc_mark258(T258*o){ -((gc258*)o)->header.flag=FSOH_MARKED; +void gc_mark302(T302*o){ +((gc302*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark258(fsoc*c,gc258*p){ -gc258*b=((gc258*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store258)))return; +void gc_align_mark302(fsoc*c,gc302*p){ +gc302*b=((gc302*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store302)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T258*o=(&(p->object)); -((gc258*)o)->header.flag=FSOH_MARKED; +T302*o=(&(p->object)); +((gc302*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H258={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark258, -(void(*)(mch*))gc_sweep258},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc258))-1)}; +fsoc H302={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark302, +(void(*)(mch*))gc_sweep302},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc302))-1)}; -T258*new258(void){ -gc258*n; +T302*new302(void){ +gc302*n; fsoc*c; -if(store_left258>1){ -store_left258--; -n=store258++; +if(store_left302>1){ +store_left302--; +n=store302++; } -else if(gc_free258!=NULL){ -n=gc_free258; -gc_free258=n->header.next; +else if(gc_free302!=NULL){ +n=gc_free302; +gc_free302=n->header.next; } -else if(store_left258==1){ -store_left258=0; -store_chunk258->header.state_type=FSO_USED_CHUNK; -n=store258++; +else if(store_left302==1){ +store_left302=0; +store_chunk302->header.state_type=FSO_USED_CHUNK; +n=store302++; } else{ c=gc_fsoc_get1(); -if(gc_free258!=NULL){ -n=gc_free258; -gc_free258=n->header.next; +if(gc_free302!=NULL){ +n=gc_free302; +gc_free302=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk258=c; -*store_chunk258=H258; -store258=((gc258*)(&(store_chunk258->first_object))); -store_left258=H258.count_minus_one; -n=store258++; +store_chunk302=c; +*store_chunk302=H302; +store302=((gc302*)(&(store_chunk302->first_object))); +store_left302=H302.count_minus_one; +n=store302++; } } n->header.flag=FSOH_UNMARKED; -n->object=M258; -return((T258*)n); +n->object=M302; +return((T302*)n); }/*--*/ -void gc_mark257(T257 o){ +void gc_mark301(T301 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -14002,60 +13482,60 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark256((T256*)(e)); +if(NULL!=e)gc_mark300((T300*)(e)); }}}} }/*--*/ -T257 new257(unsigned int size){ +T301 new301(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env257.store_left)){ -rsoh*r=na_env257.store; -na_env257.store_left-=size; -if(na_env257.store_left>sizeof(rsoh)){ +if (size<=(na_env301.store_left)){ +rsoh*r=na_env301.store; +na_env301.store_left-=size; +if(na_env301.store_left>sizeof(rsoh)){ r->header.size=size; -na_env257.store=((rsoh*)(((char*)(na_env257.store))+size)); +na_env301.store=((rsoh*)(((char*)(na_env301.store))+size)); } else { -r->header.size=size+na_env257.store_left; -na_env257.store_left=0; +r->header.size=size+na_env301.store_left; +na_env301.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T257)(r+1)); +return((T301)(r+1)); } -return((T257)new_na(&na_env257,size)); +return((T301)new_na(&na_env301,size)); }/*--*/ -void gc_sweep256(fsoc*c){ -gc256*o1,*o2; -o1=((gc256*)(&(c->first_object))); +void gc_sweep300(fsoc*c){ +gc300*o1,*o2; +o1=((gc300*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free256; -gc_free256=o1; +o1->header.next=gc_free300; +gc_free300=o1; } } } else{ int dead=1; -gc256* old_gc_free = gc_free256; +gc300* old_gc_free = gc_free300; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free256; -gc_free256=o1; +o1->header.next=gc_free300; +gc_free300=o1; } } if (dead){ -gc_free256 = old_gc_free; +gc_free300 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -14063,75 +13543,75 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark256(T256*o){ +void gc_mark300(T300*o){ begin: -if(((gc256*)o)->header.flag==FSOH_UNMARKED){ -((gc256*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_key)gc_mark72((T72*)(o->_key)); -/*3p*/if(NULL!=o->_item)gc_mark217((T217*)(o->_item)); +if(((gc300*)o)->header.flag==FSOH_UNMARKED){ +((gc300*)o)->header.flag=FSOH_MARKED; +/*3p*/if(NULL!=o->_key)gc_mark73((T73*)(o->_key)); +/*3p*/if(NULL!=o->_item)gc_mark261((T261*)(o->_item)); o=(void*)o->_next; if((o!=NULL))goto begin; } }/*--*/ -void gc_align_mark256(fsoc*c,gc256*p){ -gc256*b=((gc256*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store256)))return; +void gc_align_mark300(fsoc*c,gc300*p){ +gc300*b=((gc300*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store300)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T256*o=(&(p->object)); +T300*o=(&(p->object)); begin: -((gc256*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_key)gc_mark72((T72*)(o->_key)); -/*3p*/if(NULL!=o->_item)gc_mark217((T217*)(o->_item)); +((gc300*)o)->header.flag=FSOH_MARKED; +/*3p*/if(NULL!=o->_key)gc_mark73((T73*)(o->_key)); +/*3p*/if(NULL!=o->_item)gc_mark261((T261*)(o->_item)); o=(void*)o->_next; -if((o!=NULL)&&(((gc256*)o)->header.flag==FSOH_UNMARKED))goto begin; +if((o!=NULL)&&(((gc300*)o)->header.flag==FSOH_UNMARKED))goto begin; } } }/*--*/ -fsoc H256={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark256, -(void(*)(mch*))gc_sweep256},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc256))-1)}; +fsoc H300={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark300, +(void(*)(mch*))gc_sweep300},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc300))-1)}; -T256*new256(void){ -gc256*n; +T300*new300(void){ +gc300*n; fsoc*c; -if(store_left256>1){ -store_left256--; -n=store256++; +if(store_left300>1){ +store_left300--; +n=store300++; } -else if(gc_free256!=NULL){ -n=gc_free256; -gc_free256=n->header.next; +else if(gc_free300!=NULL){ +n=gc_free300; +gc_free300=n->header.next; } -else if(store_left256==1){ -store_left256=0; -store_chunk256->header.state_type=FSO_USED_CHUNK; -n=store256++; +else if(store_left300==1){ +store_left300=0; +store_chunk300->header.state_type=FSO_USED_CHUNK; +n=store300++; } else{ c=gc_fsoc_get1(); -if(gc_free256!=NULL){ -n=gc_free256; -gc_free256=n->header.next; +if(gc_free300!=NULL){ +n=gc_free300; +gc_free300=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk256=c; -*store_chunk256=H256; -store256=((gc256*)(&(store_chunk256->first_object))); -store_left256=H256.count_minus_one; -n=store256++; +store_chunk300=c; +*store_chunk300=H300; +store300=((gc300*)(&(store_chunk300->first_object))); +store_left300=H300.count_minus_one; +n=store300++; } } n->header.flag=FSOH_UNMARKED; -n->object=M256; -return((T256*)n); +n->object=M300; +return((T300*)n); }/*--*/ -void gc_mark255(T255 o){ +void gc_mark299(T299 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -14141,60 +13621,60 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark216((T216*)(e)); +if(NULL!=e)gc_mark260((T260*)(e)); }}}} }/*--*/ -T255 new255(unsigned int size){ +T299 new299(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env255.store_left)){ -rsoh*r=na_env255.store; -na_env255.store_left-=size; -if(na_env255.store_left>sizeof(rsoh)){ +if (size<=(na_env299.store_left)){ +rsoh*r=na_env299.store; +na_env299.store_left-=size; +if(na_env299.store_left>sizeof(rsoh)){ r->header.size=size; -na_env255.store=((rsoh*)(((char*)(na_env255.store))+size)); +na_env299.store=((rsoh*)(((char*)(na_env299.store))+size)); } else { -r->header.size=size+na_env255.store_left; -na_env255.store_left=0; +r->header.size=size+na_env299.store_left; +na_env299.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T255)(r+1)); +return((T299)(r+1)); } -return((T255)new_na(&na_env255,size)); +return((T299)new_na(&na_env299,size)); }/*--*/ -void gc_sweep254(fsoc*c){ -gc254*o1,*o2; -o1=((gc254*)(&(c->first_object))); +void gc_sweep298(fsoc*c){ +gc298*o1,*o2; +o1=((gc298*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free254; -gc_free254=o1; +o1->header.next=gc_free298; +gc_free298=o1; } } } else{ int dead=1; -gc254* old_gc_free = gc_free254; +gc298* old_gc_free = gc_free298; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free254; -gc_free254=o1; +o1->header.next=gc_free298; +gc_free298=o1; } } if (dead){ -gc_free254 = old_gc_free; +gc_free298 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -14202,113 +13682,113 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark254(T254*o){ -if(((gc254*)o)->header.flag==FSOH_UNMARKED){ -((gc254*)o)->header.flag=FSOH_MARKED; +void gc_mark298(T298*o){ +if(((gc298*)o)->header.flag==FSOH_UNMARKED){ +((gc298*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T290 na=o->_storage; +T334 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r254mark_native_arrays(o); +r298mark_native_arrays(o); } } }} }/*--*/ -void gc_align_mark254(fsoc*c,gc254*p){ -gc254*b=((gc254*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store254)))return; +void gc_align_mark298(fsoc*c,gc298*p){ +gc298*b=((gc298*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store298)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T254*o=(&(p->object)); -((gc254*)o)->header.flag=FSOH_MARKED; +T298*o=(&(p->object)); +((gc298*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T290 na=o->_storage; +T334 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r254mark_native_arrays(o); +r298mark_native_arrays(o); } } }} } }/*--*/ -fsoc H254={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark254, -(void(*)(mch*))gc_sweep254},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc254))-1)}; +fsoc H298={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark298, +(void(*)(mch*))gc_sweep298},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc298))-1)}; -T254*new254(void){ -gc254*n; +T298*new298(void){ +gc298*n; fsoc*c; -if(store_left254>1){ -store_left254--; -n=store254++; +if(store_left298>1){ +store_left298--; +n=store298++; } -else if(gc_free254!=NULL){ -n=gc_free254; -gc_free254=n->header.next; +else if(gc_free298!=NULL){ +n=gc_free298; +gc_free298=n->header.next; } -else if(store_left254==1){ -store_left254=0; -store_chunk254->header.state_type=FSO_USED_CHUNK; -n=store254++; +else if(store_left298==1){ +store_left298=0; +store_chunk298->header.state_type=FSO_USED_CHUNK; +n=store298++; } else{ c=gc_fsoc_get1(); -if(gc_free254!=NULL){ -n=gc_free254; -gc_free254=n->header.next; +if(gc_free298!=NULL){ +n=gc_free298; +gc_free298=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk254=c; -*store_chunk254=H254; -store254=((gc254*)(&(store_chunk254->first_object))); -store_left254=H254.count_minus_one; -n=store254++; +store_chunk298=c; +*store_chunk298=H298; +store298=((gc298*)(&(store_chunk298->first_object))); +store_left298=H298.count_minus_one; +n=store298++; } } n->header.flag=FSOH_UNMARKED; -n->object=M254; -return((T254*)n); +n->object=M298; +return((T298*)n); }/*--*/ -void gc_sweep253(fsoc*c){ -gc253*o1,*o2; -o1=((gc253*)(&(c->first_object))); +void gc_sweep297(fsoc*c){ +gc297*o1,*o2; +o1=((gc297*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item253(&(o1->object)); +gc_update_weak_ref_item297(&(o1->object)); } else{ -o1->header.next=gc_free253; -gc_free253=o1; +o1->header.next=gc_free297; +gc_free297=o1; } } } else{ int dead=1; -gc253* old_gc_free = gc_free253; +gc297* old_gc_free = gc_free297; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item253(&(o1->object)); +gc_update_weak_ref_item297(&(o1->object)); dead=0;} else{ -o1->header.next=gc_free253; -gc_free253=o1; +o1->header.next=gc_free297; +gc_free297=o1; } } if (dead){ -gc_free253 = old_gc_free; +gc_free297 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -14316,8 +13796,8 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_update_weak_ref_item253(T253* wr){ -gc252* obj_ptr = (gc252*)(wr->_item); +void gc_update_weak_ref_item297(T297* wr){ +gc296* obj_ptr = (gc296*)(wr->_item); if (obj_ptr != NULL){ int swept = (((void*)obj_ptr) <= ((void*)wr)); if (swept != (obj_ptr->header.flag == FSOH_UNMARKED)) @@ -14326,91 +13806,91 @@ wr->_item = NULL; } }/*--*/ -void gc_mark253(T253*o){ -((gc253*)o)->header.flag=FSOH_MARKED; +void gc_mark297(T297*o){ +((gc297*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark253(fsoc*c,gc253*p){ -gc253*b=((gc253*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store253)))return; +void gc_align_mark297(fsoc*c,gc297*p){ +gc297*b=((gc297*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store297)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T253*o=(&(p->object)); -((gc253*)o)->header.flag=FSOH_MARKED; +T297*o=(&(p->object)); +((gc297*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H253={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark253, -(void(*)(mch*))gc_sweep253},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc253))-1)}; +fsoc H297={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark297, +(void(*)(mch*))gc_sweep297},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc297))-1)}; -T253*new253(void){ -gc253*n; +T297*new297(void){ +gc297*n; fsoc*c; -if(store_left253>1){ -store_left253--; -n=store253++; +if(store_left297>1){ +store_left297--; +n=store297++; } -else if(gc_free253!=NULL){ -n=gc_free253; -gc_free253=n->header.next; +else if(gc_free297!=NULL){ +n=gc_free297; +gc_free297=n->header.next; } -else if(store_left253==1){ -store_left253=0; -store_chunk253->header.state_type=FSO_USED_CHUNK; -n=store253++; +else if(store_left297==1){ +store_left297=0; +store_chunk297->header.state_type=FSO_USED_CHUNK; +n=store297++; } else{ c=gc_fsoc_get1(); -if(gc_free253!=NULL){ -n=gc_free253; -gc_free253=n->header.next; +if(gc_free297!=NULL){ +n=gc_free297; +gc_free297=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk253=c; -*store_chunk253=H253; -store253=((gc253*)(&(store_chunk253->first_object))); -store_left253=H253.count_minus_one; -n=store253++; +store_chunk297=c; +*store_chunk297=H297; +store297=((gc297*)(&(store_chunk297->first_object))); +store_left297=H297.count_minus_one; +n=store297++; } } n->header.flag=FSOH_UNMARKED; -n->object=M253; -return((T253*)n); +n->object=M297; +return((T297*)n); }/*--*/ -void gc_sweep252(fsoc*c){ -gc252*o1,*o2; -o1=((gc252*)(&(c->first_object))); +void gc_sweep296(fsoc*c){ +gc296*o1,*o2; +o1=((gc296*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free252; -gc_free252=o1; +o1->header.next=gc_free296; +gc_free296=o1; } } } else{ int dead=1; -gc252* old_gc_free = gc_free252; +gc296* old_gc_free = gc_free296; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free252; -gc_free252=o1; +o1->header.next=gc_free296; +gc_free296=o1; } } if (dead){ -gc_free252 = old_gc_free; +gc_free296 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -14418,71 +13898,71 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark252(T252*o){ +void gc_mark296(T296*o){ begin: -if(((gc252*)o)->header.flag==FSOH_UNMARKED){ -((gc252*)o)->header.flag=FSOH_MARKED; +if(((gc296*)o)->header.flag==FSOH_UNMARKED){ +((gc296*)o)->header.flag=FSOH_MARKED; o=(void*)o->_next; if((o!=NULL))goto begin; } }/*--*/ -void gc_align_mark252(fsoc*c,gc252*p){ -gc252*b=((gc252*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store252)))return; +void gc_align_mark296(fsoc*c,gc296*p){ +gc296*b=((gc296*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store296)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T252*o=(&(p->object)); +T296*o=(&(p->object)); begin: -((gc252*)o)->header.flag=FSOH_MARKED; +((gc296*)o)->header.flag=FSOH_MARKED; o=(void*)o->_next; -if((o!=NULL)&&(((gc252*)o)->header.flag==FSOH_UNMARKED))goto begin; +if((o!=NULL)&&(((gc296*)o)->header.flag==FSOH_UNMARKED))goto begin; } } }/*--*/ -fsoc H252={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark252, -(void(*)(mch*))gc_sweep252},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc252))-1)}; +fsoc H296={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark296, +(void(*)(mch*))gc_sweep296},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc296))-1)}; -T252*new252(void){ -gc252*n; +T296*new296(void){ +gc296*n; fsoc*c; -if(store_left252>1){ -store_left252--; -n=store252++; +if(store_left296>1){ +store_left296--; +n=store296++; } -else if(gc_free252!=NULL){ -n=gc_free252; -gc_free252=n->header.next; +else if(gc_free296!=NULL){ +n=gc_free296; +gc_free296=n->header.next; } -else if(store_left252==1){ -store_left252=0; -store_chunk252->header.state_type=FSO_USED_CHUNK; -n=store252++; +else if(store_left296==1){ +store_left296=0; +store_chunk296->header.state_type=FSO_USED_CHUNK; +n=store296++; } else{ c=gc_fsoc_get1(); -if(gc_free252!=NULL){ -n=gc_free252; -gc_free252=n->header.next; +if(gc_free296!=NULL){ +n=gc_free296; +gc_free296=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk252=c; -*store_chunk252=H252; -store252=((gc252*)(&(store_chunk252->first_object))); -store_left252=H252.count_minus_one; -n=store252++; +store_chunk296=c; +*store_chunk296=H296; +store296=((gc296*)(&(store_chunk296->first_object))); +store_left296=H296.count_minus_one; +n=store296++; } } n->header.flag=FSOH_UNMARKED; -n->object=M252; -return((T252*)n); +n->object=M296; +return((T296*)n); }/*--*/ -void gc_mark251(T251 o){ +void gc_mark295(T295 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -14492,76 +13972,76 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark252((T252*)(e)); +if(NULL!=e)gc_mark296((T296*)(e)); }}}} }/*--*/ -T251 new251(unsigned int size){ +T295 new295(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env251.store_left)){ -rsoh*r=na_env251.store; -na_env251.store_left-=size; -if(na_env251.store_left>sizeof(rsoh)){ +if (size<=(na_env295.store_left)){ +rsoh*r=na_env295.store; +na_env295.store_left-=size; +if(na_env295.store_left>sizeof(rsoh)){ r->header.size=size; -na_env251.store=((rsoh*)(((char*)(na_env251.store))+size)); +na_env295.store=((rsoh*)(((char*)(na_env295.store))+size)); } else { -r->header.size=size+na_env251.store_left; -na_env251.store_left=0; +r->header.size=size+na_env295.store_left; +na_env295.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T251)(r+1)); +return((T295)(r+1)); } -return((T251)new_na(&na_env251,size)); +return((T295)new_na(&na_env295,size)); }/*--*/ -void gc_mark250(T250 o){ +void gc_mark294(T294 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ (((rsoh*)o)-1)->header.magic_flag=RSOH_MARKED; }/*--*/ -T250 new250(unsigned int size){ +T294 new294(unsigned int size){ size=(size*sizeof(T2))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env250.store_left)){ -rsoh*r=na_env250.store; -na_env250.store_left-=size; -if(na_env250.store_left>sizeof(rsoh)){ +if (size<=(na_env294.store_left)){ +rsoh*r=na_env294.store; +na_env294.store_left-=size; +if(na_env294.store_left>sizeof(rsoh)){ r->header.size=size; -na_env250.store=((rsoh*)(((char*)(na_env250.store))+size)); +na_env294.store=((rsoh*)(((char*)(na_env294.store))+size)); } else { -r->header.size=size+na_env250.store_left; -na_env250.store_left=0; +r->header.size=size+na_env294.store_left; +na_env294.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T250)(r+1)); +return((T294)(r+1)); } -return((T250)new_na(&na_env250,size)); +return((T294)new_na(&na_env294,size)); }/*--*/ -void gc_sweep249(fsoc*c){ -gc249*o1,*o2; -o1=((gc249*)(&(c->first_object))); +void gc_sweep293(fsoc*c){ +gc293*o1,*o2; +o1=((gc293*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; gc_update_weak_ref_item_polymorph(&(o1->object._item)); } else{ -o1->header.next=gc_free249; -gc_free249=o1; +o1->header.next=gc_free293; +gc_free293=o1; } } } else{ int dead=1; -gc249* old_gc_free = gc_free249; +gc293* old_gc_free = gc_free293; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ @@ -14569,12 +14049,12 @@ o1->header.flag=FSOH_UNMARKED; gc_update_weak_ref_item_polymorph(&(o1->object._item)); dead=0;} else{ -o1->header.next=gc_free249; -gc_free249=o1; +o1->header.next=gc_free293; +gc_free293=o1; } } if (dead){ -gc_free249 = old_gc_free; +gc_free293 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -14582,63 +14062,63 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark249(T249*o){ -((gc249*)o)->header.flag=FSOH_MARKED; +void gc_mark293(T293*o){ +((gc293*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark249(fsoc*c,gc249*p){ -gc249*b=((gc249*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store249)))return; +void gc_align_mark293(fsoc*c,gc293*p){ +gc293*b=((gc293*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store293)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T249*o=(&(p->object)); -((gc249*)o)->header.flag=FSOH_MARKED; +T293*o=(&(p->object)); +((gc293*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H249={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark249, -(void(*)(mch*))gc_sweep249},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc249))-1)}; +fsoc H293={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark293, +(void(*)(mch*))gc_sweep293},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc293))-1)}; -T249*new249(void){ -gc249*n; +T293*new293(void){ +gc293*n; fsoc*c; -if(store_left249>1){ -store_left249--; -n=store249++; +if(store_left293>1){ +store_left293--; +n=store293++; } -else if(gc_free249!=NULL){ -n=gc_free249; -gc_free249=n->header.next; +else if(gc_free293!=NULL){ +n=gc_free293; +gc_free293=n->header.next; } -else if(store_left249==1){ -store_left249=0; -store_chunk249->header.state_type=FSO_USED_CHUNK; -n=store249++; +else if(store_left293==1){ +store_left293=0; +store_chunk293->header.state_type=FSO_USED_CHUNK; +n=store293++; } else{ c=gc_fsoc_get1(); -if(gc_free249!=NULL){ -n=gc_free249; -gc_free249=n->header.next; -} -else{ -if(c==NULL)c=gc_fsoc_get2(); -store_chunk249=c; -*store_chunk249=H249; -store249=((gc249*)(&(store_chunk249->first_object))); -store_left249=H249.count_minus_one; -n=store249++; +if(gc_free293!=NULL){ +n=gc_free293; +gc_free293=n->header.next; +} +else{ +if(c==NULL)c=gc_fsoc_get2(); +store_chunk293=c; +*store_chunk293=H293; +store293=((gc293*)(&(store_chunk293->first_object))); +store_left293=H293.count_minus_one; +n=store293++; } } n->header.flag=FSOH_UNMARKED; -n->object=M249; -return((T249*)n); +n->object=M293; +return((T293*)n); }/*--*/ -void gc_mark247(T247 o){ +void gc_mark291(T291 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -14651,56 +14131,56 @@ e=*p; }}}} }/*--*/ -T247 new247(unsigned int size){ +T291 new291(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env247.store_left)){ -rsoh*r=na_env247.store; -na_env247.store_left-=size; -if(na_env247.store_left>sizeof(rsoh)){ +if (size<=(na_env291.store_left)){ +rsoh*r=na_env291.store; +na_env291.store_left-=size; +if(na_env291.store_left>sizeof(rsoh)){ r->header.size=size; -na_env247.store=((rsoh*)(((char*)(na_env247.store))+size)); +na_env291.store=((rsoh*)(((char*)(na_env291.store))+size)); } else { -r->header.size=size+na_env247.store_left; -na_env247.store_left=0; +r->header.size=size+na_env291.store_left; +na_env291.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T247)(r+1)); +return((T291)(r+1)); } -return((T247)new_na(&na_env247,size)); +return((T291)new_na(&na_env291,size)); }/*--*/ -void gc_sweep246(fsoc*c){ -gc246*o1,*o2; -o1=((gc246*)(&(c->first_object))); +void gc_sweep290(fsoc*c){ +gc290*o1,*o2; +o1=((gc290*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free246; -gc_free246=o1; +o1->header.next=gc_free290; +gc_free290=o1; } } } else{ int dead=1; -gc246* old_gc_free = gc_free246; +gc290* old_gc_free = gc_free290; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free246; -gc_free246=o1; +o1->header.next=gc_free290; +gc_free290=o1; } } if (dead){ -gc_free246 = old_gc_free; +gc_free290 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -14708,105 +14188,105 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark246(T246*o){ +void gc_mark290(T290*o){ begin: -if(((gc246*)o)->header.flag==FSOH_UNMARKED){ -((gc246*)o)->header.flag=FSOH_MARKED; +if(((gc290*)o)->header.flag==FSOH_UNMARKED){ +((gc290*)o)->header.flag=FSOH_MARKED; /*3p*/if(NULL!=o->_key)gc_mark7((T7*)(o->_key)); -/*3p*/if(NULL!=o->_item)Xgc_mark242((T0*)(o->_item)); +/*3p*/if(NULL!=o->_item)Xgc_mark286((T0*)(o->_item)); o=(void*)o->_next; if((o!=NULL))goto begin; } }/*--*/ -void gc_align_mark246(fsoc*c,gc246*p){ -gc246*b=((gc246*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store246)))return; +void gc_align_mark290(fsoc*c,gc290*p){ +gc290*b=((gc290*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store290)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T246*o=(&(p->object)); +T290*o=(&(p->object)); begin: -((gc246*)o)->header.flag=FSOH_MARKED; +((gc290*)o)->header.flag=FSOH_MARKED; /*3p*/if(NULL!=o->_key)gc_mark7((T7*)(o->_key)); -/*3p*/if(NULL!=o->_item)Xgc_mark242((T0*)(o->_item)); +/*3p*/if(NULL!=o->_item)Xgc_mark286((T0*)(o->_item)); o=(void*)o->_next; -if((o!=NULL)&&(((gc246*)o)->header.flag==FSOH_UNMARKED))goto begin; +if((o!=NULL)&&(((gc290*)o)->header.flag==FSOH_UNMARKED))goto begin; } } }/*--*/ -fsoc H246={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark246, -(void(*)(mch*))gc_sweep246},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc246))-1)}; +fsoc H290={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark290, +(void(*)(mch*))gc_sweep290},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc290))-1)}; -T246*new246(void){ -gc246*n; +T290*new290(void){ +gc290*n; fsoc*c; -if(store_left246>1){ -store_left246--; -n=store246++; +if(store_left290>1){ +store_left290--; +n=store290++; } -else if(gc_free246!=NULL){ -n=gc_free246; -gc_free246=n->header.next; +else if(gc_free290!=NULL){ +n=gc_free290; +gc_free290=n->header.next; } -else if(store_left246==1){ -store_left246=0; -store_chunk246->header.state_type=FSO_USED_CHUNK; -n=store246++; +else if(store_left290==1){ +store_left290=0; +store_chunk290->header.state_type=FSO_USED_CHUNK; +n=store290++; } else{ c=gc_fsoc_get1(); -if(gc_free246!=NULL){ -n=gc_free246; -gc_free246=n->header.next; +if(gc_free290!=NULL){ +n=gc_free290; +gc_free290=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk246=c; -*store_chunk246=H246; -store246=((gc246*)(&(store_chunk246->first_object))); -store_left246=H246.count_minus_one; -n=store246++; +store_chunk290=c; +*store_chunk290=H290; +store290=((gc290*)(&(store_chunk290->first_object))); +store_left290=H290.count_minus_one; +n=store290++; } } n->header.flag=FSOH_UNMARKED; -n->object=M246; -return((T246*)n); +n->object=M290; +return((T290*)n); }/*--*/ -void gc_sweep245(fsoc*c){ -gc245*o1,*o2; -o1=((gc245*)(&(c->first_object))); +void gc_sweep289(fsoc*c){ +gc289*o1,*o2; +o1=((gc289*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item245(&(o1->object)); +gc_update_weak_ref_item289(&(o1->object)); } else{ -o1->header.next=gc_free245; -gc_free245=o1; +o1->header.next=gc_free289; +gc_free289=o1; } } } else{ int dead=1; -gc245* old_gc_free = gc_free245; +gc289* old_gc_free = gc_free289; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; -gc_update_weak_ref_item245(&(o1->object)); +gc_update_weak_ref_item289(&(o1->object)); dead=0;} else{ -o1->header.next=gc_free245; -gc_free245=o1; +o1->header.next=gc_free289; +gc_free289=o1; } } if (dead){ -gc_free245 = old_gc_free; +gc_free289 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -14814,8 +14294,8 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_update_weak_ref_item245(T245* wr){ -gc246* obj_ptr = (gc246*)(wr->_item); +void gc_update_weak_ref_item289(T289* wr){ +gc290* obj_ptr = (gc290*)(wr->_item); if (obj_ptr != NULL){ int swept = (((void*)obj_ptr) <= ((void*)wr)); if (swept != (obj_ptr->header.flag == FSOH_UNMARKED)) @@ -14824,91 +14304,91 @@ wr->_item = NULL; } }/*--*/ -void gc_mark245(T245*o){ -((gc245*)o)->header.flag=FSOH_MARKED; +void gc_mark289(T289*o){ +((gc289*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark245(fsoc*c,gc245*p){ -gc245*b=((gc245*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store245)))return; +void gc_align_mark289(fsoc*c,gc289*p){ +gc289*b=((gc289*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store289)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T245*o=(&(p->object)); -((gc245*)o)->header.flag=FSOH_MARKED; +T289*o=(&(p->object)); +((gc289*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H245={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark245, -(void(*)(mch*))gc_sweep245},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc245))-1)}; +fsoc H289={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark289, +(void(*)(mch*))gc_sweep289},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc289))-1)}; -T245*new245(void){ -gc245*n; +T289*new289(void){ +gc289*n; fsoc*c; -if(store_left245>1){ -store_left245--; -n=store245++; +if(store_left289>1){ +store_left289--; +n=store289++; } -else if(gc_free245!=NULL){ -n=gc_free245; -gc_free245=n->header.next; +else if(gc_free289!=NULL){ +n=gc_free289; +gc_free289=n->header.next; } -else if(store_left245==1){ -store_left245=0; -store_chunk245->header.state_type=FSO_USED_CHUNK; -n=store245++; +else if(store_left289==1){ +store_left289=0; +store_chunk289->header.state_type=FSO_USED_CHUNK; +n=store289++; } else{ c=gc_fsoc_get1(); -if(gc_free245!=NULL){ -n=gc_free245; -gc_free245=n->header.next; +if(gc_free289!=NULL){ +n=gc_free289; +gc_free289=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk245=c; -*store_chunk245=H245; -store245=((gc245*)(&(store_chunk245->first_object))); -store_left245=H245.count_minus_one; -n=store245++; +store_chunk289=c; +*store_chunk289=H289; +store289=((gc289*)(&(store_chunk289->first_object))); +store_left289=H289.count_minus_one; +n=store289++; } } n->header.flag=FSOH_UNMARKED; -n->object=M245; -return((T245*)n); +n->object=M289; +return((T289*)n); }/*--*/ -void gc_sweep244(fsoc*c){ -gc244*o1,*o2; -o1=((gc244*)(&(c->first_object))); +void gc_sweep288(fsoc*c){ +gc288*o1,*o2; +o1=((gc288*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free244; -gc_free244=o1; +o1->header.next=gc_free288; +gc_free288=o1; } } } else{ int dead=1; -gc244* old_gc_free = gc_free244; +gc288* old_gc_free = gc_free288; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free244; -gc_free244=o1; +o1->header.next=gc_free288; +gc_free288=o1; } } if (dead){ -gc_free244 = old_gc_free; +gc_free288 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -14916,86 +14396,86 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark244(T244*o){ -if(((gc244*)o)->header.flag==FSOH_UNMARKED){ -((gc244*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark245((T245*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark289((o->_buckets)); +void gc_mark288(T288*o){ +if(((gc288*)o)->header.flag==FSOH_UNMARKED){ +((gc288*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark289((T289*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark333((o->_buckets)); } }/*--*/ -void gc_align_mark244(fsoc*c,gc244*p){ -gc244*b=((gc244*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store244)))return; +void gc_align_mark288(fsoc*c,gc288*p){ +gc288*b=((gc288*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store288)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T244*o=(&(p->object)); -((gc244*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark245((T245*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark289((o->_buckets)); +T288*o=(&(p->object)); +((gc288*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark289((T289*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark333((o->_buckets)); } } }/*--*/ -fsoc H244={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark244, -(void(*)(mch*))gc_sweep244},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc244))-1)}; +fsoc H288={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark288, +(void(*)(mch*))gc_sweep288},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc288))-1)}; -T244*new244(void){ -gc244*n; +T288*new288(void){ +gc288*n; fsoc*c; -if(store_left244>1){ -store_left244--; -n=store244++; +if(store_left288>1){ +store_left288--; +n=store288++; } -else if(gc_free244!=NULL){ -n=gc_free244; -gc_free244=n->header.next; +else if(gc_free288!=NULL){ +n=gc_free288; +gc_free288=n->header.next; } -else if(store_left244==1){ -store_left244=0; -store_chunk244->header.state_type=FSO_USED_CHUNK; -n=store244++; +else if(store_left288==1){ +store_left288=0; +store_chunk288->header.state_type=FSO_USED_CHUNK; +n=store288++; } else{ c=gc_fsoc_get1(); -if(gc_free244!=NULL){ -n=gc_free244; -gc_free244=n->header.next; +if(gc_free288!=NULL){ +n=gc_free288; +gc_free288=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk244=c; -*store_chunk244=H244; -store244=((gc244*)(&(store_chunk244->first_object))); -store_left244=H244.count_minus_one; -n=store244++; +store_chunk288=c; +*store_chunk288=H288; +store288=((gc288*)(&(store_chunk288->first_object))); +store_left288=H288.count_minus_one; +n=store288++; } } n->header.flag=FSOH_UNMARKED; -n->object=M244; -return((T244*)n); +n->object=M288; +return((T288*)n); }/*--*/ -void gc_sweep243(fsoc*c){ -gc243*o1,*o2; -o1=((gc243*)(&(c->first_object))); +void gc_sweep287(fsoc*c){ +gc287*o1,*o2; +o1=((gc287*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; gc_update_weak_ref_item_polymorph(&(o1->object._item)); } else{ -o1->header.next=gc_free243; -gc_free243=o1; +o1->header.next=gc_free287; +gc_free287=o1; } } } else{ int dead=1; -gc243* old_gc_free = gc_free243; +gc287* old_gc_free = gc_free287; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ @@ -15003,12 +14483,12 @@ o1->header.flag=FSOH_UNMARKED; gc_update_weak_ref_item_polymorph(&(o1->object._item)); dead=0;} else{ -o1->header.next=gc_free243; -gc_free243=o1; +o1->header.next=gc_free287; +gc_free287=o1; } } if (dead){ -gc_free243 = old_gc_free; +gc_free287 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -15016,63 +14496,63 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark243(T243*o){ -((gc243*)o)->header.flag=FSOH_MARKED; +void gc_mark287(T287*o){ +((gc287*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark243(fsoc*c,gc243*p){ -gc243*b=((gc243*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store243)))return; +void gc_align_mark287(fsoc*c,gc287*p){ +gc287*b=((gc287*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store287)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T243*o=(&(p->object)); -((gc243*)o)->header.flag=FSOH_MARKED; +T287*o=(&(p->object)); +((gc287*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H243={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark243, -(void(*)(mch*))gc_sweep243},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc243))-1)}; +fsoc H287={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark287, +(void(*)(mch*))gc_sweep287},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc287))-1)}; -T243*new243(void){ -gc243*n; +T287*new287(void){ +gc287*n; fsoc*c; -if(store_left243>1){ -store_left243--; -n=store243++; +if(store_left287>1){ +store_left287--; +n=store287++; } -else if(gc_free243!=NULL){ -n=gc_free243; -gc_free243=n->header.next; +else if(gc_free287!=NULL){ +n=gc_free287; +gc_free287=n->header.next; } -else if(store_left243==1){ -store_left243=0; -store_chunk243->header.state_type=FSO_USED_CHUNK; -n=store243++; +else if(store_left287==1){ +store_left287=0; +store_chunk287->header.state_type=FSO_USED_CHUNK; +n=store287++; } else{ c=gc_fsoc_get1(); -if(gc_free243!=NULL){ -n=gc_free243; -gc_free243=n->header.next; +if(gc_free287!=NULL){ +n=gc_free287; +gc_free287=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk243=c; -*store_chunk243=H243; -store243=((gc243*)(&(store_chunk243->first_object))); -store_left243=H243.count_minus_one; -n=store243++; +store_chunk287=c; +*store_chunk287=H287; +store287=((gc287*)(&(store_chunk287->first_object))); +store_left287=H287.count_minus_one; +n=store287++; } } n->header.flag=FSOH_UNMARKED; -n->object=M243; -return((T243*)n); +n->object=M287; +return((T287*)n); }/*--*/ -void gc_mark239(T239 o){ +void gc_mark283(T283 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -15085,28 +14565,28 @@ e=*p; }}}} }/*--*/ -T239 new239(unsigned int size){ +T283 new283(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env239.store_left)){ -rsoh*r=na_env239.store; -na_env239.store_left-=size; -if(na_env239.store_left>sizeof(rsoh)){ +if (size<=(na_env283.store_left)){ +rsoh*r=na_env283.store; +na_env283.store_left-=size; +if(na_env283.store_left>sizeof(rsoh)){ r->header.size=size; -na_env239.store=((rsoh*)(((char*)(na_env239.store))+size)); +na_env283.store=((rsoh*)(((char*)(na_env283.store))+size)); } else { -r->header.size=size+na_env239.store_left; -na_env239.store_left=0; +r->header.size=size+na_env283.store_left; +na_env283.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T239)(r+1)); +return((T283)(r+1)); } -return((T239)new_na(&na_env239,size)); +return((T283)new_na(&na_env283,size)); }/*--*/ -void gc_mark238(T238 o){ +void gc_mark282(T282 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -15116,32 +14596,32 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark146((T146*)(e)); +if(NULL!=e)gc_mark153((T153*)(e)); }}}} }/*--*/ -T238 new238(unsigned int size){ +T282 new282(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env238.store_left)){ -rsoh*r=na_env238.store; -na_env238.store_left-=size; -if(na_env238.store_left>sizeof(rsoh)){ +if (size<=(na_env282.store_left)){ +rsoh*r=na_env282.store; +na_env282.store_left-=size; +if(na_env282.store_left>sizeof(rsoh)){ r->header.size=size; -na_env238.store=((rsoh*)(((char*)(na_env238.store))+size)); +na_env282.store=((rsoh*)(((char*)(na_env282.store))+size)); } else { -r->header.size=size+na_env238.store_left; -na_env238.store_left=0; +r->header.size=size+na_env282.store_left; +na_env282.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T238)(r+1)); +return((T282)(r+1)); } -return((T238)new_na(&na_env238,size)); +return((T282)new_na(&na_env282,size)); }/*--*/ -void gc_mark237(T237 o){ +void gc_mark281(T281 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -15151,60 +14631,60 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark148((T148*)(e)); +if(NULL!=e)gc_mark155((T155*)(e)); }}}} }/*--*/ -T237 new237(unsigned int size){ +T281 new281(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env237.store_left)){ -rsoh*r=na_env237.store; -na_env237.store_left-=size; -if(na_env237.store_left>sizeof(rsoh)){ +if (size<=(na_env281.store_left)){ +rsoh*r=na_env281.store; +na_env281.store_left-=size; +if(na_env281.store_left>sizeof(rsoh)){ r->header.size=size; -na_env237.store=((rsoh*)(((char*)(na_env237.store))+size)); +na_env281.store=((rsoh*)(((char*)(na_env281.store))+size)); } else { -r->header.size=size+na_env237.store_left; -na_env237.store_left=0; +r->header.size=size+na_env281.store_left; +na_env281.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T237)(r+1)); +return((T281)(r+1)); } -return((T237)new_na(&na_env237,size)); +return((T281)new_na(&na_env281,size)); }/*--*/ -void gc_sweep147(fsoc*c){ -gc147*o1,*o2; -o1=((gc147*)(&(c->first_object))); +void gc_sweep280(fsoc*c){ +gc280*o1,*o2; +o1=((gc280*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free147; -gc_free147=o1; +o1->header.next=gc_free280; +gc_free280=o1; } } } else{ int dead=1; -gc147* old_gc_free = gc_free147; +gc280* old_gc_free = gc_free280; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free147; -gc_free147=o1; +o1->header.next=gc_free280; +gc_free280=o1; } } if (dead){ -gc_free147 = old_gc_free; +gc_free280 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -15212,91 +14692,111 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark147(T147*o){ -((gc147*)o)->header.flag=FSOH_MARKED; +void gc_mark280(T280*o){ +if(((gc280*)o)->header.flag==FSOH_UNMARKED){ +((gc280*)o)->header.flag=FSOH_MARKED; +/*3p*/{ +T332 na=o->_storage; +if(gc_find_chunk(na)!=NULL){/* non external NA */ + rsoh*h=((rsoh*)na)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; +r280mark_native_arrays(o); +} +} +}} }/*--*/ -void gc_align_mark147(fsoc*c,gc147*p){ -gc147*b=((gc147*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store147)))return; +void gc_align_mark280(fsoc*c,gc280*p){ +gc280*b=((gc280*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store280)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T147*o=(&(p->object)); -((gc147*)o)->header.flag=FSOH_MARKED; +T280*o=(&(p->object)); +((gc280*)o)->header.flag=FSOH_MARKED; +/*3p*/{ +T332 na=o->_storage; +if(gc_find_chunk(na)!=NULL){/* non external NA */ + rsoh*h=((rsoh*)na)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; +r280mark_native_arrays(o); +} } +}} } }/*--*/ -fsoc H147={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark147, -(void(*)(mch*))gc_sweep147},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc147))-1)}; +fsoc H280={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark280, +(void(*)(mch*))gc_sweep280},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc280))-1)}; -T147*new147(void){ -gc147*n; +T280*new280(void){ +gc280*n; fsoc*c; -if(store_left147>1){ -store_left147--; -n=store147++; +if(store_left280>1){ +store_left280--; +n=store280++; } -else if(gc_free147!=NULL){ -n=gc_free147; -gc_free147=n->header.next; +else if(gc_free280!=NULL){ +n=gc_free280; +gc_free280=n->header.next; } -else if(store_left147==1){ -store_left147=0; -store_chunk147->header.state_type=FSO_USED_CHUNK; -n=store147++; +else if(store_left280==1){ +store_left280=0; +store_chunk280->header.state_type=FSO_USED_CHUNK; +n=store280++; } else{ c=gc_fsoc_get1(); -if(gc_free147!=NULL){ -n=gc_free147; -gc_free147=n->header.next; +if(gc_free280!=NULL){ +n=gc_free280; +gc_free280=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk147=c; -*store_chunk147=H147; -store147=((gc147*)(&(store_chunk147->first_object))); -store_left147=H147.count_minus_one; -n=store147++; +store_chunk280=c; +*store_chunk280=H280; +store280=((gc280*)(&(store_chunk280->first_object))); +store_left280=H280.count_minus_one; +n=store280++; } } n->header.flag=FSOH_UNMARKED; -n->object=M147; -return((T147*)n); +n->object=M280; +return((T280*)n); }/*--*/ -void gc_sweep236(fsoc*c){ -gc236*o1,*o2; -o1=((gc236*)(&(c->first_object))); +void gc_sweep154(fsoc*c){ +gc154*o1,*o2; +o1=((gc154*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free236; -gc_free236=o1; +o1->header.next=gc_free154; +gc_free154=o1; } } } else{ int dead=1; -gc236* old_gc_free = gc_free236; +gc154* old_gc_free = gc_free154; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free236; -gc_free236=o1; +o1->header.next=gc_free154; +gc_free154=o1; } } if (dead){ -gc_free236 = old_gc_free; +gc_free154 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -15304,111 +14804,91 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark236(T236*o){ -if(((gc236*)o)->header.flag==FSOH_UNMARKED){ -((gc236*)o)->header.flag=FSOH_MARKED; -/*3p*/{ -T288 na=o->_storage; -if(gc_find_chunk(na)!=NULL){/* non external NA */ - rsoh*h=((rsoh*)na)-1; - if((h->header.magic_flag)==RSOH_UNMARKED){ - h->header.magic_flag=RSOH_MARKED; -r236mark_native_arrays(o); -} -} -}} +void gc_mark154(T154*o){ +((gc154*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark236(fsoc*c,gc236*p){ -gc236*b=((gc236*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store236)))return; +void gc_align_mark154(fsoc*c,gc154*p){ +gc154*b=((gc154*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store154)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T236*o=(&(p->object)); -((gc236*)o)->header.flag=FSOH_MARKED; -/*3p*/{ -T288 na=o->_storage; -if(gc_find_chunk(na)!=NULL){/* non external NA */ - rsoh*h=((rsoh*)na)-1; - if((h->header.magic_flag)==RSOH_UNMARKED){ - h->header.magic_flag=RSOH_MARKED; -r236mark_native_arrays(o); +T154*o=(&(p->object)); +((gc154*)o)->header.flag=FSOH_MARKED; } } -}} -} }/*--*/ -fsoc H236={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark236, -(void(*)(mch*))gc_sweep236},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc236))-1)}; +fsoc H154={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark154, +(void(*)(mch*))gc_sweep154},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc154))-1)}; -T236*new236(void){ -gc236*n; +T154*new154(void){ +gc154*n; fsoc*c; -if(store_left236>1){ -store_left236--; -n=store236++; +if(store_left154>1){ +store_left154--; +n=store154++; } -else if(gc_free236!=NULL){ -n=gc_free236; -gc_free236=n->header.next; +else if(gc_free154!=NULL){ +n=gc_free154; +gc_free154=n->header.next; } -else if(store_left236==1){ -store_left236=0; -store_chunk236->header.state_type=FSO_USED_CHUNK; -n=store236++; +else if(store_left154==1){ +store_left154=0; +store_chunk154->header.state_type=FSO_USED_CHUNK; +n=store154++; } else{ c=gc_fsoc_get1(); -if(gc_free236!=NULL){ -n=gc_free236; -gc_free236=n->header.next; +if(gc_free154!=NULL){ +n=gc_free154; +gc_free154=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk236=c; -*store_chunk236=H236; -store236=((gc236*)(&(store_chunk236->first_object))); -store_left236=H236.count_minus_one; -n=store236++; +store_chunk154=c; +*store_chunk154=H154; +store154=((gc154*)(&(store_chunk154->first_object))); +store_left154=H154.count_minus_one; +n=store154++; } } n->header.flag=FSOH_UNMARKED; -n->object=M236; -return((T236*)n); +n->object=M154; +return((T154*)n); }/*--*/ -void gc_sweep235(fsoc*c){ -gc235*o1,*o2; -o1=((gc235*)(&(c->first_object))); +void gc_sweep279(fsoc*c){ +gc279*o1,*o2; +o1=((gc279*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free235; -gc_free235=o1; +o1->header.next=gc_free279; +gc_free279=o1; } } } else{ int dead=1; -gc235* old_gc_free = gc_free235; +gc279* old_gc_free = gc_free279; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free235; -gc_free235=o1; +o1->header.next=gc_free279; +gc_free279=o1; } } if (dead){ -gc_free235 = old_gc_free; +gc_free279 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -15416,111 +14896,111 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark235(T235*o){ -if(((gc235*)o)->header.flag==FSOH_UNMARKED){ -((gc235*)o)->header.flag=FSOH_MARKED; +void gc_mark279(T279*o){ +if(((gc279*)o)->header.flag==FSOH_UNMARKED){ +((gc279*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T287 na=o->_storage; +T331 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r235mark_native_arrays(o); +r279mark_native_arrays(o); } } }} }/*--*/ -void gc_align_mark235(fsoc*c,gc235*p){ -gc235*b=((gc235*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store235)))return; +void gc_align_mark279(fsoc*c,gc279*p){ +gc279*b=((gc279*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store279)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T235*o=(&(p->object)); -((gc235*)o)->header.flag=FSOH_MARKED; +T279*o=(&(p->object)); +((gc279*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T287 na=o->_storage; +T331 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r235mark_native_arrays(o); +r279mark_native_arrays(o); } } }} } }/*--*/ -fsoc H235={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark235, -(void(*)(mch*))gc_sweep235},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc235))-1)}; +fsoc H279={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark279, +(void(*)(mch*))gc_sweep279},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc279))-1)}; -T235*new235(void){ -gc235*n; +T279*new279(void){ +gc279*n; fsoc*c; -if(store_left235>1){ -store_left235--; -n=store235++; +if(store_left279>1){ +store_left279--; +n=store279++; } -else if(gc_free235!=NULL){ -n=gc_free235; -gc_free235=n->header.next; +else if(gc_free279!=NULL){ +n=gc_free279; +gc_free279=n->header.next; } -else if(store_left235==1){ -store_left235=0; -store_chunk235->header.state_type=FSO_USED_CHUNK; -n=store235++; +else if(store_left279==1){ +store_left279=0; +store_chunk279->header.state_type=FSO_USED_CHUNK; +n=store279++; } else{ c=gc_fsoc_get1(); -if(gc_free235!=NULL){ -n=gc_free235; -gc_free235=n->header.next; +if(gc_free279!=NULL){ +n=gc_free279; +gc_free279=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk235=c; -*store_chunk235=H235; -store235=((gc235*)(&(store_chunk235->first_object))); -store_left235=H235.count_minus_one; -n=store235++; +store_chunk279=c; +*store_chunk279=H279; +store279=((gc279*)(&(store_chunk279->first_object))); +store_left279=H279.count_minus_one; +n=store279++; } } n->header.flag=FSOH_UNMARKED; -n->object=M235; -return((T235*)n); +n->object=M279; +return((T279*)n); }/*--*/ -void gc_sweep234(fsoc*c){ -gc234*o1,*o2; -o1=((gc234*)(&(c->first_object))); +void gc_sweep160(fsoc*c){ +gc160*o1,*o2; +o1=((gc160*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free234; -gc_free234=o1; +o1->header.next=gc_free160; +gc_free160=o1; } } } else{ int dead=1; -gc234* old_gc_free = gc_free234; +gc160* old_gc_free = gc_free160; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free234; -gc_free234=o1; +o1->header.next=gc_free160; +gc_free160=o1; } } if (dead){ -gc_free234 = old_gc_free; +gc_free160 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -15528,97 +15008,95 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark234(T234*o){ -if(((gc234*)o)->header.flag==FSOH_UNMARKED){ -((gc234*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark286((T286*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark284((o->_buckets)); +void gc_mark160(T160*o){ +if(((gc160*)o)->header.flag==FSOH_UNMARKED){ +((gc160*)o)->header.flag=FSOH_MARKED; +/*p*/if(NULL!=o->_container)gc_mark73((T73*)(o->_container)); } }/*--*/ -void gc_align_mark234(fsoc*c,gc234*p){ -gc234*b=((gc234*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store234)))return; +void gc_align_mark160(fsoc*c,gc160*p){ +gc160*b=((gc160*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store160)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T234*o=(&(p->object)); -((gc234*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark286((T286*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark284((o->_buckets)); +T160*o=(&(p->object)); +((gc160*)o)->header.flag=FSOH_MARKED; +/*p*/if(NULL!=o->_container)gc_mark73((T73*)(o->_container)); } } }/*--*/ -fsoc H234={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark234, -(void(*)(mch*))gc_sweep234},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc234))-1)}; +fsoc H160={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark160, +(void(*)(mch*))gc_sweep160},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc160))-1)}; -T234*new234(void){ -gc234*n; +T160*new160(void){ +gc160*n; fsoc*c; -if(store_left234>1){ -store_left234--; -n=store234++; +if(store_left160>1){ +store_left160--; +n=store160++; } -else if(gc_free234!=NULL){ -n=gc_free234; -gc_free234=n->header.next; +else if(gc_free160!=NULL){ +n=gc_free160; +gc_free160=n->header.next; } -else if(store_left234==1){ -store_left234=0; -store_chunk234->header.state_type=FSO_USED_CHUNK; -n=store234++; +else if(store_left160==1){ +store_left160=0; +store_chunk160->header.state_type=FSO_USED_CHUNK; +n=store160++; } else{ c=gc_fsoc_get1(); -if(gc_free234!=NULL){ -n=gc_free234; -gc_free234=n->header.next; +if(gc_free160!=NULL){ +n=gc_free160; +gc_free160=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk234=c; -*store_chunk234=H234; -store234=((gc234*)(&(store_chunk234->first_object))); -store_left234=H234.count_minus_one; -n=store234++; +store_chunk160=c; +*store_chunk160=H160; +store160=((gc160*)(&(store_chunk160->first_object))); +store_left160=H160.count_minus_one; +n=store160++; } } n->header.flag=FSOH_UNMARKED; -n->object=M234; -return((T234*)n); +n->object=M160; +return((T160*)n); }/*--*/ -void gc_sweep232(fsoc*c){ -gc232*o1,*o2; -o1=((gc232*)(&(c->first_object))); +void gc_sweep277(fsoc*c){ +gc277*o1,*o2; +o1=((gc277*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free232; -gc_free232=o1; +o1->header.next=gc_free277; +gc_free277=o1; } } } else{ int dead=1; -gc232* old_gc_free = gc_free232; +gc277* old_gc_free = gc_free277; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free232; -gc_free232=o1; +o1->header.next=gc_free277; +gc_free277=o1; } } if (dead){ -gc_free232 = old_gc_free; +gc_free277 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -15626,111 +15104,111 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark232(T232*o){ -if(((gc232*)o)->header.flag==FSOH_UNMARKED){ -((gc232*)o)->header.flag=FSOH_MARKED; +void gc_mark277(T277*o){ +if(((gc277*)o)->header.flag==FSOH_UNMARKED){ +((gc277*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T281 na=o->_storage; +T330 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r232mark_native_arrays(o); +r277mark_native_arrays(o); } } }} }/*--*/ -void gc_align_mark232(fsoc*c,gc232*p){ -gc232*b=((gc232*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store232)))return; +void gc_align_mark277(fsoc*c,gc277*p){ +gc277*b=((gc277*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store277)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T232*o=(&(p->object)); -((gc232*)o)->header.flag=FSOH_MARKED; +T277*o=(&(p->object)); +((gc277*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T281 na=o->_storage; +T330 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r232mark_native_arrays(o); +r277mark_native_arrays(o); } } }} } }/*--*/ -fsoc H232={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark232, -(void(*)(mch*))gc_sweep232},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc232))-1)}; +fsoc H277={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark277, +(void(*)(mch*))gc_sweep277},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc277))-1)}; -T232*new232(void){ -gc232*n; +T277*new277(void){ +gc277*n; fsoc*c; -if(store_left232>1){ -store_left232--; -n=store232++; +if(store_left277>1){ +store_left277--; +n=store277++; } -else if(gc_free232!=NULL){ -n=gc_free232; -gc_free232=n->header.next; +else if(gc_free277!=NULL){ +n=gc_free277; +gc_free277=n->header.next; } -else if(store_left232==1){ -store_left232=0; -store_chunk232->header.state_type=FSO_USED_CHUNK; -n=store232++; +else if(store_left277==1){ +store_left277=0; +store_chunk277->header.state_type=FSO_USED_CHUNK; +n=store277++; } else{ c=gc_fsoc_get1(); -if(gc_free232!=NULL){ -n=gc_free232; -gc_free232=n->header.next; +if(gc_free277!=NULL){ +n=gc_free277; +gc_free277=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk232=c; -*store_chunk232=H232; -store232=((gc232*)(&(store_chunk232->first_object))); -store_left232=H232.count_minus_one; -n=store232++; +store_chunk277=c; +*store_chunk277=H277; +store277=((gc277*)(&(store_chunk277->first_object))); +store_left277=H277.count_minus_one; +n=store277++; } } n->header.flag=FSOH_UNMARKED; -n->object=M232; -return((T232*)n); +n->object=M277; +return((T277*)n); }/*--*/ -void gc_sweep230(fsoc*c){ -gc230*o1,*o2; -o1=((gc230*)(&(c->first_object))); +void gc_sweep276(fsoc*c){ +gc276*o1,*o2; +o1=((gc276*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free230; -gc_free230=o1; +o1->header.next=gc_free276; +gc_free276=o1; } } } else{ int dead=1; -gc230* old_gc_free = gc_free230; +gc276* old_gc_free = gc_free276; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free230; -gc_free230=o1; +o1->header.next=gc_free276; +gc_free276=o1; } } if (dead){ -gc_free230 = old_gc_free; +gc_free276 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -15738,97 +15216,97 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark230(T230*o){ -if(((gc230*)o)->header.flag==FSOH_UNMARKED){ -((gc230*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark277((T277*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark276((o->_buckets)); +void gc_mark276(T276*o){ +if(((gc276*)o)->header.flag==FSOH_UNMARKED){ +((gc276*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark329((T329*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark328((o->_buckets)); } }/*--*/ -void gc_align_mark230(fsoc*c,gc230*p){ -gc230*b=((gc230*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store230)))return; +void gc_align_mark276(fsoc*c,gc276*p){ +gc276*b=((gc276*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store276)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T230*o=(&(p->object)); -((gc230*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark277((T277*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark276((o->_buckets)); +T276*o=(&(p->object)); +((gc276*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark329((T329*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark328((o->_buckets)); } } }/*--*/ -fsoc H230={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark230, -(void(*)(mch*))gc_sweep230},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc230))-1)}; +fsoc H276={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark276, +(void(*)(mch*))gc_sweep276},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc276))-1)}; -T230*new230(void){ -gc230*n; +T276*new276(void){ +gc276*n; fsoc*c; -if(store_left230>1){ -store_left230--; -n=store230++; +if(store_left276>1){ +store_left276--; +n=store276++; } -else if(gc_free230!=NULL){ -n=gc_free230; -gc_free230=n->header.next; +else if(gc_free276!=NULL){ +n=gc_free276; +gc_free276=n->header.next; } -else if(store_left230==1){ -store_left230=0; -store_chunk230->header.state_type=FSO_USED_CHUNK; -n=store230++; +else if(store_left276==1){ +store_left276=0; +store_chunk276->header.state_type=FSO_USED_CHUNK; +n=store276++; } else{ c=gc_fsoc_get1(); -if(gc_free230!=NULL){ -n=gc_free230; -gc_free230=n->header.next; +if(gc_free276!=NULL){ +n=gc_free276; +gc_free276=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk230=c; -*store_chunk230=H230; -store230=((gc230*)(&(store_chunk230->first_object))); -store_left230=H230.count_minus_one; -n=store230++; +store_chunk276=c; +*store_chunk276=H276; +store276=((gc276*)(&(store_chunk276->first_object))); +store_left276=H276.count_minus_one; +n=store276++; } } n->header.flag=FSOH_UNMARKED; -n->object=M230; -return((T230*)n); +n->object=M276; +return((T276*)n); }/*--*/ -void gc_sweep228(fsoc*c){ -gc228*o1,*o2; -o1=((gc228*)(&(c->first_object))); +void gc_sweep275(fsoc*c){ +gc275*o1,*o2; +o1=((gc275*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free228; -gc_free228=o1; +o1->header.next=gc_free275; +gc_free275=o1; } } } else{ int dead=1; -gc228* old_gc_free = gc_free228; +gc275* old_gc_free = gc_free275; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free228; -gc_free228=o1; +o1->header.next=gc_free275; +gc_free275=o1; } } if (dead){ -gc_free228 = old_gc_free; +gc_free275 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -15836,97 +15314,97 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark228(T228*o){ -if(((gc228*)o)->header.flag==FSOH_UNMARKED){ -((gc228*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark271((T271*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark270((o->_buckets)); +void gc_mark275(T275*o){ +if(((gc275*)o)->header.flag==FSOH_UNMARKED){ +((gc275*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark326((T326*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark324((o->_buckets)); } }/*--*/ -void gc_align_mark228(fsoc*c,gc228*p){ -gc228*b=((gc228*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store228)))return; +void gc_align_mark275(fsoc*c,gc275*p){ +gc275*b=((gc275*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store275)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T228*o=(&(p->object)); -((gc228*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark271((T271*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark270((o->_buckets)); +T275*o=(&(p->object)); +((gc275*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark326((T326*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark324((o->_buckets)); } } }/*--*/ -fsoc H228={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark228, -(void(*)(mch*))gc_sweep228},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc228))-1)}; +fsoc H275={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark275, +(void(*)(mch*))gc_sweep275},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc275))-1)}; -T228*new228(void){ -gc228*n; +T275*new275(void){ +gc275*n; fsoc*c; -if(store_left228>1){ -store_left228--; -n=store228++; +if(store_left275>1){ +store_left275--; +n=store275++; } -else if(gc_free228!=NULL){ -n=gc_free228; -gc_free228=n->header.next; +else if(gc_free275!=NULL){ +n=gc_free275; +gc_free275=n->header.next; } -else if(store_left228==1){ -store_left228=0; -store_chunk228->header.state_type=FSO_USED_CHUNK; -n=store228++; +else if(store_left275==1){ +store_left275=0; +store_chunk275->header.state_type=FSO_USED_CHUNK; +n=store275++; } else{ c=gc_fsoc_get1(); -if(gc_free228!=NULL){ -n=gc_free228; -gc_free228=n->header.next; +if(gc_free275!=NULL){ +n=gc_free275; +gc_free275=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk228=c; -*store_chunk228=H228; -store228=((gc228*)(&(store_chunk228->first_object))); -store_left228=H228.count_minus_one; -n=store228++; +store_chunk275=c; +*store_chunk275=H275; +store275=((gc275*)(&(store_chunk275->first_object))); +store_left275=H275.count_minus_one; +n=store275++; } } n->header.flag=FSOH_UNMARKED; -n->object=M228; -return((T228*)n); +n->object=M275; +return((T275*)n); }/*--*/ -void gc_sweep227(fsoc*c){ -gc227*o1,*o2; -o1=((gc227*)(&(c->first_object))); +void gc_sweep273(fsoc*c){ +gc273*o1,*o2; +o1=((gc273*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free227; -gc_free227=o1; +o1->header.next=gc_free273; +gc_free273=o1; } } } else{ int dead=1; -gc227* old_gc_free = gc_free227; +gc273* old_gc_free = gc_free273; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free227; -gc_free227=o1; +o1->header.next=gc_free273; +gc_free273=o1; } } if (dead){ -gc_free227 = old_gc_free; +gc_free273 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -15934,195 +15412,111 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark227(T227*o){ -if(((gc227*)o)->header.flag==FSOH_UNMARKED){ -((gc227*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark268((T268*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark267((o->_buckets)); -} -}/*--*/ - -void gc_align_mark227(fsoc*c,gc227*p){ -gc227*b=((gc227*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store227)))return; -if(((char*)p)>((char*)(b+(c->count_minus_one))))return; -if(((char*)p)<((char*)b))return; -if(((((char*)p)-((char*)b))%sizeof(*p))==0){ -if(p->header.flag==FSOH_UNMARKED){ -T227*o=(&(p->object)); -((gc227*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark268((T268*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark267((o->_buckets)); -} -} -}/*--*/ -fsoc H227={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark227, -(void(*)(mch*))gc_sweep227},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc227))-1)}; - -T227*new227(void){ -gc227*n; -fsoc*c; -if(store_left227>1){ -store_left227--; -n=store227++; -} -else if(gc_free227!=NULL){ -n=gc_free227; -gc_free227=n->header.next; -} -else if(store_left227==1){ -store_left227=0; -store_chunk227->header.state_type=FSO_USED_CHUNK; -n=store227++; -} -else{ -c=gc_fsoc_get1(); -if(gc_free227!=NULL){ -n=gc_free227; -gc_free227=n->header.next; -} -else{ -if(c==NULL)c=gc_fsoc_get2(); -store_chunk227=c; -*store_chunk227=H227; -store227=((gc227*)(&(store_chunk227->first_object))); -store_left227=H227.count_minus_one; -n=store227++; -} -} -n->header.flag=FSOH_UNMARKED; -n->object=M227; -return((T227*)n); -}/*--*/ - -void gc_sweep226(fsoc*c){ -gc226*o1,*o2; -o1=((gc226*)(&(c->first_object))); -if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ -o1->header.flag=FSOH_UNMARKED; -} -else{ -o1->header.next=gc_free226; -gc_free226=o1; -} -} -} -else{ -int dead=1; -gc226* old_gc_free = gc_free226; -o2=o1+c->count_minus_one; -for(;o1<=o2;o1++){ -if((o1->header.flag)==FSOH_MARKED){ -o1->header.flag=FSOH_UNMARKED; -dead=0;} -else{ -o1->header.next=gc_free226; -gc_free226=o1; -} -} -if (dead){ -gc_free226 = old_gc_free; -c->next=fsocfl; -fsocfl=c; -c->header.state_type=FSO_FREE_CHUNK; -} +void gc_mark273(T273*o){ +if(((gc273*)o)->header.flag==FSOH_UNMARKED){ +((gc273*)o)->header.flag=FSOH_MARKED; +/*3p*/{ +T321 na=o->_storage; +if(gc_find_chunk(na)!=NULL){/* non external NA */ + rsoh*h=((rsoh*)na)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; +r273mark_native_arrays(o); } -}/*--*/ - -void gc_mark226(T226*o){ -if(((gc226*)o)->header.flag==FSOH_UNMARKED){ -((gc226*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark265((T265*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark263((o->_buckets)); } +}} }/*--*/ -void gc_align_mark226(fsoc*c,gc226*p){ -gc226*b=((gc226*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store226)))return; +void gc_align_mark273(fsoc*c,gc273*p){ +gc273*b=((gc273*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store273)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T226*o=(&(p->object)); -((gc226*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark265((T265*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark263((o->_buckets)); +T273*o=(&(p->object)); +((gc273*)o)->header.flag=FSOH_MARKED; +/*3p*/{ +T321 na=o->_storage; +if(gc_find_chunk(na)!=NULL){/* non external NA */ + rsoh*h=((rsoh*)na)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; +r273mark_native_arrays(o); +} } +}} } }/*--*/ -fsoc H226={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark226, -(void(*)(mch*))gc_sweep226},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc226))-1)}; +fsoc H273={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark273, +(void(*)(mch*))gc_sweep273},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc273))-1)}; -T226*new226(void){ -gc226*n; +T273*new273(void){ +gc273*n; fsoc*c; -if(store_left226>1){ -store_left226--; -n=store226++; +if(store_left273>1){ +store_left273--; +n=store273++; } -else if(gc_free226!=NULL){ -n=gc_free226; -gc_free226=n->header.next; +else if(gc_free273!=NULL){ +n=gc_free273; +gc_free273=n->header.next; } -else if(store_left226==1){ -store_left226=0; -store_chunk226->header.state_type=FSO_USED_CHUNK; -n=store226++; +else if(store_left273==1){ +store_left273=0; +store_chunk273->header.state_type=FSO_USED_CHUNK; +n=store273++; } else{ c=gc_fsoc_get1(); -if(gc_free226!=NULL){ -n=gc_free226; -gc_free226=n->header.next; +if(gc_free273!=NULL){ +n=gc_free273; +gc_free273=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk226=c; -*store_chunk226=H226; -store226=((gc226*)(&(store_chunk226->first_object))); -store_left226=H226.count_minus_one; -n=store226++; +store_chunk273=c; +*store_chunk273=H273; +store273=((gc273*)(&(store_chunk273->first_object))); +store_left273=H273.count_minus_one; +n=store273++; } } n->header.flag=FSOH_UNMARKED; -n->object=M226; -return((T226*)n); +n->object=M273; +return((T273*)n); }/*--*/ -void gc_sweep225(fsoc*c){ -gc225*o1,*o2; -o1=((gc225*)(&(c->first_object))); +void gc_sweep271(fsoc*c){ +gc271*o1,*o2; +o1=((gc271*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free225; -gc_free225=o1; +o1->header.next=gc_free271; +gc_free271=o1; } } } else{ int dead=1; -gc225* old_gc_free = gc_free225; +gc271* old_gc_free = gc_free271; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free225; -gc_free225=o1; +o1->header.next=gc_free271; +gc_free271=o1; } } if (dead){ -gc_free225 = old_gc_free; +gc_free271 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -16130,111 +15524,97 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark225(T225*o){ -if(((gc225*)o)->header.flag==FSOH_UNMARKED){ -((gc225*)o)->header.flag=FSOH_MARKED; -/*3p*/{ -T262 na=o->_storage; -if(gc_find_chunk(na)!=NULL){/* non external NA */ - rsoh*h=((rsoh*)na)-1; - if((h->header.magic_flag)==RSOH_UNMARKED){ - h->header.magic_flag=RSOH_MARKED; -r225mark_native_arrays(o); -} +void gc_mark271(T271*o){ +if(((gc271*)o)->header.flag==FSOH_UNMARKED){ +((gc271*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark317((T317*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark316((o->_buckets)); } -}} }/*--*/ -void gc_align_mark225(fsoc*c,gc225*p){ -gc225*b=((gc225*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store225)))return; +void gc_align_mark271(fsoc*c,gc271*p){ +gc271*b=((gc271*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store271)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T225*o=(&(p->object)); -((gc225*)o)->header.flag=FSOH_MARKED; -/*3p*/{ -T262 na=o->_storage; -if(gc_find_chunk(na)!=NULL){/* non external NA */ - rsoh*h=((rsoh*)na)-1; - if((h->header.magic_flag)==RSOH_UNMARKED){ - h->header.magic_flag=RSOH_MARKED; -r225mark_native_arrays(o); -} +T271*o=(&(p->object)); +((gc271*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark317((T317*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark316((o->_buckets)); } -}} } }/*--*/ -fsoc H225={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark225, -(void(*)(mch*))gc_sweep225},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc225))-1)}; +fsoc H271={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark271, +(void(*)(mch*))gc_sweep271},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc271))-1)}; -T225*new225(void){ -gc225*n; +T271*new271(void){ +gc271*n; fsoc*c; -if(store_left225>1){ -store_left225--; -n=store225++; +if(store_left271>1){ +store_left271--; +n=store271++; } -else if(gc_free225!=NULL){ -n=gc_free225; -gc_free225=n->header.next; +else if(gc_free271!=NULL){ +n=gc_free271; +gc_free271=n->header.next; } -else if(store_left225==1){ -store_left225=0; -store_chunk225->header.state_type=FSO_USED_CHUNK; -n=store225++; +else if(store_left271==1){ +store_left271=0; +store_chunk271->header.state_type=FSO_USED_CHUNK; +n=store271++; } else{ c=gc_fsoc_get1(); -if(gc_free225!=NULL){ -n=gc_free225; -gc_free225=n->header.next; +if(gc_free271!=NULL){ +n=gc_free271; +gc_free271=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk225=c; -*store_chunk225=H225; -store225=((gc225*)(&(store_chunk225->first_object))); -store_left225=H225.count_minus_one; -n=store225++; +store_chunk271=c; +*store_chunk271=H271; +store271=((gc271*)(&(store_chunk271->first_object))); +store_left271=H271.count_minus_one; +n=store271++; } } n->header.flag=FSOH_UNMARKED; -n->object=M225; -return((T225*)n); +n->object=M271; +return((T271*)n); }/*--*/ -void gc_sweep158(fsoc*c){ -gc158*o1,*o2; -o1=((gc158*)(&(c->first_object))); +void gc_sweep269(fsoc*c){ +gc269*o1,*o2; +o1=((gc269*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free158; -gc_free158=o1; +o1->header.next=gc_free269; +gc_free269=o1; } } } else{ int dead=1; -gc158* old_gc_free = gc_free158; +gc269* old_gc_free = gc_free269; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free158; -gc_free158=o1; +o1->header.next=gc_free269; +gc_free269=o1; } } if (dead){ -gc_free158 = old_gc_free; +gc_free269 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -16242,99 +15622,97 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark158(T158*o){ -if(((gc158*)o)->header.flag==FSOH_UNMARKED){ -((gc158*)o)->header.flag=FSOH_MARKED; -/*p*/if(NULL!=o->_container)gc_mark72((T72*)(o->_container)); +void gc_mark269(T269*o){ +if(((gc269*)o)->header.flag==FSOH_UNMARKED){ +((gc269*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark311((T311*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark310((o->_buckets)); } }/*--*/ -void gc_align_mark158(fsoc*c,gc158*p){ -gc158*b=((gc158*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store158)))return; +void gc_align_mark269(fsoc*c,gc269*p){ +gc269*b=((gc269*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store269)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T158*o=(&(p->object)); -((gc158*)o)->header.flag=FSOH_MARKED; -/*p*/if(NULL!=o->_container)gc_mark72((T72*)(o->_container)); +T269*o=(&(p->object)); +((gc269*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark311((T311*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark310((o->_buckets)); } } }/*--*/ -fsoc H158={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark158, -(void(*)(mch*))gc_sweep158},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc158))-1)}; +fsoc H269={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark269, +(void(*)(mch*))gc_sweep269},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc269))-1)}; -T158*new158(void){ -gc158*n; +T269*new269(void){ +gc269*n; fsoc*c; -if(store_left158>1){ -store_left158--; -n=store158++; +if(store_left269>1){ +store_left269--; +n=store269++; } -else if(gc_free158!=NULL){ -n=gc_free158; -gc_free158=n->header.next; +else if(gc_free269!=NULL){ +n=gc_free269; +gc_free269=n->header.next; } -else if(store_left158==1){ -store_left158=0; -store_chunk158->header.state_type=FSO_USED_CHUNK; -n=store158++; +else if(store_left269==1){ +store_left269=0; +store_chunk269->header.state_type=FSO_USED_CHUNK; +n=store269++; } else{ c=gc_fsoc_get1(); -if(gc_free158!=NULL){ -n=gc_free158; -gc_free158=n->header.next; +if(gc_free269!=NULL){ +n=gc_free269; +gc_free269=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk158=c; -*store_chunk158=H158; -store158=((gc158*)(&(store_chunk158->first_object))); -store_left158=H158.count_minus_one; -n=store158++; +store_chunk269=c; +*store_chunk269=H269; +store269=((gc269*)(&(store_chunk269->first_object))); +store_left269=H269.count_minus_one; +n=store269++; } } n->header.flag=FSOH_UNMARKED; -n->object=M158; -return((T158*)n); +n->object=M269; +return((T269*)n); }/*--*/ -void gc_sweep54(fsoc*c){ -gc54*o1,*o2; -o1=((gc54*)(&(c->first_object))); +void gc_sweep268(fsoc*c){ +gc268*o1,*o2; +o1=((gc268*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -if((o1->header.flag)==FSOH_UNMARKED){ -r54dispose((T54*)o1); -}o1->header.next=gc_free54; -gc_free54=o1; +o1->header.next=gc_free268; +gc_free268=o1; } } } else{ int dead=1; -gc54* old_gc_free = gc_free54; +gc268* old_gc_free = gc_free268; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -if((o1->header.flag)==FSOH_UNMARKED){ -r54dispose((T54*)o1); -}o1->header.next=gc_free54; -gc_free54=o1; +o1->header.next=gc_free268; +gc_free268=o1; } } if (dead){ -gc_free54 = old_gc_free; +gc_free268 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -16342,95 +15720,132 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark54(T54*o){ -if(((gc54*)o)->header.flag==FSOH_UNMARKED){ -((gc54*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_buffer)gc_mark9((o->_buffer)); +void gc_mark268(T268*o){ +if(((gc268*)o)->header.flag==FSOH_UNMARKED){ +((gc268*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark308((T308*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark306((o->_buckets)); } }/*--*/ -void gc_align_mark54(fsoc*c,gc54*p){ -gc54*b=((gc54*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store54)))return; +void gc_align_mark268(fsoc*c,gc268*p){ +gc268*b=((gc268*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store268)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T54*o=(&(p->object)); -((gc54*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_buffer)gc_mark9((o->_buffer)); +T268*o=(&(p->object)); +((gc268*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark308((T308*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark306((o->_buckets)); } } }/*--*/ -fsoc H54={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark54, -(void(*)(mch*))gc_sweep54},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc54))-1)}; +fsoc H268={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark268, +(void(*)(mch*))gc_sweep268},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc268))-1)}; -T54*new54(void){ -gc54*n; +T268*new268(void){ +gc268*n; fsoc*c; -if(store_left54>1){ -store_left54--; -n=store54++; +if(store_left268>1){ +store_left268--; +n=store268++; } -else if(gc_free54!=NULL){ -n=gc_free54; -gc_free54=n->header.next; +else if(gc_free268!=NULL){ +n=gc_free268; +gc_free268=n->header.next; } -else if(store_left54==1){ -store_left54=0; -store_chunk54->header.state_type=FSO_USED_CHUNK; -n=store54++; +else if(store_left268==1){ +store_left268=0; +store_chunk268->header.state_type=FSO_USED_CHUNK; +n=store268++; } else{ c=gc_fsoc_get1(); -if(gc_free54!=NULL){ -n=gc_free54; -gc_free54=n->header.next; +if(gc_free268!=NULL){ +n=gc_free268; +gc_free268=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk54=c; -*store_chunk54=H54; -store54=((gc54*)(&(store_chunk54->first_object))); -store_left54=H54.count_minus_one; -n=store54++; +store_chunk268=c; +*store_chunk268=H268; +store268=((gc268*)(&(store_chunk268->first_object))); +store_left268=H268.count_minus_one; +n=store268++; } } n->header.flag=FSOH_UNMARKED; -n->object=M54; -return((T54*)n); +n->object=M268; +return((T268*)n); +}/*--*/ + +void gc_mark267(T267 o){ +if(NULL==gc_find_chunk(o)) +return; /* external NA */ +{rsoh*h=((rsoh*)o)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; + {T0* e; +T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); +for(;((void*)p)>=((void*)o);p--){ +e=*p; +if(NULL!=e)gc_mark7((T7*)(e)); +}}}} +}/*--*/ + +T267 new267(unsigned int size){ +size=(size*sizeof(T0*))+sizeof(rsoh); +size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); +if (size<=(na_env267.store_left)){ +rsoh*r=na_env267.store; +na_env267.store_left-=size; +if(na_env267.store_left>sizeof(rsoh)){ +r->header.size=size; +na_env267.store=((rsoh*)(((char*)(na_env267.store))+size)); +} +else { +r->header.size=size+na_env267.store_left; +na_env267.store_left=0; +} +(r->header.magic_flag)=RSOH_UNMARKED; +((void)memset((r+1),0,r->header.size-sizeof(rsoh))); +return((T267)(r+1)); +} +return((T267)new_na(&na_env267,size)); }/*--*/ -void gc_sweep139(fsoc*c){ -gc139*o1,*o2; -o1=((gc139*)(&(c->first_object))); +void gc_sweep146(fsoc*c){ +gc146*o1,*o2; +o1=((gc146*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free139; -gc_free139=o1; +o1->header.next=gc_free146; +gc_free146=o1; } } } else{ int dead=1; -gc139* old_gc_free = gc_free139; +gc146* old_gc_free = gc_free146; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free139; -gc_free139=o1; +o1->header.next=gc_free146; +gc_free146=o1; } } if (dead){ -gc_free139 = old_gc_free; +gc_free146 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -16438,91 +15853,91 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark139(T139*o){ -((gc139*)o)->header.flag=FSOH_MARKED; +void gc_mark146(T146*o){ +((gc146*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark139(fsoc*c,gc139*p){ -gc139*b=((gc139*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store139)))return; +void gc_align_mark146(fsoc*c,gc146*p){ +gc146*b=((gc146*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store146)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T139*o=(&(p->object)); -((gc139*)o)->header.flag=FSOH_MARKED; +T146*o=(&(p->object)); +((gc146*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H139={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark139, -(void(*)(mch*))gc_sweep139},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc139))-1)}; +fsoc H146={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark146, +(void(*)(mch*))gc_sweep146},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc146))-1)}; -T139*new139(void){ -gc139*n; +T146*new146(void){ +gc146*n; fsoc*c; -if(store_left139>1){ -store_left139--; -n=store139++; +if(store_left146>1){ +store_left146--; +n=store146++; } -else if(gc_free139!=NULL){ -n=gc_free139; -gc_free139=n->header.next; +else if(gc_free146!=NULL){ +n=gc_free146; +gc_free146=n->header.next; } -else if(store_left139==1){ -store_left139=0; -store_chunk139->header.state_type=FSO_USED_CHUNK; -n=store139++; +else if(store_left146==1){ +store_left146=0; +store_chunk146->header.state_type=FSO_USED_CHUNK; +n=store146++; } else{ c=gc_fsoc_get1(); -if(gc_free139!=NULL){ -n=gc_free139; -gc_free139=n->header.next; +if(gc_free146!=NULL){ +n=gc_free146; +gc_free146=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk139=c; -*store_chunk139=H139; -store139=((gc139*)(&(store_chunk139->first_object))); -store_left139=H139.count_minus_one; -n=store139++; +store_chunk146=c; +*store_chunk146=H146; +store146=((gc146*)(&(store_chunk146->first_object))); +store_left146=H146.count_minus_one; +n=store146++; } } n->header.flag=FSOH_UNMARKED; -n->object=M139; -return((T139*)n); +n->object=M146; +return((T146*)n); }/*--*/ -void gc_sweep223(fsoc*c){ -gc223*o1,*o2; -o1=((gc223*)(&(c->first_object))); +void gc_sweep266(fsoc*c){ +gc266*o1,*o2; +o1=((gc266*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free223; -gc_free223=o1; +o1->header.next=gc_free266; +gc_free266=o1; } } } else{ int dead=1; -gc223* old_gc_free = gc_free223; +gc266* old_gc_free = gc_free266; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free223; -gc_free223=o1; +o1->header.next=gc_free266; +gc_free266=o1; } } if (dead){ -gc_free223 = old_gc_free; +gc_free266 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -16530,111 +15945,111 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark223(T223*o){ -if(((gc223*)o)->header.flag==FSOH_UNMARKED){ -((gc223*)o)->header.flag=FSOH_MARKED; +void gc_mark266(T266*o){ +if(((gc266*)o)->header.flag==FSOH_UNMARKED){ +((gc266*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T261 na=o->_storage; +T305 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r223mark_native_arrays(o); +r266mark_native_arrays(o); } } }} }/*--*/ -void gc_align_mark223(fsoc*c,gc223*p){ -gc223*b=((gc223*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store223)))return; +void gc_align_mark266(fsoc*c,gc266*p){ +gc266*b=((gc266*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store266)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T223*o=(&(p->object)); -((gc223*)o)->header.flag=FSOH_MARKED; +T266*o=(&(p->object)); +((gc266*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T261 na=o->_storage; +T305 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r223mark_native_arrays(o); +r266mark_native_arrays(o); } } }} } }/*--*/ -fsoc H223={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark223, -(void(*)(mch*))gc_sweep223},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc223))-1)}; +fsoc H266={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark266, +(void(*)(mch*))gc_sweep266},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc266))-1)}; -T223*new223(void){ -gc223*n; +T266*new266(void){ +gc266*n; fsoc*c; -if(store_left223>1){ -store_left223--; -n=store223++; +if(store_left266>1){ +store_left266--; +n=store266++; } -else if(gc_free223!=NULL){ -n=gc_free223; -gc_free223=n->header.next; +else if(gc_free266!=NULL){ +n=gc_free266; +gc_free266=n->header.next; } -else if(store_left223==1){ -store_left223=0; -store_chunk223->header.state_type=FSO_USED_CHUNK; -n=store223++; +else if(store_left266==1){ +store_left266=0; +store_chunk266->header.state_type=FSO_USED_CHUNK; +n=store266++; } else{ c=gc_fsoc_get1(); -if(gc_free223!=NULL){ -n=gc_free223; -gc_free223=n->header.next; +if(gc_free266!=NULL){ +n=gc_free266; +gc_free266=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk223=c; -*store_chunk223=H223; -store223=((gc223*)(&(store_chunk223->first_object))); -store_left223=H223.count_minus_one; -n=store223++; +store_chunk266=c; +*store_chunk266=H266; +store266=((gc266*)(&(store_chunk266->first_object))); +store_left266=H266.count_minus_one; +n=store266++; } } n->header.flag=FSOH_UNMARKED; -n->object=M223; -return((T223*)n); +n->object=M266; +return((T266*)n); }/*--*/ -void gc_sweep142(fsoc*c){ -gc142*o1,*o2; -o1=((gc142*)(&(c->first_object))); +void gc_sweep149(fsoc*c){ +gc149*o1,*o2; +o1=((gc149*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free142; -gc_free142=o1; +o1->header.next=gc_free149; +gc_free149=o1; } } } else{ int dead=1; -gc142* old_gc_free = gc_free142; +gc149* old_gc_free = gc_free149; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free142; -gc_free142=o1; +o1->header.next=gc_free149; +gc_free149=o1; } } if (dead){ -gc_free142 = old_gc_free; +gc_free149 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -16642,91 +16057,91 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark142(T142*o){ -((gc142*)o)->header.flag=FSOH_MARKED; +void gc_mark149(T149*o){ +((gc149*)o)->header.flag=FSOH_MARKED; }/*--*/ -void gc_align_mark142(fsoc*c,gc142*p){ -gc142*b=((gc142*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store142)))return; +void gc_align_mark149(fsoc*c,gc149*p){ +gc149*b=((gc149*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store149)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T142*o=(&(p->object)); -((gc142*)o)->header.flag=FSOH_MARKED; +T149*o=(&(p->object)); +((gc149*)o)->header.flag=FSOH_MARKED; } } }/*--*/ -fsoc H142={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark142, -(void(*)(mch*))gc_sweep142},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc142))-1)}; +fsoc H149={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark149, +(void(*)(mch*))gc_sweep149},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc149))-1)}; -T142*new142(void){ -gc142*n; +T149*new149(void){ +gc149*n; fsoc*c; -if(store_left142>1){ -store_left142--; -n=store142++; +if(store_left149>1){ +store_left149--; +n=store149++; } -else if(gc_free142!=NULL){ -n=gc_free142; -gc_free142=n->header.next; +else if(gc_free149!=NULL){ +n=gc_free149; +gc_free149=n->header.next; } -else if(store_left142==1){ -store_left142=0; -store_chunk142->header.state_type=FSO_USED_CHUNK; -n=store142++; +else if(store_left149==1){ +store_left149=0; +store_chunk149->header.state_type=FSO_USED_CHUNK; +n=store149++; } else{ c=gc_fsoc_get1(); -if(gc_free142!=NULL){ -n=gc_free142; -gc_free142=n->header.next; +if(gc_free149!=NULL){ +n=gc_free149; +gc_free149=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk142=c; -*store_chunk142=H142; -store142=((gc142*)(&(store_chunk142->first_object))); -store_left142=H142.count_minus_one; -n=store142++; +store_chunk149=c; +*store_chunk149=H149; +store149=((gc149*)(&(store_chunk149->first_object))); +store_left149=H149.count_minus_one; +n=store149++; } } n->header.flag=FSOH_UNMARKED; -n->object=M142; -return((T142*)n); +n->object=M149; +return((T149*)n); }/*--*/ -void gc_sweep222(fsoc*c){ -gc222*o1,*o2; -o1=((gc222*)(&(c->first_object))); +void gc_sweep265(fsoc*c){ +gc265*o1,*o2; +o1=((gc265*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free222; -gc_free222=o1; +o1->header.next=gc_free265; +gc_free265=o1; } } } else{ int dead=1; -gc222* old_gc_free = gc_free222; +gc265* old_gc_free = gc_free265; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free222; -gc_free222=o1; +o1->header.next=gc_free265; +gc_free265=o1; } } if (dead){ -gc_free222 = old_gc_free; +gc_free265 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -16734,111 +16149,111 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark222(T222*o){ -if(((gc222*)o)->header.flag==FSOH_UNMARKED){ -((gc222*)o)->header.flag=FSOH_MARKED; +void gc_mark265(T265*o){ +if(((gc265*)o)->header.flag==FSOH_UNMARKED){ +((gc265*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T260 na=o->_storage; +T304 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r222mark_native_arrays(o); +r265mark_native_arrays(o); } } }} }/*--*/ -void gc_align_mark222(fsoc*c,gc222*p){ -gc222*b=((gc222*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store222)))return; +void gc_align_mark265(fsoc*c,gc265*p){ +gc265*b=((gc265*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store265)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T222*o=(&(p->object)); -((gc222*)o)->header.flag=FSOH_MARKED; +T265*o=(&(p->object)); +((gc265*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T260 na=o->_storage; +T304 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r222mark_native_arrays(o); +r265mark_native_arrays(o); } } }} } }/*--*/ -fsoc H222={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark222, -(void(*)(mch*))gc_sweep222},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc222))-1)}; +fsoc H265={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark265, +(void(*)(mch*))gc_sweep265},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc265))-1)}; -T222*new222(void){ -gc222*n; +T265*new265(void){ +gc265*n; fsoc*c; -if(store_left222>1){ -store_left222--; -n=store222++; +if(store_left265>1){ +store_left265--; +n=store265++; } -else if(gc_free222!=NULL){ -n=gc_free222; -gc_free222=n->header.next; +else if(gc_free265!=NULL){ +n=gc_free265; +gc_free265=n->header.next; } -else if(store_left222==1){ -store_left222=0; -store_chunk222->header.state_type=FSO_USED_CHUNK; -n=store222++; +else if(store_left265==1){ +store_left265=0; +store_chunk265->header.state_type=FSO_USED_CHUNK; +n=store265++; } else{ c=gc_fsoc_get1(); -if(gc_free222!=NULL){ -n=gc_free222; -gc_free222=n->header.next; +if(gc_free265!=NULL){ +n=gc_free265; +gc_free265=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk222=c; -*store_chunk222=H222; -store222=((gc222*)(&(store_chunk222->first_object))); -store_left222=H222.count_minus_one; -n=store222++; +store_chunk265=c; +*store_chunk265=H265; +store265=((gc265*)(&(store_chunk265->first_object))); +store_left265=H265.count_minus_one; +n=store265++; } } n->header.flag=FSOH_UNMARKED; -n->object=M222; -return((T222*)n); +n->object=M265; +return((T265*)n); }/*--*/ -void gc_sweep141(fsoc*c){ -gc141*o1,*o2; -o1=((gc141*)(&(c->first_object))); +void gc_sweep148(fsoc*c){ +gc148*o1,*o2; +o1=((gc148*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free141; -gc_free141=o1; +o1->header.next=gc_free148; +gc_free148=o1; } } } else{ int dead=1; -gc141* old_gc_free = gc_free141; +gc148* old_gc_free = gc_free148; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free141; -gc_free141=o1; +o1->header.next=gc_free148; +gc_free148=o1; } } if (dead){ -gc_free141 = old_gc_free; +gc_free148 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -16846,99 +16261,99 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark141(T141*o){ -if(((gc141*)o)->header.flag==FSOH_UNMARKED){ -((gc141*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_resolutions)gc_mark214((T214*)(o->_resolutions)); -/*5p*/if(NULL!=o->_maximums)gc_mark214((T214*)(o->_maximums)); -/*5p*/if(NULL!=o->_minimums)gc_mark214((T214*)(o->_minimums)); +void gc_mark148(T148*o){ +if(((gc148*)o)->header.flag==FSOH_UNMARKED){ +((gc148*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_resolutions)gc_mark258((T258*)(o->_resolutions)); +/*5p*/if(NULL!=o->_maximums)gc_mark258((T258*)(o->_maximums)); +/*5p*/if(NULL!=o->_minimums)gc_mark258((T258*)(o->_minimums)); } }/*--*/ -void gc_align_mark141(fsoc*c,gc141*p){ -gc141*b=((gc141*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store141)))return; +void gc_align_mark148(fsoc*c,gc148*p){ +gc148*b=((gc148*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store148)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T141*o=(&(p->object)); -((gc141*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_resolutions)gc_mark214((T214*)(o->_resolutions)); -/*5p*/if(NULL!=o->_maximums)gc_mark214((T214*)(o->_maximums)); -/*5p*/if(NULL!=o->_minimums)gc_mark214((T214*)(o->_minimums)); +T148*o=(&(p->object)); +((gc148*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_resolutions)gc_mark258((T258*)(o->_resolutions)); +/*5p*/if(NULL!=o->_maximums)gc_mark258((T258*)(o->_maximums)); +/*5p*/if(NULL!=o->_minimums)gc_mark258((T258*)(o->_minimums)); } } }/*--*/ -fsoc H141={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark141, -(void(*)(mch*))gc_sweep141},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc141))-1)}; +fsoc H148={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark148, +(void(*)(mch*))gc_sweep148},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc148))-1)}; -T141*new141(void){ -gc141*n; +T148*new148(void){ +gc148*n; fsoc*c; -if(store_left141>1){ -store_left141--; -n=store141++; +if(store_left148>1){ +store_left148--; +n=store148++; } -else if(gc_free141!=NULL){ -n=gc_free141; -gc_free141=n->header.next; +else if(gc_free148!=NULL){ +n=gc_free148; +gc_free148=n->header.next; } -else if(store_left141==1){ -store_left141=0; -store_chunk141->header.state_type=FSO_USED_CHUNK; -n=store141++; +else if(store_left148==1){ +store_left148=0; +store_chunk148->header.state_type=FSO_USED_CHUNK; +n=store148++; } else{ c=gc_fsoc_get1(); -if(gc_free141!=NULL){ -n=gc_free141; -gc_free141=n->header.next; +if(gc_free148!=NULL){ +n=gc_free148; +gc_free148=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk141=c; -*store_chunk141=H141; -store141=((gc141*)(&(store_chunk141->first_object))); -store_left141=H141.count_minus_one; -n=store141++; +store_chunk148=c; +*store_chunk148=H148; +store148=((gc148*)(&(store_chunk148->first_object))); +store_left148=H148.count_minus_one; +n=store148++; } } n->header.flag=FSOH_UNMARKED; -n->object=M141; -return((T141*)n); +n->object=M148; +return((T148*)n); }/*--*/ -void gc_sweep221(fsoc*c){ -gc221*o1,*o2; -o1=((gc221*)(&(c->first_object))); +void gc_sweep264(fsoc*c){ +gc264*o1,*o2; +o1=((gc264*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free221; -gc_free221=o1; +o1->header.next=gc_free264; +gc_free264=o1; } } } else{ int dead=1; -gc221* old_gc_free = gc_free221; +gc264* old_gc_free = gc_free264; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free221; -gc_free221=o1; +o1->header.next=gc_free264; +gc_free264=o1; } } if (dead){ -gc_free221 = old_gc_free; +gc_free264 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -16946,118 +16361,83 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark221(T221*o){ -if(((gc221*)o)->header.flag==FSOH_UNMARKED){ -((gc221*)o)->header.flag=FSOH_MARKED; +void gc_mark264(T264*o){ +if(((gc264*)o)->header.flag==FSOH_UNMARKED){ +((gc264*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T259 na=o->_storage; +T303 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r221mark_native_arrays(o); +r264mark_native_arrays(o); } } }} }/*--*/ -void gc_align_mark221(fsoc*c,gc221*p){ -gc221*b=((gc221*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store221)))return; +void gc_align_mark264(fsoc*c,gc264*p){ +gc264*b=((gc264*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store264)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T221*o=(&(p->object)); -((gc221*)o)->header.flag=FSOH_MARKED; +T264*o=(&(p->object)); +((gc264*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T259 na=o->_storage; +T303 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r221mark_native_arrays(o); +r264mark_native_arrays(o); } } }} } }/*--*/ -fsoc H221={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark221, -(void(*)(mch*))gc_sweep221},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc221))-1)}; +fsoc H264={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark264, +(void(*)(mch*))gc_sweep264},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc264))-1)}; -T221*new221(void){ -gc221*n; +T264*new264(void){ +gc264*n; fsoc*c; -if(store_left221>1){ -store_left221--; -n=store221++; +if(store_left264>1){ +store_left264--; +n=store264++; } -else if(gc_free221!=NULL){ -n=gc_free221; -gc_free221=n->header.next; +else if(gc_free264!=NULL){ +n=gc_free264; +gc_free264=n->header.next; } -else if(store_left221==1){ -store_left221=0; -store_chunk221->header.state_type=FSO_USED_CHUNK; -n=store221++; +else if(store_left264==1){ +store_left264=0; +store_chunk264->header.state_type=FSO_USED_CHUNK; +n=store264++; } else{ c=gc_fsoc_get1(); -if(gc_free221!=NULL){ -n=gc_free221; -gc_free221=n->header.next; +if(gc_free264!=NULL){ +n=gc_free264; +gc_free264=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk221=c; -*store_chunk221=H221; -store221=((gc221*)(&(store_chunk221->first_object))); -store_left221=H221.count_minus_one; -n=store221++; +store_chunk264=c; +*store_chunk264=H264; +store264=((gc264*)(&(store_chunk264->first_object))); +store_left264=H264.count_minus_one; +n=store264++; } } n->header.flag=FSOH_UNMARKED; -n->object=M221; -return((T221*)n); -}/*--*/ - -void gc_mark220(T220 o){ -if(NULL==gc_find_chunk(o)) -return; /* external NA */ -{rsoh*h=((rsoh*)o)-1; - if((h->header.magic_flag)==RSOH_UNMARKED){ - h->header.magic_flag=RSOH_MARKED; - {T0* e; -T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); -for(;((void*)p)>=((void*)o);p--){ -e=*p; -if(NULL!=e)gc_mark67((T67*)(e)); -}}}} -}/*--*/ - -T220 new220(unsigned int size){ -size=(size*sizeof(T0*))+sizeof(rsoh); -size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env220.store_left)){ -rsoh*r=na_env220.store; -na_env220.store_left-=size; -if(na_env220.store_left>sizeof(rsoh)){ -r->header.size=size; -na_env220.store=((rsoh*)(((char*)(na_env220.store))+size)); -} -else { -r->header.size=size+na_env220.store_left; -na_env220.store_left=0; -} -(r->header.magic_flag)=RSOH_UNMARKED; -((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T220)(r+1)); -} -return((T220)new_na(&na_env220,size)); +n->object=M264; +return((T264*)n); }/*--*/ -void gc_mark219(T219 o){ +void gc_mark263(T263 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ {rsoh*h=((rsoh*)o)-1; @@ -17067,60 +16447,60 @@ return; /* external NA */ T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1))); for(;((void*)p)>=((void*)o);p--){ e=*p; -if(NULL!=e)gc_mark7((T7*)(e)); +if(NULL!=e)gc_mark68((T68*)(e)); }}}} }/*--*/ -T219 new219(unsigned int size){ +T263 new263(unsigned int size){ size=(size*sizeof(T0*))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env219.store_left)){ -rsoh*r=na_env219.store; -na_env219.store_left-=size; -if(na_env219.store_left>sizeof(rsoh)){ +if (size<=(na_env263.store_left)){ +rsoh*r=na_env263.store; +na_env263.store_left-=size; +if(na_env263.store_left>sizeof(rsoh)){ r->header.size=size; -na_env219.store=((rsoh*)(((char*)(na_env219.store))+size)); +na_env263.store=((rsoh*)(((char*)(na_env263.store))+size)); } else { -r->header.size=size+na_env219.store_left; -na_env219.store_left=0; +r->header.size=size+na_env263.store_left; +na_env263.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T219)(r+1)); +return((T263)(r+1)); } -return((T219)new_na(&na_env219,size)); +return((T263)new_na(&na_env263,size)); }/*--*/ -void gc_sweep218(fsoc*c){ -gc218*o1,*o2; -o1=((gc218*)(&(c->first_object))); +void gc_sweep262(fsoc*c){ +gc262*o1,*o2; +o1=((gc262*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free218; -gc_free218=o1; +o1->header.next=gc_free262; +gc_free262=o1; } } } else{ int dead=1; -gc218* old_gc_free = gc_free218; +gc262* old_gc_free = gc_free262; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free218; -gc_free218=o1; +o1->header.next=gc_free262; +gc_free262=o1; } } if (dead){ -gc_free218 = old_gc_free; +gc_free262 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -17128,97 +16508,97 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark218(T218*o){ -if(((gc218*)o)->header.flag==FSOH_UNMARKED){ -((gc218*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark258((T258*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark257((o->_buckets)); +void gc_mark262(T262*o){ +if(((gc262*)o)->header.flag==FSOH_UNMARKED){ +((gc262*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark302((T302*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark301((o->_buckets)); } }/*--*/ -void gc_align_mark218(fsoc*c,gc218*p){ -gc218*b=((gc218*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store218)))return; +void gc_align_mark262(fsoc*c,gc262*p){ +gc262*b=((gc262*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store262)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T218*o=(&(p->object)); -((gc218*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark258((T258*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark257((o->_buckets)); +T262*o=(&(p->object)); +((gc262*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark302((T302*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark301((o->_buckets)); } } }/*--*/ -fsoc H218={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark218, -(void(*)(mch*))gc_sweep218},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc218))-1)}; +fsoc H262={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark262, +(void(*)(mch*))gc_sweep262},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc262))-1)}; -T218*new218(void){ -gc218*n; +T262*new262(void){ +gc262*n; fsoc*c; -if(store_left218>1){ -store_left218--; -n=store218++; +if(store_left262>1){ +store_left262--; +n=store262++; } -else if(gc_free218!=NULL){ -n=gc_free218; -gc_free218=n->header.next; +else if(gc_free262!=NULL){ +n=gc_free262; +gc_free262=n->header.next; } -else if(store_left218==1){ -store_left218=0; -store_chunk218->header.state_type=FSO_USED_CHUNK; -n=store218++; +else if(store_left262==1){ +store_left262=0; +store_chunk262->header.state_type=FSO_USED_CHUNK; +n=store262++; } else{ c=gc_fsoc_get1(); -if(gc_free218!=NULL){ -n=gc_free218; -gc_free218=n->header.next; +if(gc_free262!=NULL){ +n=gc_free262; +gc_free262=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk218=c; -*store_chunk218=H218; -store218=((gc218*)(&(store_chunk218->first_object))); -store_left218=H218.count_minus_one; -n=store218++; +store_chunk262=c; +*store_chunk262=H262; +store262=((gc262*)(&(store_chunk262->first_object))); +store_left262=H262.count_minus_one; +n=store262++; } } n->header.flag=FSOH_UNMARKED; -n->object=M218; -return((T218*)n); +n->object=M262; +return((T262*)n); }/*--*/ -void gc_sweep217(fsoc*c){ -gc217*o1,*o2; -o1=((gc217*)(&(c->first_object))); +void gc_sweep261(fsoc*c){ +gc261*o1,*o2; +o1=((gc261*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free217; -gc_free217=o1; +o1->header.next=gc_free261; +gc_free261=o1; } } } else{ int dead=1; -gc217* old_gc_free = gc_free217; +gc261* old_gc_free = gc_free261; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free217; -gc_free217=o1; +o1->header.next=gc_free261; +gc_free261=o1; } } if (dead){ -gc_free217 = old_gc_free; +gc_free261 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -17226,111 +16606,207 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark217(T217*o){ -if(((gc217*)o)->header.flag==FSOH_UNMARKED){ -((gc217*)o)->header.flag=FSOH_MARKED; +void gc_mark261(T261*o){ +if(((gc261*)o)->header.flag==FSOH_UNMARKED){ +((gc261*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T255 na=o->_storage; +T299 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r217mark_native_arrays(o); +r261mark_native_arrays(o); } } }} }/*--*/ -void gc_align_mark217(fsoc*c,gc217*p){ -gc217*b=((gc217*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store217)))return; +void gc_align_mark261(fsoc*c,gc261*p){ +gc261*b=((gc261*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store261)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T217*o=(&(p->object)); -((gc217*)o)->header.flag=FSOH_MARKED; +T261*o=(&(p->object)); +((gc261*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T255 na=o->_storage; +T299 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r217mark_native_arrays(o); +r261mark_native_arrays(o); } } }} } }/*--*/ -fsoc H217={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark217, -(void(*)(mch*))gc_sweep217},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc217))-1)}; +fsoc H261={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark261, +(void(*)(mch*))gc_sweep261},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc261))-1)}; + +T261*new261(void){ +gc261*n; +fsoc*c; +if(store_left261>1){ +store_left261--; +n=store261++; +} +else if(gc_free261!=NULL){ +n=gc_free261; +gc_free261=n->header.next; +} +else if(store_left261==1){ +store_left261=0; +store_chunk261->header.state_type=FSO_USED_CHUNK; +n=store261++; +} +else{ +c=gc_fsoc_get1(); +if(gc_free261!=NULL){ +n=gc_free261; +gc_free261=n->header.next; +} +else{ +if(c==NULL)c=gc_fsoc_get2(); +store_chunk261=c; +*store_chunk261=H261; +store261=((gc261*)(&(store_chunk261->first_object))); +store_left261=H261.count_minus_one; +n=store261++; +} +} +n->header.flag=FSOH_UNMARKED; +n->object=M261; +return((T261*)n); +}/*--*/ + +void gc_sweep260(fsoc*c){ +gc260*o1,*o2; +o1=((gc260*)(&(c->first_object))); +if(c->header.state_type==FSO_STORE_CHUNK){ +for(;o1header.flag)==FSOH_MARKED){ +o1->header.flag=FSOH_UNMARKED; +} +else{ +o1->header.next=gc_free260; +gc_free260=o1; +} +} +} +else{ +int dead=1; +gc260* old_gc_free = gc_free260; +o2=o1+c->count_minus_one; +for(;o1<=o2;o1++){ +if((o1->header.flag)==FSOH_MARKED){ +o1->header.flag=FSOH_UNMARKED; +dead=0;} +else{ +o1->header.next=gc_free260; +gc_free260=o1; +} +} +if (dead){ +gc_free260 = old_gc_free; +c->next=fsocfl; +fsocfl=c; +c->header.state_type=FSO_FREE_CHUNK; +} +} +}/*--*/ + +void gc_mark260(T260*o){ +if(((gc260*)o)->header.flag==FSOH_UNMARKED){ +((gc260*)o)->header.flag=FSOH_MARKED; +/*3p*/if(NULL!=o->_callbacks)gc_mark298((T298*)(o->_callbacks)); +} +}/*--*/ + +void gc_align_mark260(fsoc*c,gc260*p){ +gc260*b=((gc260*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store260)))return; +if(((char*)p)>((char*)(b+(c->count_minus_one))))return; +if(((char*)p)<((char*)b))return; +if(((((char*)p)-((char*)b))%sizeof(*p))==0){ +if(p->header.flag==FSOH_UNMARKED){ +T260*o=(&(p->object)); +((gc260*)o)->header.flag=FSOH_MARKED; +/*3p*/if(NULL!=o->_callbacks)gc_mark298((T298*)(o->_callbacks)); +} +} +}/*--*/ +fsoc H260={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark260, +(void(*)(mch*))gc_sweep260},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc260))-1)}; -T217*new217(void){ -gc217*n; +T260*new260(void){ +gc260*n; fsoc*c; -if(store_left217>1){ -store_left217--; -n=store217++; +if(store_left260>1){ +store_left260--; +n=store260++; } -else if(gc_free217!=NULL){ -n=gc_free217; -gc_free217=n->header.next; +else if(gc_free260!=NULL){ +n=gc_free260; +gc_free260=n->header.next; } -else if(store_left217==1){ -store_left217=0; -store_chunk217->header.state_type=FSO_USED_CHUNK; -n=store217++; +else if(store_left260==1){ +store_left260=0; +store_chunk260->header.state_type=FSO_USED_CHUNK; +n=store260++; } else{ c=gc_fsoc_get1(); -if(gc_free217!=NULL){ -n=gc_free217; -gc_free217=n->header.next; +if(gc_free260!=NULL){ +n=gc_free260; +gc_free260=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk217=c; -*store_chunk217=H217; -store217=((gc217*)(&(store_chunk217->first_object))); -store_left217=H217.count_minus_one; -n=store217++; +store_chunk260=c; +*store_chunk260=H260; +store260=((gc260*)(&(store_chunk260->first_object))); +store_left260=H260.count_minus_one; +n=store260++; } } n->header.flag=FSOH_UNMARKED; -n->object=M217; -return((T217*)n); +n->object=M260; +return((T260*)n); }/*--*/ -void gc_sweep216(fsoc*c){ -gc216*o1,*o2; -o1=((gc216*)(&(c->first_object))); +void gc_sweep259(fsoc*c){ +gc259*o1,*o2; +o1=((gc259*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free216; -gc_free216=o1; +o1->header.next=gc_free259; +gc_free259=o1; } } } else{ int dead=1; -gc216* old_gc_free = gc_free216; +gc259* old_gc_free = gc_free259; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free216; -gc_free216=o1; +o1->header.next=gc_free259; +gc_free259=o1; } } if (dead){ -gc_free216 = old_gc_free; +gc_free259 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -17338,95 +16814,97 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark216(T216*o){ -if(((gc216*)o)->header.flag==FSOH_UNMARKED){ -((gc216*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_callbacks)gc_mark254((T254*)(o->_callbacks)); +void gc_mark259(T259*o){ +if(((gc259*)o)->header.flag==FSOH_UNMARKED){ +((gc259*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark297((T297*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark295((o->_buckets)); } }/*--*/ -void gc_align_mark216(fsoc*c,gc216*p){ -gc216*b=((gc216*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store216)))return; +void gc_align_mark259(fsoc*c,gc259*p){ +gc259*b=((gc259*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store259)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T216*o=(&(p->object)); -((gc216*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_callbacks)gc_mark254((T254*)(o->_callbacks)); +T259*o=(&(p->object)); +((gc259*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark297((T297*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark295((o->_buckets)); } } }/*--*/ -fsoc H216={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark216, -(void(*)(mch*))gc_sweep216},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc216))-1)}; +fsoc H259={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark259, +(void(*)(mch*))gc_sweep259},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc259))-1)}; -T216*new216(void){ -gc216*n; +T259*new259(void){ +gc259*n; fsoc*c; -if(store_left216>1){ -store_left216--; -n=store216++; +if(store_left259>1){ +store_left259--; +n=store259++; } -else if(gc_free216!=NULL){ -n=gc_free216; -gc_free216=n->header.next; +else if(gc_free259!=NULL){ +n=gc_free259; +gc_free259=n->header.next; } -else if(store_left216==1){ -store_left216=0; -store_chunk216->header.state_type=FSO_USED_CHUNK; -n=store216++; +else if(store_left259==1){ +store_left259=0; +store_chunk259->header.state_type=FSO_USED_CHUNK; +n=store259++; } else{ c=gc_fsoc_get1(); -if(gc_free216!=NULL){ -n=gc_free216; -gc_free216=n->header.next; +if(gc_free259!=NULL){ +n=gc_free259; +gc_free259=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk216=c; -*store_chunk216=H216; -store216=((gc216*)(&(store_chunk216->first_object))); -store_left216=H216.count_minus_one; -n=store216++; +store_chunk259=c; +*store_chunk259=H259; +store259=((gc259*)(&(store_chunk259->first_object))); +store_left259=H259.count_minus_one; +n=store259++; } } n->header.flag=FSOH_UNMARKED; -n->object=M216; -return((T216*)n); +n->object=M259; +return((T259*)n); }/*--*/ -void gc_sweep215(fsoc*c){ -gc215*o1,*o2; -o1=((gc215*)(&(c->first_object))); +void gc_sweep258(fsoc*c){ +gc258*o1,*o2; +o1=((gc258*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free215; -gc_free215=o1; +o1->header.next=gc_free258; +gc_free258=o1; } } } else{ int dead=1; -gc215* old_gc_free = gc_free215; +gc258* old_gc_free = gc_free258; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free215; -gc_free215=o1; +o1->header.next=gc_free258; +gc_free258=o1; } } if (dead){ -gc_free215 = old_gc_free; +gc_free258 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -17434,97 +16912,95 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark215(T215*o){ -if(((gc215*)o)->header.flag==FSOH_UNMARKED){ -((gc215*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark253((T253*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark251((o->_buckets)); +void gc_mark258(T258*o){ +if(((gc258*)o)->header.flag==FSOH_UNMARKED){ +((gc258*)o)->header.flag=FSOH_MARKED; +/*3p*/if(NULL!=o->_storage)gc_mark294((o->_storage)); } }/*--*/ -void gc_align_mark215(fsoc*c,gc215*p){ -gc215*b=((gc215*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store215)))return; +void gc_align_mark258(fsoc*c,gc258*p){ +gc258*b=((gc258*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store258)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T215*o=(&(p->object)); -((gc215*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark253((T253*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark251((o->_buckets)); +T258*o=(&(p->object)); +((gc258*)o)->header.flag=FSOH_MARKED; +/*3p*/if(NULL!=o->_storage)gc_mark294((o->_storage)); } } }/*--*/ -fsoc H215={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark215, -(void(*)(mch*))gc_sweep215},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc215))-1)}; +fsoc H258={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark258, +(void(*)(mch*))gc_sweep258},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc258))-1)}; -T215*new215(void){ -gc215*n; +T258*new258(void){ +gc258*n; fsoc*c; -if(store_left215>1){ -store_left215--; -n=store215++; +if(store_left258>1){ +store_left258--; +n=store258++; } -else if(gc_free215!=NULL){ -n=gc_free215; -gc_free215=n->header.next; +else if(gc_free258!=NULL){ +n=gc_free258; +gc_free258=n->header.next; } -else if(store_left215==1){ -store_left215=0; -store_chunk215->header.state_type=FSO_USED_CHUNK; -n=store215++; +else if(store_left258==1){ +store_left258=0; +store_chunk258->header.state_type=FSO_USED_CHUNK; +n=store258++; } else{ c=gc_fsoc_get1(); -if(gc_free215!=NULL){ -n=gc_free215; -gc_free215=n->header.next; +if(gc_free258!=NULL){ +n=gc_free258; +gc_free258=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk215=c; -*store_chunk215=H215; -store215=((gc215*)(&(store_chunk215->first_object))); -store_left215=H215.count_minus_one; -n=store215++; +store_chunk258=c; +*store_chunk258=H258; +store258=((gc258*)(&(store_chunk258->first_object))); +store_left258=H258.count_minus_one; +n=store258++; } } n->header.flag=FSOH_UNMARKED; -n->object=M215; -return((T215*)n); +n->object=M258; +return((T258*)n); }/*--*/ -void gc_sweep214(fsoc*c){ -gc214*o1,*o2; -o1=((gc214*)(&(c->first_object))); +void gc_sweep256(fsoc*c){ +gc256*o1,*o2; +o1=((gc256*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free214; -gc_free214=o1; +o1->header.next=gc_free256; +gc_free256=o1; } } } else{ int dead=1; -gc214* old_gc_free = gc_free214; +gc256* old_gc_free = gc_free256; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free214; -gc_free214=o1; +o1->header.next=gc_free256; +gc_free256=o1; } } if (dead){ -gc_free214 = old_gc_free; +gc_free256 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -17532,95 +17008,111 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark214(T214*o){ -if(((gc214*)o)->header.flag==FSOH_UNMARKED){ -((gc214*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_storage)gc_mark250((o->_storage)); +void gc_mark256(T256*o){ +if(((gc256*)o)->header.flag==FSOH_UNMARKED){ +((gc256*)o)->header.flag=FSOH_MARKED; +/*4p*/{ +T267 na=o->_storage; +if(gc_find_chunk(na)!=NULL){/* non external NA */ + rsoh*h=((rsoh*)na)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; +r256mark_native_arrays(o); } +} +}} }/*--*/ -void gc_align_mark214(fsoc*c,gc214*p){ -gc214*b=((gc214*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store214)))return; +void gc_align_mark256(fsoc*c,gc256*p){ +gc256*b=((gc256*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store256)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T214*o=(&(p->object)); -((gc214*)o)->header.flag=FSOH_MARKED; -/*3p*/if(NULL!=o->_storage)gc_mark250((o->_storage)); +T256*o=(&(p->object)); +((gc256*)o)->header.flag=FSOH_MARKED; +/*4p*/{ +T267 na=o->_storage; +if(gc_find_chunk(na)!=NULL){/* non external NA */ + rsoh*h=((rsoh*)na)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; +r256mark_native_arrays(o); +} } +}} } }/*--*/ -fsoc H214={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark214, -(void(*)(mch*))gc_sweep214},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc214))-1)}; +fsoc H256={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark256, +(void(*)(mch*))gc_sweep256},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc256))-1)}; -T214*new214(void){ -gc214*n; +T256*new256(void){ +gc256*n; fsoc*c; -if(store_left214>1){ -store_left214--; -n=store214++; +if(store_left256>1){ +store_left256--; +n=store256++; } -else if(gc_free214!=NULL){ -n=gc_free214; -gc_free214=n->header.next; +else if(gc_free256!=NULL){ +n=gc_free256; +gc_free256=n->header.next; } -else if(store_left214==1){ -store_left214=0; -store_chunk214->header.state_type=FSO_USED_CHUNK; -n=store214++; +else if(store_left256==1){ +store_left256=0; +store_chunk256->header.state_type=FSO_USED_CHUNK; +n=store256++; } else{ c=gc_fsoc_get1(); -if(gc_free214!=NULL){ -n=gc_free214; -gc_free214=n->header.next; +if(gc_free256!=NULL){ +n=gc_free256; +gc_free256=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk214=c; -*store_chunk214=H214; -store214=((gc214*)(&(store_chunk214->first_object))); -store_left214=H214.count_minus_one; -n=store214++; +store_chunk256=c; +*store_chunk256=H256; +store256=((gc256*)(&(store_chunk256->first_object))); +store_left256=H256.count_minus_one; +n=store256++; } } n->header.flag=FSOH_UNMARKED; -n->object=M214; -return((T214*)n); +n->object=M256; +return((T256*)n); }/*--*/ -void gc_sweep213(fsoc*c){ -gc213*o1,*o2; -o1=((gc213*)(&(c->first_object))); +void gc_sweep255(fsoc*c){ +gc255*o1,*o2; +o1=((gc255*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free213; -gc_free213=o1; +o1->header.next=gc_free255; +gc_free255=o1; } } } else{ int dead=1; -gc213* old_gc_free = gc_free213; +gc255* old_gc_free = gc_free255; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free213; -gc_free213=o1; +o1->header.next=gc_free255; +gc_free255=o1; } } if (dead){ -gc_free213 = old_gc_free; +gc_free255 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -17628,122 +17120,122 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark213(T213*o){ -if(((gc213*)o)->header.flag==FSOH_UNMARKED){ -((gc213*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_storage)gc_mark250((o->_storage)); +void gc_mark255(T255*o){ +if(((gc255*)o)->header.flag==FSOH_UNMARKED){ +((gc255*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_storage)gc_mark294((o->_storage)); } }/*--*/ -void gc_align_mark213(fsoc*c,gc213*p){ -gc213*b=((gc213*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store213)))return; +void gc_align_mark255(fsoc*c,gc255*p){ +gc255*b=((gc255*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store255)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T213*o=(&(p->object)); -((gc213*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_storage)gc_mark250((o->_storage)); +T255*o=(&(p->object)); +((gc255*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_storage)gc_mark294((o->_storage)); } } }/*--*/ -fsoc H213={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark213, -(void(*)(mch*))gc_sweep213},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc213))-1)}; +fsoc H255={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark255, +(void(*)(mch*))gc_sweep255},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc255))-1)}; -T213*new213(void){ -gc213*n; +T255*new255(void){ +gc255*n; fsoc*c; -if(store_left213>1){ -store_left213--; -n=store213++; +if(store_left255>1){ +store_left255--; +n=store255++; } -else if(gc_free213!=NULL){ -n=gc_free213; -gc_free213=n->header.next; +else if(gc_free255!=NULL){ +n=gc_free255; +gc_free255=n->header.next; } -else if(store_left213==1){ -store_left213=0; -store_chunk213->header.state_type=FSO_USED_CHUNK; -n=store213++; +else if(store_left255==1){ +store_left255=0; +store_chunk255->header.state_type=FSO_USED_CHUNK; +n=store255++; } else{ c=gc_fsoc_get1(); -if(gc_free213!=NULL){ -n=gc_free213; -gc_free213=n->header.next; +if(gc_free255!=NULL){ +n=gc_free255; +gc_free255=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk213=c; -*store_chunk213=H213; -store213=((gc213*)(&(store_chunk213->first_object))); -store_left213=H213.count_minus_one; -n=store213++; +store_chunk255=c; +*store_chunk255=H255; +store255=((gc255*)(&(store_chunk255->first_object))); +store_left255=H255.count_minus_one; +n=store255++; } } n->header.flag=FSOH_UNMARKED; -n->object=M213; -return((T213*)n); +n->object=M255; +return((T255*)n); }/*--*/ -void gc_mark212(T212 o){ +void gc_mark254(T254 o){ if(NULL==gc_find_chunk(o)) return; /* external NA */ (((rsoh*)o)-1)->header.magic_flag=RSOH_MARKED; }/*--*/ -T212 new212(unsigned int size){ +T254 new254(unsigned int size){ size=(size*sizeof(T8))+sizeof(rsoh); size=((size+(sizeof(double)-1))&~(sizeof(double)-1)); -if (size<=(na_env212.store_left)){ -rsoh*r=na_env212.store; -na_env212.store_left-=size; -if(na_env212.store_left>sizeof(rsoh)){ +if (size<=(na_env254.store_left)){ +rsoh*r=na_env254.store; +na_env254.store_left-=size; +if(na_env254.store_left>sizeof(rsoh)){ r->header.size=size; -na_env212.store=((rsoh*)(((char*)(na_env212.store))+size)); +na_env254.store=((rsoh*)(((char*)(na_env254.store))+size)); } else { -r->header.size=size+na_env212.store_left; -na_env212.store_left=0; +r->header.size=size+na_env254.store_left; +na_env254.store_left=0; } (r->header.magic_flag)=RSOH_UNMARKED; ((void)memset((r+1),0,r->header.size-sizeof(rsoh))); -return((T212)(r+1)); +return((T254)(r+1)); } -return((T212)new_na(&na_env212,size)); +return((T254)new_na(&na_env254,size)); }/*--*/ -void gc_sweep211(fsoc*c){ -gc211*o1,*o2; -o1=((gc211*)(&(c->first_object))); +void gc_sweep253(fsoc*c){ +gc253*o1,*o2; +o1=((gc253*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free211; -gc_free211=o1; +o1->header.next=gc_free253; +gc_free253=o1; } } } else{ int dead=1; -gc211* old_gc_free = gc_free211; +gc253* old_gc_free = gc_free253; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free211; -gc_free211=o1; +o1->header.next=gc_free253; +gc_free253=o1; } } if (dead){ -gc_free211 = old_gc_free; +gc_free253 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -17751,97 +17243,97 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark211(T211*o){ -if(((gc211*)o)->header.flag==FSOH_UNMARKED){ -((gc211*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark249((T249*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark247((o->_buckets)); +void gc_mark253(T253*o){ +if(((gc253*)o)->header.flag==FSOH_UNMARKED){ +((gc253*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark293((T293*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark291((o->_buckets)); } }/*--*/ -void gc_align_mark211(fsoc*c,gc211*p){ -gc211*b=((gc211*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store211)))return; +void gc_align_mark253(fsoc*c,gc253*p){ +gc253*b=((gc253*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store253)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T211*o=(&(p->object)); -((gc211*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark249((T249*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark247((o->_buckets)); +T253*o=(&(p->object)); +((gc253*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark293((T293*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark291((o->_buckets)); } } }/*--*/ -fsoc H211={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark211, -(void(*)(mch*))gc_sweep211},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc211))-1)}; +fsoc H253={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark253, +(void(*)(mch*))gc_sweep253},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc253))-1)}; -T211*new211(void){ -gc211*n; +T253*new253(void){ +gc253*n; fsoc*c; -if(store_left211>1){ -store_left211--; -n=store211++; +if(store_left253>1){ +store_left253--; +n=store253++; } -else if(gc_free211!=NULL){ -n=gc_free211; -gc_free211=n->header.next; +else if(gc_free253!=NULL){ +n=gc_free253; +gc_free253=n->header.next; } -else if(store_left211==1){ -store_left211=0; -store_chunk211->header.state_type=FSO_USED_CHUNK; -n=store211++; +else if(store_left253==1){ +store_left253=0; +store_chunk253->header.state_type=FSO_USED_CHUNK; +n=store253++; } else{ c=gc_fsoc_get1(); -if(gc_free211!=NULL){ -n=gc_free211; -gc_free211=n->header.next; +if(gc_free253!=NULL){ +n=gc_free253; +gc_free253=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk211=c; -*store_chunk211=H211; -store211=((gc211*)(&(store_chunk211->first_object))); -store_left211=H211.count_minus_one; -n=store211++; +store_chunk253=c; +*store_chunk253=H253; +store253=((gc253*)(&(store_chunk253->first_object))); +store_left253=H253.count_minus_one; +n=store253++; } } n->header.flag=FSOH_UNMARKED; -n->object=M211; -return((T211*)n); +n->object=M253; +return((T253*)n); }/*--*/ -void gc_sweep208(fsoc*c){ -gc208*o1,*o2; -o1=((gc208*)(&(c->first_object))); +void gc_sweep250(fsoc*c){ +gc250*o1,*o2; +o1=((gc250*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free208; -gc_free208=o1; +o1->header.next=gc_free250; +gc_free250=o1; } } } else{ int dead=1; -gc208* old_gc_free = gc_free208; +gc250* old_gc_free = gc_free250; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free208; -gc_free208=o1; +o1->header.next=gc_free250; +gc_free250=o1; } } if (dead){ -gc_free208 = old_gc_free; +gc_free250 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -17849,87 +17341,87 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark208(T208*o){ -if(((gc208*)o)->header.flag==FSOH_UNMARKED){ -((gc208*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark243((T243*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark239((o->_buckets)); +void gc_mark250(T250*o){ +if(((gc250*)o)->header.flag==FSOH_UNMARKED){ +((gc250*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark287((T287*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark283((o->_buckets)); } }/*--*/ -void gc_align_mark208(fsoc*c,gc208*p){ -gc208*b=((gc208*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store208)))return; +void gc_align_mark250(fsoc*c,gc250*p){ +gc250*b=((gc250*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store250)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T208*o=(&(p->object)); -((gc208*)o)->header.flag=FSOH_MARKED; -/*5p*/if(NULL!=o->_free_nodes)gc_mark243((T243*)(o->_free_nodes)); -/*5p*/if(NULL!=o->_buckets)gc_mark239((o->_buckets)); +T250*o=(&(p->object)); +((gc250*)o)->header.flag=FSOH_MARKED; +/*5p*/if(NULL!=o->_free_nodes)gc_mark287((T287*)(o->_free_nodes)); +/*5p*/if(NULL!=o->_buckets)gc_mark283((o->_buckets)); } } }/*--*/ -fsoc H208={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark208, -(void(*)(mch*))gc_sweep208},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc208))-1)}; +fsoc H250={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark250, +(void(*)(mch*))gc_sweep250},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc250))-1)}; -T208*new208(void){ -gc208*n; +T250*new250(void){ +gc250*n; fsoc*c; -if(store_left208>1){ -store_left208--; -n=store208++; +if(store_left250>1){ +store_left250--; +n=store250++; } -else if(gc_free208!=NULL){ -n=gc_free208; -gc_free208=n->header.next; +else if(gc_free250!=NULL){ +n=gc_free250; +gc_free250=n->header.next; } -else if(store_left208==1){ -store_left208=0; -store_chunk208->header.state_type=FSO_USED_CHUNK; -n=store208++; +else if(store_left250==1){ +store_left250=0; +store_chunk250->header.state_type=FSO_USED_CHUNK; +n=store250++; } else{ c=gc_fsoc_get1(); -if(gc_free208!=NULL){ -n=gc_free208; -gc_free208=n->header.next; +if(gc_free250!=NULL){ +n=gc_free250; +gc_free250=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk208=c; -*store_chunk208=H208; -store208=((gc208*)(&(store_chunk208->first_object))); -store_left208=H208.count_minus_one; -n=store208++; +store_chunk250=c; +*store_chunk250=H250; +store250=((gc250*)(&(store_chunk250->first_object))); +store_left250=H250.count_minus_one; +n=store250++; } } n->header.flag=FSOH_UNMARKED; -n->object=M208; -return((T208*)n); +n->object=M250; +return((T250*)n); }/*--*/ -void gc_sweep146(fsoc*c){ -gc146*o1,*o2; -o1=((gc146*)(&(c->first_object))); +void gc_sweep153(fsoc*c){ +gc153*o1,*o2; +o1=((gc153*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ if((o1->header.flag)==FSOH_UNMARKED){ -r146dispose((T146*)o1); -}o1->header.next=gc_free146; -gc_free146=o1; +r153dispose((T153*)o1); +}o1->header.next=gc_free153; +gc_free153=o1; } } } else{ int dead=1; -gc146* old_gc_free = gc_free146; +gc153* old_gc_free = gc_free153; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ @@ -17937,13 +17429,13 @@ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ if((o1->header.flag)==FSOH_UNMARKED){ -r146dispose((T146*)o1); -}o1->header.next=gc_free146; -gc_free146=o1; +r153dispose((T153*)o1); +}o1->header.next=gc_free153; +gc_free153=o1; } } if (dead){ -gc_free146 = old_gc_free; +gc_free153 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -17951,97 +17443,97 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark146(T146*o){ -if(((gc146*)o)->header.flag==FSOH_UNMARKED){ -((gc146*)o)->header.flag=FSOH_MARKED; -/*i7p*/if(NULL!=o->_can_read)gc_mark120((T120*)(o->_can_read)); -/*i7p*/if(NULL!=o->_stream_exception)gc_mark110((T110*)(o->_stream_exception)); +void gc_mark153(T153*o){ +if(((gc153*)o)->header.flag==FSOH_UNMARKED){ +((gc153*)o)->header.flag=FSOH_MARKED; +/*i8p*/if(NULL!=o->_can_read)gc_mark123((T123*)(o->_can_read)); +/*i8p*/if(NULL!=o->_stream_exception)gc_mark113((T113*)(o->_stream_exception)); } }/*--*/ -void gc_align_mark146(fsoc*c,gc146*p){ -gc146*b=((gc146*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store146)))return; +void gc_align_mark153(fsoc*c,gc153*p){ +gc153*b=((gc153*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store153)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T146*o=(&(p->object)); -((gc146*)o)->header.flag=FSOH_MARKED; -/*i7p*/if(NULL!=o->_can_read)gc_mark120((T120*)(o->_can_read)); -/*i7p*/if(NULL!=o->_stream_exception)gc_mark110((T110*)(o->_stream_exception)); +T153*o=(&(p->object)); +((gc153*)o)->header.flag=FSOH_MARKED; +/*i8p*/if(NULL!=o->_can_read)gc_mark123((T123*)(o->_can_read)); +/*i8p*/if(NULL!=o->_stream_exception)gc_mark113((T113*)(o->_stream_exception)); } } }/*--*/ -fsoc H146={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark146, -(void(*)(mch*))gc_sweep146},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc146))-1)}; +fsoc H153={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark153, +(void(*)(mch*))gc_sweep153},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc153))-1)}; -T146*new146(void){ -gc146*n; +T153*new153(void){ +gc153*n; fsoc*c; -if(store_left146>1){ -store_left146--; -n=store146++; +if(store_left153>1){ +store_left153--; +n=store153++; } -else if(gc_free146!=NULL){ -n=gc_free146; -gc_free146=n->header.next; +else if(gc_free153!=NULL){ +n=gc_free153; +gc_free153=n->header.next; } -else if(store_left146==1){ -store_left146=0; -store_chunk146->header.state_type=FSO_USED_CHUNK; -n=store146++; +else if(store_left153==1){ +store_left153=0; +store_chunk153->header.state_type=FSO_USED_CHUNK; +n=store153++; } else{ c=gc_fsoc_get1(); -if(gc_free146!=NULL){ -n=gc_free146; -gc_free146=n->header.next; +if(gc_free153!=NULL){ +n=gc_free153; +gc_free153=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk146=c; -*store_chunk146=H146; -store146=((gc146*)(&(store_chunk146->first_object))); -store_left146=H146.count_minus_one; -n=store146++; +store_chunk153=c; +*store_chunk153=H153; +store153=((gc153*)(&(store_chunk153->first_object))); +store_left153=H153.count_minus_one; +n=store153++; } } n->header.flag=FSOH_UNMARKED; -n->object=M146; -return((T146*)n); +n->object=M153; +return((T153*)n); }/*--*/ -void gc_sweep207(fsoc*c){ -gc207*o1,*o2; -o1=((gc207*)(&(c->first_object))); +void gc_sweep249(fsoc*c){ +gc249*o1,*o2; +o1=((gc249*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free207; -gc_free207=o1; +o1->header.next=gc_free249; +gc_free249=o1; } } } else{ int dead=1; -gc207* old_gc_free = gc_free207; +gc249* old_gc_free = gc_free249; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free207; -gc_free207=o1; +o1->header.next=gc_free249; +gc_free249=o1; } } if (dead){ -gc_free207 = old_gc_free; +gc_free249 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -18049,111 +17541,111 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark207(T207*o){ -if(((gc207*)o)->header.flag==FSOH_UNMARKED){ -((gc207*)o)->header.flag=FSOH_MARKED; +void gc_mark249(T249*o){ +if(((gc249*)o)->header.flag==FSOH_UNMARKED){ +((gc249*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T238 na=o->_storage; +T282 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r207mark_native_arrays(o); +r249mark_native_arrays(o); } } }} }/*--*/ -void gc_align_mark207(fsoc*c,gc207*p){ -gc207*b=((gc207*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store207)))return; +void gc_align_mark249(fsoc*c,gc249*p){ +gc249*b=((gc249*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store249)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T207*o=(&(p->object)); -((gc207*)o)->header.flag=FSOH_MARKED; +T249*o=(&(p->object)); +((gc249*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T238 na=o->_storage; +T282 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r207mark_native_arrays(o); +r249mark_native_arrays(o); } } }} } }/*--*/ -fsoc H207={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark207, -(void(*)(mch*))gc_sweep207},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc207))-1)}; +fsoc H249={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark249, +(void(*)(mch*))gc_sweep249},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc249))-1)}; -T207*new207(void){ -gc207*n; +T249*new249(void){ +gc249*n; fsoc*c; -if(store_left207>1){ -store_left207--; -n=store207++; +if(store_left249>1){ +store_left249--; +n=store249++; } -else if(gc_free207!=NULL){ -n=gc_free207; -gc_free207=n->header.next; +else if(gc_free249!=NULL){ +n=gc_free249; +gc_free249=n->header.next; } -else if(store_left207==1){ -store_left207=0; -store_chunk207->header.state_type=FSO_USED_CHUNK; -n=store207++; +else if(store_left249==1){ +store_left249=0; +store_chunk249->header.state_type=FSO_USED_CHUNK; +n=store249++; } else{ c=gc_fsoc_get1(); -if(gc_free207!=NULL){ -n=gc_free207; -gc_free207=n->header.next; +if(gc_free249!=NULL){ +n=gc_free249; +gc_free249=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk207=c; -*store_chunk207=H207; -store207=((gc207*)(&(store_chunk207->first_object))); -store_left207=H207.count_minus_one; -n=store207++; +store_chunk249=c; +*store_chunk249=H249; +store249=((gc249*)(&(store_chunk249->first_object))); +store_left249=H249.count_minus_one; +n=store249++; } } n->header.flag=FSOH_UNMARKED; -n->object=M207; -return((T207*)n); +n->object=M249; +return((T249*)n); }/*--*/ -void gc_sweep206(fsoc*c){ -gc206*o1,*o2; -o1=((gc206*)(&(c->first_object))); +void gc_sweep248(fsoc*c){ +gc248*o1,*o2; +o1=((gc248*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free206; -gc_free206=o1; +o1->header.next=gc_free248; +gc_free248=o1; } } } else{ int dead=1; -gc206* old_gc_free = gc_free206; +gc248* old_gc_free = gc_free248; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free206; -gc_free206=o1; +o1->header.next=gc_free248; +gc_free248=o1; } } if (dead){ -gc_free206 = old_gc_free; +gc_free248 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -18161,111 +17653,111 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark206(T206*o){ -if(((gc206*)o)->header.flag==FSOH_UNMARKED){ -((gc206*)o)->header.flag=FSOH_MARKED; +void gc_mark248(T248*o){ +if(((gc248*)o)->header.flag==FSOH_UNMARKED){ +((gc248*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T237 na=o->_storage; +T281 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r206mark_native_arrays(o); +r248mark_native_arrays(o); } } }} }/*--*/ -void gc_align_mark206(fsoc*c,gc206*p){ -gc206*b=((gc206*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store206)))return; +void gc_align_mark248(fsoc*c,gc248*p){ +gc248*b=((gc248*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store248)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T206*o=(&(p->object)); -((gc206*)o)->header.flag=FSOH_MARKED; +T248*o=(&(p->object)); +((gc248*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T237 na=o->_storage; +T281 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r206mark_native_arrays(o); +r248mark_native_arrays(o); } } }} } }/*--*/ -fsoc H206={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark206, -(void(*)(mch*))gc_sweep206},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc206))-1)}; +fsoc H248={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark248, +(void(*)(mch*))gc_sweep248},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc248))-1)}; -T206*new206(void){ -gc206*n; +T248*new248(void){ +gc248*n; fsoc*c; -if(store_left206>1){ -store_left206--; -n=store206++; +if(store_left248>1){ +store_left248--; +n=store248++; } -else if(gc_free206!=NULL){ -n=gc_free206; -gc_free206=n->header.next; +else if(gc_free248!=NULL){ +n=gc_free248; +gc_free248=n->header.next; } -else if(store_left206==1){ -store_left206=0; -store_chunk206->header.state_type=FSO_USED_CHUNK; -n=store206++; +else if(store_left248==1){ +store_left248=0; +store_chunk248->header.state_type=FSO_USED_CHUNK; +n=store248++; } else{ c=gc_fsoc_get1(); -if(gc_free206!=NULL){ -n=gc_free206; -gc_free206=n->header.next; +if(gc_free248!=NULL){ +n=gc_free248; +gc_free248=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk206=c; -*store_chunk206=H206; -store206=((gc206*)(&(store_chunk206->first_object))); -store_left206=H206.count_minus_one; -n=store206++; +store_chunk248=c; +*store_chunk248=H248; +store248=((gc248*)(&(store_chunk248->first_object))); +store_left248=H248.count_minus_one; +n=store248++; } } n->header.flag=FSOH_UNMARKED; -n->object=M206; -return((T206*)n); +n->object=M248; +return((T248*)n); }/*--*/ -void gc_sweep148(fsoc*c){ -gc148*o1,*o2; -o1=((gc148*)(&(c->first_object))); +void gc_sweep155(fsoc*c){ +gc155*o1,*o2; +o1=((gc155*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free148; -gc_free148=o1; +o1->header.next=gc_free155; +gc_free155=o1; } } } else{ int dead=1; -gc148* old_gc_free = gc_free148; +gc155* old_gc_free = gc_free155; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free148; -gc_free148=o1; +o1->header.next=gc_free155; +gc_free155=o1; } } if (dead){ -gc_free148 = old_gc_free; +gc_free155 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -18273,105 +17765,101 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark148(T148*o){ -if(((gc148*)o)->header.flag==FSOH_UNMARKED){ -((gc148*)o)->header.flag=FSOH_MARKED; -/*6p*/if(NULL!=o->_events)gc_mark147((T147*)(o->_events)); -/*6p*/if(NULL!=o->_ready_jobs)gc_mark236((T236*)(o->_ready_jobs)); -/*6p*/if(NULL!=o->_finished_jobs)gc_mark236((T236*)(o->_finished_jobs)); -/*6p*/if(NULL!=o->_job_list)gc_mark236((T236*)(o->_job_list)); +void gc_mark155(T155*o){ +if(((gc155*)o)->header.flag==FSOH_UNMARKED){ +((gc155*)o)->header.flag=FSOH_MARKED; +/*6p*/if(NULL!=o->_events)gc_mark154((T154*)(o->_events)); +/*6p*/if(NULL!=o->_ready_jobs)gc_mark280((T280*)(o->_ready_jobs)); +/*6p*/if(NULL!=o->_finished_jobs)gc_mark280((T280*)(o->_finished_jobs)); +/*6p*/if(NULL!=o->_job_list)gc_mark280((T280*)(o->_job_list)); } }/*--*/ -void gc_align_mark148(fsoc*c,gc148*p){ -gc148*b=((gc148*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store148)))return; +void gc_align_mark155(fsoc*c,gc155*p){ +gc155*b=((gc155*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store155)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T148*o=(&(p->object)); -((gc148*)o)->header.flag=FSOH_MARKED; -/*6p*/if(NULL!=o->_events)gc_mark147((T147*)(o->_events)); -/*6p*/if(NULL!=o->_ready_jobs)gc_mark236((T236*)(o->_ready_jobs)); -/*6p*/if(NULL!=o->_finished_jobs)gc_mark236((T236*)(o->_finished_jobs)); -/*6p*/if(NULL!=o->_job_list)gc_mark236((T236*)(o->_job_list)); +T155*o=(&(p->object)); +((gc155*)o)->header.flag=FSOH_MARKED; +/*6p*/if(NULL!=o->_events)gc_mark154((T154*)(o->_events)); +/*6p*/if(NULL!=o->_ready_jobs)gc_mark280((T280*)(o->_ready_jobs)); +/*6p*/if(NULL!=o->_finished_jobs)gc_mark280((T280*)(o->_finished_jobs)); +/*6p*/if(NULL!=o->_job_list)gc_mark280((T280*)(o->_job_list)); } } }/*--*/ -fsoc H148={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark148, -(void(*)(mch*))gc_sweep148},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc148))-1)}; +fsoc H155={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark155, +(void(*)(mch*))gc_sweep155},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc155))-1)}; -T148*new148(void){ -gc148*n; +T155*new155(void){ +gc155*n; fsoc*c; -if(store_left148>1){ -store_left148--; -n=store148++; +if(store_left155>1){ +store_left155--; +n=store155++; } -else if(gc_free148!=NULL){ -n=gc_free148; -gc_free148=n->header.next; +else if(gc_free155!=NULL){ +n=gc_free155; +gc_free155=n->header.next; } -else if(store_left148==1){ -store_left148=0; -store_chunk148->header.state_type=FSO_USED_CHUNK; -n=store148++; +else if(store_left155==1){ +store_left155=0; +store_chunk155->header.state_type=FSO_USED_CHUNK; +n=store155++; } else{ c=gc_fsoc_get1(); -if(gc_free148!=NULL){ -n=gc_free148; -gc_free148=n->header.next; +if(gc_free155!=NULL){ +n=gc_free155; +gc_free155=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk148=c; -*store_chunk148=H148; -store148=((gc148*)(&(store_chunk148->first_object))); -store_left148=H148.count_minus_one; -n=store148++; +store_chunk155=c; +*store_chunk155=H155; +store155=((gc155*)(&(store_chunk155->first_object))); +store_left155=H155.count_minus_one; +n=store155++; } } n->header.flag=FSOH_UNMARKED; -n->object=M148; -return((T148*)n); +n->object=M155; +return((T155*)n); }/*--*/ -void gc_sweep131(fsoc*c){ -gc131*o1,*o2; -o1=((gc131*)(&(c->first_object))); +void gc_sweep73(fsoc*c){ +gc73*o1,*o2; +o1=((gc73*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -if((o1->header.flag)==FSOH_UNMARKED){ -r131dispose((T131*)o1); -}o1->header.next=gc_free131; -gc_free131=o1; +o1->header.next=gc_free73; +gc_free73=o1; } } } else{ int dead=1; -gc131* old_gc_free = gc_free131; +gc73* old_gc_free = gc_free73; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -if((o1->header.flag)==FSOH_UNMARKED){ -r131dispose((T131*)o1); -}o1->header.next=gc_free131; -gc_free131=o1; +o1->header.next=gc_free73; +gc_free73=o1; } } if (dead){ -gc_free131 = old_gc_free; +gc_free73 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -18379,95 +17867,97 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark131(T131*o){ -if(((gc131*)o)->header.flag==FSOH_UNMARKED){ -((gc131*)o)->header.flag=FSOH_MARKED; -/*i2p*/if(NULL!=o->_can_read)gc_mark120((T120*)(o->_can_read)); +void gc_mark73(T73*o){ +if(((gc73*)o)->header.flag==FSOH_UNMARKED){ +((gc73*)o)->header.flag=FSOH_MARKED; +/*9p*/if(NULL!=o->_child)gc_mark279((T279*)(o->_child)); +/*9p*/if(NULL!=o->_layout)gc_mark160((T160*)(o->_layout)); } }/*--*/ -void gc_align_mark131(fsoc*c,gc131*p){ -gc131*b=((gc131*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store131)))return; +void gc_align_mark73(fsoc*c,gc73*p){ +gc73*b=((gc73*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store73)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T131*o=(&(p->object)); -((gc131*)o)->header.flag=FSOH_MARKED; -/*i2p*/if(NULL!=o->_can_read)gc_mark120((T120*)(o->_can_read)); +T73*o=(&(p->object)); +((gc73*)o)->header.flag=FSOH_MARKED; +/*9p*/if(NULL!=o->_child)gc_mark279((T279*)(o->_child)); +/*9p*/if(NULL!=o->_layout)gc_mark160((T160*)(o->_layout)); } } }/*--*/ -fsoc H131={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark131, -(void(*)(mch*))gc_sweep131},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc131))-1)}; +fsoc H73={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark73, +(void(*)(mch*))gc_sweep73},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc73))-1)}; -T131*new131(void){ -gc131*n; +T73*new73(void){ +gc73*n; fsoc*c; -if(store_left131>1){ -store_left131--; -n=store131++; +if(store_left73>1){ +store_left73--; +n=store73++; } -else if(gc_free131!=NULL){ -n=gc_free131; -gc_free131=n->header.next; +else if(gc_free73!=NULL){ +n=gc_free73; +gc_free73=n->header.next; } -else if(store_left131==1){ -store_left131=0; -store_chunk131->header.state_type=FSO_USED_CHUNK; -n=store131++; +else if(store_left73==1){ +store_left73=0; +store_chunk73->header.state_type=FSO_USED_CHUNK; +n=store73++; } else{ c=gc_fsoc_get1(); -if(gc_free131!=NULL){ -n=gc_free131; -gc_free131=n->header.next; +if(gc_free73!=NULL){ +n=gc_free73; +gc_free73=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk131=c; -*store_chunk131=H131; -store131=((gc131*)(&(store_chunk131->first_object))); -store_left131=H131.count_minus_one; -n=store131++; +store_chunk73=c; +*store_chunk73=H73; +store73=((gc73*)(&(store_chunk73->first_object))); +store_left73=H73.count_minus_one; +n=store73++; } } n->header.flag=FSOH_UNMARKED; -n->object=M131; -return((T131*)n); +n->object=M73; +return((T73*)n); }/*--*/ -void gc_sweep130(fsoc*c){ -gc130*o1,*o2; -o1=((gc130*)(&(c->first_object))); +void gc_sweep134(fsoc*c){ +gc134*o1,*o2; +o1=((gc134*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free130; -gc_free130=o1; +o1->header.next=gc_free134; +gc_free134=o1; } } } else{ int dead=1; -gc130* old_gc_free = gc_free130; +gc134* old_gc_free = gc_free134; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free130; -gc_free130=o1; +o1->header.next=gc_free134; +gc_free134=o1; } } if (dead){ -gc_free130 = old_gc_free; +gc_free134 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -18475,99 +17965,95 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark130(T130*o){ -if(((gc130*)o)->header.flag==FSOH_UNMARKED){ -((gc130*)o)->header.flag=FSOH_MARKED; -/*4p*/if(NULL!=o->_event_catcher_stack)gc_mark235((T235*)(o->_event_catcher_stack)); -/*4p*/if(NULL!=o->_vision)gc_mark64((T64*)(o->_vision)); -/*4p*/if(NULL!=o->_loop_stack)gc_mark206((T206*)(o->_loop_stack)); +void gc_mark134(T134*o){ +if(((gc134*)o)->header.flag==FSOH_UNMARKED){ +((gc134*)o)->header.flag=FSOH_MARKED; +/*i2p*/if(NULL!=o->_can_read)gc_mark123((T123*)(o->_can_read)); } }/*--*/ -void gc_align_mark130(fsoc*c,gc130*p){ -gc130*b=((gc130*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store130)))return; +void gc_align_mark134(fsoc*c,gc134*p){ +gc134*b=((gc134*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store134)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T130*o=(&(p->object)); -((gc130*)o)->header.flag=FSOH_MARKED; -/*4p*/if(NULL!=o->_event_catcher_stack)gc_mark235((T235*)(o->_event_catcher_stack)); -/*4p*/if(NULL!=o->_vision)gc_mark64((T64*)(o->_vision)); -/*4p*/if(NULL!=o->_loop_stack)gc_mark206((T206*)(o->_loop_stack)); +T134*o=(&(p->object)); +((gc134*)o)->header.flag=FSOH_MARKED; +/*i2p*/if(NULL!=o->_can_read)gc_mark123((T123*)(o->_can_read)); } } }/*--*/ -fsoc H130={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark130, -(void(*)(mch*))gc_sweep130},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc130))-1)}; +fsoc H134={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark134, +(void(*)(mch*))gc_sweep134},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc134))-1)}; -T130*new130(void){ -gc130*n; +T134*new134(void){ +gc134*n; fsoc*c; -if(store_left130>1){ -store_left130--; -n=store130++; +if(store_left134>1){ +store_left134--; +n=store134++; } -else if(gc_free130!=NULL){ -n=gc_free130; -gc_free130=n->header.next; +else if(gc_free134!=NULL){ +n=gc_free134; +gc_free134=n->header.next; } -else if(store_left130==1){ -store_left130=0; -store_chunk130->header.state_type=FSO_USED_CHUNK; -n=store130++; +else if(store_left134==1){ +store_left134=0; +store_chunk134->header.state_type=FSO_USED_CHUNK; +n=store134++; } else{ c=gc_fsoc_get1(); -if(gc_free130!=NULL){ -n=gc_free130; -gc_free130=n->header.next; +if(gc_free134!=NULL){ +n=gc_free134; +gc_free134=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk130=c; -*store_chunk130=H130; -store130=((gc130*)(&(store_chunk130->first_object))); -store_left130=H130.count_minus_one; -n=store130++; +store_chunk134=c; +*store_chunk134=H134; +store134=((gc134*)(&(store_chunk134->first_object))); +store_left134=H134.count_minus_one; +n=store134++; } } n->header.flag=FSOH_UNMARKED; -n->object=M130; -return((T130*)n); +n->object=M134; +return((T134*)n); }/*--*/ -void gc_sweep128(fsoc*c){ -gc128*o1,*o2; -o1=((gc128*)(&(c->first_object))); +void gc_sweep133(fsoc*c){ +gc133*o1,*o2; +o1=((gc133*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free128; -gc_free128=o1; +o1->header.next=gc_free133; +gc_free133=o1; } } } else{ int dead=1; -gc128* old_gc_free = gc_free128; +gc133* old_gc_free = gc_free133; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free128; -gc_free128=o1; +o1->header.next=gc_free133; +gc_free133=o1; } } if (dead){ -gc_free128 = old_gc_free; +gc_free133 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -18575,111 +18061,99 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark128(T128*o){ -begin: -if(((gc128*)o)->header.flag==FSOH_UNMARKED){ -((gc128*)o)->header.flag=FSOH_MARKED; -/*i11p*/if(NULL!=o->_graphic_connection)gc_mark131((T131*)(o->_graphic_connection)); -/*i11p*/if(NULL!=o->_extension_devices)gc_mark226((T226*)(o->_extension_devices)); -/*i11p*/if(NULL!=o->_geometry_change_event)gc_mark228((T228*)(o->_geometry_change_event)); -/*i11p*/if(NULL!=o->_pointer_move_event)gc_mark230((T230*)(o->_pointer_move_event)); -/*i11p*/if(NULL!=o->_event)gc_mark232((T232*)(o->_event)); -/*i11p*/if(NULL!=o->_widget)gc_mark227((T227*)(o->_widget)); -o=(void*)o->_event_catcher_found; -if((o!=NULL))goto begin; +void gc_mark133(T133*o){ +if(((gc133*)o)->header.flag==FSOH_UNMARKED){ +((gc133*)o)->header.flag=FSOH_MARKED; +/*4p*/if(NULL!=o->_event_catcher_stack)gc_mark277((T277*)(o->_event_catcher_stack)); +/*4p*/if(NULL!=o->_vision)gc_mark65((T65*)(o->_vision)); +/*4p*/if(NULL!=o->_loop_stack)gc_mark248((T248*)(o->_loop_stack)); } }/*--*/ -void gc_align_mark128(fsoc*c,gc128*p){ -gc128*b=((gc128*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store128)))return; +void gc_align_mark133(fsoc*c,gc133*p){ +gc133*b=((gc133*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store133)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T128*o=(&(p->object)); -begin: -((gc128*)o)->header.flag=FSOH_MARKED; -/*i11p*/if(NULL!=o->_graphic_connection)gc_mark131((T131*)(o->_graphic_connection)); -/*i11p*/if(NULL!=o->_extension_devices)gc_mark226((T226*)(o->_extension_devices)); -/*i11p*/if(NULL!=o->_geometry_change_event)gc_mark228((T228*)(o->_geometry_change_event)); -/*i11p*/if(NULL!=o->_pointer_move_event)gc_mark230((T230*)(o->_pointer_move_event)); -/*i11p*/if(NULL!=o->_event)gc_mark232((T232*)(o->_event)); -/*i11p*/if(NULL!=o->_widget)gc_mark227((T227*)(o->_widget)); -o=(void*)o->_event_catcher_found; -if((o!=NULL)&&(((gc128*)o)->header.flag==FSOH_UNMARKED))goto begin; +T133*o=(&(p->object)); +((gc133*)o)->header.flag=FSOH_MARKED; +/*4p*/if(NULL!=o->_event_catcher_stack)gc_mark277((T277*)(o->_event_catcher_stack)); +/*4p*/if(NULL!=o->_vision)gc_mark65((T65*)(o->_vision)); +/*4p*/if(NULL!=o->_loop_stack)gc_mark248((T248*)(o->_loop_stack)); } } }/*--*/ -fsoc H128={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark128, -(void(*)(mch*))gc_sweep128},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc128))-1)}; +fsoc H133={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark133, +(void(*)(mch*))gc_sweep133},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc133))-1)}; -T128*new128(void){ -gc128*n; +T133*new133(void){ +gc133*n; fsoc*c; -if(store_left128>1){ -store_left128--; -n=store128++; +if(store_left133>1){ +store_left133--; +n=store133++; } -else if(gc_free128!=NULL){ -n=gc_free128; -gc_free128=n->header.next; +else if(gc_free133!=NULL){ +n=gc_free133; +gc_free133=n->header.next; } -else if(store_left128==1){ -store_left128=0; -store_chunk128->header.state_type=FSO_USED_CHUNK; -n=store128++; +else if(store_left133==1){ +store_left133=0; +store_chunk133->header.state_type=FSO_USED_CHUNK; +n=store133++; } else{ c=gc_fsoc_get1(); -if(gc_free128!=NULL){ -n=gc_free128; -gc_free128=n->header.next; +if(gc_free133!=NULL){ +n=gc_free133; +gc_free133=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk128=c; -*store_chunk128=H128; -store128=((gc128*)(&(store_chunk128->first_object))); -store_left128=H128.count_minus_one; -n=store128++; +store_chunk133=c; +*store_chunk133=H133; +store133=((gc133*)(&(store_chunk133->first_object))); +store_left133=H133.count_minus_one; +n=store133++; } } n->header.flag=FSOH_UNMARKED; -n->object=M128; -return((T128*)n); +n->object=M133; +return((T133*)n); }/*--*/ -void gc_sweep72(fsoc*c){ -gc72*o1,*o2; -o1=((gc72*)(&(c->first_object))); +void gc_sweep131(fsoc*c){ +gc131*o1,*o2; +o1=((gc131*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free72; -gc_free72=o1; +o1->header.next=gc_free131; +gc_free131=o1; } } } else{ int dead=1; -gc72* old_gc_free = gc_free72; +gc131* old_gc_free = gc_free131; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free72; -gc_free72=o1; +o1->header.next=gc_free131; +gc_free131=o1; } } if (dead){ -gc_free72 = old_gc_free; +gc_free131 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -18687,66 +18161,80 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark72(T72*o){ -if(((gc72*)o)->header.flag==FSOH_UNMARKED){ -((gc72*)o)->header.flag=FSOH_MARKED; -/*11p*/if(NULL!=o->_child)gc_mark225((T225*)(o->_child)); -/*11p*/if(NULL!=o->_layout)gc_mark158((T158*)(o->_layout)); +void gc_mark131(T131*o){ +begin: +if(((gc131*)o)->header.flag==FSOH_UNMARKED){ +((gc131*)o)->header.flag=FSOH_MARKED; +/*i11p*/if(NULL!=o->_graphic_connection)gc_mark134((T134*)(o->_graphic_connection)); +/*i11p*/if(NULL!=o->_extension_devices)gc_mark268((T268*)(o->_extension_devices)); +/*i11p*/if(NULL!=o->_geometry_change_event)gc_mark269((T269*)(o->_geometry_change_event)); +/*i11p*/if(NULL!=o->_pointer_move_event)gc_mark271((T271*)(o->_pointer_move_event)); +/*i11p*/if(NULL!=o->_event)gc_mark273((T273*)(o->_event)); +/*i11p*/if(NULL!=o->_widget)gc_mark276((T276*)(o->_widget)); +o=(void*)o->_event_catcher_found; +if((o!=NULL))goto begin; } }/*--*/ -void gc_align_mark72(fsoc*c,gc72*p){ -gc72*b=((gc72*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store72)))return; +void gc_align_mark131(fsoc*c,gc131*p){ +gc131*b=((gc131*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store131)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T72*o=(&(p->object)); -((gc72*)o)->header.flag=FSOH_MARKED; -/*11p*/if(NULL!=o->_child)gc_mark225((T225*)(o->_child)); -/*11p*/if(NULL!=o->_layout)gc_mark158((T158*)(o->_layout)); +T131*o=(&(p->object)); +begin: +((gc131*)o)->header.flag=FSOH_MARKED; +/*i11p*/if(NULL!=o->_graphic_connection)gc_mark134((T134*)(o->_graphic_connection)); +/*i11p*/if(NULL!=o->_extension_devices)gc_mark268((T268*)(o->_extension_devices)); +/*i11p*/if(NULL!=o->_geometry_change_event)gc_mark269((T269*)(o->_geometry_change_event)); +/*i11p*/if(NULL!=o->_pointer_move_event)gc_mark271((T271*)(o->_pointer_move_event)); +/*i11p*/if(NULL!=o->_event)gc_mark273((T273*)(o->_event)); +/*i11p*/if(NULL!=o->_widget)gc_mark276((T276*)(o->_widget)); +o=(void*)o->_event_catcher_found; +if((o!=NULL)&&(((gc131*)o)->header.flag==FSOH_UNMARKED))goto begin; } } }/*--*/ -fsoc H72={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark72, -(void(*)(mch*))gc_sweep72},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc72))-1)}; +fsoc H131={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark131, +(void(*)(mch*))gc_sweep131},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc131))-1)}; -T72*new72(void){ -gc72*n; +T131*new131(void){ +gc131*n; fsoc*c; -if(store_left72>1){ -store_left72--; -n=store72++; +if(store_left131>1){ +store_left131--; +n=store131++; } -else if(gc_free72!=NULL){ -n=gc_free72; -gc_free72=n->header.next; +else if(gc_free131!=NULL){ +n=gc_free131; +gc_free131=n->header.next; } -else if(store_left72==1){ -store_left72=0; -store_chunk72->header.state_type=FSO_USED_CHUNK; -n=store72++; +else if(store_left131==1){ +store_left131=0; +store_chunk131->header.state_type=FSO_USED_CHUNK; +n=store131++; } else{ c=gc_fsoc_get1(); -if(gc_free72!=NULL){ -n=gc_free72; -gc_free72=n->header.next; +if(gc_free131!=NULL){ +n=gc_free131; +gc_free131=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk72=c; -*store_chunk72=H72; -store72=((gc72*)(&(store_chunk72->first_object))); -store_left72=H72.count_minus_one; -n=store72++; +store_chunk131=c; +*store_chunk131=H131; +store131=((gc131*)(&(store_chunk131->first_object))); +store_left131=H131.count_minus_one; +n=store131++; } } n->header.flag=FSOH_UNMARKED; -n->object=M72; -return((T72*)n); +n->object=M131; +return((T131*)n); }/*--*/ void gc_sweep53(fsoc*c){ @@ -18758,9 +18246,7 @@ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -if((o1->header.flag)==FSOH_UNMARKED){ -r53dispose((T53*)o1); -}o1->header.next=gc_free53; +o1->header.next=gc_free53; gc_free53=o1; } } @@ -18774,9 +18260,7 @@ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -if((o1->header.flag)==FSOH_UNMARKED){ -r53dispose((T53*)o1); -}o1->header.next=gc_free53; +o1->header.next=gc_free53; gc_free53=o1; } } @@ -18792,8 +18276,8 @@ c->header.state_type=FSO_FREE_CHUNK; void gc_mark53(T53*o){ if(((gc53*)o)->header.flag==FSOH_UNMARKED){ ((gc53*)o)->header.flag=FSOH_MARKED; -/*4p*/if(NULL!=o->_buffer)gc_mark9((o->_buffer)); -/*4p*/} +/*3p*/if(NULL!=o->_buffer)gc_mark9((o->_buffer)); +} }/*--*/ void gc_align_mark53(fsoc*c,gc53*p){ @@ -18805,8 +18289,8 @@ if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ T53*o=(&(p->object)); ((gc53*)o)->header.flag=FSOH_MARKED; -/*4p*/if(NULL!=o->_buffer)gc_mark9((o->_buffer)); -/*4p*/} +/*3p*/if(NULL!=o->_buffer)gc_mark9((o->_buffer)); +} } }/*--*/ fsoc H53={{FSOC_SIZE,FSO_STORE_CHUNK, @@ -18858,9 +18342,7 @@ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -if((o1->header.flag)==FSOH_UNMARKED){ -r46dispose(); -}o1->header.next=gc_free46; +o1->header.next=gc_free46; gc_free46=o1; } } @@ -18874,9 +18356,7 @@ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -if((o1->header.flag)==FSOH_UNMARKED){ -r46dispose(); -}o1->header.next=gc_free46; +o1->header.next=gc_free46; gc_free46=o1; } } @@ -18944,35 +18424,35 @@ n->header.flag=FSOH_UNMARKED; return((T46*)n); }/*--*/ -void gc_sweep175(fsoc*c){ -gc175*o1,*o2; -o1=((gc175*)(&(c->first_object))); +void gc_sweep247(fsoc*c){ +gc247*o1,*o2; +o1=((gc247*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free175; -gc_free175=o1; +o1->header.next=gc_free247; +gc_free247=o1; } } } else{ int dead=1; -gc175* old_gc_free = gc_free175; +gc247* old_gc_free = gc_free247; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free175; -gc_free175=o1; +o1->header.next=gc_free247; +gc_free247=o1; } } if (dead){ -gc_free175 = old_gc_free; +gc_free247 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -18980,95 +18460,111 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark175(T175*o){ -if(((gc175*)o)->header.flag==FSOH_UNMARKED){ -((gc175*)o)->header.flag=FSOH_MARKED; -/*p*/if(NULL!=o->_devices)gc_mark205((T205*)(o->_devices)); +void gc_mark247(T247*o){ +if(((gc247*)o)->header.flag==FSOH_UNMARKED){ +((gc247*)o)->header.flag=FSOH_MARKED; +/*3p*/{ +T267 na=o->_storage; +if(gc_find_chunk(na)!=NULL){/* non external NA */ + rsoh*h=((rsoh*)na)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; +r247mark_native_arrays(o); } +} +}} }/*--*/ -void gc_align_mark175(fsoc*c,gc175*p){ -gc175*b=((gc175*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store175)))return; +void gc_align_mark247(fsoc*c,gc247*p){ +gc247*b=((gc247*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store247)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T175*o=(&(p->object)); -((gc175*)o)->header.flag=FSOH_MARKED; -/*p*/if(NULL!=o->_devices)gc_mark205((T205*)(o->_devices)); +T247*o=(&(p->object)); +((gc247*)o)->header.flag=FSOH_MARKED; +/*3p*/{ +T267 na=o->_storage; +if(gc_find_chunk(na)!=NULL){/* non external NA */ + rsoh*h=((rsoh*)na)-1; + if((h->header.magic_flag)==RSOH_UNMARKED){ + h->header.magic_flag=RSOH_MARKED; +r247mark_native_arrays(o); +} } +}} } }/*--*/ -fsoc H175={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark175, -(void(*)(mch*))gc_sweep175},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc175))-1)}; +fsoc H247={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark247, +(void(*)(mch*))gc_sweep247},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc247))-1)}; -T175*new175(void){ -gc175*n; +T247*new247(void){ +gc247*n; fsoc*c; -if(store_left175>1){ -store_left175--; -n=store175++; +if(store_left247>1){ +store_left247--; +n=store247++; } -else if(gc_free175!=NULL){ -n=gc_free175; -gc_free175=n->header.next; +else if(gc_free247!=NULL){ +n=gc_free247; +gc_free247=n->header.next; } -else if(store_left175==1){ -store_left175=0; -store_chunk175->header.state_type=FSO_USED_CHUNK; -n=store175++; +else if(store_left247==1){ +store_left247=0; +store_chunk247->header.state_type=FSO_USED_CHUNK; +n=store247++; } else{ c=gc_fsoc_get1(); -if(gc_free175!=NULL){ -n=gc_free175; -gc_free175=n->header.next; +if(gc_free247!=NULL){ +n=gc_free247; +gc_free247=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk175=c; -*store_chunk175=H175; -store175=((gc175*)(&(store_chunk175->first_object))); -store_left175=H175.count_minus_one; -n=store175++; +store_chunk247=c; +*store_chunk247=H247; +store247=((gc247*)(&(store_chunk247->first_object))); +store_left247=H247.count_minus_one; +n=store247++; } } n->header.flag=FSOH_UNMARKED; -n->object=M175; -return((T175*)n); +n->object=M247; +return((T247*)n); }/*--*/ -void gc_sweep205(fsoc*c){ -gc205*o1,*o2; -o1=((gc205*)(&(c->first_object))); +void gc_sweep191(fsoc*c){ +gc191*o1,*o2; +o1=((gc191*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free205; -gc_free205=o1; +o1->header.next=gc_free191; +gc_free191=o1; } } } else{ int dead=1; -gc205* old_gc_free = gc_free205; +gc191* old_gc_free = gc_free191; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free205; -gc_free205=o1; +o1->header.next=gc_free191; +gc_free191=o1; } } if (dead){ -gc_free205 = old_gc_free; +gc_free191 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -19076,111 +18572,95 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark205(T205*o){ -if(((gc205*)o)->header.flag==FSOH_UNMARKED){ -((gc205*)o)->header.flag=FSOH_MARKED; -/*3p*/{ -T220 na=o->_storage; -if(gc_find_chunk(na)!=NULL){/* non external NA */ - rsoh*h=((rsoh*)na)-1; - if((h->header.magic_flag)==RSOH_UNMARKED){ - h->header.magic_flag=RSOH_MARKED; -r205mark_native_arrays(o); +void gc_mark191(T191*o){ +if(((gc191*)o)->header.flag==FSOH_UNMARKED){ +((gc191*)o)->header.flag=FSOH_MARKED; +/*p*/if(NULL!=o->_devices)gc_mark246((T246*)(o->_devices)); } -} -}} }/*--*/ -void gc_align_mark205(fsoc*c,gc205*p){ -gc205*b=((gc205*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store205)))return; +void gc_align_mark191(fsoc*c,gc191*p){ +gc191*b=((gc191*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store191)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T205*o=(&(p->object)); -((gc205*)o)->header.flag=FSOH_MARKED; -/*3p*/{ -T220 na=o->_storage; -if(gc_find_chunk(na)!=NULL){/* non external NA */ - rsoh*h=((rsoh*)na)-1; - if((h->header.magic_flag)==RSOH_UNMARKED){ - h->header.magic_flag=RSOH_MARKED; -r205mark_native_arrays(o); -} +T191*o=(&(p->object)); +((gc191*)o)->header.flag=FSOH_MARKED; +/*p*/if(NULL!=o->_devices)gc_mark246((T246*)(o->_devices)); } -}} } }/*--*/ -fsoc H205={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark205, -(void(*)(mch*))gc_sweep205},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc205))-1)}; +fsoc H191={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark191, +(void(*)(mch*))gc_sweep191},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc191))-1)}; -T205*new205(void){ -gc205*n; +T191*new191(void){ +gc191*n; fsoc*c; -if(store_left205>1){ -store_left205--; -n=store205++; +if(store_left191>1){ +store_left191--; +n=store191++; } -else if(gc_free205!=NULL){ -n=gc_free205; -gc_free205=n->header.next; +else if(gc_free191!=NULL){ +n=gc_free191; +gc_free191=n->header.next; } -else if(store_left205==1){ -store_left205=0; -store_chunk205->header.state_type=FSO_USED_CHUNK; -n=store205++; +else if(store_left191==1){ +store_left191=0; +store_chunk191->header.state_type=FSO_USED_CHUNK; +n=store191++; } else{ c=gc_fsoc_get1(); -if(gc_free205!=NULL){ -n=gc_free205; -gc_free205=n->header.next; +if(gc_free191!=NULL){ +n=gc_free191; +gc_free191=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk205=c; -*store_chunk205=H205; -store205=((gc205*)(&(store_chunk205->first_object))); -store_left205=H205.count_minus_one; -n=store205++; +store_chunk191=c; +*store_chunk191=H191; +store191=((gc191*)(&(store_chunk191->first_object))); +store_left191=H191.count_minus_one; +n=store191++; } } n->header.flag=FSOH_UNMARKED; -n->object=M205; -return((T205*)n); +n->object=M191; +return((T191*)n); }/*--*/ -void gc_sweep204(fsoc*c){ -gc204*o1,*o2; -o1=((gc204*)(&(c->first_object))); +void gc_sweep246(fsoc*c){ +gc246*o1,*o2; +o1=((gc246*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free204; -gc_free204=o1; +o1->header.next=gc_free246; +gc_free246=o1; } } } else{ int dead=1; -gc204* old_gc_free = gc_free204; +gc246* old_gc_free = gc_free246; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free204; -gc_free204=o1; +o1->header.next=gc_free246; +gc_free246=o1; } } if (dead){ -gc_free204 = old_gc_free; +gc_free246 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -19188,111 +18668,111 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark204(T204*o){ -if(((gc204*)o)->header.flag==FSOH_UNMARKED){ -((gc204*)o)->header.flag=FSOH_MARKED; +void gc_mark246(T246*o){ +if(((gc246*)o)->header.flag==FSOH_UNMARKED){ +((gc246*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T219 na=o->_storage; +T263 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r204mark_native_arrays(o); +r246mark_native_arrays(o); } } }} }/*--*/ -void gc_align_mark204(fsoc*c,gc204*p){ -gc204*b=((gc204*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store204)))return; +void gc_align_mark246(fsoc*c,gc246*p){ +gc246*b=((gc246*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store246)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T204*o=(&(p->object)); -((gc204*)o)->header.flag=FSOH_MARKED; +T246*o=(&(p->object)); +((gc246*)o)->header.flag=FSOH_MARKED; /*3p*/{ -T219 na=o->_storage; +T263 na=o->_storage; if(gc_find_chunk(na)!=NULL){/* non external NA */ rsoh*h=((rsoh*)na)-1; if((h->header.magic_flag)==RSOH_UNMARKED){ h->header.magic_flag=RSOH_MARKED; -r204mark_native_arrays(o); +r246mark_native_arrays(o); } } }} } }/*--*/ -fsoc H204={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark204, -(void(*)(mch*))gc_sweep204},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc204))-1)}; +fsoc H246={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark246, +(void(*)(mch*))gc_sweep246},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc246))-1)}; -T204*new204(void){ -gc204*n; +T246*new246(void){ +gc246*n; fsoc*c; -if(store_left204>1){ -store_left204--; -n=store204++; +if(store_left246>1){ +store_left246--; +n=store246++; } -else if(gc_free204!=NULL){ -n=gc_free204; -gc_free204=n->header.next; +else if(gc_free246!=NULL){ +n=gc_free246; +gc_free246=n->header.next; } -else if(store_left204==1){ -store_left204=0; -store_chunk204->header.state_type=FSO_USED_CHUNK; -n=store204++; +else if(store_left246==1){ +store_left246=0; +store_chunk246->header.state_type=FSO_USED_CHUNK; +n=store246++; } else{ c=gc_fsoc_get1(); -if(gc_free204!=NULL){ -n=gc_free204; -gc_free204=n->header.next; +if(gc_free246!=NULL){ +n=gc_free246; +gc_free246=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk204=c; -*store_chunk204=H204; -store204=((gc204*)(&(store_chunk204->first_object))); -store_left204=H204.count_minus_one; -n=store204++; +store_chunk246=c; +*store_chunk246=H246; +store246=((gc246*)(&(store_chunk246->first_object))); +store_left246=H246.count_minus_one; +n=store246++; } } n->header.flag=FSOH_UNMARKED; -n->object=M204; -return((T204*)n); +n->object=M246; +return((T246*)n); }/*--*/ -void gc_sweep67(fsoc*c){ -gc67*o1,*o2; -o1=((gc67*)(&(c->first_object))); +void gc_sweep68(fsoc*c){ +gc68*o1,*o2; +o1=((gc68*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free67; -gc_free67=o1; +o1->header.next=gc_free68; +gc_free68=o1; } } } else{ int dead=1; -gc67* old_gc_free = gc_free67; +gc68* old_gc_free = gc_free68; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free67; -gc_free67=o1; +o1->header.next=gc_free68; +gc_free68=o1; } } if (dead){ -gc_free67 = old_gc_free; +gc_free68 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -19300,78 +18780,78 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark67(T67*o){ -if(((gc67*)o)->header.flag==FSOH_UNMARKED){ -((gc67*)o)->header.flag=FSOH_MARKED; -/*14p*/if(NULL!=o->_events_id)gc_mark214((T214*)(o->_events_id)); -/*14p*/if(NULL!=o->_events_indexes)gc_mark215((T215*)(o->_events_indexes)); -/*14p*/if(NULL!=o->_actions)gc_mark218((T218*)(o->_actions)); -/*14p*/if(NULL!=o->_axes_capabilities)gc_mark221((T221*)(o->_axes_capabilities)); -/*14p*/if(NULL!=o->_button_capabilities)gc_mark222((T222*)(o->_button_capabilities)); -/*14p*/if(NULL!=o->_key_capabilities)gc_mark223((T223*)(o->_key_capabilities)); +void gc_mark68(T68*o){ +if(((gc68*)o)->header.flag==FSOH_UNMARKED){ +((gc68*)o)->header.flag=FSOH_MARKED; +/*14p*/if(NULL!=o->_events_id)gc_mark258((T258*)(o->_events_id)); +/*14p*/if(NULL!=o->_events_indexes)gc_mark259((T259*)(o->_events_indexes)); +/*14p*/if(NULL!=o->_actions)gc_mark262((T262*)(o->_actions)); +/*14p*/if(NULL!=o->_axes_capabilities)gc_mark264((T264*)(o->_axes_capabilities)); +/*14p*/if(NULL!=o->_button_capabilities)gc_mark265((T265*)(o->_button_capabilities)); +/*14p*/if(NULL!=o->_key_capabilities)gc_mark266((T266*)(o->_key_capabilities)); /*14p*/if(NULL!=o->_type)gc_mark7((T7*)(o->_type)); /*14p*/if(NULL!=o->_name)gc_mark7((T7*)(o->_name)); } }/*--*/ -void gc_align_mark67(fsoc*c,gc67*p){ -gc67*b=((gc67*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store67)))return; +void gc_align_mark68(fsoc*c,gc68*p){ +gc68*b=((gc68*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store68)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T67*o=(&(p->object)); -((gc67*)o)->header.flag=FSOH_MARKED; -/*14p*/if(NULL!=o->_events_id)gc_mark214((T214*)(o->_events_id)); -/*14p*/if(NULL!=o->_events_indexes)gc_mark215((T215*)(o->_events_indexes)); -/*14p*/if(NULL!=o->_actions)gc_mark218((T218*)(o->_actions)); -/*14p*/if(NULL!=o->_axes_capabilities)gc_mark221((T221*)(o->_axes_capabilities)); -/*14p*/if(NULL!=o->_button_capabilities)gc_mark222((T222*)(o->_button_capabilities)); -/*14p*/if(NULL!=o->_key_capabilities)gc_mark223((T223*)(o->_key_capabilities)); +T68*o=(&(p->object)); +((gc68*)o)->header.flag=FSOH_MARKED; +/*14p*/if(NULL!=o->_events_id)gc_mark258((T258*)(o->_events_id)); +/*14p*/if(NULL!=o->_events_indexes)gc_mark259((T259*)(o->_events_indexes)); +/*14p*/if(NULL!=o->_actions)gc_mark262((T262*)(o->_actions)); +/*14p*/if(NULL!=o->_axes_capabilities)gc_mark264((T264*)(o->_axes_capabilities)); +/*14p*/if(NULL!=o->_button_capabilities)gc_mark265((T265*)(o->_button_capabilities)); +/*14p*/if(NULL!=o->_key_capabilities)gc_mark266((T266*)(o->_key_capabilities)); /*14p*/if(NULL!=o->_type)gc_mark7((T7*)(o->_type)); /*14p*/if(NULL!=o->_name)gc_mark7((T7*)(o->_name)); } } }/*--*/ -fsoc H67={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark67, -(void(*)(mch*))gc_sweep67},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc67))-1)}; +fsoc H68={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark68, +(void(*)(mch*))gc_sweep68},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc68))-1)}; -T67*new67(void){ -gc67*n; +T68*new68(void){ +gc68*n; fsoc*c; -if(store_left67>1){ -store_left67--; -n=store67++; +if(store_left68>1){ +store_left68--; +n=store68++; } -else if(gc_free67!=NULL){ -n=gc_free67; -gc_free67=n->header.next; +else if(gc_free68!=NULL){ +n=gc_free68; +gc_free68=n->header.next; } -else if(store_left67==1){ -store_left67=0; -store_chunk67->header.state_type=FSO_USED_CHUNK; -n=store67++; +else if(store_left68==1){ +store_left68=0; +store_chunk68->header.state_type=FSO_USED_CHUNK; +n=store68++; } else{ c=gc_fsoc_get1(); -if(gc_free67!=NULL){ -n=gc_free67; -gc_free67=n->header.next; +if(gc_free68!=NULL){ +n=gc_free68; +gc_free68=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk67=c; -*store_chunk67=H67; -store67=((gc67*)(&(store_chunk67->first_object))); -store_left67=H67.count_minus_one; -n=store67++; +store_chunk68=c; +*store_chunk68=H68; +store68=((gc68*)(&(store_chunk68->first_object))); +store_left68=H68.count_minus_one; +n=store68++; } } n->header.flag=FSOH_UNMARKED; -n->object=M67; -return((T67*)n); +n->object=M68; +return((T68*)n); }/*--*/ void gc_sweep43(fsoc*c){ @@ -19383,9 +18863,7 @@ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -if((o1->header.flag)==FSOH_UNMARKED){ -r43dispose((T43*)o1); -}o1->header.next=gc_free43; +o1->header.next=gc_free43; gc_free43=o1; } } @@ -19399,9 +18877,7 @@ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -if((o1->header.flag)==FSOH_UNMARKED){ -r43dispose((T43*)o1); -}o1->header.next=gc_free43; +o1->header.next=gc_free43; gc_free43=o1; } } @@ -19415,9 +18891,7 @@ c->header.state_type=FSO_FREE_CHUNK; }/*--*/ void gc_mark43(T43*o){ -if(((gc43*)o)->header.flag==FSOH_UNMARKED){ ((gc43*)o)->header.flag=FSOH_MARKED; -/*p*/} }/*--*/ void gc_align_mark43(fsoc*c,gc43*p){ @@ -19429,7 +18903,7 @@ if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ T43*o=(&(p->object)); ((gc43*)o)->header.flag=FSOH_MARKED; -/*p*/} +} } }/*--*/ fsoc H43={{FSOC_SIZE,FSO_STORE_CHUNK, @@ -19468,39 +18942,38 @@ n=store43++; } } n->header.flag=FSOH_UNMARKED; -n->object=M43; return((T43*)n); }/*--*/ -void gc_sweep69(fsoc*c){ -gc69*o1,*o2; -o1=((gc69*)(&(c->first_object))); +void gc_sweep70(fsoc*c){ +gc70*o1,*o2; +o1=((gc70*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free69; -gc_free69=o1; +o1->header.next=gc_free70; +gc_free70=o1; } } } else{ int dead=1; -gc69* old_gc_free = gc_free69; +gc70* old_gc_free = gc_free70; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free69; -gc_free69=o1; +o1->header.next=gc_free70; +gc_free70=o1; } } if (dead){ -gc_free69 = old_gc_free; +gc_free70 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -19508,74 +18981,74 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark69(T69*o){ -if(((gc69*)o)->header.flag==FSOH_UNMARKED){ -((gc69*)o)->header.flag=FSOH_MARKED; -/*25p*/if(NULL!=o->_time_history)gc_mark213((T213*)(o->_time_history)); -/*25p*/if(NULL!=o->_x_history)gc_mark213((T213*)(o->_x_history)); -/*25p*/if(NULL!=o->_y_history)gc_mark213((T213*)(o->_y_history)); -/*25p*/if(NULL!=o->_pointer_message_header)gc_mark7((T7*)(o->_pointer_message_header)); -/*25p*/if(NULL!=o->_button_message_header)gc_mark7((T7*)(o->_button_message_header)); -/*25p*/if(NULL!=o->_xinput_ivy)gc_mark25((T25*)(o->_xinput_ivy)); +void gc_mark70(T70*o){ +if(((gc70*)o)->header.flag==FSOH_UNMARKED){ +((gc70*)o)->header.flag=FSOH_MARKED; +/*32p*/if(NULL!=o->_y_history)gc_mark255((T255*)(o->_y_history)); +/*32p*/if(NULL!=o->_time_history)gc_mark255((T255*)(o->_time_history)); +/*32p*/if(NULL!=o->_x_history)gc_mark255((T255*)(o->_x_history)); +/*32p*/if(NULL!=o->_pointer_message_header)gc_mark7((T7*)(o->_pointer_message_header)); +/*32p*/if(NULL!=o->_button_message_header)gc_mark7((T7*)(o->_button_message_header)); +/*32p*/if(NULL!=o->_xinput_ivy)gc_mark25((T25*)(o->_xinput_ivy)); } }/*--*/ -void gc_align_mark69(fsoc*c,gc69*p){ -gc69*b=((gc69*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store69)))return; +void gc_align_mark70(fsoc*c,gc70*p){ +gc70*b=((gc70*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store70)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T69*o=(&(p->object)); -((gc69*)o)->header.flag=FSOH_MARKED; -/*25p*/if(NULL!=o->_time_history)gc_mark213((T213*)(o->_time_history)); -/*25p*/if(NULL!=o->_x_history)gc_mark213((T213*)(o->_x_history)); -/*25p*/if(NULL!=o->_y_history)gc_mark213((T213*)(o->_y_history)); -/*25p*/if(NULL!=o->_pointer_message_header)gc_mark7((T7*)(o->_pointer_message_header)); -/*25p*/if(NULL!=o->_button_message_header)gc_mark7((T7*)(o->_button_message_header)); -/*25p*/if(NULL!=o->_xinput_ivy)gc_mark25((T25*)(o->_xinput_ivy)); +T70*o=(&(p->object)); +((gc70*)o)->header.flag=FSOH_MARKED; +/*32p*/if(NULL!=o->_y_history)gc_mark255((T255*)(o->_y_history)); +/*32p*/if(NULL!=o->_time_history)gc_mark255((T255*)(o->_time_history)); +/*32p*/if(NULL!=o->_x_history)gc_mark255((T255*)(o->_x_history)); +/*32p*/if(NULL!=o->_pointer_message_header)gc_mark7((T7*)(o->_pointer_message_header)); +/*32p*/if(NULL!=o->_button_message_header)gc_mark7((T7*)(o->_button_message_header)); +/*32p*/if(NULL!=o->_xinput_ivy)gc_mark25((T25*)(o->_xinput_ivy)); } } }/*--*/ -fsoc H69={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark69, -(void(*)(mch*))gc_sweep69},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc69))-1)}; +fsoc H70={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark70, +(void(*)(mch*))gc_sweep70},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc70))-1)}; -T69*new69(void){ -gc69*n; +T70*new70(void){ +gc70*n; fsoc*c; -if(store_left69>1){ -store_left69--; -n=store69++; +if(store_left70>1){ +store_left70--; +n=store70++; } -else if(gc_free69!=NULL){ -n=gc_free69; -gc_free69=n->header.next; +else if(gc_free70!=NULL){ +n=gc_free70; +gc_free70=n->header.next; } -else if(store_left69==1){ -store_left69=0; -store_chunk69->header.state_type=FSO_USED_CHUNK; -n=store69++; +else if(store_left70==1){ +store_left70=0; +store_chunk70->header.state_type=FSO_USED_CHUNK; +n=store70++; } else{ c=gc_fsoc_get1(); -if(gc_free69!=NULL){ -n=gc_free69; -gc_free69=n->header.next; +if(gc_free70!=NULL){ +n=gc_free70; +gc_free70=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk69=c; -*store_chunk69=H69; -store69=((gc69*)(&(store_chunk69->first_object))); -store_left69=H69.count_minus_one; -n=store69++; +store_chunk70=c; +*store_chunk70=H70; +store70=((gc70*)(&(store_chunk70->first_object))); +store_left70=H70.count_minus_one; +n=store70++; } } n->header.flag=FSOH_UNMARKED; -n->object=M69; -return((T69*)n); +n->object=M70; +return((T70*)n); }/*--*/ void gc_mark9(T9 o){ @@ -19701,35 +19174,35 @@ n->object=M7; return((T7*)n); }/*--*/ -void gc_sweep70(fsoc*c){ -gc70*o1,*o2; -o1=((gc70*)(&(c->first_object))); +void gc_sweep71(fsoc*c){ +gc71*o1,*o2; +o1=((gc71*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free70; -gc_free70=o1; +o1->header.next=gc_free71; +gc_free71=o1; } } } else{ int dead=1; -gc70* old_gc_free = gc_free70; +gc71* old_gc_free = gc_free71; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free70; -gc_free70=o1; +o1->header.next=gc_free71; +gc_free71=o1; } } if (dead){ -gc_free70 = old_gc_free; +gc_free71 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -19737,107 +19210,107 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark70(T70*o){ -if(((gc70*)o)->header.flag==FSOH_UNMARKED){ -((gc70*)o)->header.flag=FSOH_MARKED; +void gc_mark71(T71*o){ +if(((gc71*)o)->header.flag==FSOH_UNMARKED){ +((gc71*)o)->header.flag=FSOH_MARKED; /*i11p*/if(NULL!=o->_ready_message_)gc_mark7((T7*)(o->_ready_message_)); /*i11p*/if(NULL!=o->_application_name_)gc_mark7((T7*)(o->_application_name_)); -/*i11p*/if(NULL!=o->_ivy_clients)gc_mark207((T207*)(o->_ivy_clients)); -/*i11p*/if(NULL!=o->_events_set)gc_mark147((T147*)(o->_events_set)); -/*i11p*/if(NULL!=o->_tmp_client_list)gc_mark207((T207*)(o->_tmp_client_list)); -/*i11p*/if(NULL!=o->_callback_list)gc_mark208((T208*)(o->_callback_list)); -/*i11p*/if(NULL!=o->_pattern_list)gc_mark211((T211*)(o->_pattern_list)); +/*i11p*/if(NULL!=o->_ivy_clients)gc_mark249((T249*)(o->_ivy_clients)); +/*i11p*/if(NULL!=o->_events_set)gc_mark154((T154*)(o->_events_set)); +/*i11p*/if(NULL!=o->_tmp_client_list)gc_mark249((T249*)(o->_tmp_client_list)); +/*i11p*/if(NULL!=o->_callback_list)gc_mark250((T250*)(o->_callback_list)); +/*i11p*/if(NULL!=o->_pattern_list)gc_mark253((T253*)(o->_pattern_list)); } }/*--*/ -void gc_align_mark70(fsoc*c,gc70*p){ -gc70*b=((gc70*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store70)))return; +void gc_align_mark71(fsoc*c,gc71*p){ +gc71*b=((gc71*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store71)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T70*o=(&(p->object)); -((gc70*)o)->header.flag=FSOH_MARKED; +T71*o=(&(p->object)); +((gc71*)o)->header.flag=FSOH_MARKED; /*i11p*/if(NULL!=o->_ready_message_)gc_mark7((T7*)(o->_ready_message_)); /*i11p*/if(NULL!=o->_application_name_)gc_mark7((T7*)(o->_application_name_)); -/*i11p*/if(NULL!=o->_ivy_clients)gc_mark207((T207*)(o->_ivy_clients)); -/*i11p*/if(NULL!=o->_events_set)gc_mark147((T147*)(o->_events_set)); -/*i11p*/if(NULL!=o->_tmp_client_list)gc_mark207((T207*)(o->_tmp_client_list)); -/*i11p*/if(NULL!=o->_callback_list)gc_mark208((T208*)(o->_callback_list)); -/*i11p*/if(NULL!=o->_pattern_list)gc_mark211((T211*)(o->_pattern_list)); +/*i11p*/if(NULL!=o->_ivy_clients)gc_mark249((T249*)(o->_ivy_clients)); +/*i11p*/if(NULL!=o->_events_set)gc_mark154((T154*)(o->_events_set)); +/*i11p*/if(NULL!=o->_tmp_client_list)gc_mark249((T249*)(o->_tmp_client_list)); +/*i11p*/if(NULL!=o->_callback_list)gc_mark250((T250*)(o->_callback_list)); +/*i11p*/if(NULL!=o->_pattern_list)gc_mark253((T253*)(o->_pattern_list)); } } }/*--*/ -fsoc H70={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark70, -(void(*)(mch*))gc_sweep70},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc70))-1)}; +fsoc H71={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark71, +(void(*)(mch*))gc_sweep71},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc71))-1)}; -T70*new70(void){ -gc70*n; +T71*new71(void){ +gc71*n; fsoc*c; -if(store_left70>1){ -store_left70--; -n=store70++; +if(store_left71>1){ +store_left71--; +n=store71++; } -else if(gc_free70!=NULL){ -n=gc_free70; -gc_free70=n->header.next; +else if(gc_free71!=NULL){ +n=gc_free71; +gc_free71=n->header.next; } -else if(store_left70==1){ -store_left70=0; -store_chunk70->header.state_type=FSO_USED_CHUNK; -n=store70++; +else if(store_left71==1){ +store_left71=0; +store_chunk71->header.state_type=FSO_USED_CHUNK; +n=store71++; } else{ c=gc_fsoc_get1(); -if(gc_free70!=NULL){ -n=gc_free70; -gc_free70=n->header.next; +if(gc_free71!=NULL){ +n=gc_free71; +gc_free71=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk70=c; -*store_chunk70=H70; -store70=((gc70*)(&(store_chunk70->first_object))); -store_left70=H70.count_minus_one; -n=store70++; +store_chunk71=c; +*store_chunk71=H71; +store71=((gc71*)(&(store_chunk71->first_object))); +store_left71=H71.count_minus_one; +n=store71++; } } n->header.flag=FSOH_UNMARKED; -n->object=M70; -return((T70*)n); +n->object=M71; +return((T71*)n); }/*--*/ -void gc_sweep64(fsoc*c){ -gc64*o1,*o2; -o1=((gc64*)(&(c->first_object))); +void gc_sweep65(fsoc*c){ +gc65*o1,*o2; +o1=((gc65*)(&(c->first_object))); if(c->header.state_type==FSO_STORE_CHUNK){ -for(;o1header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; } else{ -o1->header.next=gc_free64; -gc_free64=o1; +o1->header.next=gc_free65; +gc_free65=o1; } } } else{ int dead=1; -gc64* old_gc_free = gc_free64; +gc65* old_gc_free = gc_free65; o2=o1+c->count_minus_one; for(;o1<=o2;o1++){ if((o1->header.flag)==FSOH_MARKED){ o1->header.flag=FSOH_UNMARKED; dead=0;} else{ -o1->header.next=gc_free64; -gc_free64=o1; +o1->header.next=gc_free65; +gc_free65=o1; } } if (dead){ -gc_free64 = old_gc_free; +gc_free65 = old_gc_free; c->next=fsocfl; fsocfl=c; c->header.state_type=FSO_FREE_CHUNK; @@ -19845,70 +19318,70 @@ c->header.state_type=FSO_FREE_CHUNK; } }/*--*/ -void gc_mark64(T64*o){ -if(((gc64*)o)->header.flag==FSOH_UNMARKED){ -((gc64*)o)->header.flag=FSOH_MARKED; -/*6p*/if(NULL!=o->_widget)gc_mark227((T227*)(o->_widget)); -/*6p*/if(NULL!=o->_graphic_connection)gc_mark131((T131*)(o->_graphic_connection)); -/*6p*/if(NULL!=o->_event_catcher)gc_mark128((T128*)(o->_event_catcher)); -/*6p*/if(NULL!=o->_loop_stack)gc_mark130((T130*)(o->_loop_stack)); +void gc_mark65(T65*o){ +if(((gc65*)o)->header.flag==FSOH_UNMARKED){ +((gc65*)o)->header.flag=FSOH_MARKED; +/*6p*/if(NULL!=o->_widget)gc_mark276((T276*)(o->_widget)); +/*6p*/if(NULL!=o->_graphic_connection)gc_mark134((T134*)(o->_graphic_connection)); +/*6p*/if(NULL!=o->_event_catcher)gc_mark131((T131*)(o->_event_catcher)); +/*6p*/if(NULL!=o->_loop_stack)gc_mark133((T133*)(o->_loop_stack)); } }/*--*/ -void gc_align_mark64(fsoc*c,gc64*p){ -gc64*b=((gc64*)(&(c->first_object))); -if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store64)))return; +void gc_align_mark65(fsoc*c,gc65*p){ +gc65*b=((gc65*)(&(c->first_object))); +if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store65)))return; if(((char*)p)>((char*)(b+(c->count_minus_one))))return; if(((char*)p)<((char*)b))return; if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ -T64*o=(&(p->object)); -((gc64*)o)->header.flag=FSOH_MARKED; -/*6p*/if(NULL!=o->_widget)gc_mark227((T227*)(o->_widget)); -/*6p*/if(NULL!=o->_graphic_connection)gc_mark131((T131*)(o->_graphic_connection)); -/*6p*/if(NULL!=o->_event_catcher)gc_mark128((T128*)(o->_event_catcher)); -/*6p*/if(NULL!=o->_loop_stack)gc_mark130((T130*)(o->_loop_stack)); +T65*o=(&(p->object)); +((gc65*)o)->header.flag=FSOH_MARKED; +/*6p*/if(NULL!=o->_widget)gc_mark276((T276*)(o->_widget)); +/*6p*/if(NULL!=o->_graphic_connection)gc_mark134((T134*)(o->_graphic_connection)); +/*6p*/if(NULL!=o->_event_catcher)gc_mark131((T131*)(o->_event_catcher)); +/*6p*/if(NULL!=o->_loop_stack)gc_mark133((T133*)(o->_loop_stack)); } } }/*--*/ -fsoc H64={{FSOC_SIZE,FSO_STORE_CHUNK, -(void(*)(mch*,void*))gc_align_mark64, -(void(*)(mch*))gc_sweep64},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc64))-1)}; +fsoc H65={{FSOC_SIZE,FSO_STORE_CHUNK, +(void(*)(mch*,void*))gc_align_mark65, +(void(*)(mch*))gc_sweep65},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc65))-1)}; -T64*new64(void){ -gc64*n; +T65*new65(void){ +gc65*n; fsoc*c; -if(store_left64>1){ -store_left64--; -n=store64++; +if(store_left65>1){ +store_left65--; +n=store65++; } -else if(gc_free64!=NULL){ -n=gc_free64; -gc_free64=n->header.next; +else if(gc_free65!=NULL){ +n=gc_free65; +gc_free65=n->header.next; } -else if(store_left64==1){ -store_left64=0; -store_chunk64->header.state_type=FSO_USED_CHUNK; -n=store64++; +else if(store_left65==1){ +store_left65=0; +store_chunk65->header.state_type=FSO_USED_CHUNK; +n=store65++; } else{ c=gc_fsoc_get1(); -if(gc_free64!=NULL){ -n=gc_free64; -gc_free64=n->header.next; +if(gc_free65!=NULL){ +n=gc_free65; +gc_free65=n->header.next; } else{ if(c==NULL)c=gc_fsoc_get2(); -store_chunk64=c; -*store_chunk64=H64; -store64=((gc64*)(&(store_chunk64->first_object))); -store_left64=H64.count_minus_one; -n=store64++; +store_chunk65=c; +*store_chunk65=H65; +store65=((gc65*)(&(store_chunk65->first_object))); +store_left65=H65.count_minus_one; +n=store65++; } } n->header.flag=FSOH_UNMARKED; -n->object=M64; -return((T64*)n); +n->object=M65; +return((T65*)n); }/*--*/ void gc_sweep25(fsoc*c){ @@ -19950,8 +19423,8 @@ c->header.state_type=FSO_FREE_CHUNK; void gc_mark25(T25*o){ if(((gc25*)o)->header.flag==FSOH_UNMARKED){ ((gc25*)o)->header.flag=FSOH_MARKED; -/*8p*/if(NULL!=o->_ivy)gc_mark70((T70*)(o->_ivy)); -/*8p*/if(NULL!=o->_screen)gc_mark72((T72*)(o->_screen)); +/*8p*/if(NULL!=o->_ivy)gc_mark71((T71*)(o->_ivy)); +/*8p*/if(NULL!=o->_screen)gc_mark73((T73*)(o->_screen)); /*8p*/if(NULL!=o->_device_id)gc_mark7((T7*)(o->_device_id)); /*8p*/if(NULL!=o->_application_name)gc_mark7((T7*)(o->_application_name)); /*8p*/if(NULL!=o->_ivy_bus)gc_mark7((T7*)(o->_ivy_bus)); @@ -19967,8 +19440,8 @@ if(((((char*)p)-((char*)b))%sizeof(*p))==0){ if(p->header.flag==FSOH_UNMARKED){ T25*o=(&(p->object)); ((gc25*)o)->header.flag=FSOH_MARKED; -/*8p*/if(NULL!=o->_ivy)gc_mark70((T70*)(o->_ivy)); -/*8p*/if(NULL!=o->_screen)gc_mark72((T72*)(o->_screen)); +/*8p*/if(NULL!=o->_ivy)gc_mark71((T71*)(o->_ivy)); +/*8p*/if(NULL!=o->_screen)gc_mark73((T73*)(o->_screen)); /*8p*/if(NULL!=o->_device_id)gc_mark7((T7*)(o->_device_id)); /*8p*/if(NULL!=o->_application_name)gc_mark7((T7*)(o->_application_name)); /*8p*/if(NULL!=o->_ivy_bus)gc_mark7((T7*)(o->_ivy_bus)); @@ -20015,70 +19488,70 @@ n->object=M25; return((T25*)n); }/*--*/ -void Xgc_mark242(T0*o){ +void Xgc_mark286(T0*o){ {int i=o->id; -if (i <= 258) { -if (i <= 249) { -if (i <= 245) { -if (i <= 243) { -gc_mark243((T243*)o); +if (i <= 302) { +if (i <= 293) { +if (i <= 289) { +if (i <= 287) { +gc_mark287((T287*)o); } else{ -gc_mark245((T245*)o); +gc_mark289((T289*)o); }} else{ -gc_mark249((T249*)o); +gc_mark293((T293*)o); }} else{ -if (i <= 253) { -gc_mark253((T253*)o); +if (i <= 297) { +gc_mark297((T297*)o); } else{ -gc_mark258((T258*)o); +gc_mark302((T302*)o); }}} else{ -if (i <= 271) { -if (i <= 268) { -if (i <= 265) { -gc_mark265((T265*)o); +if (i <= 317) { +if (i <= 311) { +if (i <= 308) { +gc_mark308((T308*)o); } else{ -gc_mark268((T268*)o); +gc_mark311((T311*)o); }} else{ -gc_mark271((T271*)o); +gc_mark317((T317*)o); }} else{ -if (i <= 277) { -gc_mark277((T277*)o); +if (i <= 326) { +gc_mark326((T326*)o); } else{ -gc_mark286((T286*)o); +gc_mark329((T329*)o); }}}}}/*--*/ void Xgc_mark49(T0*o){ {int i=o->id; -if (i <= 131) { -gc_mark131((T131*)o); +if (i <= 134) { +gc_mark134((T134*)o); } else{ -gc_mark146((T146*)o); +gc_mark153((T153*)o); }}}/*--*/ -void Xgc_mark71(T0*o){ +void Xgc_mark72(T0*o){ {int i=o->id; -if (i <= 70) { -gc_mark70((T70*)o); +if (i <= 71) { +gc_mark71((T71*)o); } else{ -gc_mark128((T128*)o); +gc_mark131((T131*)o); }}}/*--*/ T25*eiffel_root_object=(void*)0; int se_argc; char**se_argv; -T7*g[294]; -T7*t[294]; -int se_strucT[294]={0,sizeof(T1),sizeof(T2),sizeof(T3),0,sizeof(T5),sizeof(T6),sizeof(T7),sizeof(T8),sizeof(T9),sizeof(T10), +T7*g[338]; +T7*t[338]; +int se_strucT[338]={0,sizeof(T1),sizeof(T2),sizeof(T3),0,sizeof(T5),sizeof(T6),sizeof(T7),sizeof(T8),sizeof(T9),sizeof(T10), sizeof(T11), 0, 0, @@ -20122,7 +19595,6 @@ sizeof(T46), 0, 0, sizeof(T53), -sizeof(T54), 0, 0, 0, @@ -20132,15 +19604,18 @@ sizeof(T54), 0, 0, 0, -sizeof(T64), 0, 0, -sizeof(T67), +sizeof(T65), +0, +0, +sizeof(T68), 0, -sizeof(T69), sizeof(T70), +sizeof(T71), +0, +sizeof(T73), 0, -sizeof(T72), 0, 0, 0, @@ -20178,8 +19653,8 @@ sizeof(T72), 0, 0, 0, -sizeof(T110), 0, +sizeof(T113), 0, 0, 0, @@ -20188,45 +19663,49 @@ sizeof(T110), 0, 0, 0, -sizeof(T120), 0, +sizeof(T123), 0, 0, 0, 0, 0, 0, -sizeof(T128), 0, -sizeof(T130), sizeof(T131), 0, +sizeof(T133), +sizeof(T134), +0, +0, 0, 0, 0, 0, 0, 0, -sizeof(T139), 0, -sizeof(T141), -sizeof(T142), -sizeof(T143), 0, 0, sizeof(T146), -sizeof(T147), +0, sizeof(T148), +sizeof(T149), +sizeof(T150), +0, 0, +sizeof(T153), +sizeof(T154), +sizeof(T155), 0, 0, 0, 0, +sizeof(T160), 0, 0, 0, 0, -sizeof(T158), 0, 0, 0, @@ -20243,8 +19722,35 @@ sizeof(T158), 0, 0, 0, -sizeof(T175), -sizeof(T176), +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +sizeof(T191), +sizeof(T192), +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +sizeof(T205), +0, +0, +0, +0, 0, 0, 0, @@ -20257,7 +19763,6 @@ sizeof(T176), 0, 0, 0, -sizeof(T189), 0, 0, 0, @@ -20270,62 +19775,30 @@ sizeof(T189), 0, 0, 0, -sizeof(T202), 0, -sizeof(T204), -sizeof(T205), -sizeof(T206), -sizeof(T207), -sizeof(T208), 0, 0, -sizeof(T211), -sizeof(T212), -sizeof(T213), -sizeof(T214), -sizeof(T215), -sizeof(T216), -sizeof(T217), -sizeof(T218), -sizeof(T219), -sizeof(T220), -sizeof(T221), -sizeof(T222), -sizeof(T223), 0, -sizeof(T225), -sizeof(T226), -sizeof(T227), -sizeof(T228), 0, -sizeof(T230), 0, -sizeof(T232), 0, -sizeof(T234), -sizeof(T235), -sizeof(T236), -sizeof(T237), -sizeof(T238), -sizeof(T239), 0, 0, 0, -sizeof(T243), sizeof(T244), -sizeof(T245), +0, sizeof(T246), sizeof(T247), -0, +sizeof(T248), sizeof(T249), sizeof(T250), -sizeof(T251), -sizeof(T252), +0, +0, sizeof(T253), sizeof(T254), sizeof(T255), sizeof(T256), -sizeof(T257), +0, sizeof(T258), sizeof(T259), sizeof(T260), @@ -20337,31 +19810,75 @@ sizeof(T265), sizeof(T266), sizeof(T267), sizeof(T268), +sizeof(T269), 0, -sizeof(T270), sizeof(T271), 0, +sizeof(T273), 0, -0, -0, +sizeof(T275), sizeof(T276), sizeof(T277), 0, -0, -0, +sizeof(T279), +sizeof(T280), sizeof(T281), +sizeof(T282), +sizeof(T283), 0, 0, -sizeof(T284), 0, -sizeof(T286), sizeof(T287), sizeof(T288), sizeof(T289), sizeof(T290), sizeof(T291), -sizeof(T292), -sizeof(T293)}; +0, +sizeof(T293), +sizeof(T294), +sizeof(T295), +sizeof(T296), +sizeof(T297), +sizeof(T298), +sizeof(T299), +sizeof(T300), +sizeof(T301), +sizeof(T302), +sizeof(T303), +sizeof(T304), +sizeof(T305), +sizeof(T306), +sizeof(T307), +sizeof(T308), +0, +sizeof(T310), +sizeof(T311), +0, +0, +0, +0, +sizeof(T316), +sizeof(T317), +0, +0, +0, +sizeof(T321), +0, +0, +sizeof(T324), +0, +sizeof(T326), +sizeof(T327), +sizeof(T328), +sizeof(T329), +sizeof(T330), +sizeof(T331), +sizeof(T332), +sizeof(T333), +sizeof(T334), +sizeof(T335), +sizeof(T336), +sizeof(T337)}; void se_atexit(void){ r53se_atexit(); @@ -20379,19 +19896,20 @@ gcmt=((mch**)se_malloc((gcmt_max+1)*sizeof(void*))); if (!stack_bottom) stack_bottom=((void**)(void*)(&argc)); #endif g[25]=(T7*)se_string("XINPUT_IVY"); -g[69]=(T7*)se_string("WACOM_POINTER"); -g[146]=(T7*)se_string("IVY_CLIENT"); -g[70]=(T7*)se_string("IVY"); -g[143]=(T7*)se_string("X11"); -g[67]=(T7*)se_string("X_INPUT_DEVICE"); -g[175]=(T7*)se_string("X_INPUT_EXTENSION"); -g[142]=(T7*)se_string("BUTTON_RANGE"); -g[141]=(T7*)se_string("AXES_RANGE"); -g[139]=(T7*)se_string("KEY_RANGE"); -g[123]=(T7*)se_string("PROCEDURE"); +g[70]=(T7*)se_string("WACOM_POINTER"); +g[153]=(T7*)se_string("IVY_CLIENT"); +g[71]=(T7*)se_string("IVY"); +g[150]=(T7*)se_string("X11"); +g[68]=(T7*)se_string("X_INPUT_DEVICE"); +g[191]=(T7*)se_string("X_INPUT_EXTENSION"); +g[149]=(T7*)se_string("BUTTON_RANGE"); +g[148]=(T7*)se_string("AXES_RANGE"); +g[146]=(T7*)se_string("KEY_RANGE"); +g[126]=(T7*)se_string("PROCEDURE"); +g[175]=(T7*)se_string("MEMORY"); g[15]=(T7*)se_string("TUPLE 1"); g[16]=(T7*)se_string("TUPLE 2"); -g[115]=(T7*)se_string("ROUTINE"); +g[117]=(T7*)se_string("ROUTINE"); g[17]=(T7*)se_string("TUPLE 3"); g[18]=(T7*)se_string("TUPLE 4"); g[19]=(T7*)se_string("TUPLE 5"); @@ -20402,136 +19920,157 @@ g[23]=(T7*)se_string("TUPLE 9"); g[14]=(T7*)se_string("TUPLE"); g[24]=(T7*)se_string("TUPLE 10"); g[8]=(T7*)se_string("POINTER"); -g[199]=(T7*)se_string("REFERENCE"); +g[228]=(T7*)se_string("REFERENCE"); g[30]=(T7*)se_string("ARGUMENTS"); -g[114]=(T7*)se_string("FUNCTION"); +g[116]=(T7*)se_string("FUNCTION"); g[6]=(T7*)se_string("BOOLEAN"); -g[98]=(T7*)se_string("SAFE_EQUAL"); +g[99]=(T7*)se_string("SAFE_EQUAL"); g[13]=(T7*)se_string("ANY"); -g[173]=(T7*)se_string("WEAK_REFERENCE"); +g[189]=(T7*)se_string("WEAK_REFERENCE"); g[42]=(T7*)se_string("PLATFORM"); -g[121]=(T7*)se_string("INTERNALS_HANDLER"); -g[169]=(T7*)se_string("NATIVE_ARRAY_INTERNALS"); +g[124]=(T7*)se_string("INTERNALS_HANDLER"); +g[177]=(T7*)se_string("NATIVE_ARRAY_INTERNALS"); g[51]=(T7*)se_string("TYPED_INTERNALS"); g[57]=(T7*)se_string("NATIVE_ARRAY_COLLECTOR"); g[52]=(T7*)se_string("INTERNALS"); g[56]=(T7*)se_string("COLLECTION"); -g[166]=(T7*)se_string("STACK"); -g[137]=(T7*)se_string("SIMPLE_DICTIONARY"); -g[124]=(T7*)se_string("DICTIONARY"); +g[168]=(T7*)se_string("STACK"); +g[144]=(T7*)se_string("SIMPLE_DICTIONARY"); +g[127]=(T7*)se_string("DICTIONARY"); g[55]=(T7*)se_string("FAST_ARRAY"); -g[116]=(T7*)se_string("ARRAY"); -g[144]=(T7*)se_string("RING_ARRAY"); -g[136]=(T7*)se_string("HASHED_DICTIONARY"); -g[97]=(T7*)se_string("NATIVE_ARRAY"); -g[165]=(T7*)se_string("RECYCLING_POOL"); -g[172]=(T7*)se_string("ANY_HASHED_DICTIONARY_NODE"); +g[119]=(T7*)se_string("ARRAY"); +g[151]=(T7*)se_string("RING_ARRAY"); +g[143]=(T7*)se_string("HASHED_DICTIONARY"); +g[98]=(T7*)se_string("NATIVE_ARRAY"); +g[201]=(T7*)se_string("STRING_RECYCLING_ITEM"); +g[167]=(T7*)se_string("RECYCLING_POOL"); +g[174]=(T7*)se_string("STRING_RECYCLING_POOL"); +g[226]=(T7*)se_string("STRING_RECYCLING_ITEM_SORTER"); +g[188]=(T7*)se_string("ANY_HASHED_DICTIONARY_NODE"); g[58]=(T7*)se_string("ARRAYED_COLLECTION"); -g[171]=(T7*)se_string("HASHED_DICTIONARY_NODE"); -g[138]=(T7*)se_string("HASH_TABLE_SIZE"); -g[96]=(T7*)se_string("FILTER"); +g[187]=(T7*)se_string("HASHED_DICTIONARY_NODE"); +g[145]=(T7*)se_string("HASH_TABLE_SIZE"); +g[218]=(T7*)se_string("DIRECTORY_NOTATION"); +g[97]=(T7*)se_string("FILTER"); g[31]=(T7*)se_string("OUTPUT_STREAM"); -g[119]=(T7*)se_string("FILTER_INPUT_STREAM"); +g[231]=(T7*)se_string("PATH_NAME"); +g[122]=(T7*)se_string("FILTER_INPUT_STREAM"); g[44]=(T7*)se_string("TERMINAL_OUTPUT_STREAM"); +g[235]=(T7*)se_string("FILE_TOOLS"); g[48]=(T7*)se_string("TERMINAL_INPUT_STREAM"); g[47]=(T7*)se_string("TERMINAL_INPUT_OUTPUT_STREAM"); -g[111]=(T7*)se_string("FILTER_OUTPUT_STREAM"); +g[114]=(T7*)se_string("FILTER_OUTPUT_STREAM"); g[49]=(T7*)se_string("INPUT_STREAM"); g[32]=(T7*)se_string("STREAM"); -g[108]=(T7*)se_string("FILE"); -g[107]=(T7*)se_string("TEXT_FILE_READ"); +g[109]=(T7*)se_string("FILE"); +g[108]=(T7*)se_string("TEXT_FILE_READ"); +g[214]=(T7*)se_string("TEXT_FILE_READ_WRITE"); g[46]=(T7*)se_string("STD_INPUT_OUTPUT"); g[43]=(T7*)se_string("STD_ERROR"); +g[212]=(T7*)se_string("TEXT_FILE_WRITE"); g[54]=(T7*)se_string("STD_INPUT"); g[53]=(T7*)se_string("STD_OUTPUT"); g[50]=(T7*)se_string("INPUT_STREAM_TOOLS"); g[36]=(T7*)se_string("OUTPUT_STREAM_TOOLS"); g[45]=(T7*)se_string("REDIRECTION_TOOLS"); +g[230]=(T7*)se_string("BASIC_DIRECTORY"); +g[233]=(T7*)se_string("UNIXISH_PATH_NAME"); g[35]=(T7*)se_string("FILTERABLE"); -g[66]=(T7*)se_string("UNICODE_STRING_HANDLER"); -g[113]=(T7*)se_string("ITERATOR"); -g[122]=(T7*)se_string("ITERATOR_ON_TRAVERSABLE"); -g[167]=(T7*)se_string("ITERATOR_ON_UNICODE_STRING"); -g[170]=(T7*)se_string("ITERATOR_ON_DICTIONARY_ITEMS"); -g[118]=(T7*)se_string("ITERATOR_ON_STRING"); -g[174]=(T7*)se_string("ITERATOR_ON_DICTIONARY_KEYS"); -g[168]=(T7*)se_string("MINI_PARSER_BUFFER"); -g[125]=(T7*)se_string("SIGNAL_0"); -g[140]=(T7*)se_string("SIGNAL_1"); -g[126]=(T7*)se_string("SIGNAL_2"); -g[127]=(T7*)se_string("SIGNAL_4"); -g[147]=(T7*)se_string("EVENTS_SET"); -g[148]=(T7*)se_string("LOOP_ITEM"); -g[109]=(T7*)se_string("EVENT_DESCRIPTOR"); -g[71]=(T7*)se_string("JOB"); -g[129]=(T7*)se_string("LOOP_STACK"); -g[120]=(T7*)se_string("CAN_READ_DATA_FROM_STREAM"); -g[195]=(T7*)se_string("NETWORK_CONNECTION_OCCURRED"); -g[110]=(T7*)se_string("STREAM_EXCEPTION"); -g[112]=(T7*)se_string("CAN_WRITE_DATA_TO_STREAM"); -g[74]=(T7*)se_string("CONTAINER"); -g[130]=(T7*)se_string("VISION_LOOP_STACK"); +g[217]=(T7*)se_string("PATH_JOINER"); +g[232]=(T7*)se_string("POSIX_PATH_NAME"); +g[216]=(T7*)se_string("PATH_NAME_NOTATION"); +g[237]=(T7*)se_string("MACINTOSH_DIRECTORY_NOTATION"); +g[238]=(T7*)se_string("OPENVMS_DIRECTORY_NOTATION"); +g[241]=(T7*)se_string("MICROSOFT_PATH_NAME"); +g[240]=(T7*)se_string("WINDOWS_DIRECTORY_NOTATION"); +g[215]=(T7*)se_string("UNIX_DIRECTORY_NOTATION"); +g[239]=(T7*)se_string("AMIGA_DIRECTORY_NOTATION"); +g[242]=(T7*)se_string("CYGWIN_DIRECTORY_NOTATION"); +g[67]=(T7*)se_string("UNICODE_STRING_HANDLER"); +g[118]=(T7*)se_string("ITERATOR"); +g[125]=(T7*)se_string("ITERATOR_ON_TRAVERSABLE"); +g[169]=(T7*)se_string("ITERATOR_ON_UNICODE_STRING"); +g[178]=(T7*)se_string("ITERATOR_ON_DICTIONARY_ITEMS"); +g[121]=(T7*)se_string("ITERATOR_ON_STRING"); +g[190]=(T7*)se_string("ITERATOR_ON_DICTIONARY_KEYS"); +g[227]=(T7*)se_string("ABSTRACT_SORTER"); +g[176]=(T7*)se_string("MINI_PARSER_BUFFER"); +g[128]=(T7*)se_string("SIGNAL_0"); +g[147]=(T7*)se_string("SIGNAL_1"); +g[129]=(T7*)se_string("SIGNAL_2"); +g[130]=(T7*)se_string("SIGNAL_4"); +g[154]=(T7*)se_string("EVENTS_SET"); +g[155]=(T7*)se_string("LOOP_ITEM"); +g[112]=(T7*)se_string("EVENT_DESCRIPTOR"); +g[72]=(T7*)se_string("JOB"); +g[132]=(T7*)se_string("LOOP_STACK"); +g[123]=(T7*)se_string("CAN_READ_DATA_FROM_STREAM"); +g[211]=(T7*)se_string("NETWORK_CONNECTION_OCCURRED"); +g[113]=(T7*)se_string("STREAM_EXCEPTION"); +g[115]=(T7*)se_string("CAN_WRITE_DATA_TO_STREAM"); +g[75]=(T7*)se_string("CONTAINER"); +g[133]=(T7*)se_string("VISION_LOOP_STACK"); g[61]=(T7*)se_string("ALIGNMENT"); g[28]=(T7*)se_string("STATE_CONSTANTS"); -g[155]=(T7*)se_string("PIXMAP"); -g[75]=(T7*)se_string("SENSITIVE"); -g[134]=(T7*)se_string("DRAW_STYLE"); -g[77]=(T7*)se_string("WIDGET"); -g[135]=(T7*)se_string("DRAWABLE_HANDLER"); +g[157]=(T7*)se_string("PIXMAP"); +g[76]=(T7*)se_string("SENSITIVE"); +g[141]=(T7*)se_string("DRAW_STYLE"); +g[78]=(T7*)se_string("WIDGET"); +g[142]=(T7*)se_string("DRAWABLE_HANDLER"); g[27]=(T7*)se_string("ALIGNMENT_CONSTANTS"); -g[198]=(T7*)se_string("LABEL"); -g[131]=(T7*)se_string("GRAPHIC_CONNECTION"); -g[68]=(T7*)se_string("EXTENSION_DEVICE"); -g[64]=(T7*)se_string("VISION"); -g[133]=(T7*)se_string("DRAW_KIT"); -g[78]=(T7*)se_string("STATE"); -g[76]=(T7*)se_string("DRAWABLE"); -g[65]=(T7*)se_string("BASIC_FONT"); +g[204]=(T7*)se_string("LABEL"); +g[134]=(T7*)se_string("GRAPHIC_CONNECTION"); +g[69]=(T7*)se_string("EXTENSION_DEVICE"); +g[65]=(T7*)se_string("VISION"); +g[140]=(T7*)se_string("DRAW_KIT"); +g[79]=(T7*)se_string("STATE"); +g[77]=(T7*)se_string("DRAWABLE"); +g[66]=(T7*)se_string("BASIC_FONT"); g[63]=(T7*)se_string("FONT_MANAGER"); g[26]=(T7*)se_string("GRAPHIC"); -g[132]=(T7*)se_string("RECT"); -g[128]=(T7*)se_string("EVENT_CATCHER"); -g[181]=(T7*)se_string("BUTTON"); +g[135]=(T7*)se_string("RECT"); +g[131]=(T7*)se_string("EVENT_CATCHER"); +g[180]=(T7*)se_string("BUTTON"); g[62]=(T7*)se_string("COLOR"); g[29]=(T7*)se_string("COLOR_LIST"); -g[81]=(T7*)se_string("WHEN_UNMAPPED"); -g[184]=(T7*)se_string("POINTER_STATUS"); -g[95]=(T7*)se_string("WHEN_LEFT_DOWN"); -g[93]=(T7*)se_string("WHEN_MIDDLE_DOWN"); -g[90]=(T7*)se_string("WHEN_RIGHT_UP"); -g[80]=(T7*)se_string("WHEN_GEOMETRY_CHANGE"); -g[82]=(T7*)se_string("WHEN_MAPPED"); -g[182]=(T7*)se_string("WHEN_DOUBLE_CLICKED"); -g[91]=(T7*)se_string("WHEN_RIGHT_DOWN"); -g[157]=(T7*)se_string("WHEN_CLOSE_REQUESTED"); -g[84]=(T7*)se_string("WHEN_KEY_DOWN"); -g[186]=(T7*)se_string("WHEN_RIGHT_CLICKED"); -g[94]=(T7*)se_string("WHEN_LEFT_UP"); -g[187]=(T7*)se_string("WHEN_MIDDLE_CLICKED"); -g[83]=(T7*)se_string("WHEN_KEY_UP"); -g[85]=(T7*)se_string("WHEN_POINTER_LEAVE"); -g[79]=(T7*)se_string("WHEN_EXPOSE"); -g[183]=(T7*)se_string("WHEN_LEFT_CLICKED"); -g[88]=(T7*)se_string("WHEN_WHEEL_DOWN"); -g[86]=(T7*)se_string("WHEN_POINTER_ENTER"); -g[89]=(T7*)se_string("WHEN_WHEEL_UP"); -g[92]=(T7*)se_string("WHEN_MIDDLE_UP"); -g[87]=(T7*)se_string("WHEN_POINTER_MOVE"); -g[188]=(T7*)se_string("COLUMN_LAYOUT"); -g[180]=(T7*)se_string("CHECK_SPACE"); -g[154]=(T7*)se_string("LAYOUT"); -g[158]=(T7*)se_string("ROOT_LAYOUT"); -g[196]=(T7*)se_string("ROW_LAYOUT"); -g[201]=(T7*)se_string("BUTTON_SPACE"); -g[150]=(T7*)se_string("RENDERER"); -g[152]=(T7*)se_string("BASIC_RENDERER"); -g[151]=(T7*)se_string("CLASSIC_RENDERER"); -g[149]=(T7*)se_string("DEFAULT_RENDERER"); -g[185]=(T7*)se_string("SUB_WINDOW"); -g[156]=(T7*)se_string("TOPLEVEL_WINDOW"); -g[197]=(T7*)se_string("SCROLL_VIEW"); -g[73]=(T7*)se_string("WINDOW"); -g[72]=(T7*)se_string("ROOT_WINDOW"); +g[82]=(T7*)se_string("WHEN_UNMAPPED"); +g[183]=(T7*)se_string("POINTER_STATUS"); +g[96]=(T7*)se_string("WHEN_LEFT_DOWN"); +g[94]=(T7*)se_string("WHEN_MIDDLE_DOWN"); +g[91]=(T7*)se_string("WHEN_RIGHT_UP"); +g[81]=(T7*)se_string("WHEN_GEOMETRY_CHANGE"); +g[83]=(T7*)se_string("WHEN_MAPPED"); +g[181]=(T7*)se_string("WHEN_DOUBLE_CLICKED"); +g[92]=(T7*)se_string("WHEN_RIGHT_DOWN"); +g[159]=(T7*)se_string("WHEN_CLOSE_REQUESTED"); +g[85]=(T7*)se_string("WHEN_KEY_DOWN"); +g[185]=(T7*)se_string("WHEN_RIGHT_CLICKED"); +g[95]=(T7*)se_string("WHEN_LEFT_UP"); +g[186]=(T7*)se_string("WHEN_MIDDLE_CLICKED"); +g[84]=(T7*)se_string("WHEN_KEY_UP"); +g[86]=(T7*)se_string("WHEN_POINTER_LEAVE"); +g[80]=(T7*)se_string("WHEN_EXPOSE"); +g[182]=(T7*)se_string("WHEN_LEFT_CLICKED"); +g[89]=(T7*)se_string("WHEN_WHEEL_DOWN"); +g[87]=(T7*)se_string("WHEN_POINTER_ENTER"); +g[90]=(T7*)se_string("WHEN_WHEEL_UP"); +g[93]=(T7*)se_string("WHEN_MIDDLE_UP"); +g[88]=(T7*)se_string("WHEN_POINTER_MOVE"); +g[196]=(T7*)se_string("COLUMN_LAYOUT"); +g[179]=(T7*)se_string("CHECK_SPACE"); +g[156]=(T7*)se_string("LAYOUT"); +g[160]=(T7*)se_string("ROOT_LAYOUT"); +g[202]=(T7*)se_string("ROW_LAYOUT"); +g[236]=(T7*)se_string("BUTTON_SPACE"); +g[64]=(T7*)se_string("RENDERER"); +g[138]=(T7*)se_string("BASIC_RENDERER"); +g[137]=(T7*)se_string("CLASSIC_RENDERER"); +g[136]=(T7*)se_string("DEFAULT_RENDERER"); +g[184]=(T7*)se_string("SUB_WINDOW"); +g[158]=(T7*)se_string("TOPLEVEL_WINDOW"); +g[203]=(T7*)se_string("SCROLL_VIEW"); +g[74]=(T7*)se_string("WINDOW"); +g[73]=(T7*)se_string("ROOT_WINDOW"); g[34]=(T7*)se_string("RECYCLABLE"); g[33]=(T7*)se_string("DISPOSABLE"); g[38]=(T7*)se_string("TRAVERSABLE"); @@ -20539,208 +20078,229 @@ g[41]=(T7*)se_string("HASHABLE"); g[39]=(T7*)se_string("STORABLE"); g[40]=(T7*)se_string("COMPARABLE"); g[12]=(T7*)se_string("REAL_EXTENDED"); -g[145]=(T7*)se_string("MATH_CONSTANTS"); -g[101]=(T7*)se_string("REAL_GENERAL"); -g[104]=(T7*)se_string("NATURAL_64"); +g[152]=(T7*)se_string("MATH_CONSTANTS"); +g[102]=(T7*)se_string("REAL_GENERAL"); +g[105]=(T7*)se_string("NATURAL_64"); g[2]=(T7*)se_string("INTEGER_32"); -g[105]=(T7*)se_string("NUMBER"); +g[106]=(T7*)se_string("NUMBER"); g[4]=(T7*)se_string("REAL_32"); g[1]=(T7*)se_string("INTEGER_8"); -g[161]=(T7*)se_string("MUTABLE_BIG_INTEGER"); +g[163]=(T7*)se_string("MUTABLE_BIG_INTEGER"); g[11]=(T7*)se_string("INTEGER_64"); -g[117]=(T7*)se_string("NUMBER_TOOLS"); +g[120]=(T7*)se_string("NUMBER_TOOLS"); g[59]=(T7*)se_string("INTEGER_GENERAL"); g[5]=(T7*)se_string("REAL_64"); -g[99]=(T7*)se_string("NATURAL_16"); +g[100]=(T7*)se_string("NATURAL_16"); g[60]=(T7*)se_string("NUMERIC"); -g[103]=(T7*)se_string("NATURAL_32"); -g[102]=(T7*)se_string("NATURAL_8"); -g[100]=(T7*)se_string("NATURAL_GENERAL"); +g[104]=(T7*)se_string("NATURAL_32"); +g[103]=(T7*)se_string("NATURAL_8"); +g[101]=(T7*)se_string("NATURAL_GENERAL"); g[10]=(T7*)se_string("INTEGER_16"); -g[162]=(T7*)se_string("FRACTION_WITH_BIG_INTEGER_NUMBER"); -g[159]=(T7*)se_string("INTEGER_64_NUMBER"); -g[160]=(T7*)se_string("INTEGER_GENERAL_NUMBER"); -g[163]=(T7*)se_string("FRACTION_GENERAL_NUMBER"); -g[164]=(T7*)se_string("BIG_INTEGER_NUMBER"); -g[106]=(T7*)se_string("UNICODE_STRING"); +g[164]=(T7*)se_string("FRACTION_WITH_BIG_INTEGER_NUMBER"); +g[161]=(T7*)se_string("INTEGER_64_NUMBER"); +g[162]=(T7*)se_string("INTEGER_GENERAL_NUMBER"); +g[165]=(T7*)se_string("FRACTION_GENERAL_NUMBER"); +g[166]=(T7*)se_string("BIG_INTEGER_NUMBER"); +g[107]=(T7*)se_string("UNICODE_STRING"); g[3]=(T7*)se_string("CHARACTER"); g[7]=(T7*)se_string("STRING"); g[37]=(T7*)se_string("STRING_HANDLER"); -g[189]=(T7*)se_string("TIME"); -g[176]=(T7*)se_string("MICROSECOND_TIME"); -g[190]=(T7*)se_string("TIME_HANDLER"); -g[192]=(T7*)se_string("ACCESS"); -g[194]=(T7*)se_string("SOCKET_INPUT_OUTPUT_STREAM"); -g[177]=(T7*)se_string("SOCKET_SERVER"); -g[200]=(T7*)se_string("CLIENT_SOCKET_INPUT_OUTPUT_STREAM"); -g[193]=(T7*)se_string("SERVER_SOCKET_INPUT_OUTPUT_STREAM"); -g[178]=(T7*)se_string("SOCKET_PLUG_IN"); -g[179]=(T7*)se_string("SOCKET_HANDLER"); -g[191]=(T7*)se_string("SOCKET"); -g[153]=(T7*)se_string("SYSTEM"); -g[293]=g[97]; -g[292]=g[97]; -g[291]=g[97]; -g[290]=g[97]; -g[289]=g[97]; -g[288]=g[97]; -g[287]=g[97]; -g[286]=g[173]; -g[284]=g[97]; -g[281]=g[97]; -g[277]=g[173]; -g[276]=g[97]; -g[271]=g[173]; -g[270]=g[97]; -g[268]=g[173]; -g[267]=g[97]; -g[266]=g[171]; -g[265]=g[173]; -g[264]=g[171]; -g[263]=g[97]; -g[262]=g[97]; -g[261]=g[97]; -g[260]=g[97]; -g[259]=g[97]; -g[258]=g[173]; -g[257]=g[97]; -g[256]=g[171]; -g[255]=g[97]; -g[254]=g[55]; -g[253]=g[173]; -g[252]=g[171]; -g[251]=g[97]; -g[250]=g[97]; -g[249]=g[173]; -g[247]=g[97]; -g[246]=g[171]; -g[245]=g[173]; -g[244]=g[136]; -g[243]=g[173]; -g[239]=g[97]; -g[238]=g[97]; -g[237]=g[97]; -g[236]=g[55]; -g[235]=g[55]; -g[234]=g[136]; -g[232]=g[55]; -g[230]=g[136]; -g[228]=g[136]; -g[227]=g[136]; -g[226]=g[136]; -g[225]=g[55]; -g[223]=g[55]; -g[222]=g[55]; -g[221]=g[55]; -g[220]=g[97]; -g[219]=g[97]; -g[218]=g[136]; -g[217]=g[55]; -g[216]=g[140]; -g[215]=g[136]; -g[214]=g[55]; -g[213]=g[144]; -g[212]=g[97]; -g[211]=g[136]; -g[208]=g[136]; -g[207]=g[55]; -g[206]=g[55]; -g[205]=g[55]; -g[204]=g[55]; -g[202]=g[123]; -g[9]=g[97]; -t[293]=(T7*)se_string("NATIVE_ARRAY[PROCEDURE[TUPLE]]"); -t[292]=(T7*)se_string("NATIVE_ARRAY[PROCEDURE[TUPLE[INTEGER_32,INTEGER_32]]]"); -t[291]=(T7*)se_string("NATIVE_ARRAY[PROCEDURE[TUPLE[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32]]]"); -t[290]=(T7*)se_string("NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]"); -t[289]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]"); -t[288]=(T7*)se_string("NATIVE_ARRAY[JOB]"); -t[287]=(T7*)se_string("NATIVE_ARRAY[EVENT_CATCHER]"); -t[286]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]"); -t[284]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]"); -t[281]=(T7*)se_string("NATIVE_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]"); -t[277]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]"); -t[276]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]"); -t[271]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]"); -t[270]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]"); -t[268]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]"); -t[267]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]"); -t[266]=(T7*)se_string("HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]"); -t[265]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]"); -t[264]=(T7*)se_string("HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]"); -t[263]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]"); -t[262]=(T7*)se_string("NATIVE_ARRAY[TOPLEVEL_WINDOW]"); -t[261]=(T7*)se_string("NATIVE_ARRAY[KEY_RANGE]"); -t[260]=(T7*)se_string("NATIVE_ARRAY[BUTTON_RANGE]"); -t[259]=(T7*)se_string("NATIVE_ARRAY[AXES_RANGE]"); -t[258]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]"); -t[257]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]"); -t[256]=(T7*)se_string("HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]"); -t[255]=(T7*)se_string("NATIVE_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]"); -t[254]=(T7*)se_string("FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]"); -t[253]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]"); -t[252]=(T7*)se_string("HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]"); -t[251]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]"); -t[250]=(T7*)se_string("NATIVE_ARRAY[INTEGER_32]"); -t[249]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[POINTER,STRING]]"); -t[247]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[POINTER,STRING]]"); -t[246]=(T7*)se_string("HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]"); -t[245]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]"); -t[244]=(T7*)se_string("HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]"); -t[243]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]"); -t[239]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]"); -t[238]=(T7*)se_string("NATIVE_ARRAY[IVY_CLIENT]"); -t[237]=(T7*)se_string("NATIVE_ARRAY[LOOP_ITEM]"); -t[236]=(T7*)se_string("FAST_ARRAY[JOB]"); -t[235]=(T7*)se_string("FAST_ARRAY[EVENT_CATCHER]"); -t[234]=(T7*)se_string("HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]"); -t[232]=(T7*)se_string("FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]"); -t[230]=(T7*)se_string("HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]"); -t[228]=(T7*)se_string("HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]"); -t[227]=(T7*)se_string("HASHED_DICTIONARY[SENSITIVE,POINTER]"); -t[226]=(T7*)se_string("HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]"); -t[225]=(T7*)se_string("FAST_ARRAY[TOPLEVEL_WINDOW]"); -t[223]=(T7*)se_string("FAST_ARRAY[KEY_RANGE]"); -t[222]=(T7*)se_string("FAST_ARRAY[BUTTON_RANGE]"); -t[221]=(T7*)se_string("FAST_ARRAY[AXES_RANGE]"); -t[220]=(T7*)se_string("NATIVE_ARRAY[X_INPUT_DEVICE]"); -t[219]=(T7*)se_string("NATIVE_ARRAY[STRING]"); -t[218]=(T7*)se_string("HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]"); -t[217]=(T7*)se_string("FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]"); -t[216]=(T7*)se_string("SIGNAL_1[X_INPUT_DEVICE]"); -t[215]=(T7*)se_string("HASHED_DICTIONARY[INTEGER_32,INTEGER_32]"); -t[214]=(T7*)se_string("FAST_ARRAY[INTEGER_32]"); -t[213]=(T7*)se_string("RING_ARRAY[INTEGER_32]"); -t[212]=(T7*)se_string("NATIVE_ARRAY[POINTER]"); -t[211]=(T7*)se_string("HASHED_DICTIONARY[POINTER,STRING]"); -t[208]=(T7*)se_string("HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]"); -t[207]=(T7*)se_string("FAST_ARRAY[IVY_CLIENT]"); -t[206]=(T7*)se_string("FAST_ARRAY[LOOP_ITEM]"); -t[205]=(T7*)se_string("FAST_ARRAY[X_INPUT_DEVICE]"); -t[204]=(T7*)se_string("FAST_ARRAY[STRING]"); -t[202]=(T7*)se_string("PROCEDURE[TUPLE[X_INPUT_DEVICE]]"); -t[189]=g[189]; -t[176]=g[176]; -t[175]=g[175]; -t[158]=g[158]; +g[243]=(T7*)se_string("TIME_FORMATTER"); +g[205]=(T7*)se_string("TIME"); +g[192]=(T7*)se_string("MICROSECOND_TIME"); +g[206]=(T7*)se_string("TIME_HANDLER"); +g[110]=(T7*)se_string("URL"); +g[222]=(T7*)se_string("ADDRESS"); +g[171]=(T7*)se_string("PROTOCOL"); +g[173]=(T7*)se_string("RESOURCE_LOCATOR"); +g[208]=(T7*)se_string("ACCESS"); +g[210]=(T7*)se_string("SOCKET_INPUT_OUTPUT_STREAM"); +g[170]=(T7*)se_string("PROTOCOLS"); +g[111]=(T7*)se_string("URL_VALIDITY"); +g[221]=(T7*)se_string("HOST"); +g[234]=(T7*)se_string("IP_ADDRESS"); +g[220]=(T7*)se_string("TCP_ACCESS"); +g[193]=(T7*)se_string("SOCKET_SERVER"); +g[229]=(T7*)se_string("CLIENT_SOCKET_INPUT_OUTPUT_STREAM"); +g[209]=(T7*)se_string("SERVER_SOCKET_INPUT_OUTPUT_STREAM"); +g[194]=(T7*)se_string("SOCKET_PLUG_IN"); +g[195]=(T7*)se_string("SOCKET_HANDLER"); +g[207]=(T7*)se_string("SOCKET"); +g[172]=(T7*)se_string("STREAM_PROTOCOL"); +g[224]=(T7*)se_string("HTTP_CLIENT_INPUT_STREAM"); +g[197]=(T7*)se_string("FILE_PROTOCOL"); +g[198]=(T7*)se_string("HTTP_PROTOCOL"); +g[199]=(T7*)se_string("TCP_PROTOCOL"); +g[223]=(T7*)se_string("HTTP_PROXY"); +g[225]=(T7*)se_string("HTTP_CLIENT_OUTPUT_STREAM"); +g[213]=(T7*)se_string("FILE_RESOURCE_LOCATOR"); +g[200]=(T7*)se_string("NETWORK_RESOURCE_VALIDITY"); +g[219]=(T7*)se_string("NETWORK_RESOURCE_LOCATOR"); +g[139]=(T7*)se_string("SYSTEM"); +g[337]=g[98]; +g[336]=g[98]; +g[335]=g[98]; +g[334]=g[98]; +g[333]=g[98]; +g[332]=g[98]; +g[331]=g[98]; +g[330]=g[98]; +g[329]=g[189]; +g[328]=g[98]; +g[327]=g[187]; +g[326]=g[189]; +g[324]=g[98]; +g[321]=g[98]; +g[317]=g[189]; +g[316]=g[98]; +g[311]=g[189]; +g[310]=g[98]; +g[308]=g[189]; +g[307]=g[187]; +g[306]=g[98]; +g[305]=g[98]; +g[304]=g[98]; +g[303]=g[98]; +g[302]=g[189]; +g[301]=g[98]; +g[300]=g[187]; +g[299]=g[98]; +g[298]=g[55]; +g[297]=g[189]; +g[296]=g[187]; +g[295]=g[98]; +g[294]=g[98]; +g[293]=g[189]; +g[291]=g[98]; +g[290]=g[187]; +g[289]=g[189]; +g[288]=g[143]; +g[287]=g[189]; +g[283]=g[98]; +g[282]=g[98]; +g[281]=g[98]; +g[280]=g[55]; +g[279]=g[55]; +g[277]=g[55]; +g[276]=g[143]; +g[275]=g[143]; +g[273]=g[55]; +g[271]=g[143]; +g[269]=g[143]; +g[268]=g[143]; +g[267]=g[98]; +g[266]=g[55]; +g[265]=g[55]; +g[264]=g[55]; +g[263]=g[98]; +g[262]=g[143]; +g[261]=g[55]; +g[260]=g[147]; +g[259]=g[143]; +g[258]=g[55]; +g[256]=g[119]; +g[255]=g[151]; +g[254]=g[98]; +g[253]=g[143]; +g[250]=g[143]; +g[249]=g[55]; +g[248]=g[55]; +g[247]=g[55]; +g[246]=g[55]; +g[244]=g[126]; +g[9]=g[98]; +t[337]=(T7*)se_string("NATIVE_ARRAY[PROCEDURE[TUPLE]]"); +t[336]=(T7*)se_string("NATIVE_ARRAY[PROCEDURE[TUPLE[INTEGER_32,INTEGER_32]]]"); +t[335]=(T7*)se_string("NATIVE_ARRAY[PROCEDURE[TUPLE[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32]]]"); +t[334]=(T7*)se_string("NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]"); +t[333]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]"); +t[332]=(T7*)se_string("NATIVE_ARRAY[JOB]"); +t[331]=(T7*)se_string("NATIVE_ARRAY[TOPLEVEL_WINDOW]"); +t[330]=(T7*)se_string("NATIVE_ARRAY[EVENT_CATCHER]"); +t[329]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]"); +t[328]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]"); +t[327]=(T7*)se_string("HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]"); +t[326]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]"); +t[324]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]"); +t[321]=(T7*)se_string("NATIVE_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]"); +t[317]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]"); +t[316]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]"); +t[311]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]"); +t[310]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]"); +t[308]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]"); +t[307]=(T7*)se_string("HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]"); +t[306]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]"); +t[305]=(T7*)se_string("NATIVE_ARRAY[KEY_RANGE]"); +t[304]=(T7*)se_string("NATIVE_ARRAY[BUTTON_RANGE]"); +t[303]=(T7*)se_string("NATIVE_ARRAY[AXES_RANGE]"); +t[302]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]"); +t[301]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]"); +t[300]=(T7*)se_string("HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]"); +t[299]=(T7*)se_string("NATIVE_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]"); +t[298]=(T7*)se_string("FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]"); +t[297]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]"); +t[296]=(T7*)se_string("HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]"); +t[295]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]"); +t[294]=(T7*)se_string("NATIVE_ARRAY[INTEGER_32]"); +t[293]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[POINTER,STRING]]"); +t[291]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[POINTER,STRING]]"); +t[290]=(T7*)se_string("HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]"); +t[289]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]"); +t[288]=(T7*)se_string("HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]"); +t[287]=(T7*)se_string("WEAK_REFERENCE[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]"); +t[283]=(T7*)se_string("NATIVE_ARRAY[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]"); +t[282]=(T7*)se_string("NATIVE_ARRAY[IVY_CLIENT]"); +t[281]=(T7*)se_string("NATIVE_ARRAY[LOOP_ITEM]"); +t[280]=(T7*)se_string("FAST_ARRAY[JOB]"); +t[279]=(T7*)se_string("FAST_ARRAY[TOPLEVEL_WINDOW]"); +t[277]=(T7*)se_string("FAST_ARRAY[EVENT_CATCHER]"); +t[276]=(T7*)se_string("HASHED_DICTIONARY[SENSITIVE,POINTER]"); +t[275]=(T7*)se_string("HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]"); +t[273]=(T7*)se_string("FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]"); +t[271]=(T7*)se_string("HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]"); +t[269]=(T7*)se_string("HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]"); +t[268]=(T7*)se_string("HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]"); +t[267]=(T7*)se_string("NATIVE_ARRAY[STRING]"); +t[266]=(T7*)se_string("FAST_ARRAY[KEY_RANGE]"); +t[265]=(T7*)se_string("FAST_ARRAY[BUTTON_RANGE]"); +t[264]=(T7*)se_string("FAST_ARRAY[AXES_RANGE]"); +t[263]=(T7*)se_string("NATIVE_ARRAY[X_INPUT_DEVICE]"); +t[262]=(T7*)se_string("HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]"); +t[261]=(T7*)se_string("FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]"); +t[260]=(T7*)se_string("SIGNAL_1[X_INPUT_DEVICE]"); +t[259]=(T7*)se_string("HASHED_DICTIONARY[INTEGER_32,INTEGER_32]"); +t[258]=(T7*)se_string("FAST_ARRAY[INTEGER_32]"); +t[256]=(T7*)se_string("ARRAY[STRING]"); +t[255]=(T7*)se_string("RING_ARRAY[INTEGER_32]"); +t[254]=(T7*)se_string("NATIVE_ARRAY[POINTER]"); +t[253]=(T7*)se_string("HASHED_DICTIONARY[POINTER,STRING]"); +t[250]=(T7*)se_string("HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]"); +t[249]=(T7*)se_string("FAST_ARRAY[IVY_CLIENT]"); +t[248]=(T7*)se_string("FAST_ARRAY[LOOP_ITEM]"); +t[247]=(T7*)se_string("FAST_ARRAY[STRING]"); +t[246]=(T7*)se_string("FAST_ARRAY[X_INPUT_DEVICE]"); +t[244]=(T7*)se_string("PROCEDURE[TUPLE[X_INPUT_DEVICE]]"); +t[205]=g[205]; +t[192]=g[192]; +t[191]=g[191]; +t[160]=g[160]; +t[155]=g[155]; +t[154]=g[154]; +t[153]=g[153]; +t[150]=g[150]; +t[149]=g[149]; t[148]=g[148]; -t[147]=g[147]; t[146]=g[146]; -t[143]=g[143]; -t[142]=g[142]; -t[141]=g[141]; -t[139]=g[139]; +t[134]=g[134]; +t[133]=g[133]; t[131]=g[131]; -t[130]=g[130]; -t[128]=g[128]; -t[120]=g[120]; -t[110]=g[110]; -t[72]=g[72]; +t[123]=g[123]; +t[113]=g[113]; +t[73]=g[73]; +t[71]=g[71]; t[70]=g[70]; -t[69]=g[69]; -t[67]=g[67]; -t[64]=g[64]; -t[54]=g[54]; +t[68]=g[68]; +t[65]=g[65]; t[53]=g[53]; t[46]=g[46]; t[43]=g[43]; @@ -20787,17 +20347,20 @@ signal(SIGXFSZ,se_signal_handler); #endif se_msi1(); /*PCO*/ -oBC101sprintf_buffer=new9(INT32_C(1024)); +oBC102sprintf_buffer=new9(INT32_C(1024)); /*PCO*/ -tmp0=((T0*)(new46())); -/*RF3E*/oBC13io=tmp0; +tmp0/*new*/=((T0*)(new46())); +oBC13io=tmp0/*new*/; +/*tmp0.unlock*/ /*PCO*/ -tmp0=((T0*)(new43())); -oBC13std_error=tmp0; +/*reusing tmp0*/tmp0/*new*/=((T0*)(new43())); +oBC13std_error=tmp0/*new*/; +/*tmp0.unlock*/ gc_is_off=0; -tmp0=((T0*)(new25())); -r143default_create(); -eiffel_root_object=((T25*)tmp0); +/*reusing tmp0*/tmp0/*root*/=((T0*)(new25())); +r150default_create(); +eiffel_root_object=((T25*)tmp0/*root*/); +/*tmp0.unlock*/ }/*--*/ int main(int argc,char*argv[]){ @@ -20806,116 +20369,15 @@ T0* tmp0; /*INTERNAL_C_LOCAL list]*/ stack_bottom=((void**)(void*)(&argc)); initialize_eiffel_runtime(argc,argv); -tmp0=((T0*)eiffel_root_object); -r25make(((T25*)tmp0)); +tmp0/*prof*/=((T0*)eiffel_root_object); +r25make(((T25*)tmp0/*prof*/)); gc_dispose_before_exit(); handle(SE_HANDLE_NORMAL_EXIT, NULL); +/*tmp0.unlock*/ exit(0); return 0; }/*--*/ -void X71prepare(T0*C,T0* a1){ -{Tid id=((T0*)C)->id; -if(id<=70){ -r70prepare(((T70*)C),a1); -} -else{ -r128prepare(((T128*)C),a1); -}} -}/*--*/ - -T2 X71priority(T0*C){ -T2 R; -{Tid id=((T0*)C)->id; -if(id<=70){ -R=((/*RF2*/(((T70*)C))->_priority/*i11p*/)); -} -else{ -R=((/*RF2*/(((T128*)C))->_priority/*i11p*/)); -}} -return R; -}/*--*/ - -T6 X71done(T0*C){ -T6 R; -{Tid id=((T0*)C)->id; -if(id<=70){ -R=(T6)((/*RF2*/(((T70*)C))->_done/*i11p*/)); -} -else{ -R=(T6)((/*RF2*/(((T128*)C))->_done/*i11p*/)); -}} -return R; -}/*--*/ - -T6 X71is_ready(T0*C,T0* a1){ -T6 R; -{Tid id=((T0*)C)->id; -if(id<=70){ -R=(T6)(r70is_ready(((T70*)C),a1)); -} -else{ -R=(T6)(r128is_ready(((T128*)C),a1)); -}} -return R; -}/*--*/ - -void X71continue(T0*C){ -{Tid id=((T0*)C)->id; -if(id<=70){ -r70continue(((T70*)C)); -} -else{ -r128continue(((T128*)C)); -}} -}/*--*/ - -void X109expect(T0*C,T0* a1){ -{Tid id=((T0*)C)->id; -if(id<=110){ -r110expect(((T110*)C),a1); -} -else{ -r120expect(((T120*)C),a1); -}} -}/*--*/ - -T6 X109occurred(T0*C,T0* a1){ -T6 R; -{Tid id=((T0*)C)->id; -if(id<=110){ -R=(T6)(r110occurred(((T110*)C),a1)); -} -else{ -R=(T6)(r120occurred(((T120*)C),a1)); -}} -return R; -}/*--*/ - -T2 X49descriptor(T0*C){ -T2 R; -{Tid id=((T0*)C)->id; -if(id<=131){ -R=((/*RF2*/(((T131*)C))->_descriptor/*i2p*/)); -} -else{ -R=(r146descriptor(((T146*)C))); -}} -return R; -}/*--*/ - -T2 X49filtered_descriptor(T0*C){ -T2 R; -{Tid id=((T0*)C)->id; -if(id<=131){ -R=(r131filtered_descriptor(((T131*)C))); -} -else{ -R=((/*RF2*/(((T146*)C))->_filtered_descriptor/*i7p*/)); -}} -return R; -}/*--*/ - #ifdef __cplusplus } #endif diff --git a/xinput_ivy.e b/xinput_ivy.e index 15d0a54..d65c72b 100644 --- a/xinput_ivy.e +++ b/xinput_ivy.e @@ -22,7 +22,7 @@ feature {} ready: BOOLEAN do application_name := "wacom" - ivy_bus := ":3110" + ivy_bus := "" device_id := "default" screen := vision.root_window ready := decode_options @@ -135,6 +135,18 @@ feature {} std_error.put_string(value) std_error.put_string("%" is not a valid ignore rate (an integer is needed).%N") end + when "-crop" then + std_error.put_string("Detection de l'option crop : ") + std_error.put_string(value) + std_error.put_new_line + if tmp_pointer.is_valid_crop(value) then + tmp_pointer.set_crop(value) + else + error := True + std_error.put_character('"') + std_error.put_string(value) + std_error.put_string("%" is not a valid crop definition (-crop=xmin,ymin,xmax,ymax is expected).%N") + end else error := True std_error.put_string("Unknown option ") @@ -228,6 +240,10 @@ feature {} -y_offset=n: specify the y-offset for the wacom device for the display configuration (default is 0). + -crop=xmin,ymin,xmax,ymax: outside this area, move events are not reported + (values are integers in device coordinates). Hires values + are mapped to [0,1] inside this window and over when outside. + -prediction=t: change the prediction time for the physical position. (default is 25ms). diff --git a/xinput_ivy.h b/xinput_ivy.h index c0d71a5..48f5f49 100644 --- a/xinput_ivy.h +++ b/xinput_ivy.h @@ -3,7 +3,7 @@ extern "C" { #endif /* ANSI C code generated by SmartEiffel The GNU Eiffel Compiler, Eiffel tools and libraries -Release 2.4 (??? September ??th 2007) [????] +Release 2.4 (??? June ??th 2009) [????] Copyright (C), 1994-2002 - INRIA - LORIA - ESIAL UHP Nancy 1 - FRANCE Copyright (C), 2003-2005 - INRIA - LORIA - IUT Charlemagne Nancy 2 - FRANCE D.COLNET, P.RIBET, C.ADRIAN, V.CROIZIER F.MERIZEN - SmartEiffel@loria.fr @@ -587,542 +587,6 @@ void _handle(se_handler_action_t action, void*data); #endif /* #ifndef _BASE_H */ #define SE_BOOST 1 #define SE_GC_LIB 1 -/* C Header Pass 1: */ -typedef union _se_agent se_agent; -typedef struct _se_agent0 se_agent0; -typedef struct S110 T110; -typedef struct S120 T120; -typedef struct S189 T189; -typedef T0 T202; -typedef struct S246 T246; -typedef struct S176 T176; -typedef struct S128 T128; -typedef struct S286 T286; -typedef struct S277 T277; -typedef struct S271 T271; -typedef struct S268 T268; -typedef struct S266 T266; -typedef struct S265 T265; -typedef struct S264 T264; -typedef struct S139 T139; -typedef struct S142 T142; -typedef struct S141 T141; -typedef struct S258 T258; -typedef struct S256 T256; -typedef struct S216 T216; -typedef struct S254 T254; -typedef struct S253 T253; -typedef struct S252 T252; -typedef struct S249 T249; -typedef struct S245 T245; -typedef struct S244 T244; -typedef struct S243 T243; -typedef struct S146 T146; -typedef struct S148 T148; -typedef struct S147 T147; -typedef struct S236 T236; -typedef struct S235 T235; -typedef struct S234 T234; -typedef struct S232 T232; -typedef struct S230 T230; -typedef struct S228 T228; -typedef struct S227 T227; -typedef struct S226 T226; -typedef struct S225 T225; -typedef struct S158 T158; -typedef struct S54 T54; -typedef struct S223 T223; -typedef struct S222 T222; -typedef struct S221 T221; -typedef struct S67 T67; -typedef struct S7 T7; -typedef struct S218 T218; -typedef struct S217 T217; -typedef struct S215 T215; -typedef struct S214 T214; -typedef struct S213 T213; -typedef struct S211 T211; -typedef struct S208 T208; -typedef struct S207 T207; -typedef struct S206 T206; -typedef struct S131 T131; -typedef struct S130 T130; -typedef struct S72 T72; -typedef struct S53 T53; -typedef void*T46; -typedef struct S175 T175; -typedef struct S205 T205; -typedef int T143; -typedef struct S204 T204; -typedef struct S43 T43; -typedef struct S69 T69; -typedef struct S70 T70; -typedef struct S64 T64; -typedef struct S25 T25; -/* C Header Pass 2: */ -typedef T0**T293; -#define M293 NULL -typedef T0**T292; -#define M292 NULL -typedef T0**T291; -#define M291 NULL -typedef T0**T290; -#define M290 NULL -typedef T0**T289; -#define M289 NULL -typedef T0**T288; -#define M288 NULL -typedef T0**T287; -#define M287 NULL -typedef T0**T284; -#define M284 NULL -typedef T0**T281; -#define M281 NULL -typedef T0**T276; -#define M276 NULL -typedef T0**T270; -#define M270 NULL -typedef T0**T267; -#define M267 NULL -typedef T0**T263; -#define M263 NULL -typedef T0**T262; -#define M262 NULL -typedef T0**T261; -#define M261 NULL -typedef T0**T260; -#define M260 NULL -typedef T0**T259; -#define M259 NULL -typedef T0**T257; -#define M257 NULL -typedef T0**T255; -#define M255 NULL -typedef T0**T251; -#define M251 NULL -typedef T2*T250; -#define M250 NULL -typedef T0**T247; -#define M247 NULL -typedef T0**T239; -#define M239 NULL -typedef T0**T238; -#define M238 NULL -typedef T0**T237; -#define M237 NULL -typedef T0**T220; -#define M220 NULL -typedef T0**T219; -#define M219 NULL -typedef T8*T212; -#define M212 NULL -typedef T3*T9; -#define M9 NULL -/* C Header Pass 3: */ -struct S189{T11 _time_memory;}; -int se_cmpT189(T189 o1,T189 o2); -struct S176{T189 _time;T2 _microsecond;}; -int se_cmpT176(T176 o1,T176 o2); -/* C Header Pass 4: */ -struct S110{Tid id;T0* _stream;}; -extern T110 M110; -struct S120{Tid id;T0* _input_stream;}; -extern T120 M120; -extern T189 M189; -extern T176 M176; -struct S286{Tid id;T0* _item;}; -extern T286 M286; -struct S277{Tid id;T0* _item;}; -extern T277 M277; -struct S271{Tid id;T0* _item;}; -extern T271 M271; -struct S268{Tid id;T0* _item;}; -extern T268 M268; -struct S266{T0* _item;T8 _key;T0* _next;}; -extern T266 M266; -struct S265{Tid id;T0* _item;}; -extern T265 M265; -struct S264{T0* _item;T2 _key;T0* _next;}; -extern T264 M264; -struct S258{Tid id;T0* _item;}; -extern T258 M258; -struct S256{T0* _item;T0* _key;T0* _next;}; -extern T256 M256; -struct S254{T290 _storage;T2 _capacity;T2 _upper;}; -extern T254 M254; -struct S253{Tid id;T0* _item;}; -extern T253 M253; -struct S252{T2 _item;T2 _key;T0* _next;}; -extern T252 M252; -struct S249{Tid id;T0* _item;}; -extern T249 M249; -struct S246{T0* _item;T0* _key;T0* _next;}; -extern T246 M246; -struct S245{Tid id;T0* _item;}; -extern T245 M245; -struct S244{T289 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; -extern T244 M244; -struct S243{Tid id;T0* _item;}; -extern T243 M243; -struct S147{T6 _queryable;T2 _timeout;T176 _expiration;T6 _expiration_valid;T6 _current_time_valid;T8 _read_set;T2 _read_size;T8 _write_set;T2 _write_size;T8 _exception_set;T2 _exception_size;T2 _highest;}; -extern T147 M147; -struct S236{T288 _storage;T2 _capacity;T2 _upper;}; -extern T236 M236; -struct S235{T287 _storage;T2 _capacity;T2 _upper;}; -extern T235 M235; -struct S234{T284 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; -extern T234 M234; -struct S232{T281 _storage;T2 _capacity;T2 _upper;}; -extern T232 M232; -struct S230{T276 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; -extern T230 M230; -struct S228{T270 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; -extern T228 M228; -struct S227{T267 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; -extern T227 M227; -struct S226{T263 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; -extern T226 M226; -struct S225{T262 _storage;T2 _capacity;T2 _upper;}; -extern T225 M225; -struct S158{T0* _container;}; -extern T158 M158; -struct S54{T0* _filter;T9 _buffer;T2 _capacity;}; -extern T54 M54; -struct S139{T2 _key_count;T2 _minimum_code;T2 _maximum_code;}; -extern T139 M139; -struct S223{T261 _storage;T2 _capacity;T2 _upper;}; -extern T223 M223; -struct S142{T2 _buttons_count;}; -extern T142 M142; -struct S222{T260 _storage;T2 _capacity;T2 _upper;}; -extern T222 M222; -struct S141{T6 _absolute;T2 _motion_buffer_size;T0* _minimums;T0* _maximums;T0* _resolutions;}; -extern T141 M141; -struct S221{T259 _storage;T2 _capacity;T2 _upper;}; -extern T221 M221; -struct S218{T257 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; -extern T218 M218; -struct S217{T255 _storage;T2 _capacity;T2 _upper;}; -extern T217 M217; -struct S216{T0* _callbacks;T2 _last;T2 _index;}; -extern T216 M216; -struct S215{T251 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; -extern T215 M215; -struct S214{T250 _storage;T2 _capacity;T2 _upper;}; -extern T214 M214; -struct S213{T250 _storage;T2 _capacity;T2 _upper;T2 _lower;T2 _storage_lower;}; -extern T213 M213; -struct S211{T247 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; -extern T211 M211; -struct S208{T239 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; -extern T208 M208; -struct S146{Tid id;T0* _stream_exception;T0* _can_read;T6 _is_connected;T2 _filtered_descriptor;T8 _delete_function;T8 _read_function;T8 _data;}; -extern T146 M146; -struct S207{T238 _storage;T2 _capacity;T2 _upper;}; -extern T207 M207; -struct S206{T237 _storage;T2 _capacity;T2 _upper;}; -extern T206 M206; -struct S148{T0* _job_list;T0* _finished_jobs;T0* _ready_jobs;T0* _events;T6 _pause;T6 _break;}; -extern T148 M148; -struct S131{Tid id;T0* _can_read;T2 _descriptor;}; -extern T131 M131; -struct S130{T0* _loop_stack;T6 _stop;T0* _vision;T0* _event_catcher_stack;}; -extern T130 M130; -struct S128{Tid id;T2 _priority;T6 _done;T2 _current_event_type;T0* _widget;T0* _event;T0* _pointer_move_event;T0* _geometry_change_event;T0* _extension_devices;T0* _graphic_connection;T6 _suspend;T0* _event_catcher_found;}; -extern T128 M128; -struct S72{T8 _widget;T2 _pos_y;T2 _pos_x;T0* _layout;T2 _width;T2 _height;T2 _min_height;T2 _min_width;T2 _std_width;T2 _std_height;T0* _child;}; -extern T72 M72; -struct S53{T0* _filter;T2 _buffer_position;T9 _buffer;T2 _capacity;}; -extern T53 M53; -extern T46 M46; -struct S175{T0* _devices;}; -extern T175 M175; -struct S205{T220 _storage;T2 _capacity;T2 _upper;}; -extern T205 M205; -extern T143 M143; -struct S204{T219 _storage;T2 _capacity;T2 _upper;}; -extern T204 M204; -struct S67{T2 _device_id;T0* _name;T0* _type;T6 _is_current_pointer;T6 _is_current_keyboard;T6 _is_available_extension;T0* _key_capabilities;T0* _button_capabilities;T0* _axes_capabilities;T8 _x_device;T0* _actions;T0* _events_indexes;T0* _events_id;T8 _events_classes;}; -extern T67 M67; -struct S43{T0* _filter;}; -extern T43 M43; -struct S69{T0* _xinput_ivy;T2 _y_offset;T2 _x_offset;T5 _prediction_time;T2 _ignored_counter;T2 _ignore_rate;T0* _button_message_header;T0* _pointer_message_header;T2 _old_presure;T0* _y_history;T0* _x_history;T0* _time_history;T2 _predicted_y;T2 _predicted_x;T5 _a2y;T5 _a2x;T5 _t0;T5 _y2;T5 _x2;T5 _s2y;T5 _s2x;T5 _s2yn;T5 _s2xn;T5 _t1;T5 _t2;}; -extern T69 M69; -struct S7{T9 _storage;T2 _count;T2 _capacity;}; -extern T7 M7; -struct S70{Tid id;T2 _priority;T6 _started;T0* _pattern_list;T0* _callback_list;T2 _destination_count;T0* _tmp_client_list;T6 _done;T0* _events_set;T0* _ivy_clients;T0* _application_name_;T0* _ready_message_;}; -extern T70 M70; -struct S64{T2 _display_width;T2 _display_height;T0* _loop_stack;T0* _event_catcher;T0* _graphic_connection;T0* _widget;}; -extern T64 M64; -struct S25{T0* _ivy_bus;T0* _application_name;T0* _device_id;T0* _screen;int _x11;T2 _left_pad_position;T2 _right_pad_position;T0* _ivy;}; -extern T25 M25; -extern char*s25_0; -extern char*s25_21190322; -extern char*s25_314746909; -extern char*s69_190991; -extern char*s69_475; -extern char*s13_1432888418; -extern char*s69_697; -extern char*s69_1961093439; -extern char*s69_104371129; -extern char*s25_44143; -extern char*s69_104371267; -extern char*s69_1699147265; -extern char*s13_1210; -extern char*s69_1756148648; -extern char*s69_1756148653; -extern char*s25_1948078333; -extern char*s69_1461; -extern char*s69_1466; -extern char*s69_23436791; -extern char*s25_1666922512; -extern char*s69_56246305; -extern char*s25_1957581; -extern char*s25_1403610646; -extern char*s69_4725661; -extern char*s69_4725666; -extern char*s69_4738061; -extern char*s25_1213754110; -extern char*s25_765567725; -extern char*s69_2179769; -extern char*s25_751291742; -extern char*s25_1554692325; -extern char*s25_357338863; -extern char*s69_2676; -extern char*s69_1874520032; -extern char*s69_1619665677; -extern char*s25_1491411490; -extern char*s25_4487261; -extern char*s69_1940108584; -extern char*s25_694149733; -extern char*s64_1686724329; -extern char*s69_586741066; -extern char*s25_703548632; -extern char*s25_89639; -extern char*s69_15980; -extern char*s69_397440; -extern char*s25_69208946; -extern char*s69_188916; -extern char*s25_447643634; -extern char*s69_2057747851; -extern char*s25_3479972; -extern char*s25_557679246; -extern char*s25_1638797568; -extern char*s25_1260406502; -extern char*s69_22702411; -extern char*s69_22702416; -extern char*s25_946366; -extern char*s69_1501987274; -extern char*s25_382517595; -extern char*s69_952626; -extern char*s69_2112369621; -extern char*s69_10739017; -extern char*s69_10739024; -extern char*s69_10739030; -extern char*s70_202554; -extern char*s143_1472358418; -extern char*s25_1959886733; -extern char*s69_1257860908; -/* --- ------------------------------------------------------------------------------------------------------------ --- Copyright notice below. Please read. --- --- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE --- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE --- --- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN --- --- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated --- documentation files (the "Software"), to deal in the Software without restriction, including without --- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of --- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following --- conditions: --- --- The above copyright notice and this permission notice shall be included in all copies or substantial --- portions of the Software. --- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT --- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO --- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN --- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE --- OR OTHER DEALINGS IN THE SOFTWARE. --- --- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr --- ------------------------------------------------------------------------------------------------------------ -*/ -#define SE_BOOST 1 -void se_print_run_time_stack (void); -void se_signal_handler(int sig); -#define FSOC_SIZE 8192 -#define RSOC_SIZE 32768 -/* --- ------------------------------------------------------------------------------------------------------------ --- Copyright notice below. Please read. --- --- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE --- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE --- --- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN --- --- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated --- documentation files (the "Software"), to deal in the Software without restriction, including without --- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of --- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following --- conditions: --- --- The above copyright notice and this permission notice shall be included in all copies or substantial --- portions of the Software. --- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT --- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO --- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN --- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE --- OR OTHER DEALINGS IN THE SOFTWARE. --- --- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr --- ------------------------------------------------------------------------------------------------------------ -*/ -/* - This file (SmartEiffel/sys/runtime/gc_lib.h) is automatically included - when the Garbage Collector is used (default, unless option -no_gc has - been selected). -*/ - -#define SE_GC_LIB 1 - -#define SE_GC_LOW_MEMORY_STRATEGY 0 -#define SE_GC_HIGH_MEMORY_STRATEGY 1 -#define SE_GC_DEFAULT_MEMORY_STRATEGY 2 -extern int se_gc_strategy; - - -#define RSOH_UNMARKED 15253 -#define RSOH_FREE 1 -#define RSOH_MARKED 2 - - -#define FSOH_UNMARKED ((void *) 1) -#define FSOH_MARKED ((void *) 2) - -/* To codify the state and the type of some Memory Chunk, we are - using the following definitions : -*/ -#define FSO_FREE_CHUNK (-2) -#define RSO_FREE_CHUNK (-1) -#define RSO_USED_CHUNK ( 0) -#define FSO_STORE_CHUNK ( 1) -#define FSO_USED_CHUNK ( 2) -#define FREE_CHUNK(x) ((x)<0) - -/* Minimum size for a store area in a ReSizable Objects Chunk : - */ -#define RSOC_MIN_STORE 512 - -/* The default channel used to print -gc_info flag information : -*/ -#define SE_GCINFO SE_ERR - -extern int collector_counter; /* MEMORY.collector_counter */ - -typedef struct s_mch mch; /* Memory Chunk Header. */ -typedef struct s_fsoc fsoc; /* Fixed Size Objects Chunk. */ -typedef union u_rsoh rsoh; /* ReSizable Object Header. */ -typedef struct s_fll_rsoh fll_rsoh; -typedef struct s_rsoc rsoc; /* ReSizable Objects Chunk. */ -typedef struct s_na_env na_env; /* Native Array ENVironment. */ - - -struct s_mch{ - unsigned int size; /* In number of bytes (actual argument of malloc).*/ - int state_type; /* One value in : RSO_USED_CHUNK, - FREE_CHUNK, FSO_STORE_CHUNK, FSO_USED_CHUNK */ - void(*amfp)(mch*,void*); /* Align Mark Function Pointer. */ - void(*swfp)(mch*); /* SWeep Function Pointer. */ -}; - -struct s_fsoc{ - mch header; /* Common header for fsoc and rsoc. */ - fsoc* next; /* The next one when in free list (fsocfl). */ - int count_minus_one; - double first_object; -}; - -typedef struct _rso_header rso_header; - -struct _rso_header{ - unsigned int size; - int magic_flag; /* RSOH_MARKED when used, - RSOH_FREE when free, - else RSOH_UNMARKED */ -}; - -typedef union u_fso_header fso_header; - -union u_fso_header{ - void* flag; - void* next;/* accurately typed as gcXX* in actual fso headers */ -}; - -union u_rsoh{ - rso_header header; - double padding; -}; - -struct s_fll_rsoh { - rso_header rsoh_field; - fll_rsoh* nextflol; -}; - -struct s_rsoc{ - mch header; /* Common header for fsoc and rsoc. */ - unsigned int isize; /* Initial size (at malloc time) to detect split chunks. */ - rsoc* next; /* Next one when in free list (rsocfl) or in na_env->chunk_list. */ - fll_rsoh*free_list_of_large; /* Intra. free list. */ - na_env*nae; - rsoh first_header; -}; - -struct s_na_env{ - unsigned int store_left; - rsoh* store; - rsoc*store_chunk; - rsoc*chunk_list; /*List of chunks of that type that have a non-null free_list_of_large*/ - void (*gc_mark)(T0*); - int space_used; -}; - -extern void**stack_bottom; -extern mch**gcmt; -extern int gcmt_max; -extern int gcmt_used; -extern int gc_is_off; -extern fsoc* fsocfl; -extern unsigned int fsoc_count; -extern unsigned int rsoc_count; -extern void*gcmt_tail_addr; - -void gc_sweep(void); -void gc_mark(void* p); -mch* gc_find_chunk(void* p); -int gc_stack_size(void); -int garbage_delayed(void); -void gc_update_ceils(void); -char*new_na(na_env*nae,unsigned int size); -unsigned int fsocfl_count(void); -unsigned int rsocfl_count(void); -void gc_dispose_before_exit(void); -void mark_stack_and_registers (void); -fsoc* gc_fsoc_get1(void); -fsoc* gc_fsoc_get2(void); - -int gc_memory_used(void); -/*The generic se_agent0 definition:*/ -struct _se_agent0{ -Tid id; -Tid creation_mold_id; -void(*afp)(se_agent*);void(*gc_mark_agent_mold)(se_agent*); -int(*eq)(se_agent*,se_agent*); -}; #include "X11/extensions/XInput.h" #define x_list_input_devices(list_size) (XListInputDevices(dpy, list_size)) @@ -1162,7 +626,11 @@ int(*eq)(se_agent*,se_agent*); #define x_device_info_is_keyboard(device_list, index) (((XDeviceInfo *)device_list)[index].use == IsXKeyboard) //bool x_device_info_is_keyboard(XDeviceInfo * device_list, int index) -#define x_device_info_is_available_extension(device_list, index) (((XDeviceInfo *)device_list)[index].use == IsXExtensionDevice) +#ifdef IsXExtensionPointer +/* Defined in .c */ +#else +# define x_device_info_is_available_extension(device_list, index) (((XDeviceInfo *)device_list)[index].use == IsXExtensionDevice) +#endif //bool x_device_info_is_available_extension(XDeviceInfo * device_list, int index) #define x_button_info_num_buttons(info) (((XButtonInfo *)info)->num_buttons) @@ -1612,8 +1080,8 @@ extern void * bind_message(char * pattern, void * agent); #define send_message(txt) IvySendMsg("%s", txt) #define IvyIdle IvyIdle() -#define read_callback(read_func, channel, descriptor, data) ((void (*)(void *, int, void *))read_func)(channel, descriptor, data) #define delete_callback(delete_func, data) ((void (*)(void *))delete_func)(data) +#define read_callback(read_func, channel, descriptor, data) ((void (*)(void *, int, void *))read_func)(channel, descriptor, data) /* -- ------------------------------------------------------------------------------------------------------------ -- Copyright notice below. Please read. @@ -1679,75 +1147,611 @@ void _basic_microsecond_update(void); #ifdef WIN32 extern void new_window(void); -typedef struct window_description_s window_description; -struct window_description_s { - HWND Current; - HBRUSH background; - HBITMAP background_pixmap; /* if non-void, use this pixmap for background - painting. Useful for Win95 only */ - struct window_description_s *parent; - int marked; - int min_width; - int max_width; - int min_height; - int max_height; - int decorated; -}; +typedef struct window_description_s window_description; +struct window_description_s { + HWND Current; + HBRUSH background; + HBITMAP background_pixmap; /* if non-void, use this pixmap for background + painting. Useful for Win95 only */ + struct window_description_s *parent; + int marked; + int min_width; + int max_width; + int min_height; + int max_height; + int decorated; +}; + +extern window_description screen_desc; + +# define basic_window_root_id NULL +#else +# define basic_window_root_id ((void*)DefaultRootWindow(dpy)) +#endif + + +extern void * basic_window_create(int x, int y, int width, int height, void * parent, int decorate); + +extern void * basic_window_get_drawing_widget(void *window); + +extern char* basic_window_get_title(void *window); + +extern void basic_window_free_title(void *title); + +extern void basic_window_set_title(void *window, void *title); + +extern void basic_window_set_bg_color(void *window, void *color); + +extern void basic_window_set_bg_pixmap(void *window, void *pixmap); + +extern void basic_window_clear_no_expose(void *window); + +extern void basic_window_clear_area_no_expose(void *window, int x, int y, int w, int h); + +extern void basic_window_clear_area(void *window, int x, int y, int w, int h); + +extern void basic_window_set_kbd_focus(void *window); + +extern void basic_window_map(void *window); + +extern void basic_window_unmap(void *window); + +extern void basic_window_set_geometry(void *window,int x, int y, int w, int h); + +extern void basic_window_set_requisition(void *window, int min_w, int min_h, int max_w, int max_h); + +extern void basic_window_set_position(void *window, int x, int y); + +extern void basic_window_set_size(void *window, int x, int y, int width, int height); +/* C Header Pass 1: */ +typedef union _se_agent se_agent; +typedef struct _se_agent0 se_agent0; +typedef struct S113 T113; +typedef struct S123 T123; +typedef struct S205 T205; +typedef T0 T244; +typedef struct S290 T290; +typedef struct S192 T192; +typedef struct S131 T131; +typedef struct S329 T329; +typedef struct S327 T327; +typedef struct S326 T326; +typedef struct S317 T317; +typedef struct S311 T311; +typedef struct S308 T308; +typedef struct S307 T307; +typedef struct S146 T146; +typedef struct S149 T149; +typedef struct S148 T148; +typedef struct S302 T302; +typedef struct S300 T300; +typedef struct S260 T260; +typedef struct S298 T298; +typedef struct S297 T297; +typedef struct S296 T296; +typedef struct S293 T293; +typedef struct S289 T289; +typedef struct S288 T288; +typedef struct S287 T287; +typedef struct S153 T153; +typedef struct S155 T155; +typedef struct S280 T280; +typedef struct S154 T154; +typedef struct S279 T279; +typedef struct S160 T160; +typedef struct S277 T277; +typedef struct S276 T276; +typedef struct S275 T275; +typedef struct S273 T273; +typedef struct S271 T271; +typedef struct S269 T269; +typedef struct S268 T268; +typedef struct S7 T7; +typedef struct S266 T266; +typedef struct S265 T265; +typedef struct S264 T264; +typedef struct S68 T68; +typedef struct S262 T262; +typedef struct S261 T261; +typedef struct S259 T259; +typedef struct S258 T258; +typedef struct S256 T256; +typedef struct S255 T255; +typedef struct S253 T253; +typedef struct S250 T250; +typedef struct S249 T249; +typedef struct S248 T248; +typedef struct S73 T73; +typedef struct S134 T134; +typedef struct S133 T133; +typedef struct S53 T53; +typedef void*T46; +typedef struct S247 T247; +typedef struct S191 T191; +typedef struct S246 T246; +typedef int T150; +typedef void*T43; +typedef struct S70 T70; +typedef struct S71 T71; +typedef struct S65 T65; +typedef struct S25 T25; +/* C Header Pass 2: */ +typedef T0**T337; +#define M337 NULL +typedef T0**T336; +#define M336 NULL +typedef T0**T335; +#define M335 NULL +typedef T0**T334; +#define M334 NULL +typedef T0**T333; +#define M333 NULL +typedef T0**T332; +#define M332 NULL +typedef T0**T331; +#define M331 NULL +typedef T0**T330; +#define M330 NULL +typedef T0**T328; +#define M328 NULL +typedef T0**T324; +#define M324 NULL +typedef T0**T321; +#define M321 NULL +typedef T0**T316; +#define M316 NULL +typedef T0**T310; +#define M310 NULL +typedef T0**T306; +#define M306 NULL +typedef T0**T305; +#define M305 NULL +typedef T0**T304; +#define M304 NULL +typedef T0**T303; +#define M303 NULL +typedef T0**T301; +#define M301 NULL +typedef T0**T299; +#define M299 NULL +typedef T0**T295; +#define M295 NULL +typedef T2*T294; +#define M294 NULL +typedef T0**T291; +#define M291 NULL +typedef T0**T283; +#define M283 NULL +typedef T0**T282; +#define M282 NULL +typedef T0**T281; +#define M281 NULL +typedef T0**T267; +#define M267 NULL +typedef T0**T263; +#define M263 NULL +typedef T8*T254; +#define M254 NULL +typedef T3*T9; +#define M9 NULL +/* C Header Pass 3: */ +struct S205{T11 _time_memory;}; +int se_cmpT205(T205* o1,T205* o2); +struct S192{T205 _time;T2 _microsecond;}; +int se_cmpT192(T192* o1,T192* o2); +/* C Header Pass 4: */ +struct S113{Tid id;T0* _stream;}; +extern T113 M113; +struct S123{Tid id;T0* _input_stream;}; +extern T123 M123; +extern T205 M205; +extern T192 M192; +struct S329{Tid id;T0* _item;}; +extern T329 M329; +struct S327{T0* _item;T8 _key;T0* _next;}; +extern T327 M327; +struct S326{Tid id;T0* _item;}; +extern T326 M326; +struct S317{Tid id;T0* _item;}; +extern T317 M317; +struct S311{Tid id;T0* _item;}; +extern T311 M311; +struct S308{Tid id;T0* _item;}; +extern T308 M308; +struct S307{T0* _item;T2 _key;T0* _next;}; +extern T307 M307; +struct S302{Tid id;T0* _item;}; +extern T302 M302; +struct S300{T0* _item;T0* _key;T0* _next;}; +extern T300 M300; +struct S298{T334 _storage;T2 _capacity;T2 _upper;}; +extern T298 M298; +struct S297{Tid id;T0* _item;}; +extern T297 M297; +struct S296{T2 _item;T2 _key;T0* _next;}; +extern T296 M296; +struct S293{Tid id;T0* _item;}; +extern T293 M293; +struct S290{T0* _item;T0* _key;T0* _next;}; +extern T290 M290; +struct S289{Tid id;T0* _item;}; +extern T289 M289; +struct S288{T333 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T288 M288; +struct S287{Tid id;T0* _item;}; +extern T287 M287; +struct S280{T332 _storage;T2 _capacity;T2 _upper;}; +extern T280 M280; +struct S154{T6 _queryable;T2 _timeout;T192 _expiration;T6 _expiration_valid;T6 _current_time_valid;T8 _read_set;T2 _read_size;T8 _write_set;T2 _write_size;T8 _exception_set;T2 _exception_size;T2 _highest;}; +extern T154 M154; +struct S279{T331 _storage;T2 _capacity;T2 _upper;}; +extern T279 M279; +struct S160{T0* _container;}; +extern T160 M160; +struct S277{T330 _storage;T2 _capacity;T2 _upper;}; +extern T277 M277; +struct S276{T328 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T276 M276; +struct S275{T324 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T275 M275; +struct S273{T321 _storage;T2 _capacity;T2 _upper;}; +extern T273 M273; +struct S271{T316 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T271 M271; +struct S269{T310 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T269 M269; +struct S268{T306 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T268 M268; +struct S146{T2 _key_count;T2 _minimum_code;T2 _maximum_code;}; +extern T146 M146; +struct S266{T305 _storage;T2 _capacity;T2 _upper;}; +extern T266 M266; +struct S149{T2 _buttons_count;}; +extern T149 M149; +struct S265{T304 _storage;T2 _capacity;T2 _upper;}; +extern T265 M265; +struct S148{T6 _absolute;T2 _motion_buffer_size;T0* _minimums;T0* _maximums;T0* _resolutions;}; +extern T148 M148; +struct S264{T303 _storage;T2 _capacity;T2 _upper;}; +extern T264 M264; +struct S262{T301 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T262 M262; +struct S261{T299 _storage;T2 _capacity;T2 _upper;}; +extern T261 M261; +struct S260{T0* _callbacks;T2 _last;T2 _index;}; +extern T260 M260; +struct S259{T295 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T259 M259; +struct S258{T294 _storage;T2 _capacity;T2 _upper;}; +extern T258 M258; +struct S256{T267 _storage;T2 _capacity;T2 _upper;T2 _lower;}; +extern T256 M256; +struct S255{T294 _storage;T2 _capacity;T2 _upper;T2 _lower;T2 _storage_lower;}; +extern T255 M255; +struct S253{T291 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T253 M253; +struct S250{T283 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T250 M250; +struct S153{Tid id;T0* _stream_exception;T0* _can_read;T6 _is_connected;T2 _filtered_descriptor;T8 _delete_function;T8 _read_function;T8 _write_function;T8 _data;}; +extern T153 M153; +struct S249{T282 _storage;T2 _capacity;T2 _upper;}; +extern T249 M249; +struct S248{T281 _storage;T2 _capacity;T2 _upper;}; +extern T248 M248; +struct S155{T0* _job_list;T0* _finished_jobs;T0* _ready_jobs;T0* _events;T6 _pause;T6 _break;}; +extern T155 M155; +struct S73{T8 _widget;T0* _layout;T2 _height;T2 _width;T2 _min_height;T2 _min_width;T2 _std_width;T2 _std_height;T0* _child;}; +extern T73 M73; +struct S134{Tid id;T0* _can_read;T2 _descriptor;}; +extern T134 M134; +struct S133{T0* _loop_stack;T6 _stop;T0* _vision;T0* _event_catcher_stack;}; +extern T133 M133; +struct S131{Tid id;T2 _priority;T6 _done;T2 _current_event_type;T0* _widget;T0* _event;T0* _pointer_move_event;T0* _geometry_change_event;T0* _extension_devices;T0* _graphic_connection;T6 _suspend;T0* _event_catcher_found;}; +extern T131 M131; +struct S53{T2 _buffer_position;T9 _buffer;T2 _capacity;}; +extern T53 M53; +extern T46 M46; +struct S247{T267 _storage;T2 _capacity;T2 _upper;}; +extern T247 M247; +struct S191{T0* _devices;}; +extern T191 M191; +struct S246{T263 _storage;T2 _capacity;T2 _upper;}; +extern T246 M246; +extern T150 M150; +struct S68{T2 _device_id;T0* _name;T0* _type;T6 _is_current_pointer;T6 _is_current_keyboard;T6 _is_available_extension;T0* _key_capabilities;T0* _button_capabilities;T0* _axes_capabilities;T8 _x_device;T0* _actions;T0* _events_indexes;T0* _events_id;T8 _events_classes;}; +extern T68 M68; +extern T43 M43; +struct S70{T0* _xinput_ivy;T2 _x_offset;T2 _y_offset;T6 _cropping;T2 _crop_height;T2 _x_max_crop;T2 _y_min_crop;T2 _x_min_crop;T2 _y_max_crop;T2 _crop_width;T5 _prediction_time;T2 _ignored_counter;T2 _ignore_rate;T0* _button_message_header;T0* _pointer_message_header;T2 _old_presure;T0* _x_history;T0* _time_history;T0* _y_history;T2 _predicted_y;T2 _predicted_x;T5 _a2y;T5 _a2x;T5 _t0;T5 _y2;T5 _x2;T5 _s2y;T5 _s2x;T5 _s2yn;T5 _s2xn;T5 _t2;T5 _t1;}; +extern T70 M70; +struct S7{T9 _storage;T2 _count;T2 _capacity;}; +extern T7 M7; +struct S71{Tid id;T2 _priority;T6 _started;T0* _pattern_list;T0* _callback_list;T2 _destination_count;T0* _tmp_client_list;T6 _done;T0* _events_set;T0* _ivy_clients;T0* _application_name_;T0* _ready_message_;}; +extern T71 M71; +struct S65{T2 _display_width;T2 _display_height;T0* _loop_stack;T0* _event_catcher;T0* _graphic_connection;T0* _widget;}; +extern T65 M65; +struct S25{T0* _ivy_bus;T0* _application_name;T0* _device_id;T0* _screen;int _x11;T2 _left_pad_position;T2 _right_pad_position;T0* _ivy;}; +extern T25 M25; +extern char*s25_0; +extern char*s25_21190322; +extern char*s25_674125196; +extern char*s25_314746909; +extern char*s70_190991; +extern char*s70_475; +extern char*s13_1432888418; +extern char*s70_697; +extern char*s70_1961093439; +extern char*s70_104371129; +extern char*s70_104371267; +extern char*s70_1699147265; +extern char*s13_1210; +extern char*s70_1756148648; +extern char*s70_1756148653; +extern char*s25_1948078333; +extern char*s70_1461; +extern char*s70_1466; +extern char*s70_23436791; +extern char*s25_1666922512; +extern char*s70_56246305; +extern char*s25_1957581; +extern char*s25_1403610646; +extern char*s70_4725661; +extern char*s70_4725666; +extern char*s70_4738061; +extern char*s25_1213754110; +extern char*s25_765567725; +extern char*s25_1387538644; +extern char*s25_1370426634; +extern char*s70_2179769; +extern char*s25_751291742; +extern char*s25_1554692325; +extern char*s25_357338863; +extern char*s70_2676; +extern char*s70_1874520032; +extern char*s70_1619665677; +extern char*s25_1491411490; +extern char*s25_4487261; +extern char*s70_1940108584; +extern char*s25_694149733; +extern char*s65_1686724329; +extern char*s70_586741066; +extern char*s25_89639; +extern char*s70_15980; +extern char*s70_397440; +extern char*s25_69208946; +extern char*s70_188916; +extern char*s25_447643634; +extern char*s70_2057747851; +extern char*s25_3479972; +extern char*s25_557679246; +extern char*s25_1638797568; +extern char*s25_1260406502; +extern char*s70_22702411; +extern char*s70_22702416; +extern char*s25_946366; +extern char*s70_1501987274; +extern char*s25_382517595; +extern char*s70_952626; +extern char*s70_2112369621; +extern char*s70_10739017; +extern char*s70_10739024; +extern char*s70_10739030; +extern char*s71_202554; +extern char*s150_1472358418; +extern char*s25_1959886733; +extern char*s70_1257860908; +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +#define SE_BOOST 1 +void se_print_run_time_stack (void); +void se_signal_handler(int sig); +#define FSOC_SIZE 8192 +#define RSOC_SIZE 32768 +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +/* + This file (SmartEiffel/sys/runtime/gc_lib.h) is automatically included + when the Garbage Collector is used (default, unless option -no_gc has + been selected). +*/ + +#define SE_GC_LIB 1 + +#define SE_GC_LOW_MEMORY_STRATEGY 0 +#define SE_GC_HIGH_MEMORY_STRATEGY 1 +#define SE_GC_DEFAULT_MEMORY_STRATEGY 2 +extern int se_gc_strategy; + + +#define RSOH_UNMARKED 15253 +#define RSOH_FREE 1 +#define RSOH_MARKED 2 + + +#define FSOH_UNMARKED ((void *) 1) +#define FSOH_MARKED ((void *) 2) + +/* To codify the state and the type of some Memory Chunk, we are + using the following definitions : +*/ +#define FSO_FREE_CHUNK (-2) +#define RSO_FREE_CHUNK (-1) +#define RSO_USED_CHUNK ( 0) +#define FSO_STORE_CHUNK ( 1) +#define FSO_USED_CHUNK ( 2) +#define FREE_CHUNK(x) ((x)<0) -extern window_description screen_desc; +/* Minimum size for a store area in a ReSizable Objects Chunk : + */ +#define RSOC_MIN_STORE 512 -# define basic_window_root_id NULL -#else -# define basic_window_root_id ((void*)DefaultRootWindow(dpy)) -#endif +/* The default channel used to print -gc_info flag information : +*/ +#define SE_GCINFO SE_ERR +extern int collector_counter; /* MEMORY.collector_counter */ -extern void * basic_window_create(int x, int y, int width, int height, void * parent, int decorate); +typedef struct s_mch mch; /* Memory Chunk Header. */ +typedef struct s_fsoc fsoc; /* Fixed Size Objects Chunk. */ +typedef union u_rsoh rsoh; /* ReSizable Object Header. */ +typedef struct s_fll_rsoh fll_rsoh; +typedef struct s_rsoc rsoc; /* ReSizable Objects Chunk. */ +typedef struct s_na_env na_env; /* Native Array ENVironment. */ -extern void * basic_window_get_drawing_widget(void *window); -extern char* basic_window_get_title(void *window); +struct s_mch{ + unsigned int size; /* In number of bytes (actual argument of malloc).*/ + int state_type; /* One value in : RSO_USED_CHUNK, + FREE_CHUNK, FSO_STORE_CHUNK, FSO_USED_CHUNK */ + void(*amfp)(mch*,void*); /* Align Mark Function Pointer. */ + void(*swfp)(mch*); /* SWeep Function Pointer. */ +}; -extern void basic_window_free_title(void *title); +struct s_fsoc{ + mch header; /* Common header for fsoc and rsoc. */ + fsoc* next; /* The next one when in free list (fsocfl). */ + int count_minus_one; + double first_object; +}; -extern void basic_window_set_title(void *window, void *title); +typedef struct _rso_header rso_header; -extern void basic_window_set_bg_color(void *window, void *color); +struct _rso_header{ + unsigned int size; + int magic_flag; /* RSOH_MARKED when used, + RSOH_FREE when free, + else RSOH_UNMARKED */ +}; -extern void basic_window_set_bg_pixmap(void *window, void *pixmap); +typedef union u_fso_header fso_header; -extern void basic_window_clear_no_expose(void *window); +union u_fso_header{ + void* flag; + void* next;/* accurately typed as gcXX* in actual fso headers */ +}; -extern void basic_window_clear_area_no_expose(void *window, int x, int y, int w, int h); +union u_rsoh{ + rso_header header; + double padding; +}; -extern void basic_window_clear_area(void *window, int x, int y, int w, int h); +struct s_fll_rsoh { + rso_header rsoh_field; + fll_rsoh* nextflol; +}; -extern void basic_window_set_kbd_focus(void *window); +struct s_rsoc{ + mch header; /* Common header for fsoc and rsoc. */ + unsigned int isize; /* Initial size (at malloc time) to detect split chunks. */ + rsoc* next; /* Next one when in free list (rsocfl) or in na_env->chunk_list. */ + fll_rsoh*free_list_of_large; /* Intra. free list. */ + na_env*nae; + rsoh first_header; +}; -extern void basic_window_map(void *window); +struct s_na_env{ + unsigned int store_left; + rsoh* store; + rsoc*store_chunk; + rsoc*chunk_list; /*List of chunks of that type that have a non-null free_list_of_large*/ + void (*gc_mark)(T0*); + int space_used; +}; -extern void basic_window_unmap(void *window); +extern void**stack_bottom; +extern mch**gcmt; +extern int gcmt_max; +extern int gcmt_used; +extern int gc_is_off; +extern fsoc* fsocfl; +extern unsigned int fsoc_count; +extern unsigned int rsoc_count; +extern void*gcmt_tail_addr; -extern void basic_window_set_geometry(void *window,int x, int y, int w, int h); - -extern void basic_window_set_requisition(void *window, int min_w, int min_h, int max_w, int max_h); +void gc_sweep(void); +void gc_mark(void* p); +mch* gc_find_chunk(void* p); +int gc_stack_size(void); +int garbage_delayed(void); +void gc_update_ceils(void); +char*new_na(na_env*nae,unsigned int size); +unsigned int fsocfl_count(void); +unsigned int rsocfl_count(void); +void gc_dispose_before_exit(void); +void mark_stack_and_registers (void); +fsoc* gc_fsoc_get1(void); +fsoc* gc_fsoc_get2(void); -extern void basic_window_set_position(void *window, int x, int y); - -extern void basic_window_set_size(void *window, int x, int y, int width, int height); +int gc_memory_used(void); +/*The generic se_agent0 definition:*/ +struct _se_agent0{ +Tid id; +Tid creation_mold_id; +void(*afp)(se_agent*);void(*gc_mark_agent_mold)(se_agent*); +int(*eq)(se_agent*,se_agent*); +}; extern unsigned int fsoc_count_ceil; extern unsigned int rsoc_count_ceil; /*INTEGER_16*/T2 r10to_integer_32(T10 C); /*INTEGER_16*/T3 r10decimal_digit(T10 C); /*INTEGER_16*/void r10append_in(T10 C,T0* a1); -extern T9 oBC101sprintf_buffer; +extern T9 oBC102sprintf_buffer; /*REAL_64*/void r5append_in_format(T5 C,T0* a1,T2 a2); /*POINTER*/T2 r8hash_code(T8 C); +/*INTEGER_32*/T10 r2high_16(T2 C); /*INTEGER_32*/T6 r2in_range(T2 C,T2 a1,T2 a2); /*INTEGER_32*/T2 r2max(T2 C,T2 a1); /*INTEGER_32*/T3 r2decimal_digit(T2 C); /*INTEGER_32*/void r2append_in(T2 C,T0* a1); -/*INTEGER_32*/T10 r2high_16(T2 C); /*CHARACTER*/T6 r3_ix_6261(T3 C,T3 a1); /*CHARACTER*/T6 r3_ix_6061(T3 C,T3 a1); /*CHARACTER*/T6 r3is_digit(T3 C); @@ -1755,75 +1759,88 @@ extern T9 oBC101sprintf_buffer; /*CHARACTER*/T6 r3is_separator(T3 C); /*CHARACTER*/T1 r3decimal_value(T3 C); /*BOOLEAN*/T6 r6_ix_or(T6 C,T6 a1); -/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r290clear_all(T290 C,T2 a1); -/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/T290 r290realloc(T290 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r290copy_from(T290 C,T290 a1,T2 a2); -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]*/void r289clear_all(T289 C,T2 a1); -/*NATIVE_ARRAY[JOB]*/void r288clear_all(T288 C,T2 a1); -/*NATIVE_ARRAY[JOB]*/void r288remove(T288 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[JOB]*/T288 r288realloc(T288 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[JOB]*/void r288copy_from(T288 C,T288 a1,T2 a2); -/*NATIVE_ARRAY[EVENT_CATCHER]*/void r287clear_all(T287 C,T2 a1); -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]*/void r284clear_all(T284 C,T2 a1); -/*NATIVE_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r281clear_all(T281 C,T2 a1); -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]*/void r276clear_all(T276 C,T2 a1); -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]*/void r270clear_all(T270 C,T2 a1); -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]*/void r267clear_all(T267 C,T2 a1); -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]*/void r263clear_all(T263 C,T2 a1); -/*NATIVE_ARRAY[TOPLEVEL_WINDOW]*/void r262clear_all(T262 C,T2 a1); -/*NATIVE_ARRAY[KEY_RANGE]*/void r261clear_all(T261 C,T2 a1); -/*NATIVE_ARRAY[KEY_RANGE]*/T261 r261realloc(T261 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[KEY_RANGE]*/void r261copy_from(T261 C,T261 a1,T2 a2); -/*NATIVE_ARRAY[BUTTON_RANGE]*/void r260clear_all(T260 C,T2 a1); -/*NATIVE_ARRAY[BUTTON_RANGE]*/T260 r260realloc(T260 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[BUTTON_RANGE]*/void r260copy_from(T260 C,T260 a1,T2 a2); -/*NATIVE_ARRAY[AXES_RANGE]*/void r259clear_all(T259 C,T2 a1); -/*NATIVE_ARRAY[AXES_RANGE]*/T259 r259realloc(T259 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[AXES_RANGE]*/void r259copy_from(T259 C,T259 a1,T2 a2); -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]*/void r257clear_all(T257 C,T2 a1); -/*NATIVE_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r255clear_all(T255 C,T2 a1); -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]*/void r251clear_all(T251 C,T2 a1); -/*NATIVE_ARRAY[INTEGER_32]*/void r250set_slice_with(T250 C,T2 a1,T2 a2,T2 a3); -/*NATIVE_ARRAY[INTEGER_32]*/void r250clear_all(T250 C,T2 a1); -/*NATIVE_ARRAY[INTEGER_32]*/void r250set_all_with(T250 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[INTEGER_32]*/T250 r250realloc(T250 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[INTEGER_32]*/void r250copy_from(T250 C,T250 a1,T2 a2); -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[POINTER,STRING]]*/void r247clear_all(T247 C,T2 a1); -/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]*/void r239clear_all(T239 C,T2 a1); -/*NATIVE_ARRAY[IVY_CLIENT]*/void r238clear_all(T238 C,T2 a1); -/*NATIVE_ARRAY[IVY_CLIENT]*/void r238clear(T238 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[IVY_CLIENT]*/void r238remove(T238 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[IVY_CLIENT]*/T238 r238realloc(T238 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[IVY_CLIENT]*/void r238copy_from(T238 C,T238 a1,T2 a2); -/*NATIVE_ARRAY[IVY_CLIENT]*/T2 r238fast_index_of(T238 C,T0* a1,T2 a2,T2 a3); -/*NATIVE_ARRAY[LOOP_ITEM]*/void r237clear_all(T237 C,T2 a1); -/*NATIVE_ARRAY[LOOP_ITEM]*/T237 r237realloc(T237 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[LOOP_ITEM]*/void r237copy_from(T237 C,T237 a1,T2 a2); -/*NATIVE_ARRAY[X_INPUT_DEVICE]*/void r220clear_all(T220 C,T2 a1); -/*NATIVE_ARRAY[STRING]*/void r219clear_all(T219 C,T2 a1); -/*NATIVE_ARRAY[STRING]*/void r219clear(T219 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[STRING]*/T219 r219realloc(T219 C,T2 a1,T2 a2); -/*NATIVE_ARRAY[STRING]*/void r219copy_from(T219 C,T219 a1,T2 a2); -/*NATIVE_ARRAY[CHARACTER]*/void r9clear_all(T9 C,T2 a1); +/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/T334 r334realloc(T334 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r334copy_from(T334 C,T334 a1,T2 a2); +/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r334clear_all(T334 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]*/void r333clear_all(T333 C,T2 a1); +/*NATIVE_ARRAY[JOB]*/T332 r332realloc(T332 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[JOB]*/void r332copy_from(T332 C,T332 a1,T2 a2); +/*NATIVE_ARRAY[JOB]*/void r332clear_all(T332 C,T2 a1); +/*NATIVE_ARRAY[JOB]*/void r332remove(T332 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[TOPLEVEL_WINDOW]*/void r331clear_all(T331 C,T2 a1); +/*NATIVE_ARRAY[EVENT_CATCHER]*/void r330clear_all(T330 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]*/void r328clear_all(T328 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]*/void r324clear_all(T324 C,T2 a1); +/*NATIVE_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r321clear_all(T321 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]*/void r316clear_all(T316 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]*/void r310clear_all(T310 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]*/void r306clear_all(T306 C,T2 a1); +/*NATIVE_ARRAY[KEY_RANGE]*/T305 r305realloc(T305 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[KEY_RANGE]*/void r305copy_from(T305 C,T305 a1,T2 a2); +/*NATIVE_ARRAY[KEY_RANGE]*/void r305clear_all(T305 C,T2 a1); +/*NATIVE_ARRAY[BUTTON_RANGE]*/T304 r304realloc(T304 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[BUTTON_RANGE]*/void r304copy_from(T304 C,T304 a1,T2 a2); +/*NATIVE_ARRAY[BUTTON_RANGE]*/void r304clear_all(T304 C,T2 a1); +/*NATIVE_ARRAY[AXES_RANGE]*/T303 r303realloc(T303 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[AXES_RANGE]*/void r303copy_from(T303 C,T303 a1,T2 a2); +/*NATIVE_ARRAY[AXES_RANGE]*/void r303clear_all(T303 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]*/void r301clear_all(T301 C,T2 a1); +/*NATIVE_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r299clear_all(T299 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]*/void r295clear_all(T295 C,T2 a1); +/*NATIVE_ARRAY[INTEGER_32]*/T294 r294realloc(T294 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[INTEGER_32]*/void r294set_slice_with(T294 C,T2 a1,T2 a2,T2 a3); +/*NATIVE_ARRAY[INTEGER_32]*/void r294copy_from(T294 C,T294 a1,T2 a2); +/*NATIVE_ARRAY[INTEGER_32]*/void r294clear_all(T294 C,T2 a1); +/*NATIVE_ARRAY[INTEGER_32]*/void r294set_all_with(T294 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[POINTER,STRING]]*/void r291clear_all(T291 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]*/void r283clear_all(T283 C,T2 a1); +/*NATIVE_ARRAY[IVY_CLIENT]*/T282 r282realloc(T282 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[IVY_CLIENT]*/void r282copy_from(T282 C,T282 a1,T2 a2); +/*NATIVE_ARRAY[IVY_CLIENT]*/void r282clear_all(T282 C,T2 a1); +/*NATIVE_ARRAY[IVY_CLIENT]*/void r282remove(T282 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[IVY_CLIENT]*/void r282clear(T282 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[IVY_CLIENT]*/T2 r282fast_index_of(T282 C,T0* a1,T2 a2,T2 a3); +/*NATIVE_ARRAY[LOOP_ITEM]*/T281 r281realloc(T281 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[LOOP_ITEM]*/void r281copy_from(T281 C,T281 a1,T2 a2); +/*NATIVE_ARRAY[LOOP_ITEM]*/void r281clear_all(T281 C,T2 a1); +/*NATIVE_ARRAY[STRING]*/T267 r267realloc(T267 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[STRING]*/void r267copy_from(T267 C,T267 a1,T2 a2); +/*NATIVE_ARRAY[STRING]*/void r267clear_all(T267 C,T2 a1); +/*NATIVE_ARRAY[STRING]*/void r267set_all_with(T267 C,T0* a1,T2 a2); +/*NATIVE_ARRAY[STRING]*/void r267clear(T267 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[X_INPUT_DEVICE]*/void r263clear_all(T263 C,T2 a1); +/*NATIVE_ARRAY[CHARACTER]*/void r9fast_replace_all(T9 C,T3 a1,T3 a2,T2 a3); /*NATIVE_ARRAY[CHARACTER]*/T9 r9realloc(T9 C,T2 a1,T2 a2); /*NATIVE_ARRAY[CHARACTER]*/void r9copy_from(T9 C,T9 a1,T2 a2); -/*NATIVE_ARRAY[CHARACTER]*/T2 r9fast_index_of(T9 C,T3 a1,T2 a2,T2 a3); +/*NATIVE_ARRAY[CHARACTER]*/void r9clear_all(T9 C,T2 a1); /*NATIVE_ARRAY[CHARACTER]*/void r9copy_at(T9 C,T2 a1,T9 a2,T2 a3); /*NATIVE_ARRAY[CHARACTER]*/T6 r9fast_memcmp(T9 C,T9 a1,T2 a2); +/*NATIVE_ARRAY[CHARACTER]*/T2 r9fast_index_of(T9 C,T3 a1,T2 a2,T2 a3); +/*NATIVE_ARRAY[CHARACTER]*/T2 r9fast_occurrences(T9 C,T3 a1,T2 a2); T7*create7from_external(T8 a1); +/*STRING*/T6 r7is_equal(T7* C,T0* a1); +/*STRING*/T5 r7to_real(T7* C); /*STRING*/void r7put(T7* C,T3 a1,T2 a2); /*STRING*/void r7remove_between(T7* C,T2 a1,T2 a2); -/*STRING*/T6 r7is_equal(T7* C,T0* a1); -/*STRING*/void r7append(T7* C,T0* a1); +extern T0*oBC7string_buffer; +extern int fBC7string_buffer; +/*STRING*/T0* r7string_buffer(void); +extern T0*oBC7split_buffer; +extern int fBC7split_buffer; +/*STRING*/T0* r7split_buffer(void); /*STRING*/void r7copy(T7* C,T0* a1); +/*STRING*/T0* r7split(T7* C); +/*STRING*/void r7append(T7* C,T0* a1); /*STRING*/T6 r7is_real(T7* C); /*STRING*/T2 r7index_of(T7* C,T3 a1,T2 a2); +/*STRING*/void r7replace_all(T7* C,T3 a1,T3 a2); /*STRING*/T6 r7is_integer(T7* C); /*STRING*/void r7remove_tail(T7* C,T2 a1); /*STRING*/T0* r7twin(T7* C); /*STRING*/void r7extend(T7* C,T3 a1); /*STRING*/T2 r7hash_code(T7* C); /*STRING*/void r7remove_last(T7* C); +/*STRING*/void r7make(T7* C,T2 a1); /*STRING*/void r7add_last(T7* C,T3 a1); /*STRING*/void r7ensure_capacity(T7* C,T2 a1); /*STRING*/void r7from_external_copy(T7* C,T8 a1); @@ -1831,224 +1848,234 @@ T7*create7from_external(T8 a1); /*STRING*/T8 r7to_external(T7* C); /*STRING*/T2 r7to_integer(T7* C); /*STRING*/void r7remove_head(T7* C,T2 a1); +/*STRING*/void r7split_in(T7* C,T0* a1); /*STRING*/void r7swap(T7* C,T2 a1,T2 a2); +/*STRING*/T3 r7item(T7* C,T2 a1); /*STRING*/T2 r7first_index_of(T7* C,T3 a1); -/*STRING*/T5 r7to_real(T7* C); -/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r254make(T254* C,T2 a1); -/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r254add_last(T254* C,T0* a1); -/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r254mark_native_arrays(T254* C); -/*FAST_ARRAY[JOB]*/void r236remove(T236* C,T2 a1); -/*FAST_ARRAY[JOB]*/void r236make(T236* C,T2 a1); -/*FAST_ARRAY[JOB]*/void r236add_last(T236* C,T0* a1); -/*FAST_ARRAY[JOB]*/T6 r236is_empty(T236* C); -/*FAST_ARRAY[JOB]*/void r236mark_native_arrays(T236* C); -/*FAST_ARRAY[JOB]*/void r236add(T236* C,T0* a1,T2 a2); -/*FAST_ARRAY[JOB]*/void r236move(T236* C,T2 a1,T2 a2,T2 a3); -/*FAST_ARRAY[EVENT_CATCHER]*/void r235make(T235* C,T2 a1); -/*FAST_ARRAY[EVENT_CATCHER]*/void r235mark_native_arrays(T235* C); -/*FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r232make(T232* C,T2 a1); -/*FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r232mark_native_arrays(T232* C); -/*FAST_ARRAY[TOPLEVEL_WINDOW]*/void r225make(T225* C,T2 a1); -/*FAST_ARRAY[TOPLEVEL_WINDOW]*/void r225mark_native_arrays(T225* C); -/*FAST_ARRAY[KEY_RANGE]*/void r223make(T223* C,T2 a1); -/*FAST_ARRAY[KEY_RANGE]*/void r223add_last(T223* C,T0* a1); -/*FAST_ARRAY[KEY_RANGE]*/void r223mark_native_arrays(T223* C); -/*FAST_ARRAY[BUTTON_RANGE]*/void r222make(T222* C,T2 a1); -/*FAST_ARRAY[BUTTON_RANGE]*/void r222add_last(T222* C,T0* a1); -/*FAST_ARRAY[BUTTON_RANGE]*/void r222mark_native_arrays(T222* C); -/*FAST_ARRAY[AXES_RANGE]*/void r221make(T221* C,T2 a1); -/*FAST_ARRAY[AXES_RANGE]*/void r221add_last(T221* C,T0* a1); -/*FAST_ARRAY[AXES_RANGE]*/void r221mark_native_arrays(T221* C); -/*FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r217make(T217* C,T2 a1); -/*FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r217mark_native_arrays(T217* C); -/*FAST_ARRAY[INTEGER_32]*/void r214make(T214* C,T2 a1); -/*FAST_ARRAY[INTEGER_32]*/T2 r214count(T214* C); -/*FAST_ARRAY[IVY_CLIENT]*/void r207copy(T207* C,T0* a1); -/*FAST_ARRAY[IVY_CLIENT]*/void r207remove(T207* C,T2 a1); -/*FAST_ARRAY[IVY_CLIENT]*/void r207make(T207* C,T2 a1); -/*FAST_ARRAY[IVY_CLIENT]*/void r207add_last(T207* C,T0* a1); -/*FAST_ARRAY[IVY_CLIENT]*/void r207mark_native_arrays(T207* C); -/*FAST_ARRAY[IVY_CLIENT]*/T2 r207fast_index_of(T207* C,T0* a1,T2 a2); -/*FAST_ARRAY[LOOP_ITEM]*/void r206remove_last(T206* C); -/*FAST_ARRAY[LOOP_ITEM]*/void r206make(T206* C,T2 a1); -/*FAST_ARRAY[LOOP_ITEM]*/void r206add_last(T206* C,T0* a1); -/*FAST_ARRAY[LOOP_ITEM]*/T0* r206last(T206* C); -/*FAST_ARRAY[LOOP_ITEM]*/T6 r206is_empty(T206* C); -/*FAST_ARRAY[LOOP_ITEM]*/void r206mark_native_arrays(T206* C); -/*FAST_ARRAY[X_INPUT_DEVICE]*/void r205make(T205* C,T2 a1); -/*FAST_ARRAY[X_INPUT_DEVICE]*/void r205mark_native_arrays(T205* C); -/*FAST_ARRAY[STRING]*/void r204make(T204* C,T2 a1); -/*FAST_ARRAY[STRING]*/void r204add_last(T204* C,T0* a1); -/*FAST_ARRAY[STRING]*/void r204with_capacity(T204* C,T2 a1); -/*FAST_ARRAY[STRING]*/void r204mark_native_arrays(T204* C); -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]*/void r286set_item(T286* C,T0* a1); -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]*/void r277set_item(T277* C,T0* a1); -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]*/void r271set_item(T271* C,T0* a1); -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]*/void r268set_item(T268* C,T0* a1); -/*HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]*/void r266make(T266* C,T0* a1,T8 a2,T0* a3); -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]*/void r265set_item(T265* C,T0* a1); -/*HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]*/void r264make(T264* C,T0* a1,T2 a2,T0* a3); -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]*/void r258set_item(T258* C,T0* a1); -/*HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r256make(T256* C,T0* a1,T0* a2,T0* a3); -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]*/void r253set_item(T253* C,T0* a1); -/*HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]*/void r252make(T252* C,T2 a1,T2 a2,T0* a3); -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[POINTER,STRING]]*/void r249set_item(T249* C,T0* a1); -/*HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r246make(T246* C,T0* a1,T0* a2,T0* a3); -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]*/void r245set_item(T245* C,T0* a1); -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r244prime_capacity(T2 a1); -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r244prime_number_ceiling(T2 a1); -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T6 r244should_increase_capacity(T2 a1,T2 a2); -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0* r244new_node(T244* C,T0* a1,T0* a2,T0* a3); -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r244add(T244* C,T0* a1,T0* a2); -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0* r244fast_reference_at(T244* C,T0* a1); -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r244special_common_dictionary(T244* C,T0* a1); -/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r244increase_capacity(T244* C); -/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]*/void r243set_item(T243* C,T0* a1); -/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/void r234make(T234* C); -/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T0* r234reference_at(T234* C,T0* a1); -/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T6 r234key_safe_equal(T0* a1,T0* a2); -extern T0*oBC136common_free_nodes; -extern int fBC136common_free_nodes; -/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T0* r234common_free_nodes(void); -/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/void r234create_with_capacity(T234* C,T2 a1); -/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/void r230make(T230* C); -/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r230reference_at(T230* C,T0* a1); -/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T6 r230key_safe_equal(T0* a1,T0* a2); -/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r230common_free_nodes(void); -/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/void r230create_with_capacity(T230* C,T2 a1); -/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/void r228make(T228* C); -/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r228reference_at(T228* C,T0* a1); -/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T6 r228key_safe_equal(T0* a1,T0* a2); -/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r228common_free_nodes(void); -/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/void r228create_with_capacity(T228* C,T2 a1); -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227make(T227* C); -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T2 r227prime_capacity(T2 a1); -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T2 r227prime_number_ceiling(T2 a1); -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T6 r227should_increase_capacity(T2 a1,T2 a2); -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r227reference_at(T227* C,T8 a1); -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T6 r227key_safe_equal(T8 a1,T8 a2); -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r227common_free_nodes(void); -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r227new_node(T227* C,T0* a1,T8 a2,T0* a3); -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227add(T227* C,T0* a1,T8 a2); -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227create_with_capacity(T227* C,T2 a1); -/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227increase_capacity(T227* C); -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226put(T226* C,T0* a1,T2 a2); -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226make(T226* C); -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T2 r226prime_capacity(T2 a1); -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T2 r226prime_number_ceiling(T2 a1); -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T6 r226should_increase_capacity(T2 a1,T2 a2); -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r226reference_at(T226* C,T2 a1); -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T6 r226key_safe_equal(T2 a1,T2 a2); -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r226common_free_nodes(void); -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r226new_node(T226* C,T0* a1,T2 a2,T0* a3); -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226create_with_capacity(T226* C,T2 a1); -/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226increase_capacity(T226* C); -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218make(T218* C); -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T2 r218prime_capacity(T2 a1); -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T2 r218prime_number_ceiling(T2 a1); -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r218reference_at(T218* C,T0* a1); -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T6 r218should_increase_capacity(T2 a1,T2 a2); -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r218common_free_nodes(void); -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T6 r218key_safe_equal(T0* a1,T0* a2); -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r218new_node(T218* C,T0* a1,T0* a2,T0* a3); -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218add(T218* C,T0* a1,T0* a2); -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218create_with_capacity(T218* C,T2 a1); -/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218increase_capacity(T218* C); -/*SIGNAL_1[X_INPUT_DEVICE]*/void r216make(T216* C); -/*SIGNAL_1[X_INPUT_DEVICE]*/void r216emit(T216* C,T0* a1); -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215put(T215* C,T2 a1,T2 a2); -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215make(T215* C); -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r215at(T215* C,T2 a1); -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r215prime_capacity(T2 a1); -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r215prime_number_ceiling(T2 a1); -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T6 r215should_increase_capacity(T2 a1,T2 a2); -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T6 r215key_safe_equal(T2 a1,T2 a2); -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T0* r215common_free_nodes(void); -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T0* r215new_node(T215* C,T2 a1,T2 a2,T0* a3); -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215create_with_capacity(T215* C,T2 a1); -/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215increase_capacity(T215* C); -/*RING_ARRAY[INTEGER_32]*/void r213put(T213* C,T2 a1,T2 a2); -/*RING_ARRAY[INTEGER_32]*/void r213clear_all(T213* C); -/*RING_ARRAY[INTEGER_32]*/void r213set_all_with(T213* C,T2 a1); -/*RING_ARRAY[INTEGER_32]*/T2 r213wrap_point(T213* C); -/*RING_ARRAY[INTEGER_32]*/void r213make_space_for_one(T213* C); -/*RING_ARRAY[INTEGER_32]*/void r213squeeze_bubble(T213* C,T2 a1,T2 a2,T2 a3,T2 a4); -/*RING_ARRAY[INTEGER_32]*/T2 r213storage_upper(T213* C); -/*RING_ARRAY[INTEGER_32]*/T2 r213storage_index(T213* C,T2 a1); -/*RING_ARRAY[INTEGER_32]*/void r213make(T213* C,T2 a1,T2 a2); -/*RING_ARRAY[INTEGER_32]*/void r213add_last(T213* C,T2 a1); -/*RING_ARRAY[INTEGER_32]*/T2 r213count(T213* C); -/*RING_ARRAY[INTEGER_32]*/T6 r213is_empty(T213* C); -/*RING_ARRAY[INTEGER_32]*/T2 r213item(T213* C,T2 a1); -/*RING_ARRAY[INTEGER_32]*/void r213remove_first(T213* C); -/*RING_ARRAY[INTEGER_32]*/void r213move(T213* C,T2 a1,T2 a2,T2 a3); -/*HASHED_DICTIONARY[POINTER,STRING]*/void r211make(T211* C); -/*HASHED_DICTIONARY[POINTER,STRING]*/T0* r211common_free_nodes(void); -/*HASHED_DICTIONARY[POINTER,STRING]*/void r211create_with_capacity(T211* C,T2 a1); -/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/void r208make(T208* C); -/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/T0* r208common_free_nodes(void); -/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/void r208create_with_capacity(T208* C,T2 a1); -/*STREAM_EXCEPTION*/void r110expect(T110* C,T0* a1); -/*STREAM_EXCEPTION*/T6 r110occurred(T110* C,T0* a1); -/*STREAM_EXCEPTION*/void r110make(T110* C,T0* a1); -/*CAN_READ_DATA_FROM_STREAM*/void r120expect(T120* C,T0* a1); -/*CAN_READ_DATA_FROM_STREAM*/T6 r120occurred(T120* C,T0* a1); -/*CAN_READ_DATA_FROM_STREAM*/void r120make(T120* C,T0* a1); -/*TIME*/T6 r189_ix_60(T189* C,T189 a1); -/*TIME*/T5 r189elapsed_seconds(T189* C,T189 a1); -/*MICROSECOND_TIME*/T6 r176_ix_60(T176* C,T176 a1); -/*MICROSECOND_TIME*/T5 r176elapsed_seconds(T176* C,T176 a1); -/*MICROSECOND_TIME*/void r176update(T176* C); -/*EVENTS_SET*/void r147reset(T147* C); -/*EVENTS_SET*/void r147expect(T147* C,T0* a1); -/*EVENTS_SET*/void r147make(T147* C); -/*EVENTS_SET*/void r147when_data(T147* C,T0* a1); -/*EVENTS_SET*/T6 r147is_data(T147* C,T0* a1); -/*EVENTS_SET*/void r147when_exception(T147* C,T0* a1); -/*EVENTS_SET*/T6 r147event_occurred(T147* C,T0* a1); -/*EVENTS_SET*/T6 r147is_exception(T147* C,T0* a1); -/*EVENTS_SET*/void r147wait(T147* C); -/*ROOT_LAYOUT*/void r158set_container(T158* C,T0* a1); -/*STD_INPUT*/void r54make(T54* C); -/*STD_INPUT*/void r54dispose(T54* C); -/*KEY_RANGE*/void r139make(T139* C,T8 a1); -/*BUTTON_RANGE*/void r142make(T142* C,T8 a1); -/*AXES_RANGE*/void r141make(T141* C,T8 a1); -/*IVY_CLIENT*/T2 r146descriptor(T146* C); -/*IVY_CLIENT*/T0* r146event_can_read(T146* C); -/*IVY_CLIENT*/void r146make(T146* C,T2 a1,T8 a2,T8 a3,T8 a4); -/*IVY_CLIENT*/void r146process_incomming_data(T146* C); -/*IVY_CLIENT*/void r146disconnect(T146* C); -/*IVY_CLIENT*/void r146dispose(T146* C); -/*IVY_CLIENT*/T0* r146event_exception(T146* C); -T148*create148make(void); -/*LOOP_ITEM*/void r148add_job(T148* C,T0* a1); -/*LOOP_ITEM*/void r148run(T148* C); -/*LOOP_ITEM*/void r148make(T148* C); -/*GRAPHIC_CONNECTION*/T0* r131event_can_read(T131* C); -/*GRAPHIC_CONNECTION*/void r131set_descriptor(T131* C,T2 a1); -/*GRAPHIC_CONNECTION*/T2 r131filtered_descriptor(T131* C); -/*GRAPHIC_CONNECTION*/void r131dispose(T131* C); -/*VISION_LOOP_STACK*/T0* r130current_loop(T130* C); -/*VISION_LOOP_STACK*/void r130add_job(T130* C,T0* a1); -/*VISION_LOOP_STACK*/void r130run(T130* C); -/*VISION_LOOP_STACK*/void r130make(T130* C); -/*VISION_LOOP_STACK*/void r130_P_129_make(T130* C); -/*EVENT_CATCHER*/void r128add_extension(T128* C,T0* a1); -/*EVENT_CATCHER*/T0* r128search_widget(T128* C,T8 a1); -/*EVENT_CATCHER*/void r128prepare(T128* C,T0* a1); -/*EVENT_CATCHER*/void r128emit_event(T128* C,T0* a1,T2 a2); -/*EVENT_CATCHER*/T6 r128is_ready(T128* C,T0* a1); -/*EVENT_CATCHER*/void r128continue(T128* C); +/*STRING*/T2 r7occurrences(T7* C,T3 a1); +/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r298make(T298* C,T2 a1); +/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r298add_last(T298* C,T0* a1); +/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r298mark_native_arrays(T298* C); +/*FAST_ARRAY[JOB]*/void r280remove(T280* C,T2 a1); +/*FAST_ARRAY[JOB]*/void r280make(T280* C,T2 a1); +/*FAST_ARRAY[JOB]*/void r280add_last(T280* C,T0* a1); +/*FAST_ARRAY[JOB]*/T6 r280is_empty(T280* C); +/*FAST_ARRAY[JOB]*/void r280mark_native_arrays(T280* C); +/*FAST_ARRAY[JOB]*/void r280add(T280* C,T0* a1,T2 a2); +/*FAST_ARRAY[JOB]*/void r280move(T280* C,T2 a1,T2 a2,T2 a3); +/*FAST_ARRAY[TOPLEVEL_WINDOW]*/void r279make(T279* C,T2 a1); +/*FAST_ARRAY[TOPLEVEL_WINDOW]*/void r279mark_native_arrays(T279* C); +/*FAST_ARRAY[EVENT_CATCHER]*/void r277make(T277* C,T2 a1); +/*FAST_ARRAY[EVENT_CATCHER]*/void r277mark_native_arrays(T277* C); +/*FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r273make(T273* C,T2 a1); +/*FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r273mark_native_arrays(T273* C); +/*FAST_ARRAY[KEY_RANGE]*/void r266make(T266* C,T2 a1); +/*FAST_ARRAY[KEY_RANGE]*/void r266add_last(T266* C,T0* a1); +/*FAST_ARRAY[KEY_RANGE]*/void r266mark_native_arrays(T266* C); +/*FAST_ARRAY[BUTTON_RANGE]*/void r265make(T265* C,T2 a1); +/*FAST_ARRAY[BUTTON_RANGE]*/void r265add_last(T265* C,T0* a1); +/*FAST_ARRAY[BUTTON_RANGE]*/void r265mark_native_arrays(T265* C); +/*FAST_ARRAY[AXES_RANGE]*/void r264make(T264* C,T2 a1); +/*FAST_ARRAY[AXES_RANGE]*/void r264add_last(T264* C,T0* a1); +/*FAST_ARRAY[AXES_RANGE]*/void r264mark_native_arrays(T264* C); +/*FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r261make(T261* C,T2 a1); +/*FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r261mark_native_arrays(T261* C); +/*FAST_ARRAY[INTEGER_32]*/void r258make(T258* C,T2 a1); +/*FAST_ARRAY[INTEGER_32]*/T2 r258count(T258* C); +/*ARRAY[STRING]*/void r256put(T256* C,T0* a1,T2 a2); +/*ARRAY[STRING]*/void r256clear_all(T256* C); +/*ARRAY[STRING]*/void r256set_all_with(T256* C,T0* a1); +/*ARRAY[STRING]*/void r256copy(T256* C,T0* a1); +/*ARRAY[STRING]*/T0* r256twin(T256* C); +/*ARRAY[STRING]*/void r256clear_count(T256* C); +/*ARRAY[STRING]*/void r256remove_last(T256* C); +/*ARRAY[STRING]*/void r256add_last(T256* C,T0* a1); +/*ARRAY[STRING]*/void r256with_capacity(T256* C,T2 a1,T2 a2); +/*ARRAY[STRING]*/T2 r256count(T256* C); +/*ARRAY[STRING]*/T0* r256last(T256* C); +/*ARRAY[STRING]*/T6 r256is_empty(T256* C); +/*ARRAY[STRING]*/T0* r256item(T256* C,T2 a1); +/*ARRAY[STRING]*/void r256mark_native_arrays(T256* C); +/*ARRAY[STRING]*/void r256ensure_capacity_and_bounds(T256* C,T2 a1,T2 a2,T2 a3); +/*FAST_ARRAY[IVY_CLIENT]*/void r249copy(T249* C,T0* a1); +/*FAST_ARRAY[IVY_CLIENT]*/void r249remove(T249* C,T2 a1); +/*FAST_ARRAY[IVY_CLIENT]*/void r249make(T249* C,T2 a1); +/*FAST_ARRAY[IVY_CLIENT]*/void r249add_last(T249* C,T0* a1); +/*FAST_ARRAY[IVY_CLIENT]*/void r249mark_native_arrays(T249* C); +/*FAST_ARRAY[IVY_CLIENT]*/T2 r249fast_index_of(T249* C,T0* a1,T2 a2); +/*FAST_ARRAY[LOOP_ITEM]*/void r248remove_last(T248* C); +/*FAST_ARRAY[LOOP_ITEM]*/void r248make(T248* C,T2 a1); +/*FAST_ARRAY[LOOP_ITEM]*/void r248add_last(T248* C,T0* a1); +/*FAST_ARRAY[LOOP_ITEM]*/T0* r248last(T248* C); +/*FAST_ARRAY[LOOP_ITEM]*/T6 r248is_empty(T248* C); +/*FAST_ARRAY[LOOP_ITEM]*/void r248mark_native_arrays(T248* C); +/*FAST_ARRAY[STRING]*/void r247make(T247* C,T2 a1); +/*FAST_ARRAY[STRING]*/void r247add_last(T247* C,T0* a1); +/*FAST_ARRAY[STRING]*/void r247with_capacity(T247* C,T2 a1); +/*FAST_ARRAY[STRING]*/void r247mark_native_arrays(T247* C); +/*FAST_ARRAY[X_INPUT_DEVICE]*/void r246make(T246* C,T2 a1); +/*FAST_ARRAY[X_INPUT_DEVICE]*/void r246mark_native_arrays(T246* C); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]*/void r329set_item(T329* C,T0* a1); +/*HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]*/void r327make(T327* C,T0* a1,T8 a2,T0* a3); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]*/void r326set_item(T326* C,T0* a1); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]*/void r317set_item(T317* C,T0* a1); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]*/void r311set_item(T311* C,T0* a1); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]*/void r308set_item(T308* C,T0* a1); +/*HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]*/void r307make(T307* C,T0* a1,T2 a2,T0* a3); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]*/void r302set_item(T302* C,T0* a1); +/*HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r300make(T300* C,T0* a1,T0* a2,T0* a3); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]*/void r297set_item(T297* C,T0* a1); +/*HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]*/void r296make(T296* C,T2 a1,T2 a2,T0* a3); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[POINTER,STRING]]*/void r293set_item(T293* C,T0* a1); +/*HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r290make(T290* C,T0* a1,T0* a2,T0* a3); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]*/void r289set_item(T289* C,T0* a1); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0* r288fast_reference_at(T288* C,T0* a1); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r288prime_capacity(T2 a1); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r288prime_number_ceiling(T2 a1); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T6 r288should_increase_capacity(T2 a1,T2 a2); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0* r288new_node(T288* C,T0* a1,T0* a2,T0* a3); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r288special_common_dictionary(T288* C,T0* a1); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r288increase_capacity(T288* C); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r288add(T288* C,T0* a1,T0* a2); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]*/void r287set_item(T287* C,T0* a1); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r276reference_at(T276* C,T8 a1); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T6 r276key_safe_equal(T8 a1,T8 a2); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r276make(T276* C); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T2 r276prime_capacity(T2 a1); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T2 r276prime_number_ceiling(T2 a1); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T6 r276should_increase_capacity(T2 a1,T2 a2); +extern T0*oBC143common_free_nodes; +extern int fBC143common_free_nodes; +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r276common_free_nodes(void); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r276new_node(T276* C,T0* a1,T8 a2,T0* a3); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r276create_with_capacity(T276* C,T2 a1); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r276increase_capacity(T276* C); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r276add(T276* C,T0* a1,T8 a2); +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T0* r275reference_at(T275* C,T0* a1); +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/void r275make(T275* C); +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T0* r275common_free_nodes(void); +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/void r275create_with_capacity(T275* C,T2 a1); +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r271reference_at(T271* C,T0* a1); +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/void r271make(T271* C); +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r271common_free_nodes(void); +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/void r271create_with_capacity(T271* C,T2 a1); +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r269reference_at(T269* C,T0* a1); +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/void r269make(T269* C); +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r269common_free_nodes(void); +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/void r269create_with_capacity(T269* C,T2 a1); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r268put(T268* C,T0* a1,T2 a2); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r268reference_at(T268* C,T2 a1); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T6 r268key_safe_equal(T2 a1,T2 a2); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r268make(T268* C); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T2 r268prime_capacity(T2 a1); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T2 r268prime_number_ceiling(T2 a1); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T6 r268should_increase_capacity(T2 a1,T2 a2); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r268common_free_nodes(void); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r268new_node(T268* C,T0* a1,T2 a2,T0* a3); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r268create_with_capacity(T268* C,T2 a1); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r268increase_capacity(T268* C); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r262reference_at(T262* C,T0* a1); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T6 r262key_safe_equal(T0* a1,T0* a2); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r262make(T262* C); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T2 r262prime_capacity(T2 a1); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T2 r262prime_number_ceiling(T2 a1); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T6 r262should_increase_capacity(T2 a1,T2 a2); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r262common_free_nodes(void); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r262new_node(T262* C,T0* a1,T0* a2,T0* a3); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r262create_with_capacity(T262* C,T2 a1); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r262increase_capacity(T262* C); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r262add(T262* C,T0* a1,T0* a2); +/*SIGNAL_1[X_INPUT_DEVICE]*/void r260emit(T260* C,T0* a1); +/*SIGNAL_1[X_INPUT_DEVICE]*/void r260make(T260* C); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r259put(T259* C,T2 a1,T2 a2); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r259at(T259* C,T2 a1); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T6 r259key_safe_equal(T2 a1,T2 a2); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r259make(T259* C); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r259prime_capacity(T2 a1); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r259prime_number_ceiling(T2 a1); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T6 r259should_increase_capacity(T2 a1,T2 a2); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T0* r259common_free_nodes(void); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T0* r259new_node(T259* C,T2 a1,T2 a2,T0* a3); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r259create_with_capacity(T259* C,T2 a1); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r259increase_capacity(T259* C); +/*RING_ARRAY[INTEGER_32]*/void r255remove_first(T255* C); +/*RING_ARRAY[INTEGER_32]*/void r255make_space_for_one(T255* C); +/*RING_ARRAY[INTEGER_32]*/void r255squeeze_bubble(T255* C,T2 a1,T2 a2,T2 a3,T2 a4); +/*RING_ARRAY[INTEGER_32]*/T2 r255storage_upper(T255* C); +/*RING_ARRAY[INTEGER_32]*/T2 r255storage_index(T255* C,T2 a1); +/*RING_ARRAY[INTEGER_32]*/void r255put(T255* C,T2 a1,T2 a2); +/*RING_ARRAY[INTEGER_32]*/void r255clear_all(T255* C); +/*RING_ARRAY[INTEGER_32]*/void r255set_all_with(T255* C,T2 a1); +/*RING_ARRAY[INTEGER_32]*/void r255make(T255* C,T2 a1,T2 a2); +/*RING_ARRAY[INTEGER_32]*/void r255add_last(T255* C,T2 a1); +/*RING_ARRAY[INTEGER_32]*/T2 r255count(T255* C); +/*RING_ARRAY[INTEGER_32]*/T6 r255is_empty(T255* C); +/*RING_ARRAY[INTEGER_32]*/T2 r255item(T255* C,T2 a1); +/*RING_ARRAY[INTEGER_32]*/T2 r255wrap_point(T255* C); +/*RING_ARRAY[INTEGER_32]*/void r255move(T255* C,T2 a1,T2 a2,T2 a3); +/*HASHED_DICTIONARY[POINTER,STRING]*/void r253make(T253* C); +/*HASHED_DICTIONARY[POINTER,STRING]*/T0* r253common_free_nodes(void); +/*HASHED_DICTIONARY[POINTER,STRING]*/void r253create_with_capacity(T253* C,T2 a1); +/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/void r250make(T250* C); +/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/T0* r250common_free_nodes(void); +/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/void r250create_with_capacity(T250* C,T2 a1); +/*STREAM_EXCEPTION*/void r113make(T113* C,T0* a1); +/*STREAM_EXCEPTION*/void r113expect(T113* C,T0* a1); +/*STREAM_EXCEPTION*/T6 r113occurred(T113* C,T0* a1); +/*CAN_READ_DATA_FROM_STREAM*/void r123make(T123* C,T0* a1); +/*CAN_READ_DATA_FROM_STREAM*/void r123expect(T123* C,T0* a1); +/*CAN_READ_DATA_FROM_STREAM*/T6 r123occurred(T123* C,T0* a1); +/*TIME*/T6 r205_ix_60(T205* C,T205 a1); +/*TIME*/T5 r205elapsed_seconds(T205* C,T205 a1); +/*MICROSECOND_TIME*/T6 r192_ix_60(T192* C,T192 a1); +/*MICROSECOND_TIME*/T5 r192elapsed_seconds(T192* C,T192 a1); +/*MICROSECOND_TIME*/void r192update(T192* C); +/*EVENTS_SET*/T6 r154has_exception(T154* C,T2 a1); +/*EVENTS_SET*/void r154expect_readable(T154* C,T2 a1); +/*EVENTS_SET*/void r154when_data(T154* C,T0* a1); +/*EVENTS_SET*/T6 r154can_read(T154* C,T2 a1); +/*EVENTS_SET*/T6 r154is_data(T154* C,T0* a1); +/*EVENTS_SET*/void r154when_exception(T154* C,T0* a1); +/*EVENTS_SET*/void r154make(T154* C); +/*EVENTS_SET*/T6 r154event_occurred(T154* C,T0* a1); +/*EVENTS_SET*/T6 r154is_exception(T154* C,T0* a1); +/*EVENTS_SET*/void r154wait(T154* C); +/*EVENTS_SET*/void r154expect_exception(T154* C,T2 a1); +/*EVENTS_SET*/void r154reset(T154* C); +/*EVENTS_SET*/void r154expect(T154* C,T0* a1); +/*KEY_RANGE*/void r146make(T146* C,T8 a1); +/*BUTTON_RANGE*/void r149make(T149* C,T8 a1); +/*AXES_RANGE*/void r148make(T148* C,T8 a1); +/*IVY_CLIENT*/void r153process_incomming_data(T153* C); +/*IVY_CLIENT*/T0* r153event_can_read(T153* C); +/*IVY_CLIENT*/void r153make(T153* C,T2 a1,T8 a2,T8 a3,T8 a4,T8 a5); +/*IVY_CLIENT*/void r153disconnect(T153* C); +/*IVY_CLIENT*/void r153dispose(T153* C); +/*IVY_CLIENT*/T0* r153event_exception(T153* C); +T155*create155make(void); +/*LOOP_ITEM*/void r155make(T155* C); +/*LOOP_ITEM*/void r155add_job(T155* C,T0* a1); +/*LOOP_ITEM*/void r155run(T155* C); +/*ROOT_WINDOW*/void r73default_create(T73* C); extern T0*oBC26vision; extern int fBC26vision; -/*EVENT_CATCHER*/T0* r128vision(void); -extern T0*oBC13io; -/*EVENT_CATCHER*/void r128make(T128* C,T0* a1); -/*ROOT_WINDOW*/void r72default_create(T72* C); -/*ROOT_WINDOW*/T0* r72vision(void); -/*ROOT_WINDOW*/T2 r72hash_code(T72* C); -/*ROOT_WINDOW*/void r72container_init(T72* C); +/*ROOT_WINDOW*/T0* r73vision(void); +/*ROOT_WINDOW*/T2 r73hash_code(T73* C); +/*ROOT_WINDOW*/void r73container_init(T73* C); +/*GRAPHIC_CONNECTION*/T0* r134event_can_read(T134* C); +/*GRAPHIC_CONNECTION*/void r134set_descriptor(T134* C,T2 a1); +/*VISION_LOOP_STACK*/void r133make(T133* C); +/*VISION_LOOP_STACK*/T0* r133current_loop(T133* C); +/*VISION_LOOP_STACK*/void r133run(T133* C); +/*VISION_LOOP_STACK*/void r133_P_132_make(T133* C); +/*EVENT_CATCHER*/T0* r131vision(void); +/*EVENT_CATCHER*/void r131prepare(T131* C,T0* a1); +/*EVENT_CATCHER*/void r131make(T131* C,T0* a1); +/*EVENT_CATCHER*/T6 r131is_ready(T131* C,T0* a1); +/*EVENT_CATCHER*/void r131continue(T131* C); +/*EVENT_CATCHER*/void r131add_extension(T131* C,T0* a1); +/*EVENT_CATCHER*/T0* r131search_widget(T131* C,T8 a1); +/*EVENT_CATCHER*/void r131emit_event(T131* C,T0* a1,T2 a2); /*STD_OUTPUT*/void r53filtered_flush(T53* C); /*STD_OUTPUT*/void r53filtered_put_character(T53* C,T3 a1); extern T0*oBC13std_output; @@ -2060,205 +2087,147 @@ extern int fBC13std_output; /*STD_OUTPUT*/void r53flush(T53* C); /*STD_OUTPUT*/void r53put_string(T53* C,T0* a1); /*STD_OUTPUT*/void r53put_line(T53* C,T0* a1); -/*STD_OUTPUT*/void r53dispose(T53* C); -extern T0*oBC13std_input; -extern int fBC13std_input; -/*STD_INPUT_OUTPUT*/T0* r46std_input(void); /*STD_INPUT_OUTPUT*/T0* r46std_output(void); -/*STD_INPUT_OUTPUT*/void r46disconnect(void); -/*STD_INPUT_OUTPUT*/T6 r46is_connected(void); /*STD_INPUT_OUTPUT*/void r46put_string(T0* a1); -/*STD_INPUT_OUTPUT*/void r46dispose(void); -/*X_INPUT_EXTENSION*/void r175make(T175* C); -/*X11*/void r143default_create(void); -extern T0*oBC143x_input_extension; -extern int fBC143x_input_extension; -/*X11*/T0* r143x_input_extension(void); -/*X11*/T6 r143has_x_input_extension(void); -/*X11*/T0* r143get_atom_name(T2 a1); -/*X11*/T0* r143vision(void); -/*X_INPUT_DEVICE*/void r67handle_event(T67* C,T2 a1,T0* a2); -/*X_INPUT_DEVICE*/T0* r67vision(void); -/*X_INPUT_DEVICE*/void r67when_proximity_out(T67* C,T0* a1,T0* a2); -/*X_INPUT_DEVICE*/void r67connect(T67* C); -/*X_INPUT_DEVICE*/void r67when_button_released(T67* C,T0* a1,T0* a2); -/*X_INPUT_DEVICE*/void r67when_event(T67* C,T2 a1,T0* a2,T0* a3); -/*X_INPUT_DEVICE*/void r67make(T67* C,T8 a1,T2 a2); -/*X_INPUT_DEVICE*/void r67when_moved(T67* C,T0* a1,T0* a2); -/*X_INPUT_DEVICE*/T2 r67proximity_axis_data(T2 a1); -/*X_INPUT_DEVICE*/void r67when_button_pressed(T67* C,T0* a1,T0* a2); -/*X_INPUT_DEVICE*/T2 r67motion_axis_data(T2 a1); -/*X_INPUT_DEVICE*/void r67when_proximity_in(T67* C,T0* a1,T0* a2); +/*X_INPUT_EXTENSION*/void r191make(T191* C); +/*X11*/void r150default_create(void); +/*X11*/T0* r150vision(void); +extern T0*oBC150x_input_extension; +extern int fBC150x_input_extension; +/*X11*/T0* r150x_input_extension(void); +/*X11*/T6 r150has_x_input_extension(void); +/*X11*/T0* r150get_atom_name(T2 a1); +/*X_INPUT_DEVICE*/T0* r68vision(void); +/*X_INPUT_DEVICE*/void r68make(T68* C,T8 a1,T2 a2); +/*X_INPUT_DEVICE*/void r68handle_event(T68* C,T2 a1,T0* a2); +/*X_INPUT_DEVICE*/void r68when_proximity_out(T68* C,T0* a1,T0* a2); +/*X_INPUT_DEVICE*/void r68connect(T68* C); +/*X_INPUT_DEVICE*/void r68when_button_released(T68* C,T0* a1,T0* a2); +/*X_INPUT_DEVICE*/void r68when_event(T68* C,T2 a1,T0* a2,T0* a3); +/*X_INPUT_DEVICE*/void r68when_moved(T68* C,T0* a1,T0* a2); +/*X_INPUT_DEVICE*/T2 r68proximity_axis_data(T2 a1); +/*X_INPUT_DEVICE*/void r68when_button_pressed(T68* C,T0* a1,T0* a2); +/*X_INPUT_DEVICE*/T2 r68motion_axis_data(T2 a1); +/*X_INPUT_DEVICE*/void r68when_proximity_in(T68* C,T0* a1,T0* a2); /*STD_ERROR*/void r43put_string(T0* a1); /*STD_ERROR*/void r43put_line(T0* a1); -/*STD_ERROR*/void r43dispose(T43* C); -/*WACOM_POINTER*/T0* r69type_to_name(T2 a1); -/*WACOM_POINTER*/T5 r69mean(T0* a1); -/*WACOM_POINTER*/void r69update_predicted_position(T69* C,T5 a1,T5 a2,T5 a3); -/*WACOM_POINTER*/T0* r69twin(T69* C); -/*WACOM_POINTER*/void r69make(T69* C,T0* a1); -/*WACOM_POINTER*/void r69print_data_in(T69* C,T0* a1,T2 a2,T2 a3,T2 a4,T2 a5,T2 a6,T2 a7,T2 a8,T0* a9); -/*WACOM_POINTER*/void r69set_message_header(T69* C,T0* a1); -/*WACOM_POINTER*/void r69button(T69* C,T6 a1,T0* a2); -/*WACOM_POINTER*/void r69proximity(T69* C,T6 a1,T0* a2); -/*WACOM_POINTER*/T2 r69device_to_screen_y(T69* C,T2 a1); -/*WACOM_POINTER*/T2 r69device_to_screen_x(T69* C,T2 a1); -/*WACOM_POINTER*/void r69move(T69* C,T0* a1); -/*IVY*/void r70prepare(T70* C,T0* a1); -/*IVY*/T6 r70is_ready(T70* C,T0* a1); -/*IVY*/void r70continue(T70* C); -/*IVY*/void r70channel_down(T70* C,T0* a1); -/*IVY*/void r70callback_runner(T0* a1,T2 a2,T212 a3); -/*IVY*/T0* r70channel_up(T70* C,T2 a1,T8 a2,T8 a3,T8 a4); -/*IVY*/void r70send_message(T70* C,T0* a1); -/*IVY*/void r70make(T70* C,T0* a1); -/*IVY*/void r70start(T70* C,T0* a1); -extern T0*oBC64root_window; -extern int fBC64root_window; -/*VISION*/T0* r64root_window(void); +/*WACOM_POINTER*/void r70set_message_header(T70* C,T0* a1); +/*WACOM_POINTER*/T6 r70is_valid_crop(T0* a1); +/*WACOM_POINTER*/void r70button(T70* C,T6 a1,T0* a2); +/*WACOM_POINTER*/void r70proximity(T70* C,T6 a1,T0* a2); +/*WACOM_POINTER*/T2 r70device_to_screen_y(T70* C,T2 a1); +/*WACOM_POINTER*/T2 r70device_to_screen_x(T70* C,T2 a1); +/*WACOM_POINTER*/T0* r70type_to_name(T2 a1); +/*WACOM_POINTER*/T5 r70mean(T0* a1); +/*WACOM_POINTER*/T0* r70twin(T70* C); +/*WACOM_POINTER*/void r70set_crop(T70* C,T0* a1); +/*WACOM_POINTER*/void r70update_predicted_position(T70* C,T5 a1,T5 a2,T5 a3); +/*WACOM_POINTER*/void r70make(T70* C,T0* a1); +/*WACOM_POINTER*/void r70print_data_in(T70* C,T0* a1,T2 a2,T2 a3,T2 a4,T2 a5,T2 a6,T2 a7,T2 a8,T0* a9); +/*WACOM_POINTER*/void r70move(T70* C,T0* a1); +/*IVY*/void r71start(T71* C,T0* a1); +/*IVY*/void r71prepare(T71* C,T0* a1); +/*IVY*/void r71make(T71* C,T0* a1); +/*IVY*/T6 r71is_ready(T71* C,T0* a1); +/*IVY*/void r71continue(T71* C); +/*IVY*/void r71channel_down(T71* C,T0* a1); +/*IVY*/void r71callback_runner(T0* a1,T2 a2,T254 a3); +/*IVY*/T0* r71channel_up(T71* C,T2 a1,T8 a2,T8 a3,T8 a4,T8 a5); +/*IVY*/void r71send_message(T71* C,T0* a1); +void* W71channel_up(void* C,T2 a1,T8 a2,T8 a3,T8 a4,T8 a5); +void W71channel_down(void* C,void* a1); +void W71callback_runner(void* C,void* a1,T2 a2,T254 a3); +/*VISION*/void r65start(T65* C); +/*VISION*/void r65register(T65* C,T0* a1); +/*VISION*/void r65graphic_init(T65* C); +extern T0*oBC13io; +extern T0*oBC65root_window; +extern int fBC65root_window; +/*VISION*/T0* r65root_window(void); extern T0*oBC13std_error; -/*VISION*/void r64crash(T64* C); -/*VISION*/void r64not_yet_implemented(T64* C); -/*VISION*/void r64start(T64* C); -/*VISION*/void r64register(T64* C,T0* a1); -/*VISION*/void r64graphic_init(T64* C); -typedef struct _se_agenT25C25l194c40 se_agenT25C25l194c40; -struct _se_agenT25C25l194c40{Tid id; +/*VISION*/void r65crash(T65* C); +/*VISION*/void r65not_yet_implemented(T65* C); +typedef struct _se_agenT25f25l206c40 se_agenT25f25l206c40; +struct _se_agenT25f25l206c40{Tid id; int creation_mold_id; -void(*afp)(se_agenT25C25l194c40*,T0*); -void(*gc_mark_agent_mold)(se_agenT25C25l194c40*); +void(*afp)(se_agenT25f25l206c40*,T0*); +void(*gc_mark_agent_mold)(se_agenT25f25l206c40*); int (*eq)(se_agent*,se_agent*); -T0* c0;T6 c1;}; -typedef struct _se_agent_eqC69C6_r69proximity se_agent_eqC69C6_r69proximity; -struct _se_agent_eqC69C6_r69proximity{Tid id; -int creation_mold_id; -void*afp; -void*gc_mark_agent_mold; -void*eq; -T0* c0;T6 c1;}; -/*agent creation*/T0*agenT25C25l194c40(T0* c0,T6 c1); -void gc_mark_agenT25C25l194c40(se_agenT25C25l194c40*u); -/*agent equality*/int eq_agent_eqC69C6_r69proximity(se_agent*u1, se_agent*u2); -typedef struct _se_agenT25C25l193c39 se_agenT25C25l193c39; -struct _se_agenT25C25l193c39{Tid id; +T0* closed_C;}; +/*agent creation*/T0*agenT25f25l206c40(T0* closed_C); +void gc_mark_agenT25f25l206c40(se_agenT25f25l206c40*u); +typedef struct _se_agenT25f25l205c39 se_agenT25f25l205c39; +struct _se_agenT25f25l205c39{Tid id; int creation_mold_id; -void(*afp)(se_agenT25C25l193c39*,T0*); -void(*gc_mark_agent_mold)(se_agenT25C25l193c39*); +void(*afp)(se_agenT25f25l205c39*,T0*); +void(*gc_mark_agent_mold)(se_agenT25f25l205c39*); int (*eq)(se_agent*,se_agent*); -T0* c0;T6 c1;}; -/*agent creation*/T0*agenT25C25l193c39(T0* c0,T6 c1); -void gc_mark_agenT25C25l193c39(se_agenT25C25l193c39*u); -typedef struct _se_agenT25C25l192c42 se_agenT25C25l192c42; -struct _se_agenT25C25l192c42{Tid id; +T0* closed_C;}; +/*agent creation*/T0*agenT25f25l205c39(T0* closed_C); +void gc_mark_agenT25f25l205c39(se_agenT25f25l205c39*u); +typedef struct _se_agenT25f25l204c42 se_agenT25f25l204c42; +struct _se_agenT25f25l204c42{Tid id; int creation_mold_id; -void(*afp)(se_agenT25C25l192c42*,T0*); -void(*gc_mark_agent_mold)(se_agenT25C25l192c42*); +void(*afp)(se_agenT25f25l204c42*,T0*); +void(*gc_mark_agent_mold)(se_agenT25f25l204c42*); int (*eq)(se_agent*,se_agent*); -T0* c0;T6 c1;}; -typedef struct _se_agent_eqC69C6_r69button se_agent_eqC69C6_r69button; -struct _se_agent_eqC69C6_r69button{Tid id; +T0* closed_C;}; +/*agent creation*/T0*agenT25f25l204c42(T0* closed_C); +void gc_mark_agenT25f25l204c42(se_agenT25f25l204c42*u); +typedef struct _se_agenT25f25l203c41 se_agenT25f25l203c41; +struct _se_agenT25f25l203c41{Tid id; int creation_mold_id; -void*afp; -void*gc_mark_agent_mold; -void*eq; -T0* c0;T6 c1;}; -/*agent creation*/T0*agenT25C25l192c42(T0* c0,T6 c1); -void gc_mark_agenT25C25l192c42(se_agenT25C25l192c42*u); -/*agent equality*/int eq_agent_eqC69C6_r69button(se_agent*u1, se_agent*u2); -typedef struct _se_agenT25C25l191c41 se_agenT25C25l191c41; -struct _se_agenT25C25l191c41{Tid id; -int creation_mold_id; -void(*afp)(se_agenT25C25l191c41*,T0*); -void(*gc_mark_agent_mold)(se_agenT25C25l191c41*); +void(*afp)(se_agenT25f25l203c41*,T0*); +void(*gc_mark_agent_mold)(se_agenT25f25l203c41*); int (*eq)(se_agent*,se_agent*); -T0* c0;T6 c1;}; -/*agent creation*/T0*agenT25C25l191c41(T0* c0,T6 c1); -void gc_mark_agenT25C25l191c41(se_agenT25C25l191c41*u); -typedef struct _se_agenT25C25l190c32 se_agenT25C25l190c32; -struct _se_agenT25C25l190c32{Tid id; +T0* closed_C;}; +/*agent creation*/T0*agenT25f25l203c41(T0* closed_C); +void gc_mark_agenT25f25l203c41(se_agenT25f25l203c41*u); +typedef struct _se_agenT25f25l202c32 se_agenT25f25l202c32; +struct _se_agenT25f25l202c32{Tid id; int creation_mold_id; -void(*afp)(se_agenT25C25l190c32*,T0*); -void(*gc_mark_agent_mold)(se_agenT25C25l190c32*); +void(*afp)(se_agenT25f25l202c32*,T0*); +void(*gc_mark_agent_mold)(se_agenT25f25l202c32*); int (*eq)(se_agent*,se_agent*); -T0* c0;}; -typedef struct _se_agent_eqC69_r69move se_agent_eqC69_r69move; -struct _se_agent_eqC69_r69move{Tid id; -int creation_mold_id; -void*afp; -void*gc_mark_agent_mold; -void*eq; -T0* c0;}; -/*agent creation*/T0*agenT25C25l190c32(T0* c0); -void gc_mark_agenT25C25l190c32(se_agenT25C25l190c32*u); -/*agent equality*/int eq_agent_eqC69_r69move(se_agent*u1, se_agent*u2); -typedef struct _se_agenT25C25l173c38 se_agenT25C25l173c38; -struct _se_agenT25C25l173c38{Tid id; +T0* closed_C;}; +/*agent creation*/T0*agenT25f25l202c32(T0* closed_C); +void gc_mark_agenT25f25l202c32(se_agenT25f25l202c32*u); +typedef struct _se_agenT25f25l185c38 se_agenT25f25l185c38; +struct _se_agenT25f25l185c38{Tid id; int creation_mold_id; -void(*afp)(se_agenT25C25l173c38*,T0*); -void(*gc_mark_agent_mold)(se_agenT25C25l173c38*); +void(*afp)(se_agenT25f25l185c38*,T0*); +void(*gc_mark_agent_mold)(se_agenT25f25l185c38*); int (*eq)(se_agent*,se_agent*); -T0* c0;T0* c1;}; -typedef struct _se_agent_eqC25C7_r25pad_button_released se_agent_eqC25C7_r25pad_button_released; -struct _se_agent_eqC25C7_r25pad_button_released{Tid id; +T0* closed_C;T0* closed_a1;}; +/*agent creation*/T0*agenT25f25l185c38(T0* closed_C,T0* closed_a1); +void gc_mark_agenT25f25l185c38(se_agenT25f25l185c38*u); +typedef struct _se_agenT25f25l184c37 se_agenT25f25l184c37; +struct _se_agenT25f25l184c37{Tid id; int creation_mold_id; -void*afp; -void*gc_mark_agent_mold; -void*eq; -T0* c0;T0* c1;}; -/*agent creation*/T0*agenT25C25l173c38(T0* c0,T0* c1); -void gc_mark_agenT25C25l173c38(se_agenT25C25l173c38*u); -/*agent equality*/int eq_agent_eqC25C7_r25pad_button_released(se_agent*u1, se_agent*u2); -typedef struct _se_agenT25C25l172c37 se_agenT25C25l172c37; -struct _se_agenT25C25l172c37{Tid id; -int creation_mold_id; -void(*afp)(se_agenT25C25l172c37*,T0*); -void(*gc_mark_agent_mold)(se_agenT25C25l172c37*); +void(*afp)(se_agenT25f25l184c37*,T0*); +void(*gc_mark_agent_mold)(se_agenT25f25l184c37*); int (*eq)(se_agent*,se_agent*); -T0* c0;T0* c1;}; -typedef struct _se_agent_eqC25C7_r25pad_button_pressed se_agent_eqC25C7_r25pad_button_pressed; -struct _se_agent_eqC25C7_r25pad_button_pressed{Tid id; -int creation_mold_id; -void*afp; -void*gc_mark_agent_mold; -void*eq; -T0* c0;T0* c1;}; -/*agent creation*/T0*agenT25C25l172c37(T0* c0,T0* c1); -void gc_mark_agenT25C25l172c37(se_agenT25C25l172c37*u); -/*agent equality*/int eq_agent_eqC25C7_r25pad_button_pressed(se_agent*u1, se_agent*u2); -typedef struct _se_agenT25C25l167c36 se_agenT25C25l167c36; -struct _se_agenT25C25l167c36{Tid id; +T0* closed_C;T0* closed_a1;}; +/*agent creation*/T0*agenT25f25l184c37(T0* closed_C,T0* closed_a1); +void gc_mark_agenT25f25l184c37(se_agenT25f25l184c37*u); +typedef struct _se_agenT25f25l179c36 se_agenT25f25l179c36; +struct _se_agenT25f25l179c36{Tid id; int creation_mold_id; -void(*afp)(se_agenT25C25l167c36*,T0*); -void(*gc_mark_agent_mold)(se_agenT25C25l167c36*); +void(*afp)(se_agenT25f25l179c36*,T0*); +void(*gc_mark_agent_mold)(se_agenT25f25l179c36*); int (*eq)(se_agent*,se_agent*); -T0* c0;T0* c1;}; -typedef struct _se_agent_eqC25C7_r25left_slider_out se_agent_eqC25C7_r25left_slider_out; -struct _se_agent_eqC25C7_r25left_slider_out{Tid id; +T0* closed_C;T0* closed_a1;}; +/*agent creation*/T0*agenT25f25l179c36(T0* closed_C,T0* closed_a1); +void gc_mark_agenT25f25l179c36(se_agenT25f25l179c36*u); +typedef struct _se_agenT25f25l178c28 se_agenT25f25l178c28; +struct _se_agenT25f25l178c28{Tid id; int creation_mold_id; -void*afp; -void*gc_mark_agent_mold; -void*eq; -T0* c0;T0* c1;}; -/*agent creation*/T0*agenT25C25l167c36(T0* c0,T0* c1); -void gc_mark_agenT25C25l167c36(se_agenT25C25l167c36*u); -/*agent equality*/int eq_agent_eqC25C7_r25left_slider_out(se_agent*u1, se_agent*u2); -typedef struct _se_agenT25C25l166c28 se_agenT25C25l166c28; -struct _se_agenT25C25l166c28{Tid id; -int creation_mold_id; -void(*afp)(se_agenT25C25l166c28*,T0*); -void(*gc_mark_agent_mold)(se_agenT25C25l166c28*); +void(*afp)(se_agenT25f25l178c28*,T0*); +void(*gc_mark_agent_mold)(se_agenT25f25l178c28*); int (*eq)(se_agent*,se_agent*); -T0* c0;T0* c1;}; -typedef struct _se_agent_eqC25C7_r25slider_event se_agent_eqC25C7_r25slider_event; -struct _se_agent_eqC25C7_r25slider_event{Tid id; -int creation_mold_id; -void*afp; -void*gc_mark_agent_mold; -void*eq; -T0* c0;T0* c1;}; -/*agent creation*/T0*agenT25C25l166c28(T0* c0,T0* c1); -void gc_mark_agenT25C25l166c28(se_agenT25C25l166c28*u); -/*agent equality*/int eq_agent_eqC25C7_r25slider_event(se_agent*u1, se_agent*u2); +T0* closed_C;T0* closed_a1;}; +/*agent creation*/T0*agenT25f25l178c28(T0* closed_C,T0* closed_a1); +void gc_mark_agenT25f25l178c28(se_agenT25f25l178c28*u); /*XINPUT_IVY*/T0* r25std_output(void); /*XINPUT_IVY*/T0* r25vision(void); /*XINPUT_IVY*/T6 r25decode_options(T25* C); @@ -2272,25 +2241,22 @@ void gc_mark_agenT25C25l166c28(se_agenT25C25l166c28*u); /*XINPUT_IVY*/void r25make(T25* C); /*XINPUT_IVY*/T0* r25subscribe_input(T25* C,T0* a1); /*XINPUT_IVY*/T6 r25init_wacom_pointer(T25* C,T0* a1,T0* a2); -/*XINPUT_IVY*/void r25slider_event(T25* C,T0* a1,T0* a2); extern T0*oBC30command_arguments; extern int fBC30command_arguments; /*XINPUT_IVY*/T0* r25command_arguments(void); -void agent_launcher(/*agent*/T0*a); +/*XINPUT_IVY*/void r25slider_event(T25* C,T0* a1,T0* a2); void agent_launcher_FAST_ARRAY__STRING__(/*agent*/T0*a,T0* a1); -void agent_launcher_INTEGER_32_INTEGER_32(/*agent*/T0*a,T2 a1,T2 a2); -void agent_launcher_INTEGER_32_INTEGER_32_INTEGER_32_INTEGER_32(/*agent*/T0*a,T2 a1,T2 a2,T2 a3,T2 a4); void agent_launcher_X_INPUT_DEVICE(/*agent*/T0*a,T0* a1); union _se_agent{T0 s0;se_agent0 u0; -se_agenT25C25l166c28 uagenT25C25l166c28; -se_agenT25C25l167c36 uagenT25C25l167c36; -se_agenT25C25l172c37 uagenT25C25l172c37; -se_agenT25C25l173c38 uagenT25C25l173c38; -se_agenT25C25l190c32 uagenT25C25l190c32; -se_agenT25C25l191c41 uagenT25C25l191c41; -se_agenT25C25l192c42 uagenT25C25l192c42; -se_agenT25C25l193c39 uagenT25C25l193c39; -se_agenT25C25l194c40 uagenT25C25l194c40; +se_agenT25f25l178c28 uagenT25f25l178c28; +se_agenT25f25l179c36 uagenT25f25l179c36; +se_agenT25f25l184c37 uagenT25f25l184c37; +se_agenT25f25l185c38 uagenT25f25l185c38; +se_agenT25f25l202c32 uagenT25f25l202c32; +se_agenT25f25l203c41 uagenT25f25l203c41; +se_agenT25f25l204c42 uagenT25f25l204c42; +se_agenT25f25l205c39 uagenT25f25l205c39; +se_agenT25f25l206c40 uagenT25f25l206c40; }; /* -- ------------------------------------------------------------------------------------------------------------ @@ -2347,110 +2313,267 @@ se_agent* new_agent(Tid id); void gc_sweep_agent(fsoc *c); #endif -extern T0*ms69_1874520032; -extern T0*ms25_0bc25c15l360; -extern T0*ms69_22702416; -extern T0*ms69_22702411; -extern T0*ms69_190991; -extern T0*ms143_1472358418; -extern T0*ms69_15980; +extern T0*ms25_0bc70c16; +extern T0*ms25_0bc70c15; +extern T0*ms70_952626; +extern T0*ms70_15980; +extern T0*ms25_0bc25c15l376; +extern T0*ms25_0bc70c15l97; +extern T0*ms70_1874520032; +extern T0*ms70_22702416; +extern T0*ms70_22702411; extern T0*ms25_0bc25; -extern T0*ms69_188916; -extern T0*ms25_0bc69; -extern T0*ms25_0bc69c15l93; -extern T0*ms69_1501987274; +extern T0*ms25_0bc70; +extern T0*ms70_2057747851; extern T0*ms25_1403610646; +extern T0*ms70_1257860908; +extern T0*ms70_190991; +extern T0*ms70_586741066; extern T0*ms25_0; -extern T0*ms69_10739030; -extern T0*ms69_10739024; -extern T0*ms69_10739017; +extern T0*ms70_188916; extern T0*ms25_1959886733; extern T0*ms25_0bc25c15; extern T0*ms25_3479972; +extern T0*ms70_2112369621; extern T0*ms25_21190322; -extern T0*ms69_1756148648; -extern T0*ms69_1756148653; -extern T0*ms69_1619665677; -extern T0*ms69_104371129; -extern T0*ms69_104371267; +extern T0*ms70_10739030; +extern T0*ms70_10739024; +extern T0*ms70_10739017; extern T0*ms25_314746909; +extern T0*ms70_1961093439; extern T0*ms25_1638797568; -extern T0*ms69_1961093439; -extern T0*ms69_1699147265; -extern T0*ms69_23436791; -extern T0*ms25_4487261bc69; +extern T0*ms70_1699147265; +extern T0*ms70_475; +extern T0*ms70_697; +extern T0*ms25_4487261bc70; extern T0*ms25_694149733; -extern T0*ms69_4738061; -extern T0*ms69_2112369621; +extern T0*ms70_1619665677; +extern T0*ms70_1756148648; +extern T0*ms70_1756148653; +extern T0*ms150_1472358418; +extern T0*ms70_4738061; +extern T0*ms70_23436791; extern T0*ms25_557679246; -extern T0*ms69_1940108584; -extern T0*ms69_952626; -extern T0*ms69_1461; -extern T0*ms69_1466; -extern T0*ms69_4725666; -extern T0*ms69_4725661; -extern T0*ms69_56246305; -extern T0*ms69_2676; +extern T0*ms70_1940108584; +extern T0*ms70_1461; +extern T0*ms70_1466; +extern T0*ms70_2676; +extern T0*ms70_4725666; +extern T0*ms70_4725661; extern T0*ms25_4487261; -extern T0*ms69_1257860908; -extern T0*ms69_56246305bc69; +extern T0*ms70_1501987274; +extern T0*ms70_104371129; extern T0*ms25_1403610646bc25; -extern T0*ms69_2057747851; -extern T0*ms25_0bc69c16; -extern T0*ms25_0bc69c15; -extern T0*ms69_586741066; +extern T0*ms70_104371267; +extern T0*ms70_56246305bc70; +extern T0*ms70_56246305; extern T0*ms25_946366; -extern T0*ms69_475; -extern T0*ms69_697; T0*se_ms(int c,char*e); T0*se_string(char*e); void se_msi1(void); void se_msi2(void); -void W70callback_runner(void* C,void* a1,T2 a2,T212 a3); void manifest_string_mark1(void); void once_function_mark(void); void gc_start(void); -typedef struct B110 gc110; -struct B110{T110 object;union {void*flag;gc110*next;} header;}; -extern gc110*store110; -extern int store_left110; -extern fsoc*store_chunk110; -extern gc110*gc_free110; -typedef struct B120 gc120; -struct B120{T120 object;union {void*flag;gc120*next;} header;}; -extern gc120*store120; -extern int store_left120; -extern fsoc*store_chunk120; -extern gc120*gc_free120; -extern na_env na_env293; -extern na_env na_env292; +typedef struct B113 gc113; +struct B113{T113 object;union {void*flag;gc113*next;} header;}; +extern gc113*store113; +extern int store_left113; +extern fsoc*store_chunk113; +extern gc113*gc_free113; +typedef struct B123 gc123; +struct B123{T123 object;union {void*flag;gc123*next;} header;}; +extern gc123*store123; +extern int store_left123; +extern fsoc*store_chunk123; +extern gc123*gc_free123; +extern na_env na_env337; +extern na_env na_env336; +extern na_env na_env335; +extern na_env na_env334; +extern na_env na_env333; +extern na_env na_env332; +extern na_env na_env331; +extern na_env na_env330; +typedef struct B329 gc329; +struct B329{T329 object;union {void*flag;gc329*next;} header;}; +extern gc329*store329; +extern int store_left329; +extern fsoc*store_chunk329; +extern gc329*gc_free329; +extern na_env na_env328; +typedef struct B327 gc327; +struct B327{T327 object;union {void*flag;gc327*next;} header;}; +extern gc327*store327; +extern int store_left327; +extern fsoc*store_chunk327; +extern gc327*gc_free327; +typedef struct B326 gc326; +struct B326{T326 object;union {void*flag;gc326*next;} header;}; +extern gc326*store326; +extern int store_left326; +extern fsoc*store_chunk326; +extern gc326*gc_free326; +extern na_env na_env324; +extern na_env na_env321; +typedef struct B317 gc317; +struct B317{T317 object;union {void*flag;gc317*next;} header;}; +extern gc317*store317; +extern int store_left317; +extern fsoc*store_chunk317; +extern gc317*gc_free317; +extern na_env na_env316; +typedef struct B311 gc311; +struct B311{T311 object;union {void*flag;gc311*next;} header;}; +extern gc311*store311; +extern int store_left311; +extern fsoc*store_chunk311; +extern gc311*gc_free311; +extern na_env na_env310; +typedef struct B308 gc308; +struct B308{T308 object;union {void*flag;gc308*next;} header;}; +extern gc308*store308; +extern int store_left308; +extern fsoc*store_chunk308; +extern gc308*gc_free308; +typedef struct B307 gc307; +struct B307{T307 object;union {void*flag;gc307*next;} header;}; +extern gc307*store307; +extern int store_left307; +extern fsoc*store_chunk307; +extern gc307*gc_free307; +extern na_env na_env306; +extern na_env na_env305; +extern na_env na_env304; +extern na_env na_env303; +typedef struct B302 gc302; +struct B302{T302 object;union {void*flag;gc302*next;} header;}; +extern gc302*store302; +extern int store_left302; +extern fsoc*store_chunk302; +extern gc302*gc_free302; +extern na_env na_env301; +typedef struct B300 gc300; +struct B300{T300 object;union {void*flag;gc300*next;} header;}; +extern gc300*store300; +extern int store_left300; +extern fsoc*store_chunk300; +extern gc300*gc_free300; +extern na_env na_env299; +typedef struct B298 gc298; +struct B298{T298 object;union {void*flag;gc298*next;} header;}; +extern gc298*store298; +extern int store_left298; +extern fsoc*store_chunk298; +extern gc298*gc_free298; +typedef struct B297 gc297; +struct B297{T297 object;union {void*flag;gc297*next;} header;}; +extern gc297*store297; +extern int store_left297; +extern fsoc*store_chunk297; +extern gc297*gc_free297; +typedef struct B296 gc296; +struct B296{T296 object;union {void*flag;gc296*next;} header;}; +extern gc296*store296; +extern int store_left296; +extern fsoc*store_chunk296; +extern gc296*gc_free296; +extern na_env na_env295; +extern na_env na_env294; +typedef struct B293 gc293; +struct B293{T293 object;union {void*flag;gc293*next;} header;}; +extern gc293*store293; +extern int store_left293; +extern fsoc*store_chunk293; +extern gc293*gc_free293; extern na_env na_env291; -extern na_env na_env290; -extern na_env na_env289; -extern na_env na_env288; -extern na_env na_env287; -typedef struct B286 gc286; -struct B286{T286 object;union {void*flag;gc286*next;} header;}; -extern gc286*store286; -extern int store_left286; -extern fsoc*store_chunk286; -extern gc286*gc_free286; -extern na_env na_env284; +typedef struct B290 gc290; +struct B290{T290 object;union {void*flag;gc290*next;} header;}; +extern gc290*store290; +extern int store_left290; +extern fsoc*store_chunk290; +extern gc290*gc_free290; +typedef struct B289 gc289; +struct B289{T289 object;union {void*flag;gc289*next;} header;}; +extern gc289*store289; +extern int store_left289; +extern fsoc*store_chunk289; +extern gc289*gc_free289; +typedef struct B288 gc288; +struct B288{T288 object;union {void*flag;gc288*next;} header;}; +extern gc288*store288; +extern int store_left288; +extern fsoc*store_chunk288; +extern gc288*gc_free288; +typedef struct B287 gc287; +struct B287{T287 object;union {void*flag;gc287*next;} header;}; +extern gc287*store287; +extern int store_left287; +extern fsoc*store_chunk287; +extern gc287*gc_free287; +extern na_env na_env283; +extern na_env na_env282; extern na_env na_env281; +typedef struct B280 gc280; +struct B280{T280 object;union {void*flag;gc280*next;} header;}; +extern gc280*store280; +extern int store_left280; +extern fsoc*store_chunk280; +extern gc280*gc_free280; +typedef struct B154 gc154; +struct B154{T154 object;union {void*flag;gc154*next;} header;}; +extern gc154*store154; +extern int store_left154; +extern fsoc*store_chunk154; +extern gc154*gc_free154; +typedef struct B279 gc279; +struct B279{T279 object;union {void*flag;gc279*next;} header;}; +extern gc279*store279; +extern int store_left279; +extern fsoc*store_chunk279; +extern gc279*gc_free279; +typedef struct B160 gc160; +struct B160{T160 object;union {void*flag;gc160*next;} header;}; +extern gc160*store160; +extern int store_left160; +extern fsoc*store_chunk160; +extern gc160*gc_free160; typedef struct B277 gc277; struct B277{T277 object;union {void*flag;gc277*next;} header;}; extern gc277*store277; extern int store_left277; extern fsoc*store_chunk277; extern gc277*gc_free277; -extern na_env na_env276; +typedef struct B276 gc276; +struct B276{T276 object;union {void*flag;gc276*next;} header;}; +extern gc276*store276; +extern int store_left276; +extern fsoc*store_chunk276; +extern gc276*gc_free276; +typedef struct B275 gc275; +struct B275{T275 object;union {void*flag;gc275*next;} header;}; +extern gc275*store275; +extern int store_left275; +extern fsoc*store_chunk275; +extern gc275*gc_free275; +typedef struct B273 gc273; +struct B273{T273 object;union {void*flag;gc273*next;} header;}; +extern gc273*store273; +extern int store_left273; +extern fsoc*store_chunk273; +extern gc273*gc_free273; typedef struct B271 gc271; struct B271{T271 object;union {void*flag;gc271*next;} header;}; extern gc271*store271; extern int store_left271; extern fsoc*store_chunk271; extern gc271*gc_free271; -extern na_env na_env270; +typedef struct B269 gc269; +struct B269{T269 object;union {void*flag;gc269*next;} header;}; +extern gc269*store269; +extern int store_left269; +extern fsoc*store_chunk269; +extern gc269*gc_free269; typedef struct B268 gc268; struct B268{T268 object;union {void*flag;gc268*next;} header;}; extern gc268*store268; @@ -2458,18 +2581,36 @@ extern int store_left268; extern fsoc*store_chunk268; extern gc268*gc_free268; extern na_env na_env267; +typedef struct B146 gc146; +struct B146{T146 object;union {void*flag;gc146*next;} header;}; +extern gc146*store146; +extern int store_left146; +extern fsoc*store_chunk146; +extern gc146*gc_free146; typedef struct B266 gc266; struct B266{T266 object;union {void*flag;gc266*next;} header;}; extern gc266*store266; extern int store_left266; extern fsoc*store_chunk266; extern gc266*gc_free266; +typedef struct B149 gc149; +struct B149{T149 object;union {void*flag;gc149*next;} header;}; +extern gc149*store149; +extern int store_left149; +extern fsoc*store_chunk149; +extern gc149*gc_free149; typedef struct B265 gc265; struct B265{T265 object;union {void*flag;gc265*next;} header;}; extern gc265*store265; extern int store_left265; extern fsoc*store_chunk265; extern gc265*gc_free265; +typedef struct B148 gc148; +struct B148{T148 object;union {void*flag;gc148*next;} header;}; +extern gc148*store148; +extern int store_left148; +extern fsoc*store_chunk148; +extern gc148*gc_free148; typedef struct B264 gc264; struct B264{T264 object;union {void*flag;gc264*next;} header;}; extern gc264*store264; @@ -2477,285 +2618,109 @@ extern int store_left264; extern fsoc*store_chunk264; extern gc264*gc_free264; extern na_env na_env263; -extern na_env na_env262; -extern na_env na_env261; -extern na_env na_env260; -extern na_env na_env259; +typedef struct B262 gc262; +struct B262{T262 object;union {void*flag;gc262*next;} header;}; +extern gc262*store262; +extern int store_left262; +extern fsoc*store_chunk262; +extern gc262*gc_free262; +typedef struct B261 gc261; +struct B261{T261 object;union {void*flag;gc261*next;} header;}; +extern gc261*store261; +extern int store_left261; +extern fsoc*store_chunk261; +extern gc261*gc_free261; +typedef struct B260 gc260; +struct B260{T260 object;union {void*flag;gc260*next;} header;}; +extern gc260*store260; +extern int store_left260; +extern fsoc*store_chunk260; +extern gc260*gc_free260; +typedef struct B259 gc259; +struct B259{T259 object;union {void*flag;gc259*next;} header;}; +extern gc259*store259; +extern int store_left259; +extern fsoc*store_chunk259; +extern gc259*gc_free259; typedef struct B258 gc258; struct B258{T258 object;union {void*flag;gc258*next;} header;}; extern gc258*store258; extern int store_left258; extern fsoc*store_chunk258; extern gc258*gc_free258; -extern na_env na_env257; typedef struct B256 gc256; struct B256{T256 object;union {void*flag;gc256*next;} header;}; extern gc256*store256; extern int store_left256; extern fsoc*store_chunk256; extern gc256*gc_free256; -extern na_env na_env255; -typedef struct B254 gc254; -struct B254{T254 object;union {void*flag;gc254*next;} header;}; -extern gc254*store254; -extern int store_left254; -extern fsoc*store_chunk254; -extern gc254*gc_free254; +typedef struct B255 gc255; +struct B255{T255 object;union {void*flag;gc255*next;} header;}; +extern gc255*store255; +extern int store_left255; +extern fsoc*store_chunk255; +extern gc255*gc_free255; +extern na_env na_env254; typedef struct B253 gc253; struct B253{T253 object;union {void*flag;gc253*next;} header;}; extern gc253*store253; extern int store_left253; extern fsoc*store_chunk253; extern gc253*gc_free253; -typedef struct B252 gc252; -struct B252{T252 object;union {void*flag;gc252*next;} header;}; -extern gc252*store252; -extern int store_left252; -extern fsoc*store_chunk252; -extern gc252*gc_free252; -extern na_env na_env251; -extern na_env na_env250; +typedef struct B250 gc250; +struct B250{T250 object;union {void*flag;gc250*next;} header;}; +extern gc250*store250; +extern int store_left250; +extern fsoc*store_chunk250; +extern gc250*gc_free250; +typedef struct B153 gc153; +struct B153{T153 object;union {void*flag;gc153*next;} header;}; +extern gc153*store153; +extern int store_left153; +extern fsoc*store_chunk153; +extern gc153*gc_free153; typedef struct B249 gc249; struct B249{T249 object;union {void*flag;gc249*next;} header;}; extern gc249*store249; extern int store_left249; extern fsoc*store_chunk249; extern gc249*gc_free249; -extern na_env na_env247; -typedef struct B246 gc246; -struct B246{T246 object;union {void*flag;gc246*next;} header;}; -extern gc246*store246; -extern int store_left246; -extern fsoc*store_chunk246; -extern gc246*gc_free246; -typedef struct B245 gc245; -struct B245{T245 object;union {void*flag;gc245*next;} header;}; -extern gc245*store245; -extern int store_left245; -extern fsoc*store_chunk245; -extern gc245*gc_free245; -typedef struct B244 gc244; -struct B244{T244 object;union {void*flag;gc244*next;} header;}; -extern gc244*store244; -extern int store_left244; -extern fsoc*store_chunk244; -extern gc244*gc_free244; -typedef struct B243 gc243; -struct B243{T243 object;union {void*flag;gc243*next;} header;}; -extern gc243*store243; -extern int store_left243; -extern fsoc*store_chunk243; -extern gc243*gc_free243; -extern na_env na_env239; -extern na_env na_env238; -extern na_env na_env237; -typedef struct B147 gc147; -struct B147{T147 object;union {void*flag;gc147*next;} header;}; -extern gc147*store147; -extern int store_left147; -extern fsoc*store_chunk147; -extern gc147*gc_free147; -typedef struct B236 gc236; -struct B236{T236 object;union {void*flag;gc236*next;} header;}; -extern gc236*store236; -extern int store_left236; -extern fsoc*store_chunk236; -extern gc236*gc_free236; -typedef struct B235 gc235; -struct B235{T235 object;union {void*flag;gc235*next;} header;}; -extern gc235*store235; -extern int store_left235; -extern fsoc*store_chunk235; -extern gc235*gc_free235; -typedef struct B234 gc234; -struct B234{T234 object;union {void*flag;gc234*next;} header;}; -extern gc234*store234; -extern int store_left234; -extern fsoc*store_chunk234; -extern gc234*gc_free234; -typedef struct B232 gc232; -struct B232{T232 object;union {void*flag;gc232*next;} header;}; -extern gc232*store232; -extern int store_left232; -extern fsoc*store_chunk232; -extern gc232*gc_free232; -typedef struct B230 gc230; -struct B230{T230 object;union {void*flag;gc230*next;} header;}; -extern gc230*store230; -extern int store_left230; -extern fsoc*store_chunk230; -extern gc230*gc_free230; -typedef struct B228 gc228; -struct B228{T228 object;union {void*flag;gc228*next;} header;}; -extern gc228*store228; -extern int store_left228; -extern fsoc*store_chunk228; -extern gc228*gc_free228; -typedef struct B227 gc227; -struct B227{T227 object;union {void*flag;gc227*next;} header;}; -extern gc227*store227; -extern int store_left227; -extern fsoc*store_chunk227; -extern gc227*gc_free227; -typedef struct B226 gc226; -struct B226{T226 object;union {void*flag;gc226*next;} header;}; -extern gc226*store226; -extern int store_left226; -extern fsoc*store_chunk226; -extern gc226*gc_free226; -typedef struct B225 gc225; -struct B225{T225 object;union {void*flag;gc225*next;} header;}; -extern gc225*store225; -extern int store_left225; -extern fsoc*store_chunk225; -extern gc225*gc_free225; -typedef struct B158 gc158; -struct B158{T158 object;union {void*flag;gc158*next;} header;}; -extern gc158*store158; -extern int store_left158; -extern fsoc*store_chunk158; -extern gc158*gc_free158; -typedef struct B54 gc54; -struct B54{T54 object;union {void*flag;gc54*next;} header;}; -extern gc54*store54; -extern int store_left54; -extern fsoc*store_chunk54; -extern gc54*gc_free54; -typedef struct B139 gc139; -struct B139{T139 object;union {void*flag;gc139*next;} header;}; -extern gc139*store139; -extern int store_left139; -extern fsoc*store_chunk139; -extern gc139*gc_free139; -typedef struct B223 gc223; -struct B223{T223 object;union {void*flag;gc223*next;} header;}; -extern gc223*store223; -extern int store_left223; -extern fsoc*store_chunk223; -extern gc223*gc_free223; -typedef struct B142 gc142; -struct B142{T142 object;union {void*flag;gc142*next;} header;}; -extern gc142*store142; -extern int store_left142; -extern fsoc*store_chunk142; -extern gc142*gc_free142; -typedef struct B222 gc222; -struct B222{T222 object;union {void*flag;gc222*next;} header;}; -extern gc222*store222; -extern int store_left222; -extern fsoc*store_chunk222; -extern gc222*gc_free222; -typedef struct B141 gc141; -struct B141{T141 object;union {void*flag;gc141*next;} header;}; -extern gc141*store141; -extern int store_left141; -extern fsoc*store_chunk141; -extern gc141*gc_free141; -typedef struct B221 gc221; -struct B221{T221 object;union {void*flag;gc221*next;} header;}; -extern gc221*store221; -extern int store_left221; -extern fsoc*store_chunk221; -extern gc221*gc_free221; -extern na_env na_env220; -extern na_env na_env219; -typedef struct B218 gc218; -struct B218{T218 object;union {void*flag;gc218*next;} header;}; -extern gc218*store218; -extern int store_left218; -extern fsoc*store_chunk218; -extern gc218*gc_free218; -typedef struct B217 gc217; -struct B217{T217 object;union {void*flag;gc217*next;} header;}; -extern gc217*store217; -extern int store_left217; -extern fsoc*store_chunk217; -extern gc217*gc_free217; -typedef struct B216 gc216; -struct B216{T216 object;union {void*flag;gc216*next;} header;}; -extern gc216*store216; -extern int store_left216; -extern fsoc*store_chunk216; -extern gc216*gc_free216; -typedef struct B215 gc215; -struct B215{T215 object;union {void*flag;gc215*next;} header;}; -extern gc215*store215; -extern int store_left215; -extern fsoc*store_chunk215; -extern gc215*gc_free215; -typedef struct B214 gc214; -struct B214{T214 object;union {void*flag;gc214*next;} header;}; -extern gc214*store214; -extern int store_left214; -extern fsoc*store_chunk214; -extern gc214*gc_free214; -typedef struct B213 gc213; -struct B213{T213 object;union {void*flag;gc213*next;} header;}; -extern gc213*store213; -extern int store_left213; -extern fsoc*store_chunk213; -extern gc213*gc_free213; -extern na_env na_env212; -typedef struct B211 gc211; -struct B211{T211 object;union {void*flag;gc211*next;} header;}; -extern gc211*store211; -extern int store_left211; -extern fsoc*store_chunk211; -extern gc211*gc_free211; -typedef struct B208 gc208; -struct B208{T208 object;union {void*flag;gc208*next;} header;}; -extern gc208*store208; -extern int store_left208; -extern fsoc*store_chunk208; -extern gc208*gc_free208; -typedef struct B146 gc146; -struct B146{T146 object;union {void*flag;gc146*next;} header;}; -extern gc146*store146; -extern int store_left146; -extern fsoc*store_chunk146; -extern gc146*gc_free146; -typedef struct B207 gc207; -struct B207{T207 object;union {void*flag;gc207*next;} header;}; -extern gc207*store207; -extern int store_left207; -extern fsoc*store_chunk207; -extern gc207*gc_free207; -typedef struct B206 gc206; -struct B206{T206 object;union {void*flag;gc206*next;} header;}; -extern gc206*store206; -extern int store_left206; -extern fsoc*store_chunk206; -extern gc206*gc_free206; -typedef struct B148 gc148; -struct B148{T148 object;union {void*flag;gc148*next;} header;}; -extern gc148*store148; -extern int store_left148; -extern fsoc*store_chunk148; -extern gc148*gc_free148; +typedef struct B248 gc248; +struct B248{T248 object;union {void*flag;gc248*next;} header;}; +extern gc248*store248; +extern int store_left248; +extern fsoc*store_chunk248; +extern gc248*gc_free248; +typedef struct B155 gc155; +struct B155{T155 object;union {void*flag;gc155*next;} header;}; +extern gc155*store155; +extern int store_left155; +extern fsoc*store_chunk155; +extern gc155*gc_free155; +typedef struct B73 gc73; +struct B73{T73 object;union {void*flag;gc73*next;} header;}; +extern gc73*store73; +extern int store_left73; +extern fsoc*store_chunk73; +extern gc73*gc_free73; +typedef struct B134 gc134; +struct B134{T134 object;union {void*flag;gc134*next;} header;}; +extern gc134*store134; +extern int store_left134; +extern fsoc*store_chunk134; +extern gc134*gc_free134; +typedef struct B133 gc133; +struct B133{T133 object;union {void*flag;gc133*next;} header;}; +extern gc133*store133; +extern int store_left133; +extern fsoc*store_chunk133; +extern gc133*gc_free133; typedef struct B131 gc131; struct B131{T131 object;union {void*flag;gc131*next;} header;}; extern gc131*store131; extern int store_left131; extern fsoc*store_chunk131; extern gc131*gc_free131; -typedef struct B130 gc130; -struct B130{T130 object;union {void*flag;gc130*next;} header;}; -extern gc130*store130; -extern int store_left130; -extern fsoc*store_chunk130; -extern gc130*gc_free130; -typedef struct B128 gc128; -struct B128{T128 object;union {void*flag;gc128*next;} header;}; -extern gc128*store128; -extern int store_left128; -extern fsoc*store_chunk128; -extern gc128*gc_free128; -typedef struct B72 gc72; -struct B72{T72 object;union {void*flag;gc72*next;} header;}; -extern gc72*store72; -extern int store_left72; -extern fsoc*store_chunk72; -extern gc72*gc_free72; typedef struct B53 gc53; struct B53{T53 object;union {void*flag;gc53*next;} header;}; extern gc53*store53; @@ -2768,45 +2733,45 @@ extern gc46*store46; extern int store_left46; extern fsoc*store_chunk46; extern gc46*gc_free46; -typedef struct B175 gc175; -struct B175{T175 object;union {void*flag;gc175*next;} header;}; -extern gc175*store175; -extern int store_left175; -extern fsoc*store_chunk175; -extern gc175*gc_free175; -typedef struct B205 gc205; -struct B205{T205 object;union {void*flag;gc205*next;} header;}; -extern gc205*store205; -extern int store_left205; -extern fsoc*store_chunk205; -extern gc205*gc_free205; -typedef struct B204 gc204; -struct B204{T204 object;union {void*flag;gc204*next;} header;}; -extern gc204*store204; -extern int store_left204; -extern fsoc*store_chunk204; -extern gc204*gc_free204; - -#define gc_mark202(x) (((se_agent0*)(x))->gc_mark_agent_mold((se_agent*)(x))) - -typedef struct B67 gc67; -struct B67{T67 object;union {void*flag;gc67*next;} header;}; -extern gc67*store67; -extern int store_left67; -extern fsoc*store_chunk67; -extern gc67*gc_free67; +typedef struct B247 gc247; +struct B247{T247 object;union {void*flag;gc247*next;} header;}; +extern gc247*store247; +extern int store_left247; +extern fsoc*store_chunk247; +extern gc247*gc_free247; +typedef struct B191 gc191; +struct B191{T191 object;union {void*flag;gc191*next;} header;}; +extern gc191*store191; +extern int store_left191; +extern fsoc*store_chunk191; +extern gc191*gc_free191; +typedef struct B246 gc246; +struct B246{T246 object;union {void*flag;gc246*next;} header;}; +extern gc246*store246; +extern int store_left246; +extern fsoc*store_chunk246; +extern gc246*gc_free246; + +#define gc_mark244(x) (((se_agent0*)(x))->gc_mark_agent_mold((se_agent*)(x))) + +typedef struct B68 gc68; +struct B68{T68 object;union {void*flag;gc68*next;} header;}; +extern gc68*store68; +extern int store_left68; +extern fsoc*store_chunk68; +extern gc68*gc_free68; typedef struct B43 gc43; struct B43{T43 object;union {void*flag;gc43*next;} header;}; extern gc43*store43; extern int store_left43; extern fsoc*store_chunk43; extern gc43*gc_free43; -typedef struct B69 gc69; -struct B69{T69 object;union {void*flag;gc69*next;} header;}; -extern gc69*store69; -extern int store_left69; -extern fsoc*store_chunk69; -extern gc69*gc_free69; +typedef struct B70 gc70; +struct B70{T70 object;union {void*flag;gc70*next;} header;}; +extern gc70*store70; +extern int store_left70; +extern fsoc*store_chunk70; +extern gc70*gc_free70; extern na_env na_env9; typedef struct B7 gc7; struct B7{T7 object;union {void*flag;gc7*next;} header;}; @@ -2814,91 +2779,257 @@ extern gc7*store7; extern int store_left7; extern fsoc*store_chunk7; extern gc7*gc_free7; -typedef struct B70 gc70; -struct B70{T70 object;union {void*flag;gc70*next;} header;}; -extern gc70*store70; -extern int store_left70; -extern fsoc*store_chunk70; -extern gc70*gc_free70; -typedef struct B64 gc64; -struct B64{T64 object;union {void*flag;gc64*next;} header;}; -extern gc64*store64; -extern int store_left64; -extern fsoc*store_chunk64; -extern gc64*gc_free64; +typedef struct B71 gc71; +struct B71{T71 object;union {void*flag;gc71*next;} header;}; +extern gc71*store71; +extern int store_left71; +extern fsoc*store_chunk71; +extern gc71*gc_free71; +typedef struct B65 gc65; +struct B65{T65 object;union {void*flag;gc65*next;} header;}; +extern gc65*store65; +extern int store_left65; +extern fsoc*store_chunk65; +extern gc65*gc_free65; typedef struct B25 gc25; struct B25{T25 object;union {void*flag;gc25*next;} header;}; extern gc25*store25; extern int store_left25; extern fsoc*store_chunk25; extern gc25*gc_free25; -void gc_sweep110(fsoc*c); -void gc_mark110(T110*o); -void gc_align_mark110(fsoc*c,gc110*p); -extern fsoc H110; -T110*new110(void); -void gc_sweep120(fsoc*c); -void gc_mark120(T120*o); -void gc_align_mark120(fsoc*c,gc120*p); -extern fsoc H120; -T120*new120(void); -void gc_mark293(T293 o); -T293 new293(unsigned int size); -void gc_mark292(T292 o); -T292 new292(unsigned int size); +void gc_sweep113(fsoc*c); +void gc_mark113(T113*o); +void gc_align_mark113(fsoc*c,gc113*p); +extern fsoc H113; +T113*new113(void); +void gc_sweep123(fsoc*c); +void gc_mark123(T123*o); +void gc_align_mark123(fsoc*c,gc123*p); +extern fsoc H123; +T123*new123(void); +void gc_mark337(T337 o); +T337 new337(unsigned int size); +void gc_mark336(T336 o); +T336 new336(unsigned int size); +void gc_mark335(T335 o); +T335 new335(unsigned int size); +void gc_mark334(T334 o); +T334 new334(unsigned int size); +void gc_mark333(T333 o); +T333 new333(unsigned int size); +void gc_mark332(T332 o); +T332 new332(unsigned int size); +void gc_mark331(T331 o); +T331 new331(unsigned int size); +void gc_mark330(T330 o); +T330 new330(unsigned int size); +void gc_sweep329(fsoc*c); +void gc_update_weak_ref_item329(T329* wr); +void gc_mark329(T329*o); +void gc_align_mark329(fsoc*c,gc329*p); +extern fsoc H329; +T329*new329(void); +void gc_mark328(T328 o); +T328 new328(unsigned int size); +void gc_sweep327(fsoc*c); +void gc_mark327(T327*o); +void gc_align_mark327(fsoc*c,gc327*p); +extern fsoc H327; +T327*new327(void); +void gc_sweep326(fsoc*c); +void gc_update_weak_ref_item_polymorph(T0** item); +void gc_mark326(T326*o); +void gc_align_mark326(fsoc*c,gc326*p); +extern fsoc H326; +T326*new326(void); +void gc_mark324(T324 o); +T324 new324(unsigned int size); +void gc_mark321(T321 o); +T321 new321(unsigned int size); +void gc_sweep317(fsoc*c); +void gc_mark317(T317*o); +void gc_align_mark317(fsoc*c,gc317*p); +extern fsoc H317; +T317*new317(void); +void gc_mark316(T316 o); +T316 new316(unsigned int size); +void gc_sweep311(fsoc*c); +void gc_mark311(T311*o); +void gc_align_mark311(fsoc*c,gc311*p); +extern fsoc H311; +T311*new311(void); +void gc_mark310(T310 o); +T310 new310(unsigned int size); +void gc_sweep308(fsoc*c); +void gc_update_weak_ref_item308(T308* wr); +void gc_mark308(T308*o); +void gc_align_mark308(fsoc*c,gc308*p); +extern fsoc H308; +T308*new308(void); +void gc_sweep307(fsoc*c); +void gc_mark307(T307*o); +void gc_align_mark307(fsoc*c,gc307*p); +extern fsoc H307; +T307*new307(void); +void gc_mark306(T306 o); +T306 new306(unsigned int size); +void gc_mark305(T305 o); +T305 new305(unsigned int size); +void gc_mark304(T304 o); +T304 new304(unsigned int size); +void gc_mark303(T303 o); +T303 new303(unsigned int size); +void gc_sweep302(fsoc*c); +void gc_update_weak_ref_item302(T302* wr); +void gc_mark302(T302*o); +void gc_align_mark302(fsoc*c,gc302*p); +extern fsoc H302; +T302*new302(void); +void gc_mark301(T301 o); +T301 new301(unsigned int size); +void gc_sweep300(fsoc*c); +void gc_mark300(T300*o); +void gc_align_mark300(fsoc*c,gc300*p); +extern fsoc H300; +T300*new300(void); +void gc_mark299(T299 o); +T299 new299(unsigned int size); +void gc_sweep298(fsoc*c); +void gc_mark298(T298*o); +void gc_align_mark298(fsoc*c,gc298*p); +extern fsoc H298; +T298*new298(void); +void gc_sweep297(fsoc*c); +void gc_update_weak_ref_item297(T297* wr); +void gc_mark297(T297*o); +void gc_align_mark297(fsoc*c,gc297*p); +extern fsoc H297; +T297*new297(void); +void gc_sweep296(fsoc*c); +void gc_mark296(T296*o); +void gc_align_mark296(fsoc*c,gc296*p); +extern fsoc H296; +T296*new296(void); +void gc_mark295(T295 o); +T295 new295(unsigned int size); +void gc_mark294(T294 o); +T294 new294(unsigned int size); +void gc_sweep293(fsoc*c); +void gc_mark293(T293*o); +void gc_align_mark293(fsoc*c,gc293*p); +extern fsoc H293; +T293*new293(void); void gc_mark291(T291 o); T291 new291(unsigned int size); -void gc_mark290(T290 o); -T290 new290(unsigned int size); -void gc_mark289(T289 o); -T289 new289(unsigned int size); -void gc_mark288(T288 o); -T288 new288(unsigned int size); -void gc_mark287(T287 o); -T287 new287(unsigned int size); -void gc_sweep286(fsoc*c); -void gc_update_weak_ref_item_polymorph(T0** item); -void gc_mark286(T286*o); -void gc_align_mark286(fsoc*c,gc286*p); -extern fsoc H286; -T286*new286(void); -void gc_mark284(T284 o); -T284 new284(unsigned int size); +void gc_sweep290(fsoc*c); +void gc_mark290(T290*o); +void gc_align_mark290(fsoc*c,gc290*p); +extern fsoc H290; +T290*new290(void); +void gc_sweep289(fsoc*c); +void gc_update_weak_ref_item289(T289* wr); +void gc_mark289(T289*o); +void gc_align_mark289(fsoc*c,gc289*p); +extern fsoc H289; +T289*new289(void); +void gc_sweep288(fsoc*c); +void gc_mark288(T288*o); +void gc_align_mark288(fsoc*c,gc288*p); +extern fsoc H288; +T288*new288(void); +void gc_sweep287(fsoc*c); +void gc_mark287(T287*o); +void gc_align_mark287(fsoc*c,gc287*p); +extern fsoc H287; +T287*new287(void); +void gc_mark283(T283 o); +T283 new283(unsigned int size); +void gc_mark282(T282 o); +T282 new282(unsigned int size); void gc_mark281(T281 o); T281 new281(unsigned int size); +void gc_sweep280(fsoc*c); +void gc_mark280(T280*o); +void gc_align_mark280(fsoc*c,gc280*p); +extern fsoc H280; +T280*new280(void); +void gc_sweep154(fsoc*c); +void gc_mark154(T154*o); +void gc_align_mark154(fsoc*c,gc154*p); +extern fsoc H154; +T154*new154(void); +void gc_sweep279(fsoc*c); +void gc_mark279(T279*o); +void gc_align_mark279(fsoc*c,gc279*p); +extern fsoc H279; +T279*new279(void); +void gc_sweep160(fsoc*c); +void gc_mark160(T160*o); +void gc_align_mark160(fsoc*c,gc160*p); +extern fsoc H160; +T160*new160(void); void gc_sweep277(fsoc*c); void gc_mark277(T277*o); void gc_align_mark277(fsoc*c,gc277*p); extern fsoc H277; T277*new277(void); -void gc_mark276(T276 o); -T276 new276(unsigned int size); +void gc_sweep276(fsoc*c); +void gc_mark276(T276*o); +void gc_align_mark276(fsoc*c,gc276*p); +extern fsoc H276; +T276*new276(void); +void gc_sweep275(fsoc*c); +void gc_mark275(T275*o); +void gc_align_mark275(fsoc*c,gc275*p); +extern fsoc H275; +T275*new275(void); +void gc_sweep273(fsoc*c); +void gc_mark273(T273*o); +void gc_align_mark273(fsoc*c,gc273*p); +extern fsoc H273; +T273*new273(void); void gc_sweep271(fsoc*c); void gc_mark271(T271*o); void gc_align_mark271(fsoc*c,gc271*p); extern fsoc H271; T271*new271(void); -void gc_mark270(T270 o); -T270 new270(unsigned int size); +void gc_sweep269(fsoc*c); +void gc_mark269(T269*o); +void gc_align_mark269(fsoc*c,gc269*p); +extern fsoc H269; +T269*new269(void); void gc_sweep268(fsoc*c); -void gc_update_weak_ref_item268(T268* wr); void gc_mark268(T268*o); void gc_align_mark268(fsoc*c,gc268*p); extern fsoc H268; T268*new268(void); void gc_mark267(T267 o); T267 new267(unsigned int size); +void gc_sweep146(fsoc*c); +void gc_mark146(T146*o); +void gc_align_mark146(fsoc*c,gc146*p); +extern fsoc H146; +T146*new146(void); void gc_sweep266(fsoc*c); void gc_mark266(T266*o); void gc_align_mark266(fsoc*c,gc266*p); extern fsoc H266; T266*new266(void); +void gc_sweep149(fsoc*c); +void gc_mark149(T149*o); +void gc_align_mark149(fsoc*c,gc149*p); +extern fsoc H149; +T149*new149(void); void gc_sweep265(fsoc*c); -void gc_update_weak_ref_item265(T265* wr); void gc_mark265(T265*o); void gc_align_mark265(fsoc*c,gc265*p); extern fsoc H265; T265*new265(void); +void gc_sweep148(fsoc*c); +void gc_mark148(T148*o); +void gc_align_mark148(fsoc*c,gc148*p); +extern fsoc H148; +T148*new148(void); void gc_sweep264(fsoc*c); void gc_mark264(T264*o); void gc_align_mark264(fsoc*c,gc264*p); @@ -2906,259 +3037,93 @@ extern fsoc H264; T264*new264(void); void gc_mark263(T263 o); T263 new263(unsigned int size); -void gc_mark262(T262 o); -T262 new262(unsigned int size); -void gc_mark261(T261 o); -T261 new261(unsigned int size); -void gc_mark260(T260 o); -T260 new260(unsigned int size); -void gc_mark259(T259 o); -T259 new259(unsigned int size); +void gc_sweep262(fsoc*c); +void gc_mark262(T262*o); +void gc_align_mark262(fsoc*c,gc262*p); +extern fsoc H262; +T262*new262(void); +void gc_sweep261(fsoc*c); +void gc_mark261(T261*o); +void gc_align_mark261(fsoc*c,gc261*p); +extern fsoc H261; +T261*new261(void); +void gc_sweep260(fsoc*c); +void gc_mark260(T260*o); +void gc_align_mark260(fsoc*c,gc260*p); +extern fsoc H260; +T260*new260(void); +void gc_sweep259(fsoc*c); +void gc_mark259(T259*o); +void gc_align_mark259(fsoc*c,gc259*p); +extern fsoc H259; +T259*new259(void); void gc_sweep258(fsoc*c); -void gc_update_weak_ref_item258(T258* wr); void gc_mark258(T258*o); void gc_align_mark258(fsoc*c,gc258*p); extern fsoc H258; T258*new258(void); -void gc_mark257(T257 o); -T257 new257(unsigned int size); void gc_sweep256(fsoc*c); void gc_mark256(T256*o); void gc_align_mark256(fsoc*c,gc256*p); extern fsoc H256; T256*new256(void); -void gc_mark255(T255 o); -T255 new255(unsigned int size); -void gc_sweep254(fsoc*c); -void gc_mark254(T254*o); -void gc_align_mark254(fsoc*c,gc254*p); -extern fsoc H254; -T254*new254(void); +void gc_sweep255(fsoc*c); +void gc_mark255(T255*o); +void gc_align_mark255(fsoc*c,gc255*p); +extern fsoc H255; +T255*new255(void); +void gc_mark254(T254 o); +T254 new254(unsigned int size); void gc_sweep253(fsoc*c); -void gc_update_weak_ref_item253(T253* wr); void gc_mark253(T253*o); void gc_align_mark253(fsoc*c,gc253*p); extern fsoc H253; T253*new253(void); -void gc_sweep252(fsoc*c); -void gc_mark252(T252*o); -void gc_align_mark252(fsoc*c,gc252*p); -extern fsoc H252; -T252*new252(void); -void gc_mark251(T251 o); -T251 new251(unsigned int size); -void gc_mark250(T250 o); -T250 new250(unsigned int size); +void gc_sweep250(fsoc*c); +void gc_mark250(T250*o); +void gc_align_mark250(fsoc*c,gc250*p); +extern fsoc H250; +T250*new250(void); +void gc_sweep153(fsoc*c); +void gc_mark153(T153*o); +void gc_align_mark153(fsoc*c,gc153*p); +extern fsoc H153; +T153*new153(void); void gc_sweep249(fsoc*c); void gc_mark249(T249*o); void gc_align_mark249(fsoc*c,gc249*p); extern fsoc H249; T249*new249(void); -void gc_mark247(T247 o); -T247 new247(unsigned int size); -void gc_sweep246(fsoc*c); -void gc_mark246(T246*o); -void gc_align_mark246(fsoc*c,gc246*p); -extern fsoc H246; -T246*new246(void); -void gc_sweep245(fsoc*c); -void gc_update_weak_ref_item245(T245* wr); -void gc_mark245(T245*o); -void gc_align_mark245(fsoc*c,gc245*p); -extern fsoc H245; -T245*new245(void); -void gc_sweep244(fsoc*c); -void gc_mark244(T244*o); -void gc_align_mark244(fsoc*c,gc244*p); -extern fsoc H244; -T244*new244(void); -void gc_sweep243(fsoc*c); -void gc_mark243(T243*o); -void gc_align_mark243(fsoc*c,gc243*p); -extern fsoc H243; -T243*new243(void); -void gc_mark239(T239 o); -T239 new239(unsigned int size); -void gc_mark238(T238 o); -T238 new238(unsigned int size); -void gc_mark237(T237 o); -T237 new237(unsigned int size); -void gc_sweep147(fsoc*c); -void gc_mark147(T147*o); -void gc_align_mark147(fsoc*c,gc147*p); -extern fsoc H147; -T147*new147(void); -void gc_sweep236(fsoc*c); -void gc_mark236(T236*o); -void gc_align_mark236(fsoc*c,gc236*p); -extern fsoc H236; -T236*new236(void); -void gc_sweep235(fsoc*c); -void gc_mark235(T235*o); -void gc_align_mark235(fsoc*c,gc235*p); -extern fsoc H235; -T235*new235(void); -void gc_sweep234(fsoc*c); -void gc_mark234(T234*o); -void gc_align_mark234(fsoc*c,gc234*p); -extern fsoc H234; -T234*new234(void); -void gc_sweep232(fsoc*c); -void gc_mark232(T232*o); -void gc_align_mark232(fsoc*c,gc232*p); -extern fsoc H232; -T232*new232(void); -void gc_sweep230(fsoc*c); -void gc_mark230(T230*o); -void gc_align_mark230(fsoc*c,gc230*p); -extern fsoc H230; -T230*new230(void); -void gc_sweep228(fsoc*c); -void gc_mark228(T228*o); -void gc_align_mark228(fsoc*c,gc228*p); -extern fsoc H228; -T228*new228(void); -void gc_sweep227(fsoc*c); -void gc_mark227(T227*o); -void gc_align_mark227(fsoc*c,gc227*p); -extern fsoc H227; -T227*new227(void); -void gc_sweep226(fsoc*c); -void gc_mark226(T226*o); -void gc_align_mark226(fsoc*c,gc226*p); -extern fsoc H226; -T226*new226(void); -void gc_sweep225(fsoc*c); -void gc_mark225(T225*o); -void gc_align_mark225(fsoc*c,gc225*p); -extern fsoc H225; -T225*new225(void); -void gc_sweep158(fsoc*c); -void gc_mark158(T158*o); -void gc_align_mark158(fsoc*c,gc158*p); -extern fsoc H158; -T158*new158(void); -void gc_sweep54(fsoc*c); -void gc_mark54(T54*o); -void gc_align_mark54(fsoc*c,gc54*p); -extern fsoc H54; -T54*new54(void); -void gc_sweep139(fsoc*c); -void gc_mark139(T139*o); -void gc_align_mark139(fsoc*c,gc139*p); -extern fsoc H139; -T139*new139(void); -void gc_sweep223(fsoc*c); -void gc_mark223(T223*o); -void gc_align_mark223(fsoc*c,gc223*p); -extern fsoc H223; -T223*new223(void); -void gc_sweep142(fsoc*c); -void gc_mark142(T142*o); -void gc_align_mark142(fsoc*c,gc142*p); -extern fsoc H142; -T142*new142(void); -void gc_sweep222(fsoc*c); -void gc_mark222(T222*o); -void gc_align_mark222(fsoc*c,gc222*p); -extern fsoc H222; -T222*new222(void); -void gc_sweep141(fsoc*c); -void gc_mark141(T141*o); -void gc_align_mark141(fsoc*c,gc141*p); -extern fsoc H141; -T141*new141(void); -void gc_sweep221(fsoc*c); -void gc_mark221(T221*o); -void gc_align_mark221(fsoc*c,gc221*p); -extern fsoc H221; -T221*new221(void); -void gc_mark220(T220 o); -T220 new220(unsigned int size); -void gc_mark219(T219 o); -T219 new219(unsigned int size); -void gc_sweep218(fsoc*c); -void gc_mark218(T218*o); -void gc_align_mark218(fsoc*c,gc218*p); -extern fsoc H218; -T218*new218(void); -void gc_sweep217(fsoc*c); -void gc_mark217(T217*o); -void gc_align_mark217(fsoc*c,gc217*p); -extern fsoc H217; -T217*new217(void); -void gc_sweep216(fsoc*c); -void gc_mark216(T216*o); -void gc_align_mark216(fsoc*c,gc216*p); -extern fsoc H216; -T216*new216(void); -void gc_sweep215(fsoc*c); -void gc_mark215(T215*o); -void gc_align_mark215(fsoc*c,gc215*p); -extern fsoc H215; -T215*new215(void); -void gc_sweep214(fsoc*c); -void gc_mark214(T214*o); -void gc_align_mark214(fsoc*c,gc214*p); -extern fsoc H214; -T214*new214(void); -void gc_sweep213(fsoc*c); -void gc_mark213(T213*o); -void gc_align_mark213(fsoc*c,gc213*p); -extern fsoc H213; -T213*new213(void); -void gc_mark212(T212 o); -T212 new212(unsigned int size); -void gc_sweep211(fsoc*c); -void gc_mark211(T211*o); -void gc_align_mark211(fsoc*c,gc211*p); -extern fsoc H211; -T211*new211(void); -void gc_sweep208(fsoc*c); -void gc_mark208(T208*o); -void gc_align_mark208(fsoc*c,gc208*p); -extern fsoc H208; -T208*new208(void); -void gc_sweep146(fsoc*c); -void gc_mark146(T146*o); -void gc_align_mark146(fsoc*c,gc146*p); -extern fsoc H146; -T146*new146(void); -void gc_sweep207(fsoc*c); -void gc_mark207(T207*o); -void gc_align_mark207(fsoc*c,gc207*p); -extern fsoc H207; -T207*new207(void); -void gc_sweep206(fsoc*c); -void gc_mark206(T206*o); -void gc_align_mark206(fsoc*c,gc206*p); -extern fsoc H206; -T206*new206(void); -void gc_sweep148(fsoc*c); -void gc_mark148(T148*o); -void gc_align_mark148(fsoc*c,gc148*p); -extern fsoc H148; -T148*new148(void); +void gc_sweep248(fsoc*c); +void gc_mark248(T248*o); +void gc_align_mark248(fsoc*c,gc248*p); +extern fsoc H248; +T248*new248(void); +void gc_sweep155(fsoc*c); +void gc_mark155(T155*o); +void gc_align_mark155(fsoc*c,gc155*p); +extern fsoc H155; +T155*new155(void); +void gc_sweep73(fsoc*c); +void gc_mark73(T73*o); +void gc_align_mark73(fsoc*c,gc73*p); +extern fsoc H73; +T73*new73(void); +void gc_sweep134(fsoc*c); +void gc_mark134(T134*o); +void gc_align_mark134(fsoc*c,gc134*p); +extern fsoc H134; +T134*new134(void); +void gc_sweep133(fsoc*c); +void gc_mark133(T133*o); +void gc_align_mark133(fsoc*c,gc133*p); +extern fsoc H133; +T133*new133(void); void gc_sweep131(fsoc*c); void gc_mark131(T131*o); void gc_align_mark131(fsoc*c,gc131*p); extern fsoc H131; T131*new131(void); -void gc_sweep130(fsoc*c); -void gc_mark130(T130*o); -void gc_align_mark130(fsoc*c,gc130*p); -extern fsoc H130; -T130*new130(void); -void gc_sweep128(fsoc*c); -void gc_mark128(T128*o); -void gc_align_mark128(fsoc*c,gc128*p); -extern fsoc H128; -T128*new128(void); -void gc_sweep72(fsoc*c); -void gc_mark72(T72*o); -void gc_align_mark72(fsoc*c,gc72*p); -extern fsoc H72; -T72*new72(void); void gc_sweep53(fsoc*c); void gc_mark53(T53*o); void gc_align_mark53(fsoc*c,gc53*p); @@ -3169,36 +3134,36 @@ void gc_mark46(T46*o); void gc_align_mark46(fsoc*c,gc46*p); extern fsoc H46; T46*new46(void); -void gc_sweep175(fsoc*c); -void gc_mark175(T175*o); -void gc_align_mark175(fsoc*c,gc175*p); -extern fsoc H175; -T175*new175(void); -void gc_sweep205(fsoc*c); -void gc_mark205(T205*o); -void gc_align_mark205(fsoc*c,gc205*p); -extern fsoc H205; -T205*new205(void); -void gc_sweep204(fsoc*c); -void gc_mark204(T204*o); -void gc_align_mark204(fsoc*c,gc204*p); -extern fsoc H204; -T204*new204(void); -void gc_sweep67(fsoc*c); -void gc_mark67(T67*o); -void gc_align_mark67(fsoc*c,gc67*p); -extern fsoc H67; -T67*new67(void); +void gc_sweep247(fsoc*c); +void gc_mark247(T247*o); +void gc_align_mark247(fsoc*c,gc247*p); +extern fsoc H247; +T247*new247(void); +void gc_sweep191(fsoc*c); +void gc_mark191(T191*o); +void gc_align_mark191(fsoc*c,gc191*p); +extern fsoc H191; +T191*new191(void); +void gc_sweep246(fsoc*c); +void gc_mark246(T246*o); +void gc_align_mark246(fsoc*c,gc246*p); +extern fsoc H246; +T246*new246(void); +void gc_sweep68(fsoc*c); +void gc_mark68(T68*o); +void gc_align_mark68(fsoc*c,gc68*p); +extern fsoc H68; +T68*new68(void); void gc_sweep43(fsoc*c); void gc_mark43(T43*o); void gc_align_mark43(fsoc*c,gc43*p); extern fsoc H43; T43*new43(void); -void gc_sweep69(fsoc*c); -void gc_mark69(T69*o); -void gc_align_mark69(fsoc*c,gc69*p); -extern fsoc H69; -T69*new69(void); +void gc_sweep70(fsoc*c); +void gc_mark70(T70*o); +void gc_align_mark70(fsoc*c,gc70*p); +extern fsoc H70; +T70*new70(void); void gc_mark9(T9 o); T9 new9(unsigned int size); void gc_sweep7(fsoc*c); @@ -3206,43 +3171,34 @@ void gc_mark7(T7*o); void gc_align_mark7(fsoc*c,gc7*p); extern fsoc H7; T7*new7(void); -void gc_sweep70(fsoc*c); -void gc_mark70(T70*o); -void gc_align_mark70(fsoc*c,gc70*p); -extern fsoc H70; -T70*new70(void); -void gc_sweep64(fsoc*c); -void gc_mark64(T64*o); -void gc_align_mark64(fsoc*c,gc64*p); -extern fsoc H64; -T64*new64(void); +void gc_sweep71(fsoc*c); +void gc_mark71(T71*o); +void gc_align_mark71(fsoc*c,gc71*p); +extern fsoc H71; +T71*new71(void); +void gc_sweep65(fsoc*c); +void gc_mark65(T65*o); +void gc_align_mark65(fsoc*c,gc65*p); +extern fsoc H65; +T65*new65(void); void gc_sweep25(fsoc*c); void gc_mark25(T25*o); void gc_align_mark25(fsoc*c,gc25*p); extern fsoc H25; T25*new25(void); -void Xgc_mark242(T0*o); +void Xgc_mark286(T0*o); void Xgc_mark49(T0*o); -void Xgc_mark71(T0*o); +void Xgc_mark72(T0*o); extern T25*eiffel_root_object; extern int se_argc; extern char**se_argv; -#define SE_MAXID 294 +#define SE_MAXID 338 extern T7*g[]; extern T7*t[]; extern int se_strucT[]; void se_atexit(void); void initialize_eiffel_runtime(int argc,char*argv[]); int main(int argc,char*argv[]); -void X71prepare(T0*C,T0* a1); -T2 X71priority(T0*C); -T6 X71done(T0*C); -T6 X71is_ready(T0*C,T0* a1); -void X71continue(T0*C); -void X109expect(T0*C,T0* a1); -T6 X109occurred(T0*C,T0* a1); -T2 X49descriptor(T0*C); -T2 X49filtered_descriptor(T0*C); #ifdef __cplusplus } -- cgit v1.1