summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorribet2009-06-25 14:43:50 +0000
committerribet2009-06-25 14:43:50 +0000
commit1171c3c7b6ff7632959493dd3dc234d7f6011f88 (patch)
tree4733d7642af58bbf1d108f3a0376893a304c4c0b
parentc90578dee067bcdc267edf7dc4457948e6df61f3 (diff)
downloadxinput-ivy-1171c3c7b6ff7632959493dd3dc234d7f6011f88.zip
xinput-ivy-1171c3c7b6ff7632959493dd3dc234d7f6011f88.tar.gz
xinput-ivy-1171c3c7b6ff7632959493dd3dc234d7f6011f88.tar.bz2
xinput-ivy-1171c3c7b6ff7632959493dd3dc234d7f6011f88.tar.xz
Version 1.2
-rw-r--r--calibration.e550
-rw-r--r--debian/changelog14
-rw-r--r--reference_points.e189
-rw-r--r--wacom_pointer.e67
-rw-r--r--xinput_ivy.c18896
-rw-r--r--xinput_ivy.e18
-rw-r--r--xinput_ivy.h3298
7 files changed, 11525 insertions, 11507 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 <ribet@cena.fr> 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,1251 +146,16 @@ 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) */
}
}
-
-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 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);
-}
-/*
--- ------------------------------------------------------------------------------------------------------------
--- 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.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. */
-
-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;
-
-static int chunk_rounded(int size) {
- int rounded_size = size;
- int diff = rounded_size%RSOC_SIZE;
-
- if (diff != 0) rounded_size += (RSOC_SIZE-diff);
- return rounded_size;
-}
-
-/* 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<max){
- mid=(min+max)>>1;
- if (gcmt[mid]<c)
- min=mid+1;
- else
- max=mid;
- }
- if (gcmt[min]<c)
- return min+1;
- else
- return min;
-}
-
-static void may_free_rsocfl(void) {
- /* May free all chunks of `rsocfl' (ReSizable Object Chunk Free List)
- in some circumstances.
- */
- rsoc* next; register rsoc *current;
- unsigned int count = rsocfl_count();
- register unsigned int where = gcmt_used;
- register unsigned int how_many;
-
- if ((count > 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 = 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.
-*/
-#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<FSOC_LIMIT)&&(rsoc_count<RSOC_LIMIT)) {
- fsoc_count_ceil++;
- rsoc_count_ceil++;
- return 1;
- }
- else return 0;
- }
- else {
- if (fsoc_count<FSOC_LIMIT) {
- fsoc_count_ceil++;
- return 1;
- }
- else return 0;
- }
- }
- else {
- if (rsoc_count_ceil <= rsoc_count) {
- if (rsoc_count<RSOC_LIMIT) {
- rsoc_count_ceil++;
- return 1;
- }
- else return 0;
- }
- else return 0;
- }
- }
- else {
- 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 <FM-15/04/2005> */
-
- /* --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 (gp<eoc) {
- while (gp->header.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 ((pp<eoc)&&(pp->header.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;
-}
-
-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;
-}
-
-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;
-}
-
-/* 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_count<rsoc_count_ceil) {
- 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)));
- 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);
- }
-}
-
-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);
-
- /* 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;
-}
-
-unsigned int fsocfl_count(void) {
- register unsigned int r=0;
- register fsoc*p=fsocfl;
- while (p!=NULL) {
- r++;
- p=p->next;
- }
- return r;
-}
-
-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++;
- }
-}
-
-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;
- }
-}
-
-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;
- }
-}
-
-#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.
-*/
-
-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++));
- }
-}
-
-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 <rudi@amiga.com>
-
- Thanks to Andy Stout and Kevin Croombs at Tao Group for their
- precious help!
-
- ChangeLog:
- - 2000-06-12 Rudi Chiarito <rudi@amiga.com>
- * Version 1.0
- - 2001-01-01 Joseph Kiniry <kiniry@acm.org>
- * Integrated with new SE 0.75b
- - 2001-08-10 Rudi Chiarito <rudi@amiga.com>
- * Inlined and optimised range marking
- * Added some more comments
- * Added conditional breakpoint in mark_stack_and_registers
- - 2002-09-21 Rudi Chiarito <rudi@amiga.com>
- * Removed redundant 'ret'
-*/
-
-__inline__ void mark_stack_and_registers(void)
-{
-
- 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.
-
- Registers:
- p0 pointer to stack block
- p1 pointer to gc_mark()
- p2 scratch pointer
- i0 length of current stack block
- i1 scratch register
- */
-
-# 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"
-
- /* point to last location in the block, before the descriptor */
- "\t\tcpy.p p0 + ([(p0 - STK_SIZE) + STK_LENGTH] - STK_SIZE - 4),p2\n"
-
- /* mark this block */
- "\t\twhile p2>=p0\n"
-
- "\t\t\tgos p1,(p2 : -)\n"
- "\t\t\tsub.p 4,p2\n"
- "\t\tendwhile\n"
- "\tendloop\n"
-
- : /* no output */
- : "p" (pointer_to_gc_mark)
- : "p0", "p1", "p2", "i0"
- );
-}
-
-#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.
- */
-
- (void)SETJMP(registers); /* To fill the C stack with registers. */
- stack_pointer = (void**)(void*)(&registers) + ((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
-
- while (stack_pointer >= max) {
- gc_mark(*(stack_pointer--));
- }
+#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
-
-/****************************************************************************
- * Generic code for architectures where addresses decrease 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*)(&registers);
-
-# 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
-
- while (stack_pointer <= max) {
- gc_mark(*(stack_pointer++));
- }
-}
+/* Defined in .h */
#endif
void x_key_info_init(XKeyInfo *info, int *min_k, int *max_k, int *num_k) {
@@ -2425,7 +1190,7 @@ void io_copy(char*source, char*target) {
buffer = (char*)se_malloc(IO_COPY_BUFSIZE);
while ((read_count = fread(buffer, 1, IO_COPY_BUFSIZE, src)), read_count) {
- fwrite(buffer, 1, read_count, tgt);
+ size_t dummy = fwrite(buffer, 1, read_count, tgt);
}
fclose(src);
fclose(tgt);
@@ -2754,9 +1519,10 @@ void IvyChannelInit(void) {
Channel IvyChannelAdd (HANDLE fd, void *data,
ChannelHandleDelete handle_delete,
- ChannelHandleRead handle_read
+ ChannelHandleRead handle_read,
+ ChannelHandleRead handle_write
) {
- return ((void * (*)(void*, int, void*, void*, void*))eiffel_up_fct)(eiffel_ivy_object, fd, data, handle_read, handle_delete);
+ return ((void * (*)(void*, int, void*, void*, void*, void*))eiffel_up_fct)(eiffel_ivy_object, fd, data, handle_delete, handle_read, handle_write);
}
void IvyChannelRemove (Channel channel) {
@@ -2777,7 +1543,7 @@ void ivy_init(char * application_name, char * ready_text, void * eiffel_object,
}
void * bind_message(char * pattern, void * agent) {
- IvyBindMsg(plugin_read_callback, agent, "%s", pattern);
+ return IvyBindMsg(plugin_read_callback, agent, "%s", pattern);
}
void IvyChannelStop (void)
@@ -3431,6 +2197,1262 @@ void basic_window_set_size(void *window,int x, int y, int width, int height){
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.
+--
+-- 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 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);
+}
+/*
+-- ------------------------------------------------------------------------------------------------------------
+-- 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.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. */
+
+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;
+
+static int chunk_rounded(int size) {
+ int rounded_size = size;
+ int diff = rounded_size%RSOC_SIZE;
+
+ if (diff != 0) rounded_size += (RSOC_SIZE-diff);
+ return rounded_size;
+}
+
+/* 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<max){
+ mid=(min+max)>>1;
+ if (gcmt[mid]<c)
+ min=mid+1;
+ else
+ max=mid;
+ }
+ if (gcmt[min]<c)
+ return min+1;
+ else
+ return min;
+}
+
+static void may_free_rsocfl(void) {
+ /* May free all chunks of `rsocfl' (ReSizable Object Chunk Free List)
+ in some circumstances.
+ */
+ rsoc* next; register rsoc *current;
+ unsigned int count = rsocfl_count();
+ register unsigned int where = gcmt_used;
+ register unsigned int how_many;
+
+ if ((count > 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.
+*/
+#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<FSOC_LIMIT)&&(rsoc_count<RSOC_LIMIT)) {
+ fsoc_count_ceil++;
+ rsoc_count_ceil++;
+ return 1;
+ }
+ else return 0;
+ }
+ else {
+ if (fsoc_count<FSOC_LIMIT) {
+ fsoc_count_ceil++;
+ return 1;
+ }
+ else return 0;
+ }
+ }
+ else {
+ if (rsoc_count_ceil <= rsoc_count) {
+ if (rsoc_count<RSOC_LIMIT) {
+ rsoc_count_ceil++;
+ return 1;
+ }
+ else return 0;
+ }
+ else return 0;
+ }
+ }
+ else {
+ 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 <FM-15/04/2005> */
+
+ /* --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 (gp<eoc) {
+ while (gp->header.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 ((pp<eoc)&&(pp->header.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;
+}
+
+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;
+}
+
+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;
+}
+
+/* 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_count<rsoc_count_ceil) {
+ 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)));
+ 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);
+ }
+}
+
+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);
+
+ /* 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;
+}
+
+unsigned int fsocfl_count(void) {
+ register unsigned int r=0;
+ register fsoc*p=fsocfl;
+ while (p!=NULL) {
+ r++;
+ p=p->next;
+ }
+ return r;
+}
+
+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++;
+ }
+}
+
+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;
+ }
+}
+
+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;
+ }
+}
+
+#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.
+*/
+
+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++));
+ }
+}
+
+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 <rudi@amiga.com>
+
+ Thanks to Andy Stout and Kevin Croombs at Tao Group for their
+ precious help!
+
+ ChangeLog:
+ - 2000-06-12 Rudi Chiarito <rudi@amiga.com>
+ * Version 1.0
+ - 2001-01-01 Joseph Kiniry <kiniry@acm.org>
+ * Integrated with new SE 0.75b
+ - 2001-08-10 Rudi Chiarito <rudi@amiga.com>
+ * Inlined and optimised range marking
+ * Added some more comments
+ * Added conditional breakpoint in mark_stack_and_registers
+ - 2002-09-21 Rudi Chiarito <rudi@amiga.com>
+ * Removed redundant 'ret'
+*/
+
+__inline__ void mark_stack_and_registers(void)
+{
+
+ 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.
+
+ Registers:
+ p0 pointer to stack block
+ p1 pointer to gc_mark()
+ p2 scratch pointer
+ i0 length of current stack block
+ i1 scratch register
+ */
+
+# 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"
+
+ /* point to last location in the block, before the descriptor */
+ "\t\tcpy.p p0 + ([(p0 - STK_SIZE) + STK_LENGTH] - STK_SIZE - 4),p2\n"
+
+ /* mark this block */
+ "\t\twhile p2>=p0\n"
+
+ "\t\t\tgos p1,(p2 : -)\n"
+ "\t\t\tsub.p 4,p2\n"
+ "\t\tendwhile\n"
+ "\tendloop\n"
+
+ : /* no output */
+ : "p" (pointer_to_gc_mark)
+ : "p0", "p1", "p2", "i0"
+ );
+}
+
+#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.
+ */
+
+ (void)SETJMP(registers); /* To fill the C stack with registers. */
+ stack_pointer = (void**)(void*)(&registers) + ((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
+
+ while (stack_pointer >= max) {
+ gc_mark(*(stack_pointer--));
+ }
+}
+#else
+
+/****************************************************************************
+ * Generic code for architectures where addresses decrease 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*)(&registers);
+
+# 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
+
+ while (stack_pointer <= max) {
+ gc_mark(*(stack_pointer++));
+ }
+}
+#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){
-T0* _v=(void*)0;
+/*NATIVE_ARRAY[IVY_CLIENT]*/void r282remove(T282 C,T2 a1,T2 a2){
T2 _i=0;
_i=a1;
-while (!(((int32_t)(_i))>(a2)))
+while(!((_i)==(a2)))
{
-/*l579c5/native_array.e*/
-(C)[_i]=(_v);
-/*l580c5/native_array.e*/
+(C)[_i]=((C)[((int32_t)(_i))+(INT32_C(1))]);
_i=((int32_t)(_i))+(INT32_C(1));
}
}/*--*/
-/*NATIVE_ARRAY[IVY_CLIENT]*/void r238remove(T238 C,T2 a1,T2 a2){
+/*NATIVE_ARRAY[IVY_CLIENT]*/void r282clear(T282 C,T2 a1,T2 a2){
+T0* _v=(void*)0;
T2 _i=0;
_i=a1;
-while (!((_i)==(a2)))
+while(!(((int32_t)(_i))>(a2)))
{
-/*l406c5/native_array.e*/
-(C)[_i]=((C)[((int32_t)(_i))+(INT32_C(1))]);
-/*l407c5/native_array.e*/
+(C)[_i]=(_v);
_i=((int32_t)(_i))+(INT32_C(1));
}
}/*--*/
-/*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[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[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;
}/*--*/
+/*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'))){
-_state=INT32_C(1);
-}
-else if((_cc)==(((T3)'\055'))){
-/*l904c7/string.e*/
-_negative=((T6)(1));
-/*l905c7/string.e*/
+_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(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);
+if((r3is_separator(_c))==(0)){
+r7add_last((T7*)(r7string_buffer()),_c);
}
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);
+r256add_last(((T256*)/*no_dispatch.e*/a1),r7twin((T7*)(r7string_buffer())));
+_state=INT32_C(0);
}
-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)));
-}
-else{
-_state=INT32_C(8);
-}
-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;
}/*--*/
-/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r254make(T254* C,T2 a1){
-/*l39c4/fast_array.e*/
+/*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 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*/));
-}
-}
-/*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;
+r267clear_all((/*RF2*/(C)->_storage/*3p*/),(/*RF2*/(C)->_upper/*3p*/));
}
-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){
+/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T6 r288should_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[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]*/T0* r288new_node(T288* 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*/
+R=(/*RF2*/((T289*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/);
if((R)==((void*)((void*)0))){
-tmp0=((T0*)(new246()));
-r246make(((T246*)tmp0),a1,a2,a3);
-R=tmp0;
+tmp0/*new*/=((T0*)(new290()));
+r290make(((T290*)tmp0/*new*/),a1,a2,a3);
+R=tmp0/*new*/;
+/*tmp0.unlock*/
}
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);
+(/*RF2*/((T289*)((/*RF2*/(C)->_free_nodes/*5p*/)))->_item/*ip*/)=(/*RF2*/(((T290*)R))->_next/*3p*/);
+r290make(((T290*)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){
+/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r288special_common_dictionary(T288* 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->_buckets/*5p*/)=new333(_new_capacity);
/*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){
+/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r288increase_capacity(T288* C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
-T289 _old_buckets=(void*)0;
+T333 _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*/
+_new_capacity=r288prime_capacity(((int32_t)((/*RF2*/(C)->_capacity/*5p*/)))+(INT32_C(1)));
_old_buckets=(/*RF2*/(C)->_buckets/*5p*/);
-/*l412c5/hashed_dictionary.e*/
-/*SFN*/(C->_buckets/*5p*/)=new289(_new_capacity);
-/*l413c5/hashed_dictionary.e*/
+/*SFN*/(C->_buckets/*5p*/)=new333(_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*/(((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*/
+_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);
-/*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){
-/*[INTERNAL_C_LOCAL list*/
-T0* tmp0;
-/*INTERNAL_C_LOCAL list]*/
-T0* R=(void*)0;
+/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r288add(T288* C,T0* a1,T0* a2){
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))));
+/*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;
-}/*--*/
-T0*oBC136common_free_nodes=(void*)0;
-int fBC136common_free_nodes=0;
-
-/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T0* r234common_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_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*/
-/*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_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){
+/*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)(r230key_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_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T6 r230key_safe_equal(T0* a1,T0* a2){
-T6 R=0;
-if((a1)==((void*)(a2))){
-R=((T6)(1));
+while(1){
+tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
+if(tmp0/*or else*/){
}
else{
-R=((T6)(!memcmp(((T72*)a1),(a2),sizeof(T72))));
+tmp0/*or else*/=((T6)(r276key_safe_equal((/*RF2*/(((T327*)_node))->_key/*3p*/),a1)));
}
-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;
-}/*--*/
-
-/*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);
-}/*--*/
-
-/*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){
-/*[INTERNAL_C_LOCAL list*/
-T0* 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)(r228key_safe_equal((T0*)(/*se_evobt*/_node,se_print_run_time_stack(),exit(1),tmp0=(void*)0),a1))))))
-{
-_node=(void*)0;
+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[SENSITIVE,POINTER]*/void r276make(T276* C){
+r276create_with_capacity(C,INT32_C(53));
}/*--*/
-/*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]*/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*/);
}
-/*l67c4/hashed_dictionary.e*/
-R=(/*RF2*/(((T252*)_node))->_item/*3p*/);
+R=(/*RF2*/(((T296*)_node))->_item/*3p*/);
return R;
}/*--*/
-/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r215prime_capacity(T2 a1){
+/*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)));
+}
+return R;
+}/*--*/
+
+/*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 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 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 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 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*/
+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))));
+}
+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*/T0* r69type_to_name(T2 a1){
+/*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* 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(;o1<store110;o1++){
+for(;o1<store113;o1++){
if((o1->header.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(;o1<store120;o1++){
+for(;o1<store123;o1++){
if((o1->header.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,28 @@ 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_mark290(T290 o){
+void gc_mark334(T334 o){
if(NULL==gc_find_chunk(o))
return; /* external NA */
{rsoh*h=((rsoh*)o)-1;
@@ -12706,32 +12186,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_mark244((T244*)(e));
}}}}
}/*--*/
-T290 new290(unsigned int size){
+T334 new334(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_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_env290.store=((rsoh*)(((char*)(na_env290.store))+size));
+na_env334.store=((rsoh*)(((char*)(na_env334.store))+size));
}
else {
-r->header.size=size+na_env290.store_left;
-na_env290.store_left=0;
+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((T290)(r+1));
+return((T334)(r+1));
}
-return((T290)new_na(&na_env290,size));
+return((T334)new_na(&na_env334,size));
}/*--*/
-void gc_mark289(T289 o){
+void gc_mark333(T333 o){
if(NULL==gc_find_chunk(o))
return; /* external NA */
{rsoh*h=((rsoh*)o)-1;
@@ -12741,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_mark246((T246*)(e));
+if(NULL!=e)gc_mark290((T290*)(e));
}}}}
}/*--*/
-T289 new289(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_env289.store_left)){
-rsoh*r=na_env289.store;
-na_env289.store_left-=size;
-if(na_env289.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_env289.store=((rsoh*)(((char*)(na_env289.store))+size));
+na_env333.store=((rsoh*)(((char*)(na_env333.store))+size));
}
else {
-r->header.size=size+na_env289.store_left;
-na_env289.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((T289)(r+1));
+return((T333)(r+1));
}
-return((T289)new_na(&na_env289,size));
+return((T333)new_na(&na_env333,size));
}/*--*/
-void gc_mark288(T288 o){
+void gc_mark332(T332 o){
if(NULL==gc_find_chunk(o))
return; /* external NA */
{rsoh*h=((rsoh*)o)-1;
@@ -12776,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)Xgc_mark71((T0*)(e));
+if(NULL!=e)Xgc_mark72((T0*)(e));
}}}}
}/*--*/
-T288 new288(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_env288.store_left)){
-rsoh*r=na_env288.store;
-na_env288.store_left-=size;
-if(na_env288.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_env288.store=((rsoh*)(((char*)(na_env288.store))+size));
+na_env332.store=((rsoh*)(((char*)(na_env332.store))+size));
}
else {
-r->header.size=size+na_env288.store_left;
-na_env288.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((T288)(r+1));
+return((T332)(r+1));
}
-return((T288)new_na(&na_env288,size));
+return((T332)new_na(&na_env332,size));
}/*--*/
-void gc_mark287(T287 o){
+void gc_mark331(T331 o){
if(NULL==gc_find_chunk(o))
return; /* external NA */
{rsoh*h=((rsoh*)o)-1;
@@ -12811,62 +12291,96 @@ 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));
}}}}
}/*--*/
-T287 new287(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_env287.store_left)){
-rsoh*r=na_env287.store;
-na_env287.store_left-=size;
-if(na_env287.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_env287.store=((rsoh*)(((char*)(na_env287.store))+size));
+na_env331.store=((rsoh*)(((char*)(na_env331.store))+size));
}
else {
-r->header.size=size+na_env287.store_left;
-na_env287.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((T287)(r+1));
+return((T331)(r+1));
}
-return((T287)new_na(&na_env287,size));
+return((T331)new_na(&na_env331,size));
}/*--*/
-void gc_sweep286(fsoc*c){
-gc286*o1,*o2;
-o1=((gc286*)(&(c->first_object)));
+void gc_mark330(T330 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_mark131((T131*)(e));
+}}}}
+}/*--*/
+
+T330 new330(unsigned int size){
+size=(size*sizeof(T0*))+sizeof(rsoh);
+size=((size+(sizeof(double)-1))&~(sizeof(double)-1));
+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_env330.store=((rsoh*)(((char*)(na_env330.store))+size));
+}
+else {
+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((T330)(r+1));
+}
+return((T330)new_na(&na_env330,size));
+}/*--*/
+
+void gc_sweep329(fsoc*c){
+gc329*o1,*o2;
+o1=((gc329*)(&(c->first_object)));
if(c->header.state_type==FSO_STORE_CHUNK){
-for(;o1<store286;o1++){
+for(;o1<store329;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));
}
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;
-}}}}
-}/*--*/
-
-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));
+n->object=M329;
+return((T329*)n);
}/*--*/
-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(;o1<store277;o1++){
+for(;o1<store327;o1++){
if((o1->header.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++;
+if(store_left327>1){
+store_left327--;
+n=store327++;
}
-else if(gc_free277!=NULL){
-n=gc_free277;
-gc_free277=n->header.next;
+else if(gc_free327!=NULL){
+n=gc_free327;
+gc_free327=n->header.next;
}
-else if(store_left277==1){
-store_left277=0;
-store_chunk277->header.state_type=FSO_USED_CHUNK;
-n=store277++;
+else if(store_left327==1){
+store_left327=0;
+store_chunk327->header.state_type=FSO_USED_CHUNK;
+n=store327++;
}
else{
c=gc_fsoc_get1();
-if(gc_free277!=NULL){
-n=gc_free277;
-gc_free277=n->header.next;
+if(gc_free327!=NULL){
+n=gc_free327;
+gc_free327=n->header.next;
}
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++;
+store_chunk327=c;
+*store_chunk327=H327;
+store327=((gc327*)(&(store_chunk327->first_object)));
+store_left327=H327.count_minus_one;
+n=store327++;
}
}
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));
-}
-else {
-r->header.size=size+na_env276.store_left;
-na_env276.store_left=0;
-}
-(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->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(;o1<store271;o1++){
+for(;o1<store326;o1++){
if((o1->header.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(;o1<store268;o1++){
+for(;o1<store317;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));
}
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(;o1<store266;o1++){
+for(;o1<store311;o1++){
if((o1->header.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(;o1<store265;o1++){
+for(;o1<store308;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));
}
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(;o1<store264;o1++){
+for(;o1<store307;o1++){
if((o1->header.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(;o1<store258;o1++){
+for(;o1<store302;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));
}
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(;o1<store256;o1++){
+for(;o1<store300;o1++){
if((o1->header.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(;o1<store254;o1++){
+for(;o1<store298;o1++){
if((o1->header.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(;o1<store253;o1++){
+for(;o1<store297;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));
}
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(;o1<store252;o1++){
+for(;o1<store296;o1++){
if((o1->header.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(;o1<store249;o1++){
+for(;o1<store293;o1++){
if((o1->header.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;
+if(gc_free293!=NULL){
+n=gc_free293;
+gc_free293=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++;
+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(;o1<store246;o1++){
+for(;o1<store290;o1++){
if((o1->header.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(;o1<store245;o1++){
+for(;o1<store289;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));
}
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(;o1<store244;o1++){
+for(;o1<store288;o1++){
if((o1->header.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(;o1<store243;o1++){
+for(;o1<store287;o1++){
if((o1->header.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(;o1<store147;o1++){
+for(;o1<store280;o1++){
if((o1->header.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(;o1<store236;o1++){
+for(;o1<store154;o1++){
if((o1->header.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(;o1<store235;o1++){
+for(;o1<store279;o1++){
if((o1->header.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(;o1<store234;o1++){
+for(;o1<store160;o1++){
if((o1->header.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(;o1<store232;o1++){
+for(;o1<store277;o1++){
if((o1->header.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(;o1<store230;o1++){
+for(;o1<store276;o1++){
if((o1->header.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(;o1<store228;o1++){
+for(;o1<store275;o1++){
if((o1->header.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(;o1<store227;o1++){
+for(;o1<store273;o1++){
if((o1->header.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,97 +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_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_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;
+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){
-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));
+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 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)};
+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)};
-T227*new227(void){
-gc227*n;
+T273*new273(void){
+gc273*n;
fsoc*c;
-if(store_left227>1){
-store_left227--;
-n=store227++;
+if(store_left273>1){
+store_left273--;
+n=store273++;
}
-else if(gc_free227!=NULL){
-n=gc_free227;
-gc_free227=n->header.next;
+else if(gc_free273!=NULL){
+n=gc_free273;
+gc_free273=n->header.next;
}
-else if(store_left227==1){
-store_left227=0;
-store_chunk227->header.state_type=FSO_USED_CHUNK;
-n=store227++;
+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_free227!=NULL){
-n=gc_free227;
-gc_free227=n->header.next;
+if(gc_free273!=NULL){
+n=gc_free273;
+gc_free273=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++;
+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=M227;
-return((T227*)n);
+n->object=M273;
+return((T273*)n);
}/*--*/
-void gc_sweep226(fsoc*c){
-gc226*o1,*o2;
-o1=((gc226*)(&(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(;o1<store226;o1++){
+for(;o1<store271;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
-o1->header.next=gc_free226;
-gc_free226=o1;
+o1->header.next=gc_free271;
+gc_free271=o1;
}
}
}
else{
int dead=1;
-gc226* old_gc_free = gc_free226;
+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_free226;
-gc_free226=o1;
+o1->header.next=gc_free271;
+gc_free271=o1;
}
}
if (dead){
-gc_free226 = old_gc_free;
+gc_free271 = old_gc_free;
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
@@ -16032,97 +15524,97 @@ c->header.state_type=FSO_FREE_CHUNK;
}
}/*--*/
-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_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_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_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){
-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));
+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 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 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)};
-T226*new226(void){
-gc226*n;
+T271*new271(void){
+gc271*n;
fsoc*c;
-if(store_left226>1){
-store_left226--;
-n=store226++;
+if(store_left271>1){
+store_left271--;
+n=store271++;
}
-else if(gc_free226!=NULL){
-n=gc_free226;
-gc_free226=n->header.next;
+else if(gc_free271!=NULL){
+n=gc_free271;
+gc_free271=n->header.next;
}
-else if(store_left226==1){
-store_left226=0;
-store_chunk226->header.state_type=FSO_USED_CHUNK;
-n=store226++;
+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_free226!=NULL){
-n=gc_free226;
-gc_free226=n->header.next;
+if(gc_free271!=NULL){
+n=gc_free271;
+gc_free271=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_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=M226;
-return((T226*)n);
+n->object=M271;
+return((T271*)n);
}/*--*/
-void gc_sweep225(fsoc*c){
-gc225*o1,*o2;
-o1=((gc225*)(&(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(;o1<store225;o1++){
+for(;o1<store269;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
-o1->header.next=gc_free225;
-gc_free225=o1;
+o1->header.next=gc_free269;
+gc_free269=o1;
}
}
}
else{
int dead=1;
-gc225* old_gc_free = gc_free225;
+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_free225;
-gc_free225=o1;
+o1->header.next=gc_free269;
+gc_free269=o1;
}
}
if (dead){
-gc_free225 = old_gc_free;
+gc_free269 = old_gc_free;
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
@@ -16130,111 +15622,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_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_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_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){
-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);
-}
+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 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 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)};
-T225*new225(void){
-gc225*n;
+T269*new269(void){
+gc269*n;
fsoc*c;
-if(store_left225>1){
-store_left225--;
-n=store225++;
+if(store_left269>1){
+store_left269--;
+n=store269++;
}
-else if(gc_free225!=NULL){
-n=gc_free225;
-gc_free225=n->header.next;
+else if(gc_free269!=NULL){
+n=gc_free269;
+gc_free269=n->header.next;
}
-else if(store_left225==1){
-store_left225=0;
-store_chunk225->header.state_type=FSO_USED_CHUNK;
-n=store225++;
+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_free225!=NULL){
-n=gc_free225;
-gc_free225=n->header.next;
+if(gc_free269!=NULL){
+n=gc_free269;
+gc_free269=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_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=M225;
-return((T225*)n);
+n->object=M269;
+return((T269*)n);
}/*--*/
-void gc_sweep158(fsoc*c){
-gc158*o1,*o2;
-o1=((gc158*)(&(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(;o1<store158;o1++){
+for(;o1<store268;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
-o1->header.next=gc_free158;
-gc_free158=o1;
+o1->header.next=gc_free268;
+gc_free268=o1;
}
}
}
else{
int dead=1;
-gc158* old_gc_free = gc_free158;
+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{
-o1->header.next=gc_free158;
-gc_free158=o1;
+o1->header.next=gc_free268;
+gc_free268=o1;
}
}
if (dead){
-gc_free158 = old_gc_free;
+gc_free268 = old_gc_free;
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
@@ -16242,195 +15720,132 @@ 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_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_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_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){
-T158*o=(&(p->object));
-((gc158*)o)->header.flag=FSOH_MARKED;
-/*p*/if(NULL!=o->_container)gc_mark72((T72*)(o->_container));
+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 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 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)};
-T158*new158(void){
-gc158*n;
+T268*new268(void){
+gc268*n;
fsoc*c;
-if(store_left158>1){
-store_left158--;
-n=store158++;
+if(store_left268>1){
+store_left268--;
+n=store268++;
}
-else if(gc_free158!=NULL){
-n=gc_free158;
-gc_free158=n->header.next;
+else if(gc_free268!=NULL){
+n=gc_free268;
+gc_free268=n->header.next;
}
-else if(store_left158==1){
-store_left158=0;
-store_chunk158->header.state_type=FSO_USED_CHUNK;
-n=store158++;
+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_free158!=NULL){
-n=gc_free158;
-gc_free158=n->header.next;
+if(gc_free268!=NULL){
+n=gc_free268;
+gc_free268=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_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=M158;
-return((T158*)n);
-}/*--*/
-
-void gc_sweep54(fsoc*c){
-gc54*o1,*o2;
-o1=((gc54*)(&(c->first_object)));
-if(c->header.state_type==FSO_STORE_CHUNK){
-for(;o1<store54;o1++){
-if((o1->header.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;
-}
-}
-}
-else{
-int dead=1;
-gc54* old_gc_free = gc_free54;
-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;
-}
-}
-if (dead){
-gc_free54 = old_gc_free;
-c->next=fsocfl;
-fsocfl=c;
-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));
-}
+n->object=M268;
+return((T268*)n);
}/*--*/
-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;
-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));
-}
-}
+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));
+}}}}
}/*--*/
-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)};
-T54*new54(void){
-gc54*n;
-fsoc*c;
-if(store_left54>1){
-store_left54--;
-n=store54++;
-}
-else if(gc_free54!=NULL){
-n=gc_free54;
-gc_free54=n->header.next;
-}
-else if(store_left54==1){
-store_left54=0;
-store_chunk54->header.state_type=FSO_USED_CHUNK;
-n=store54++;
-}
-else{
-c=gc_fsoc_get1();
-if(gc_free54!=NULL){
-n=gc_free54;
-gc_free54=n->header.next;
+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{
-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++;
+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));
}
-n->header.flag=FSOH_UNMARKED;
-n->object=M54;
-return((T54*)n);
+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(;o1<store139;o1++){
+for(;o1<store146;o1++){
if((o1->header.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(;o1<store223;o1++){
+for(;o1<store266;o1++){
if((o1->header.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(;o1<store142;o1++){
+for(;o1<store149;o1++){
if((o1->header.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(;o1<store222;o1++){
+for(;o1<store265;o1++){
if((o1->header.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(;o1<store141;o1++){
+for(;o1<store148;o1++){
if((o1->header.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(;o1<store221;o1++){
+for(;o1<store264;o1++){
if((o1->header.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(;o1<store218;o1++){
+for(;o1<store262;o1++){
if((o1->header.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(;o1<store217;o1++){
+for(;o1<store261;o1++){
if((o1->header.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,111 @@ 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)};
-T217*new217(void){
-gc217*n;
+T261*new261(void){
+gc261*n;
fsoc*c;
-if(store_left217>1){
-store_left217--;
-n=store217++;
+if(store_left261>1){
+store_left261--;
+n=store261++;
}
-else if(gc_free217!=NULL){
-n=gc_free217;
-gc_free217=n->header.next;
+else if(gc_free261!=NULL){
+n=gc_free261;
+gc_free261=n->header.next;
}
-else if(store_left217==1){
-store_left217=0;
-store_chunk217->header.state_type=FSO_USED_CHUNK;
-n=store217++;
+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_free217!=NULL){
-n=gc_free217;
-gc_free217=n->header.next;
+if(gc_free261!=NULL){
+n=gc_free261;
+gc_free261=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_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=M217;
-return((T217*)n);
+n->object=M261;
+return((T261*)n);
}/*--*/
-void gc_sweep216(fsoc*c){
-gc216*o1,*o2;
-o1=((gc216*)(&(c->first_object)));
+void gc_sweep260(fsoc*c){
+gc260*o1,*o2;
+o1=((gc260*)(&(c->first_object)));
if(c->header.state_type==FSO_STORE_CHUNK){
-for(;o1<store216;o1++){
+for(;o1<store260;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
-o1->header.next=gc_free216;
-gc_free216=o1;
+o1->header.next=gc_free260;
+gc_free260=o1;
}
}
}
else{
int dead=1;
-gc216* old_gc_free = gc_free216;
+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_free216;
-gc_free216=o1;
+o1->header.next=gc_free260;
+gc_free260=o1;
}
}
if (dead){
-gc_free216 = old_gc_free;
+gc_free260 = old_gc_free;
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
@@ -17338,95 +16718,95 @@ 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_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_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_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){
-T216*o=(&(p->object));
-((gc216*)o)->header.flag=FSOH_MARKED;
-/*3p*/if(NULL!=o->_callbacks)gc_mark254((T254*)(o->_callbacks));
+T260*o=(&(p->object));
+((gc260*)o)->header.flag=FSOH_MARKED;
+/*3p*/if(NULL!=o->_callbacks)gc_mark298((T298*)(o->_callbacks));
}
}
}/*--*/
-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 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)};
-T216*new216(void){
-gc216*n;
+T260*new260(void){
+gc260*n;
fsoc*c;
-if(store_left216>1){
-store_left216--;
-n=store216++;
+if(store_left260>1){
+store_left260--;
+n=store260++;
}
-else if(gc_free216!=NULL){
-n=gc_free216;
-gc_free216=n->header.next;
+else if(gc_free260!=NULL){
+n=gc_free260;
+gc_free260=n->header.next;
}
-else if(store_left216==1){
-store_left216=0;
-store_chunk216->header.state_type=FSO_USED_CHUNK;
-n=store216++;
+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_free216!=NULL){
-n=gc_free216;
-gc_free216=n->header.next;
+if(gc_free260!=NULL){
+n=gc_free260;
+gc_free260=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_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=M216;
-return((T216*)n);
+n->object=M260;
+return((T260*)n);
}/*--*/
-void gc_sweep215(fsoc*c){
-gc215*o1,*o2;
-o1=((gc215*)(&(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(;o1<store215;o1++){
+for(;o1<store259;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
-o1->header.next=gc_free215;
-gc_free215=o1;
+o1->header.next=gc_free259;
+gc_free259=o1;
}
}
}
else{
int dead=1;
-gc215* old_gc_free = gc_free215;
+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_free215;
-gc_free215=o1;
+o1->header.next=gc_free259;
+gc_free259=o1;
}
}
if (dead){
-gc_free215 = old_gc_free;
+gc_free259 = old_gc_free;
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
@@ -17434,97 +16814,97 @@ 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_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_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_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){
-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));
+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 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 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)};
-T215*new215(void){
-gc215*n;
+T259*new259(void){
+gc259*n;
fsoc*c;
-if(store_left215>1){
-store_left215--;
-n=store215++;
+if(store_left259>1){
+store_left259--;
+n=store259++;
}
-else if(gc_free215!=NULL){
-n=gc_free215;
-gc_free215=n->header.next;
+else if(gc_free259!=NULL){
+n=gc_free259;
+gc_free259=n->header.next;
}
-else if(store_left215==1){
-store_left215=0;
-store_chunk215->header.state_type=FSO_USED_CHUNK;
-n=store215++;
+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_free215!=NULL){
-n=gc_free215;
-gc_free215=n->header.next;
+if(gc_free259!=NULL){
+n=gc_free259;
+gc_free259=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_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=M215;
-return((T215*)n);
+n->object=M259;
+return((T259*)n);
}/*--*/
-void gc_sweep214(fsoc*c){
-gc214*o1,*o2;
-o1=((gc214*)(&(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(;o1<store214;o1++){
+for(;o1<store258;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
-o1->header.next=gc_free214;
-gc_free214=o1;
+o1->header.next=gc_free258;
+gc_free258=o1;
}
}
}
else{
int dead=1;
-gc214* old_gc_free = gc_free214;
+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_free214;
-gc_free214=o1;
+o1->header.next=gc_free258;
+gc_free258=o1;
}
}
if (dead){
-gc_free214 = old_gc_free;
+gc_free258 = old_gc_free;
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
@@ -17532,95 +16912,95 @@ 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_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_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_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){
-T214*o=(&(p->object));
-((gc214*)o)->header.flag=FSOH_MARKED;
-/*3p*/if(NULL!=o->_storage)gc_mark250((o->_storage));
+T258*o=(&(p->object));
+((gc258*)o)->header.flag=FSOH_MARKED;
+/*3p*/if(NULL!=o->_storage)gc_mark294((o->_storage));
}
}
}/*--*/
-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 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)};
-T214*new214(void){
-gc214*n;
+T258*new258(void){
+gc258*n;
fsoc*c;
-if(store_left214>1){
-store_left214--;
-n=store214++;
+if(store_left258>1){
+store_left258--;
+n=store258++;
}
-else if(gc_free214!=NULL){
-n=gc_free214;
-gc_free214=n->header.next;
+else if(gc_free258!=NULL){
+n=gc_free258;
+gc_free258=n->header.next;
}
-else if(store_left214==1){
-store_left214=0;
-store_chunk214->header.state_type=FSO_USED_CHUNK;
-n=store214++;
+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_free214!=NULL){
-n=gc_free214;
-gc_free214=n->header.next;
+if(gc_free258!=NULL){
+n=gc_free258;
+gc_free258=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_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=M214;
-return((T214*)n);
+n->object=M258;
+return((T258*)n);
}/*--*/
-void gc_sweep213(fsoc*c){
-gc213*o1,*o2;
-o1=((gc213*)(&(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(;o1<store213;o1++){
+for(;o1<store256;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
-o1->header.next=gc_free213;
-gc_free213=o1;
+o1->header.next=gc_free256;
+gc_free256=o1;
}
}
}
else{
int dead=1;
-gc213* old_gc_free = gc_free213;
+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_free213;
-gc_free213=o1;
+o1->header.next=gc_free256;
+gc_free256=o1;
}
}
if (dead){
-gc_free213 = old_gc_free;
+gc_free256 = old_gc_free;
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
@@ -17628,122 +17008,234 @@ 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_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_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_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){
-T213*o=(&(p->object));
-((gc213*)o)->header.flag=FSOH_MARKED;
-/*5p*/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 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 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)};
-T213*new213(void){
-gc213*n;
+T256*new256(void){
+gc256*n;
fsoc*c;
-if(store_left213>1){
-store_left213--;
-n=store213++;
+if(store_left256>1){
+store_left256--;
+n=store256++;
}
-else if(gc_free213!=NULL){
-n=gc_free213;
-gc_free213=n->header.next;
+else if(gc_free256!=NULL){
+n=gc_free256;
+gc_free256=n->header.next;
}
-else if(store_left213==1){
-store_left213=0;
-store_chunk213->header.state_type=FSO_USED_CHUNK;
-n=store213++;
+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_free213!=NULL){
-n=gc_free213;
-gc_free213=n->header.next;
+if(gc_free256!=NULL){
+n=gc_free256;
+gc_free256=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_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=M213;
-return((T213*)n);
+n->object=M256;
+return((T256*)n);
}/*--*/
-void gc_mark212(T212 o){
+void gc_sweep255(fsoc*c){
+gc255*o1,*o2;
+o1=((gc255*)(&(c->first_object)));
+if(c->header.state_type==FSO_STORE_CHUNK){
+for(;o1<store255;o1++){
+if((o1->header.flag)==FSOH_MARKED){
+o1->header.flag=FSOH_UNMARKED;
+}
+else{
+o1->header.next=gc_free255;
+gc_free255=o1;
+}
+}
+}
+else{
+int dead=1;
+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_free255;
+gc_free255=o1;
+}
+}
+if (dead){
+gc_free255 = old_gc_free;
+c->next=fsocfl;
+fsocfl=c;
+c->header.state_type=FSO_FREE_CHUNK;
+}
+}
+}/*--*/
+
+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_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){
+T255*o=(&(p->object));
+((gc255*)o)->header.flag=FSOH_MARKED;
+/*5p*/if(NULL!=o->_storage)gc_mark294((o->_storage));
+}
+}
+}/*--*/
+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)};
+
+T255*new255(void){
+gc255*n;
+fsoc*c;
+if(store_left255>1){
+store_left255--;
+n=store255++;
+}
+else if(gc_free255!=NULL){
+n=gc_free255;
+gc_free255=n->header.next;
+}
+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_free255!=NULL){
+n=gc_free255;
+gc_free255=n->header.next;
+}
+else{
+if(c==NULL)c=gc_fsoc_get2();
+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=M255;
+return((T255*)n);
+}/*--*/
+
+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(;o1<store211;o1++){
+for(;o1<store253;o1++){
if((o1->header.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(;o1<store208;o1++){
+for(;o1<store250;o1++){
if((o1->header.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(;o1<store146;o1++){
+for(;o1<store153;o1++){
if((o1->header.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(;o1<store207;o1++){
+for(;o1<store249;o1++){
if((o1->header.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(;o1<store206;o1++){
+for(;o1<store248;o1++){
if((o1->header.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(;o1<store148;o1++){
+for(;o1<store155;o1++){
if((o1->header.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(;o1<store131;o1++){
+for(;o1<store73;o1++){
if((o1->header.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(;o1<store130;o1++){
+for(;o1<store134;o1++){
if((o1->header.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(;o1<store128;o1++){
+for(;o1<store133;o1++){
if((o1->header.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(;o1<store72;o1++){
+for(;o1<store131;o1++){
if((o1->header.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(;o1<store175;o1++){
+for(;o1<store247;o1++){
if((o1->header.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(;o1<store205;o1++){
+for(;o1<store191;o1++){
if((o1->header.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(;o1<store204;o1++){
+for(;o1<store246;o1++){
if((o1->header.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(;o1<store67;o1++){
+for(;o1<store68;o1++){
if((o1->header.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(;o1<store69;o1++){
+for(;o1<store70;o1++){
if((o1->header.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(;o1<store70;o1++){
+for(;o1<store71;o1++){
if((o1->header.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(;o1<store64;o1++){
+for(;o1<store65;o1++){
if((o1->header.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,48 @@ 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,
-sizeof(T158),
0,
0,
0,
@@ -20243,8 +19721,36 @@ sizeof(T158),
0,
0,
0,
-sizeof(T175),
-sizeof(T176),
+0,
+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.
@@ -1735,19 +1203,555 @@ extern void basic_window_set_requisition(void *window, int min_w, int min_h, int
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)
+
+/* 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*);
+};
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;
+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;
-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;
-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;
-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;
+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)(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
}