2009-12-11 Marek Habersack <mhabersack@novell.com>
[mono.git] / mono / utils / ChangeLog
1 2009-12-11  Marek Habersack  <mhabersack@novell.com>
2
3         * mono-io-portability.c: moved all the reporting code to the IOMAP
4         profiler module.
5         (mono_portability_find_file_internal): calls mono_profiler_iomap
6         whenever an adjustement is made.
7
8 2009-12-02  Mark Probst  <mark.probst@gmail.com>
9
10         * mono-hash.c: Don't use MONO_ROOT_SETREF for setting keys and
11         values.  It's unnecessary - the hash table has a marking function
12         which takes care of all GC-tracked keys and values.
13
14 2009-11-26  Zoltan Varga  <vargaz@gmail.com>
15
16         * mono-ehash.c (mono_g_hash_table_find): Add this for eglib too.
17
18 2009-11-25 Rodrigo Kumpera  <rkumpera@novell.com>
19
20         * mono-error-internals.h: Add mono_error_set_bad_image_name and change signature
21         of mono_error_set_bad_image to take a MonoImage instead of a const char *.
22
23         * mono-error.c: Same.
24
25 2009-11-25  Zoltan Varga  <vargaz@gmail.com>
26
27         * mono-hash.c (mono_g_hash_table_find): Implement this.
28
29 2009-11-24  Zoltan Varga  <vargaz@gmail.com>
30
31         * mono-io-portability.c (append_report): g_string_append_vprintf is available
32         only in glib 2.14.
33
34 2009-11-23  Andreas Färber  <andreas.faerber@web.de>
35
36         * mono-mmap.c (mono_mprotect): Use posix_madvise in absence of madvise.
37         
38         Code contributed under MIT/X11 license.
39
40 2009-11-23  Marek Habersack  <mhabersack@novell.com>
41
42         * mono-io-portability.c: gather up and report misnamed files
43         accessed by the application if the 'report' option is present in
44         the MONO_IOMAP environment variable.
45
46 2009-11-13 Jonathan Chambers <joncham@gmail.com>
47
48         * mono-semaphore.h: Implementation for Windows platform.
49
50         Code contributed under MIT/X11 license.
51
52 2009-11-12  Geoff Norton  <gnorton@novell.com>
53
54         * mono-path.c: When resolving symlinks in a path, we need to
55         split on the directory separator and check each level, as
56         readlink only checks the final destination.
57
58 2009-11-08  Rodrigo Kumpera  <rkumpera@novell.com>
59
60         * mono-sigcontext.h: Add ucontext support for FreeBSD/ppc64.
61
62         Patch by Justin Hibbits <chmeeedalf@gmail.com>.
63
64 2009-11-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
65
66         * mono-error.c: VS does not like this.
67
68 2009-11-05 Rodrigo Kumpera  <rkumpera@novell.com>
69
70         * mono-error-internals.h: Add mono_error_set_argument and mono_error_raise_exception.
71
72         * mono-error.h: Add new MONO_ERROR_ARGUMENT constant for
73         ArgumentException.
74
75         * mono-error.c: Implement mono_error_set_argument, mono_error_raise_exception.
76
77         * mono-error.c (mono_error_prepare_exception) Init error_out at the beginning. Add support
78         for MONO_ERROR_ARGUMENT.
79
80 2009-10-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
81
82         * mono-proclib.c: hz is only multiplied by the number of cpus when
83         requesting "_Total".
84
85 2009-10-29  Mark Probst  <mark.probst@gmail.com>
86
87         * mono-hash.c (mono_g_hash_mark): Don't use SET_NODE_KEY/VALUE here.
88
89 2009-10-23  Alp Toker  <alp@nuanti.com>
90
91         Fix embedding API breakage from r144688. mono-compiler.h is an internal
92         header and should not be shipped:
93
94         * Makefile.am: Include newly added public header mono-error.h in HEADERS so
95         it gets installed.
96
97 2009-10-23 Rodrigo Kumpera  <rkumpera@novell.com>
98
99         * Makefile.am: Fix make dist.
100
101 2009-10-22 Rodrigo Kumpera  <rkumpera@novell.com>
102
103         * mono-compiler.h: Add MONO_DEPRECATED.
104
105 2009-10-22 Rodrigo Kumpera  <rkumpera@novell.com>
106
107         * mono-error.c, mono-error.h, mono-error-internal.h: New error handling
108         structures and functions.
109
110         * Makefile.am: Add new files.
111
112 2009-10-12  Joel W. Reed <joelwreed@gmail.com>
113
114         * mono-networkinterfaces.c, mono-networkinterfaces.h: Read
115         network statistics from "/proc/net/dev" for performance counters.
116
117         Code is contributed under MIT/X11 license.
118
119 2009-09-29  Zoltan Varga  <vargaz@gmail.com>
120
121         * mono-compiler.h (MONO_INTERNAL): Disable this on solaris as it produces a
122         millions of warnings during compilation.
123
124 2009-09-25  Jonathan Chambers  <joncham@gmail.com>
125
126         * mono-logger.c: Include mono-compiler.h for __func__ on MSVC.
127
128         Code is contributed under MIT/X11 license.
129
130 2009-09-02 Rodrigo Kumpera  <rkumpera@novell.com>
131
132         * mono-sha1.c: Update documentation.
133
134 2009-09-02 Rodrigo Kumpera  <rkumpera@novell.com>
135
136         * mono-md5.c: Update documentation.
137
138 2009-09-02  Sebastien Pouliot  <sebastien@ximian.com>
139
140         * mono-dl.c (mono_dl_open): Don't leak module if name is NULL
141         * mono-md5.c (mono_md5_get_digest_from_file): Close 'fp' even on
142         success (just like we do for sha1)
143
144 2009-08-21  Mark Probst  <mark.probst@gmail.com>
145
146         * mono-hash.c: When creating a hash table, if the keys are managed
147         objects, assert that we have a hash function.  Remove the
148         rehashing after GC marking.
149
150 2009-08-18  Christian Hergert  <chris@dronelabs.com>
151
152         * strtod.c: Fix warnings for uninitialized variables.
153
154 2009-08-18  Christian Hergert  <chris@dronelabs.com>
155
156         * mono-proclib.c:
157         * mono-counters.c: Fix printf warnings.
158
159 2009-08-12  Mark Probst  <mark.probst@gmail.com>
160
161         * mono-hash.c (mono_g_hash_mark): If the keys are managed objects,
162         rehash the table after marking.
163
164 2009-08-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
165
166         * monobitset.h: add comment.
167
168 2009-08-01  Zoltan Varga  <vargaz@gmail.com>
169
170         * mono-sigcontext.h (UCONTEXT_GREGS): Fix freebsd definition.
171
172 2009-07-30  Mark Probst  <mark.probst@gmail.com>
173
174         * mono-sigcontext.h: Include config.h.
175
176 2009-07-30  Mark Probst  <mark.probst@gmail.com>
177
178         * mono-sigcontext.h, Makefile.am: Arch-dependent sigcontext
179         macros, moved from mini.
180
181 2009-07-29  Massimiliano Mantione  <massi@ximian.com>
182
183         * mono-codeman.c (free_chunklist and new_codechunk):
184         Call profiler hooks to keep track of code chunks.
185
186 2009-07-20  Geoff Norton  <gnorton@novell.com>
187
188         * mono-semaphore.h: Refactor from io-layer/thread-private.h so it
189         can be used by the runtime as well.
190
191 2009-07-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
192
193         * mono-proclib.c: fix reading processor usage for a process. Patch
194         from Jacob Gladish that fixes bug #523052.
195
196 2009-07-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
197
198         * mono-proclib.c: fixed setting the NUL terminator.
199         Thanks to Jacob Gladish.
200
201 2009-06-15  Zoltan Varga  <vargaz@gmail.com>
202
203         * gc_wrapper.h: Disable thread local alloc on mips.
204
205 2009-05-26  Zoltan Varga  <vargaz@gmail.com>
206
207         * CMakeLists.txt: New file.
208
209 2009-05-09  Miguel de Icaza  <miguel@novell.com>
210
211         * mono-value-hash.c (mono_value_hash_table_insert_replace):
212         Initialize variable, to quiet the compiler. 
213
214         * mono-proclib.c: Eliminate two warnings.
215
216 2009-04-03  Miguel de Icaza  <miguel@novell.com>
217
218         * mono-filemap.c: Move mono_file_unmap for the not-mmap case to
219         the mono-filemap.c file so it can be plugged in platform-specific
220         code as well. 
221
222 2009-04-03 Rodrigo Kumpera  <rkumpera@novell.com>
223
224         * strenc.h:
225         * strenc.c: Add mono_utf8_validate_and_len_with_bounds.
226
227 2009-03-23  Zoltan Varga  <vargaz@gmail.com>
228
229         * Makefile.am (libmonoutils_la_SOURCES): Fix make dist.
230
231 2009-03-22  Zoltan Varga  <vargaz@gmail.com>
232
233         * gc_wrapper.h: Disable thread local allocation for ARM too because of
234         incomplete support in libgc.
235
236 2009-03-20  Zoltan Varga  <vargaz@gmail.com>
237
238         * gc_wrapper.h: New file, moved from ../os.
239
240         * Makefile.am: Add gc_wrapper.h
241
242 2009-03-06  Zoltan Varga  <vargaz@gmail.com>
243
244         * mono-hash.c: Use precise GC allocation for the Boehm GC as well.
245
246 2009-02-16  Mark Probst  <mark.probst@gmail.com>
247
248         Contributed under the terms of the MIT/X11 license by Steven
249         Munroe <munroesj@us.ibm.com>.
250
251         * mono-compiler.h: MONO_THREAD_VAR_OFFSET for PPC(64).
252
253 2009-02-11  Bill Holmes  <billholmes54@gmail.com>
254
255         * mono-filemap.c : Fixing the MSVC build.
256
257         Contributed under MIT/X11 license.
258
259 2009-02-03  Miguel de Icaza  <miguel@novell.com>
260
261         * mono-dl.c: Add support for registering in-proc addresses as
262         libraries that can be P/Invoked.   Used in operating systems that
263         lack a dynamic linker. 
264
265         * mono-filemap.c: Integrate Paolo's mono-filemap code here, split
266         some code from mono-mmap. into this file to ease porting.
267
268         * mono-io-portability.c: Use new define to turn off portability
269         features. 
270
271 2009-01-25  Zoltan Varga  <vargaz@gmail.com>
272
273         * mono-compiler.h (MONO_THREAD_VAR_OFFSET): Add ARM Linux support.
274
275 2009-01-21  Zoltan Varga  <vargaz@gmail.com>
276
277         * mono-mmap.c: Applied patch from Koushik Dutta
278         (koush@koushikdutta.com). Rework the #ifdefs so Android could use the mmap
279         implementation.
280
281 2009-01-19  Bill Holmes  <billholmes54@gmail.com>
282
283         * mono-path.c (mono_path_canonicalize): Adding support for UNC
284            paths on Windows.
285
286         Contributed under MIT/X11 license.
287
288 2009-01-18  Zoltan Varga  <vargaz@gmail.com>
289
290         * mono-mmap.c: Applied patch from Koushik Dutta
291         (koush@koushikdutta.com). Add an #ifdef HAVE_SHM_OPEN.
292
293 2009-01-16  Zoltan Varga  <vargaz@gmail.com>
294
295         * mono-hash.c: Change the roots to use write barriers when running with
296         SGEN, to avoid scanning all the hash nodes at every minor collection.
297
298 2009-01-15  Zoltan Varga  <vargaz@gmail.com>
299
300         * mono-hash.c: Rewrite the SGEN specific parts to use a user defined
301         marker function instead of registering each GC node as a hash root.
302
303 2009-01-08  Bill Holmes  <billholmes54@gmail.com>
304
305         * mono-dl.c (mono_dl_open): Fix the MSVC build.
306
307         Contributed under MIT/X11 license.
308
309 2008-12-19  Miguel de Icaza  <miguel@novell.com>
310
311         * mono-dl.c (mono_dl_open): Do not crash if the platform does not
312         support dlopen.
313
314 2008-12-08  KornĂ©l Pál  <kornelpal@gmail.com>
315
316         * mono-time.c (mono_100ns_ticks, PLATFORM_WIN32): Use GetSystemTimeAsFileTime
317         with ULARGE_INTEGER that is more efficient.
318
319         Contributed under MIT/X11 license.
320
321 2008-12-02  Rodrigo Kumpera  <rkumpera@novell.com>
322
323         * mono-property-hash.c (mono_property_hash_destroy): Release
324         the root hashtable as well.
325
326 2008-11-24  Zoltan Varga  <vargaz@gmail.com>
327
328         * freebsd-elf_common.h (struct): Use uint32_t instead of 
329         u_int32_t to fix the build on opensolaris.
330
331 2008-11-18  Zoltan Varga  <vargaz@gmail.com>
332
333         * freebsd-dwarf.h: Add dwarf.h header file from freebsd.
334
335 2008-11-14  Andreas Färber  <andreas.faerber@web.de>
336
337         * Makefile.am (ENABLE_DTRACE): Re-add dtrace -h flag.
338         Fixes #445074.
339         
340         Contributed under MIT/X11 license.
341
342 Mon Nov 10 17:38:41 CET 2008 Paolo Molaro <lupus@ximian.com>
343
344         * mono-proclib.c: adapt code for FreeBSD and hopefully other BSD
345         systems.
346
347 Mon Nov 10 17:27:01 CET 2008 Paolo Molaro <lupus@ximian.com>
348
349         * mono-proclib.c, mono-proclib.h: added elapsed time and parent pid.
350
351 2008-11-05  Zoltan Varga  <vargaz@gmail.com>
352
353         * Makefile.am (libmonoutils_la_SOURCES): Add the freebsd-elf*.h files to
354         the build.
355
356 2008-11-04  Zoltan Varga  <vargaz@gmail.com>
357
358         * freebsd-elf32.h freebsd-elf64.h freebsd-elf_common.h: Add elf header
359         files from freebsd.
360
361 Wed Oct 22 17:43:03 CEST 2008 Paolo Molaro <lupus@ximian.com>
362
363         * mono-proclib.c, mono-proclib.h: added functions to get info
364         about the processors in the system.
365
366 Wed Oct 22 16:45:20 CEST 2008 Paolo Molaro <lupus@ximian.com>
367
368         * mono-proclib.c, mono-mmap.c: basic support for OSX and
369         (untested) BSD systems.
370
371 2008-10-13  Bill Holmes  <billholmes54@gmail.com>
372
373         * mono-proclib.c : Adding a compilation check for HAVE_UNISTD_H.
374
375         Contributed under MIT/X11 license.
376
377 Mon Oct 13 14:36:10 CEST 2008 Paolo Molaro <lupus@ximian.com>
378
379         * mono-proclib.c, mono-proclib.h: added a function to deal with
380         error handling if the caller needs the info.
381
382 Mon Oct 13 11:11:43 CEST 2008 Paolo Molaro <lupus@ximian.com>
383
384         * Makefile.am, mono-proclib.c, mono-proclib.h: utility functions to
385         access process-related information.
386
387 2008-10-08  Zoltan Varga  <vargaz@gmail.com>
388
389         * mono-compiler.h (MONO_THREAD_VAR_OFFSET): Apply a patch from
390         the fedora packagers to the IA64 MONO_THREAD_VAR_OFFSET definition.
391
392 2008-09-26  Zoltan Varga  <vargaz@gmail.com>
393
394         * mono-mmap.c (mono_shared_area_for_pid): Fix a warning.
395
396 Thu Sep 18 18:16:45 CEST 2008 Paolo Molaro <lupus@ximian.com>
397
398         * mono-mmap.c, mono-mmap.h: added mono_shared_area_instances ()
399         too return the list of mono processes with performance counter data.
400
401 2008-08-27  Bill Holmes  <billholmes54@gmail.com>
402
403         * strenc.c : Fixing some waringings and compiler errors when using
404           eglib.
405
406         Contributed under MIT/X11 license.
407
408 2008-08-20  Mike Voorhees  <vernish13@gmail.com>
409
410         * strenc.h : Adding declaration for mono_utf8_validate_and_len.
411
412         * strenc.c : Adding implementation for mono_utf8_validate_and_len.
413
414         Contributed under MIT/X11 license.
415
416 2008-08-03  Andreas Färber  <andreas.faerber@web.de>
417
418         * mono-io-portability.c (mono_portability_find_file): Fix ANSI C compliance.
419         
420         Contributed under MIT/X11 license.
421
422 Fri Aug 1 15:48:53 CEST 2008 Paolo Molaro <lupus@ximian.com>
423
424         * mono-mmap.h, mono-mmap.c: added support for storing some runtime data
425         in a shared memory page.
426
427 2008-07-21  Bill Holmes  <billholmes54@gmail.com>
428
429         * mono-membar.h :  From previous commit.  When including glib.h,
430           <> should be used and not "".
431
432         Contributed under MIT/X11 license.
433
434 2008-07-21  Bill Holmes  <billholmes54@gmail.com>
435
436         * mono-membar.h :  Including glib.h to get definition of 'inline.'  Needed
437           by the MSVC compiler.
438
439         Contributed under MIT/X11 license.
440
441 2008-07-09  Zoltan Varga  <vargaz@gmail.com>
442
443         * mono-codeman.c (mono_code_manager_new): Initialize the read-only field.
444         
445         * mono-codeman.c (mono_code_manager_set_read_only): New helper function to
446         set the code manager to read-only status.
447         (mono_code_manager_reserve_align): Assert if the code manager is read only.
448
449 2008-06-14  Zoltan Varga  <vargaz@gmail.com>
450
451         * mono-codeman.c (new_codechunk): Allocate memory for dynamic code managers
452         using dlmemalign.
453
454         * dlmalloc.c: Enable the memalign functions.
455
456 2008-06-05  Zoltan Varga  <vargaz@gmail.com>
457
458         * Makefile.am (libmonoutils_la_SOURCES): Add dtrace.h.
459
460 2008-06-05  Andreas Färber  <andreas.faerber@web.de>
461
462         * dtrace.h: New file, defines macros for DTrace probes.
463         * Makefile.am (BUILT_SOURCES): Generate mono-dtrace.h when DTrace enabled.
464
465         Contributed under MIT/X11 license.
466
467 2008-05-29  Zoltan Varga  <vargaz@gmail.com>
468
469         * mono-value-hash.c: Remove the unused prime functions. Fixes #395320.
470
471 2008-05-27  Zoltan Varga  <vargaz@gmail.com>
472
473         * mono-value-hash.c: Fix build on older glib versions.
474
475         * Makefile.am (libmonoutils_la_SOURCES): Add mono-value-hash.{h,c}.
476
477         * mono-value-hash.h mono-value-hash.c: New files.
478
479 2008-05-26  Zoltan Varga  <vargaz@gmail.com>
480
481         * Makefile.am (libmonoutils_la_SOURCES): Add mono-property-hash.{h,c}.
482
483         * mono-property-hash.h mono-property-hash.c: New files.
484
485 2008-05-14  KornĂ©l Pál  <kornelpal@gmail.com>
486
487         * mono-path.c (mono_path_canonicalize): Convert '/' to '\' on Windows that
488         fixes path canonicalization for paths containing '/'.
489
490         Contributed under MIT/X11 license.
491
492 2008-05-04  Andreas Faerber  <andreas.faerber@web.de>
493
494         * mono-membar.h: Prepare support for OSX/ppc64.
495
496         Contributed under MIT/X11 license.
497
498 2008-04-16  Jonathan Chambers  <joncham@gmail.com>
499         * monobitset.c (find_first_unset): Use gsize instead of gulong for platform
500           dependent size; fixes Win64.
501         * mono-member.h: Implement mono_memory_barrier, mono_memory_read_barrier, and 
502           mono_memory_write_barrier for Win64.
503
504         Contributed under MIT/X11 license.
505
506 2008-04-16  Marek Habersack  <mhabersack@novell.com>
507
508         * mono-io-portability.c (mono_portability_find_file): properly
509         process unrooted entries with a trailing slash.
510
511 2008-04-09  Zoltan Varga  <vargaz@gmail.com>
512
513         * dlmalloc.h dlmalloc.c: New files, a slightly modified version of Doug
514         Lea's malloc package.
515
516         * mono-codeman.c: Use dlmalloc for managing memory in dynamic code managers,
517         this allows us to set the executable bit on the system memory dlmalloc 
518         allocates from, fixing #320036.
519
520 2008-03-29  Zoltan Varga  <vargaz@gmail.com>
521
522         * mono-logger.h: Move G_END_DECLS outside of an #ifdef. Fixes #375107.
523
524 2008-03-14  Robert Jordan  <robertj@gmx.net>
525
526         * mono-dl.c (w32_load_module): prevent error dialog by resetting
527         the Win32 error mode during LoadLibrary (). Fixes #360363.
528
529         * mono-dl.c (w32_dlerror): kill a warning.
530
531 2007-MM-DD  Yoichi NAKAYAMA  <nakayama@pixela.co.jp>
532  
533         * mono-membar.h: Memory barrier for mips.
534  
535         Contributed under MIT/X11 license.
536  
537 Tue Feb 26 15:43:26 CET 2008 Paolo Molaro <lupus@ximian.com>
538
539         * mono-time.c, mono-time.h: new file with the implementation of the
540         time-related routines we need in mono. This includes a hires
541         monotonic clock and a proper monotonic replacement for GetTickCount ().
542
543 2008-02-13  Zoltan Varga  <vargaz@gmail.com>
544
545         * mono-membar.h (mono_memory_barrier): Applied patch by Sergey Tikhonov 
546         <tsv@solvo.ru>. Add alpha support.
547
548 2008-01-11  Zoltan Varga  <vargaz@gmail.com>
549
550         * mono-io-portability.c: Include errno.h since it is needed by code inside
551         #ifdef DEBUG.
552
553         * mono-ehash.c: Don't include os/gc_wrapper.h.
554
555 2008-01-06  Zoltan Varga  <vargaz@gmail.com>
556
557         * mono-hash.c: Don't include os/gc_wrapper.h.
558
559 2007-11-06  Geoff Norton  <gnorton@novell.com>
560
561         * strtod.c: Use a G_MUTEX call pattern compatible with eglib.  Patch
562         from Jonathan Chambers
563
564 2007-10-11  Zoltan Varga  <vargaz@freemail.hu>
565
566         * mono-mmap.c (mono_vfree): Fix call to VirtualFree (). Fixes #332165.
567
568 Mon Oct 8 11:47:44 CEST 2007 Paolo Molaro <lupus@ximian.com>
569
570         * mono-codeman.c, mono-codeman.h: added a function to be able
571         to specify alignment per-allocation. Changed the code to align
572         the starting position instead of the size, which wouldn't work
573         with variable-alignment.
574
575 Mon Oct 8 10:51:29 CEST 2007 Paolo Molaro <lupus@ximian.com>
576
577         * mono-codeman.c, mono-codeman.h: fixed alignment code to not
578         be wasteful, Added documentation. Added mono_code_manager_size ()
579         to gather statistics info about a code manager.
580
581 Mon Oct 8 10:21:47 CEST 2007 Paolo Molaro <lupus@ximian.com>
582
583         * mono-counters.h, mono-counters.c: better formatting of the output
584         and added a cleanup function.
585
586 2007-10-03  Miguel de Icaza  <miguel@novell.com>
587
588         * mono-compiler.h (trunc): Make the definition of trunk for MSC
589         use ceil or floor instead of always using floor which is
590         incorrect.
591
592         Issue pointed out by Aras Pranckevicius <aras@unity3d.com>
593
594 2007-10-02  Jonathan Chambers <joncham@gmail.com>
595
596         * mono-io-portability.c: Init __mono_io_portability_helpers
597         to PORTABILITY_NONE on windows as mono_portability_helpers_init
598         is not always called before mono_portability_find_file.
599         
600         Code is contributed under MIT/X11 license.
601
602 2007-10-01  Jonathan Chambers <joncham@gmail.com>
603
604         * mono-io-portability.c: Only support on non-Windows
605         platforms.
606         
607         Code is contributed under MIT/X11 license.
608
609 Mon Sep 24 17:14:05 CEST 2007 Paolo Molaro <lupus@ximian.com>
610
611         * strtod.h, strtod.c: made the code threadsafe, fixed gcc warnings,
612         renamed exported call and made it properly internal.
613
614 2007-09-14  Jonathan Chambers <joncham@gmail.com>
615
616         * mono-io-portability.c: Add HAVE_UNISTD_H check around include.
617         
618         Code is contributed under MIT/X11 license.
619
620 Wed Sep 12 15:15:47 CEST 2007 Paolo Molaro <lupus@ximian.com>
621
622         * Makefile.am: don't install internal headers.
623
624 2007-09-12  Marek Habersack  <mhabersack@novell.com>
625
626         * mono-io-portability.c: added. Moved options_init from io-layer.
627         (find_in_dir): moved from io-layer/io-portability.c
628         (mono_portability_find_file): moved find_file from
629         io-layer/io-portability.c, renamed and made MONO_INTERNAL.
630
631         * mono-io-portability.h: added. Contains declarations utility
632         functions and acros for checking whether MONO_IOMAP is in effect.
633         Added a prototype for mono_portability_find_file.
634
635 2007-09-09  Zoltan Varga  <vargaz@gmail.com>
636
637         * mono-compiler.h: Applied patch from Jurek Bartuszek (jurek@gentoo.org).
638         Fixes build with -fPIE.
639
640 2007-08-31  Jonathan Chambers <joncham@gmail.com>
641
642         * mono-compiler.h: Define MONO_INTERNAL to nothing on Windows.
643         Fixes tons of warnings we get on cygwin build.
644         
645         Code is contributed under MIT/X11 license.
646
647 2007-08-14  Jonathan Chambers <joncham@gmail.com>
648
649         * mono-membar.h: Use intrinsic functions in msvc.
650
651 2007-07-31  Zoltan Varga  <vargaz@freemail.hu>
652
653         * mono-dl.c (w32_dlerror): Fix call to FormatMessage (). Fixes #82260.
654
655 2007-07-27  Mark Probst  <mark.probst@gmail.com>
656
657         * mono-membar.h: Memory barriers.
658
659 2007-06-13  Mark Probst  <mark.probst@gmail.com>
660
661         * mono-codeman.c (mono_code_manager_reserve): Gather dynamic code
662         allocation stats.
663
664 2007-06-06  Mark Probst  <mark.probst@gmail.com>
665
666         * mono-internal-hash.c: Fixed a bug in the remove entry code.
667
668 2007-06-04  Mark Probst  <mark.probst@gmail.com>
669
670         * Makefile.am:
671         * mono-internal-hash.c, mono-internal-hash.h: Hash table which
672         uses the value themselves as nodes, hence doesn't have to allocate
673         nodes.
674
675 2007-05-24  Jonathan Chambers  <joncham@gmail.com>
676
677         * mono-path.c: Add configure checks for header files.
678         * mono-codeman.c: Add configure checks for header files.
679         * mono-poll.h: Add configure checks for header files.
680         * mono-stdlib.c: Add configure checks for header files.
681         
682         Code is contributed under MIT/X11 license.
683
684 2007-03-09  Jonathan Chambers  <joncham@gmail.com>
685
686         * mono-dl.c:  Use Unicode characters for Win32 functions.
687         
688         Code is contributed under MIT/X11 license.
689         
690 2007-01-26  Robert Jordan  <robertj@gmx.net>
691
692         * mono-dl.c (w32_find_symbol): Implement in-proc symbol lookup
693         for Win32.
694
695 Fri Jan 26 13:06:57 CET 2007 Paolo Molaro <lupus@ximian.com>
696
697         * mono-dl.h, mono-dl.c: make symbols internal and fixes.
698
699 Wed Jan 24 23:20:17 CET 2007 Paolo Molaro <lupus@ximian.com>
700
701         * mono-codeman.c: don't call mono_mprotect() on windows.
702
703 2007-01-20  Zoltan Varga  <vargaz@gmail.com>
704
705         * monobitset.h: monobitset.c: Move MonoBitSet type definition to
706         the header file. Add fast macro based versions of most bitset 
707         operations and optimize the rest a bit.
708
709 Mon Dec 18 18:59:08 CET 2006 Paolo Molaro <lupus@ximian.com>
710
711         * mono-dl.h, mono-dl.c, Makefile.am: implementation
712         of dynamic loading API.
713
714 Wed Dec 13 17:21:40 CET 2006 Paolo Molaro <lupus@ximian.com>
715
716         * mono-mmap.c, mono-mmap.h: use guint64 instead of off_t.
717
718 2006-12-12  Atsushi Enomoto  <atsushi@ximian.com>
719
720         * mono-mmap.c : win32 build fix.
721
722 Mon Dec 11 17:24:49 CET 2006 Paolo Molaro <lupus@ximian.com>
723
724         * mono-codeman.c: changed to use the mono-mmap.h API.
725
726 Mon Dec 11 15:08:27 CET 2006 Paolo Molaro <lupus@ximian.com>
727
728         * mono-mmap.c, mono-mmap.h, Makefile.am: introduced mmap-like API.
729
730 Mon Nov 27 16:03:58 CET 2006 Paolo Molaro <lupus@ximian.com>
731
732         * strtod.c: fix, again, 64 bit issues.
733
734 2006-11-25  Miguel de Icaza  <miguel@novell.com>
735
736         * strtod.c: Upgrade this implementation to the one from:
737         http://www.netlib.org/fp/
738
739         Fixed a few warnings, and added the header thta we had to
740         autodetect the FPU setup to use.
741
742         This should fix the hang when running the corlib test suite. 
743
744 2006-10-18  Miguel de Icaza  <miguel@novell.com>
745
746         * mono-ehash.c (mono_g_hash_table_destroy): Use mg_free, not
747         g_free. 
748
749 2006-10-17  Miguel de Icaza  <miguel@novell.com>
750
751         * mono-ehash.c: Use the new eglib hash implementation;   Currently
752         only Boehm is supported. 
753
754 Tue Oct 10 09:53:07 CEST 2006 Paolo Molaro <lupus@ximian.com>
755
756         * strtod.c: teleport to the new millennium.
757
758 2006-10-09  Miguel de Icaza  <miguel@novell.com>
759
760         * strtod.c: Replace the BSD implementation which was fairly old
761         and complex with a cleaner version from Tcl/Tk.   Fixes the hang
762         that we have in the Double parsing tests in our class libraries.
763
764 2006-09-12  Zoltan Varga  <vargaz@gmail.com>
765
766         * strtod.c (IEEE_8087): Applied patch from Sergey Tikhonov <tsv@solvo.ru>. Define
767         IEEE_8087 for alpha as well.
768
769 2006-09-04  Robert Jordan  <robertj@gmx.net>
770
771         * mono-stdlib.c (mono_mkstemp): Fix mkstemp's loop.
772
773 2006-08-30  Zoltan Varga  <vargaz@gmail.com>
774
775         * mono-codeman.c: Align code to a 16 byte boundary on amd64 too.
776
777 2006-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
778
779         * Makefile.am:
780         * mono-stdlib.[ch]: mkstemp implementation.
781
782 2006-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
783
784         * Makefile.am:
785         * mono-path.[ch]: new files with functions to handle/resolve paths.
786
787 2006-08-10  Zoltan Varga  <vargaz@gmail.com>
788
789         * mono-compiler.h: Fix TLS definitions so libmono can be loaded dynamically as a
790         module. Fixes #78767.
791
792 Wed May 17 19:00:15 CEST 2006 Paolo Molaro <lupus@ximian.com>
793
794         * mono-hash.h, mono-hash.c: changed the code so we're able to
795         specify if the key or value or both are managed objects.
796
797 2006-04-10  Zoltan Varga  <vargaz@gmail.com>
798
799         * monobitset.c (mono_bitset_sub): Use src->size since the assert 
800         guarantees it is less than dest->size.
801
802 Mon Apr 10 12:28:05 CEST 2006 Paolo Molaro <lupus@ximian.com>
803
804         * monobitset.c: cap size in mono_bitset_sub () to
805         avoid reading uninit memory.
806
807 Wed Mar 29 16:39:14 CEST 2006 Paolo Molaro <lupus@ximian.com>
808
809         * mono-counters.c: initialize the next pointer.
810
811 Mon Mar 20 14:50:35 CET 2006 Paolo Molaro <lupus@ximian.com>
812
813         * monobitset.c, monobitset.h: added mono_bitset_find_first_unset ().
814
815 2006-03-16  Zoltan Varga  <vargaz@gmail.com>
816
817         * monobitset.c: Guard inline asm with #ifdef __GNUC__.
818
819         * monobitset.c (mono_bitset_find_first): Turn a g_return_val_if_fail
820         into an assert.
821
822         * mono-compiler.h (MONO_INTERNAL): Disable this on the VC build.
823
824 2006-03-10  Zoltan Varga  <vargaz@gmail.com>
825
826         * monobitset.h monobitset.c: Merge lots of optimizations from the linear-il 
827         branch.
828
829 2006-03-01  Zoltan Varga  <vargaz@gmail.com>
830
831         * mono-compiler.h (__func__): Define this as __FUNCTION__ for MSVC.
832
833         * mono-counters.c: Fix windows build.
834
835 Wed Mar 1 12:33:26 CET 2006 Paolo Molaro <lupus@ximian.com>
836
837         * mono-counters.h, mono-counters.c, Makefile.am: added
838         API for flexible stats collection.
839
840 Tue Feb 28 13:58:50 CET 2006 Paolo Molaro <lupus@ximian.com>
841
842         * mono-compiler.h: fixed Jakub's patch to actually compile on amd64.
843
844 Tue Feb 28 11:33:40 CET 2006 Paolo Molaro <lupus@ximian.com>
845
846         * mono-compiler.h: patch from Jakub Jelinek to retrieve
847         the tls offset without a text writable section (bug #77653).
848
849 2006-02-01  Sebastien Pouliot  <sebastien@ximian.com>
850
851         * mono-compiler.h: Added a macro for isnormal(x) as it's not available
852         in VS.NET.
853
854 2006-01-20  Zoltan Varga  <vargaz@gmail.com>
855
856         * monobitset.h (mono_bitset_set_fast): Add more fast accessors. 
857
858 2006-01-17  Zoltan Varga  <vargaz@gmail.com>
859
860         * monobitset.h monobitset.c: Move the mono_bitset_test_fast macro here
861          from mini.h. Also fix it after the 64 bit changes.
862
863 2006-01-15  Zoltan Varga  <vargaz@gmail.com>
864
865         * monobitset.h monobitset.c: Use 64 bit chunks on 64 bit machines.
866
867 2006-01-04  Zoltan Varga  <vargaz@gmail.com>
868
869         * mono-codeman.c (new_codechunk): Fix warnings.
870
871 2005-12-13  Atsushi Enomoto  <atsushi@ximian.com>
872
873         * strtod.c : un-constified some variables to fix bug #75228.
874
875 2005-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
876
877         * strenc.c: don't use the UTF16 conversion with g_convert. It returns
878         the FF FE at the beginning, which is not what we expect. Now
879         MONO_EXTERNAL_ENCODINGS can roundtrip and works.
880
881 2005-09-12  Zoltan Varga  <vargaz@freemail.hu>
882
883         * mono-compiler.h (MONO_THREAD_VAR_OFFSET): Fix compilation on amd64
884         with recent binutils.
885
886 Wed Sep 7 21:23:18 BST 2005 Paolo Molaro <lupus@ximian.com>
887
888         * mono-codeman.c: ensure we have enough room for thunks
889         with large allocations.
890
891 2005-08-27  Zoltan Varga  <vargaz@gmail.com>
892
893         * mono-compiler.h (MONO_THREAD_VAR_OFFSET): Disable this when using
894         intel icc.
895
896         * strtod.c (Storeinc): Modify code which is miscompiled by intel icc.
897
898 Thu Aug 4 20:06:28 BST 2005 Paolo Molaro <lupus@ximian.com>
899
900         * mono-codeman.c: allow room for far calls for ARM, too.
901
902 2005-07-20  Zoltan Varga  <vargaz@freemail.hu>
903
904         * mono-compiler.h (MONO_THREAD_VAR_OFFSET): Use the nice way of
905         getting the tls offsets on amd64 too.
906
907 2005-07-19  Zoltan Varga  <vargaz@freemail.hu>
908
909         * mono-compiler.h: Add TLS offset detection for ia64.
910
911 2005-06-28  Zoltan Varga  <vargaz@freemail.hu>
912
913         * mono-compiler.h (trunc): Define this to be floor under win32.
914
915 2005-06-13  Geoff Norton  <gnorton@customerdna.com>
916
917         * mono-compiler.h:  Be slightly more conservative on ppc
918         as this was previously causing crashes building.
919
920 2005-06-09  Duncan Mak  <duncan@novell.com>
921
922         * *.h: Added G_BEGIN_DECLS and G_END_DECLS where appropriate to
923         all public headers. Fixes #74919.
924
925 2005-05-18  Zoltan Varga  <vargaz@freemail.hu>
926
927         * mono-codeman.c: Align code on a 16 byte boundary on ia64.
928
929 2005-04-20  Zoltan Varga  <vargaz@freemail.hu>
930
931         * mono-digest.h mono-sha1.c mono-md5.c: Fix some gcc 4.0 warnings.
932
933 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
934
935         * mono-poll.c: windows return code translation.
936         * mono-poll.h: FD_SETSIZE must be defined when compiling everything.
937         Moved to configure.in.
938
939 2005-04-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
940
941         * mono-poll.[ch]: mono_poll uses poll() when available, otherwise
942         implement it in terms of select().
943         * Makefile.am: added new files.
944
945 2005-03-29  Sebastien Pouliot  <sebastien@ximian.com>
946
947         * mono-compiler.h: Added defines to make it easier to compile mono and
948         it's unmanaged tools using the Microsoft C compiler (VS.NET 2005).
949
950 2005-02-27  Zoltan Varga  <vargaz@freemail.hu>
951
952         * mono-codeman.c: Pass MAP_32BIT to mmap on amd64 to force generated
953         code to have 32 bit addresses.
954
955 Fri Feb 25 14:54:19 CET 2005 Paolo Molaro <lupus@ximian.com>
956
957         * mono-compiler.h: amd64 can't handle local-exec in PIC libs.
958
959 Thu Feb 24 15:18:05 CET 2005 Paolo Molaro <lupus@ximian.com>
960
961         * Makefile.am, mono-compiler.h: added header to deal with 
962         compiler-specific bugs and features.
963
964 2005-01-30  Zoltan Varga  <vargaz@freemail.hu>
965
966         * mono-logger.c (mono_trace_is_traced): Fix comment.
967
968         * mono-logger.h mono-logger.c (mono_trace_is_traced): New helper function.
969
970 2005-01-15  Zoltan Varga  <vargaz@freemail.hu>
971
972         * mono-codeman.c (new_codechunk): Initialize pagesize in the dynamic
973         case as well.
974
975 2004-12-23  Ben Maurer  <bmaurer@ximian.com>
976
977         * strtod.c: add `cosnt' to some arrays to get them on shareable pages.
978
979 Tue Dec 7 17:53:01 CET 2004 Paolo Molaro <lupus@ximian.com>
980
981         * mono-codeman.c: align bsize so the returned pointer
982         is aligned also for dynamic methods.
983
984 2004-10-26  Zoltan Varga  <vargaz@freemail.hu>
985
986         * mono-codeman.c: Fall back to malloc if MAP_ANON is not defined.
987
988 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
989
990         * mono-codeman.c (new_codechunk): Set malloc'ed code pages as 
991         executable.
992
993 2004-09-07  Bernie Solomon  <bernard@ugsolutions.com>
994
995         * mono-sha1.c: Remove uint32 and int32 types completely
996
997 2004-09-02  Zoltan Varga  <vargaz@freemail.hu>
998
999         * mono-codeman.c (new_codechunk): Remove g_assert_not_reached ().
1000         
1001         * mono-codeman.c (new_codechunk): Fix windows build.
1002
1003         * mono-codeman.h mono-codeman.c: Generalize so it can be used to
1004         allocate code for dynamic methods (one method per code manager).
1005
1006 2004-07-30  Zoltan Varga  <vargaz@freemail.hu>
1007
1008         * mono-logger.c (mono_trace_set_mask_string): Fix AOT tracing constant.
1009
1010 2004-07-28  Zoltan Varga  <vargaz@freemail.hu>
1011
1012         * mono-codeman.c (mono_code_manager_invalidate): Invalidate with
1013         x86 break on AMD64 too.
1014
1015 2004-07-23  zovarga  <vargaz@freemail.hu>
1016
1017         * monobitset.c (my_g_bit_nth_msf): Add workaround for glib 2.2 bug on
1018         64 bit platforms.
1019
1020 2004-07-09  Ben Maurer  <bmaurer@ximain.com>
1021         
1022         * mono-hash.c: register gc roots
1023
1024 2004-07-02  Zoltan Varga  <vargaz@freemail.hu>
1025
1026         * mono-logger.h mono-logger.c: Added AOT component.
1027
1028 2004-06-30  Zoltan Varga  <vargaz@freemail.hu>
1029
1030         * strtod.c: Use gint32 for 32 bit types.
1031
1032 2004-06-29  Zoltan Varga  <vargaz@freemail.hu>
1033
1034         * mono-sha1.c: Use gint32 for 32 types. Fixes random memory corruption
1035         in SHA1Transform on 64 bit systems.
1036
1037 2004-06-24  David Waite  <mass@akuma.org>
1038
1039         * monobitset.c: change to C90-style comments from C99/C++-style 
1040
1041 2004-06-21  Atsushi Enomoto  <atsushi@ximian.com>
1042
1043         * mono-sha1.c : close opened file in case of successful read. This
1044           saves a bunch of System.Reflection Emit failures under windows.
1045
1046 2004-06-18  Jackson Harper  <jackson@ximian.com>
1047
1048         * mono-logger.c/h: Add a trace mask option for tracing loading
1049         config files. A little white space love.
1050         
1051 2004-06-18  Jackson Harper  <jackson@ximian.com>
1052
1053         * mono-logger.c: Change default logging level to ERROR. Make sure
1054         that mono_trace_init is called if mono_tracev is our first trace
1055         statement is mono_tracev. Little indentation fix.
1056         
1057 2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
1058
1059         * mono-codeman.c (mono_code_manager_invalidate): On x86, fill the
1060         memory with 0xcc (x86 break).
1061
1062 2004-05-02  Miguel de Icaza  <miguel@ximian.com>
1063
1064         * mono-sha1.c: MacOS X defines "LITTLE_ENDIAN", you are supposed
1065         to test against BYTE_ORDER, and this caused trouble.  We now use
1066         G_BYTE_ORDER and G_LITTLE_ENDIAN.  This should fix the MacOS woes.
1067
1068 2004-04-26  David Waite  <mass@akuma.org>
1069
1070         * mono-logger.h: remove comma from end of enumeration declaration
1071
1072 Fri Apr 23 11:04:33 EDT 2004 Paolo Molaro <lupus@ximian.com>
1073
1074         * mono-codeman.c: macosx pretends an argument (which is ignored)
1075         to be -1. Make sure the thunks area is zeroed.
1076
1077 2004-03-11  Zoltan Varga  <vargaz@freemail.hu>
1078
1079         * monobitset.c (mono_bitset_test_bulk): New function to return multiple
1080         bits at once.
1081
1082 Thu Mar 4 15:46:20 PST 2004 Paolo Molaro <lupus@ximian.com>
1083
1084         * mono-codeman.c: add a define to force the use of malloc
1085         instead of mmap.
1086
1087 Tue Feb 17 21:45:12 CET 2004 Paolo Molaro <lupus@ximian.com>
1088
1089         * mono-codeman.c, mono-codeman.h: allocate extra room in memory close
1090         to the native code for arch where calls have a limited immediate
1091         displacement.
1092
1093 Wed Feb 11 15:26:18 CET 2004 Paolo Molaro <lupus@ximian.com>
1094
1095         * Makefile.am, mono-codeman.h, mono-codeman.c: new support code
1096         to deal with buffers of native code (handles exec bits and other
1097         details).
1098
1099 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1100
1101         * strenc.c:
1102         (mono_unicode_from_external): UTF8 is the default, not the preferred
1103         encoding, ie, try MONO_EXTERNAL_ENCODINGS first. When "default_locale"
1104         was passed in the env. var., it always failed because we were passing
1105         "default_locale" to g_convert. Also fixed the byte count for non-UTF8
1106         conversions.
1107         (mono_utf8_from_external): UTF8 is the default, not the preferred one.
1108
1109         Fixes bug #53166.
1110
1111 Thu Jan 8 19:56:08 CET 2004 Paolo Molaro <lupus@ximian.com>
1112
1113         * mono-uri.c: fixed compile problem.
1114
1115 2003-12-02  Bernie Solomon  <bernard@ugsolutions.com>
1116
1117         * mono-math.c: fix for older C compilers and big endian machines
1118
1119 2003-11-12  Zoltan Varga  <vargaz@freemail.hu>
1120
1121         * mono-math.h mono-math.c: New file which contains implementations of
1122         math functions/macros which are missing on some platforms.
1123
1124 2003-11-10  Dick Porter  <dick@ximian.com>
1125
1126         * strenc.c: Use platform-endian UTF16
1127
1128 2003-10-28  Dick Porter  <dick@ximian.com>
1129
1130         * strenc.h:
1131         * strenc.c: New files, convert text to and from unicode or utf8,
1132         and the user's chosen encoding.
1133
1134 2003-08-26  Zoltan Varga  <vargaz@freemail.hu>
1135
1136         * mono-hash.h mono-hash.c (mono_g_hash_table_remap): New function used
1137         to remap hashtable values during a copying collection. Not used at the
1138         moment.
1139         * mono-hash.c (g_hash_node_new): Restructured to avoid the global lock
1140         in the common case.
1141         * mono-hash.c (mono_g_hash_table_new_full): Enable the optimization of
1142         the key function even if the client supplied g_direct_equal instead of
1143         NULL.
1144
1145 2003-08-22  Duncan Mak  <duncan@ximian.com>
1146
1147         * strtod.c: 64-bit related fixes from Laurent Morichetti
1148         <l_m@pacbell.net>. Patch approval from Miguel.
1149
1150 Fri Jun 6 19:09:51 CEST 2003 Paolo Molaro <lupus@ximian.com>
1151
1152         * mono-logger.h, mono-logger.c, Makefile.am: added
1153         selective logging code by Jerome Laban <jlaban@wanadoo.fr>.
1154
1155 2003-03-05  Dietmar Maurer  <dietmar@ximian.com>
1156
1157         * monobitset.c (mono_bitset_set_all): impl.
1158
1159 Fri Sep 13 15:56:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
1160
1161         * mono-digest.h, mono-sha1.c: Added mono_digest_get_public_token()
1162         to get the public key token from a public key.
1163
1164 Thu Jul 25 13:59:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
1165
1166         * mono-digest.h, mono-md5.c, mono-sha1.c: MD5 and SHA1
1167         implementations.
1168
1169 Mon Jun 3 15:59:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
1170
1171         * strtod.c: make __bsd_dtoa() always return malloc()ed memory.
1172
1173 Mon Jun 3 15:42:50 CEST 2002 Paolo Molaro <lupus@ximian.com>
1174
1175         * monobitset.c, monobitset.h: documentation and fixes from
1176         Dennis Haney.
1177
1178 Sat Jun 1 14:10:23 CEST 2002 Paolo Molaro <lupus@ximian.com>
1179
1180         * monobitset.c: fix my screwup pointed out by Lawrence Pit
1181         (loz@cable.a2000.nl).
1182
1183 Fri May 31 15:34:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
1184
1185         * monobitset.c, monobitset.h: fixes. added mono_bitset_foreach().
1186
1187 Wed May 22 12:42:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
1188
1189         * monobitset.c: use our own bit_nth_lsf since the glib one is buggy.
1190         Add more tests. mono_bitset_find_first (set, -1) will work correctly
1191         now.
1192
1193 2002-05-09  Dietmar Maurer  <dietmar@ximian.com>
1194
1195         * monobitset.c: use memcmp instead of memcpy
1196
1197 Thu May 9 17:23:17 CEST 2002 Paolo Molaro <lupus@ximian.com>
1198
1199         * monobitset.c, monibitset.h: bit set data structure.
1200         Not included in the build yet because the jit has some symbol clashes
1201         with it.
1202
1203 Mon Mar 25 12:50:53 CET 2002 Paolo Molaro <lupus@ximian.com>
1204
1205         * First checkin: libmonoutils is meant to hold some utility
1206         data structures and bits that are usefult to the rest of the project
1207         and don't require metadata/runtime support.
1208         mono-hash is a GC-safe hash table: i.e. you can store GC-allocated
1209         data in it.
1210