-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
22793 lines (14814 loc) · 767 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2007-09-18 Zoltan Varga <vargaz@gmail.com>
* metadata.c (mono_metadata_get_inflated_signature): New function to return a
canonical instance of an inflated generic signature.
(mono_type_create_from_typespec): Remove an invalid free.
* loader.c (mono_method_get_signature_full): Use mono_metadata_get_inflated_signature.
2007-09-18 Marek Habersack <mhabersack@novell.com>
* domain-internals.h: added a declaration of the
mono_assembly_load_full_nosearch internal function.
* assembly.c (mono_assembly_load_with_partial_name): use
mono_try_assembly_resolve return value properly.
(mono_assembly_load_full_nosearch): copied the function body from
mono_assembly_load_full, without the code to invoke assembly
search hooks.
(mono_assembly_load_full): calls the above new function and if the
assembly is not resolved, invokes the search hooks.
* appdomain.c (mono_runtime_init): restore the global postload
assembly search handlers.
2007-09-18 Zoltan Varga <vargaz@gmail.com>
* class.c (mono_class_init): Make sure class->methods and class->properties
are never NULL in the generics case.
* metadata.c (free_generic_class): Enable this again, skip the dynamic case.
2007-09-17 Zoltan Varga <vargaz@gmail.com>
* metadata.c (free_generic_class): Disable some code to fix the build.
* domain.c (mono_cleanup): Fix a crash introduced by a previous patch.
* marshal.c (mono_marshal_get_xappdomain_dispatch): Allocate a piece of data
from the image mempool.
* metadata.c (free_generic_class): Free more data from the inflated class.
* class.c (mono_class_from_generic_parameter): Allocate memory from the mempool.
* metadata.c (mono_metadata_parse_generic_param): Allocate memory from the image
mempool.
(mono_type_create_from_typespec): Ditto.
* domain.c (get_runtimes_from_exe): Add an out parameter to return the opened
MonoImage to the caller.
(mono_init_internal): Save the opened image in a global variable.
(mono_cleanup): Close the image opened in get_runtimes_from_exe.
* reflection.c (resolve_object): Fix a leak.
* metadata.c: Fix the freeing of data in the generics caches.
* metadata.c (free_generic_inst): Comment this out to fix the build.
(free_generic_class): Ditto.
* metadata.c: Free cached generic methods, instantinations and classes when
they are removed from the caches.
(mono_metadata_free_type): Free the type itself.
* class.c: Free the result of mono_class_inflate_generic_type () in a few
places.
Mon Sep 17 16:14:07 CEST 2007 Paolo Molaro <lupus@ximian.com>
* boehm-gc.c: restrict managed allocs to __thread supporting
architectures.
2007-09-16 Zoltan Varga <vargaz@gmail.com>
* class.c (mono_class_inflate_generic_type): Add a comment describing memory ownership.
(mono_generic_class_get_class): Fix a leak.
* metadata.c (do_mono_metadata_parse_type): Remove an unneccesary call to
mono_metadata_free_type ().
(mono_metadata_inflate_generic_inst): Fix a leak.
2007-09-14 Zoltan Varga <vargaz@gmail.com>
* mono-debug.c (free_header_data): Fix a leak missed earlier.
* metadata.c (mono_metadata_parse_array_full): Allocate memory from the image
mempool.
* mono-debug.c (mono_debug_close_image): Fix call to
g_hash_table_remove ().
Fri Sep 14 19:36:37 CEST 2007 Paolo Molaro <lupus@ximian.com>
* icall-def.h: redirect all the string ctor to the managed
CreateString () methods.
* string-icalls.c, string-icalls.h: removed dead code for string
ctors and icalls.
2007-09-14 Zoltan Varga <vargaz@gmail.com>
* mono-debug.c: Fix memory leaks.
2007-09-14 Jonathan Chambers <joncham@gmail.com>
* threads-types.h: Implement mono_hazard_pointer_set and
mono_hazard_pointer_clear macros using do/while(0) to fix
compilation with MSVC.
Code is contributed under MIT/X11 license.
2007-09-14 Zoltan Varga <vargaz@gmail.com>
* gc.c (ves_icall_System_GCHandle_GetAddrOfPinnedObject): Use a return value of
-2 to communicate to managed code that the handle is not pinned. Fixes #82848.
Fri Sep 14 14:04:31 CEST 2007 Paolo Molaro <lupus@ximian.com>
* icall-def.h, string-icalls.c: get rid of old, no longer used, string
icalls.
Fri Sep 14 11:41:31 CEST 2007 Paolo Molaro <lupus@ximian.com>
* boehm-gc.c, gc-internal.h, object.c: allow strings to be
managed-code allocated as well.
2007-09-13 Zoltan Varga <vargaz@gmail.com>
* class.c (mono_class_is_assignable_from): Add support for generic variance.
Thu Sep 13 11:55:55 CEST 2007 Paolo Molaro <lupus@ximian.com>
* boehm-gc.c: fixed the build after the AOT changes.
2007-09-13 Zoltan Varga <vargaz@gmail.com>
* wrapper-types.h: Add an ALLOC wrapper type.
* gc-internals.h boehm-gc.c null-gc.c sgen-gc.c: Add functions needed by AOT to
reference managed allocator methods.
2007-09-12 Marek Safar <marek.safar@gmail.com>
* icall.c (ves_icall_MonoType_GetGenericArguments): Create an instance
of Type array and not MonoType, a fix suggested by Hari.
2007-09-12 Jonathan Chambers <joncham@gmail.com>
* domain-internals.h, domain.c : Remove delegate_invoke_impl_with_target_hash
and delegate_invoke_impl_no_target_hash from _MonoDomain struct.
Code is contributed under MIT/X11 license.
2007-09-10 Massimiliano Mantione <massi@ximian.com>
* domain.c, object.c, mono-config.c, object-internals.h: Fixed #82416.
2007-09-12 Marek Habersack <mhabersack@novell.com>
* image.c (do_mono_image_open): if assembly file fails to open and
MONO_IOMAP is in effect, try to find the path in a
case-insensitive way.
* appdomain.c (mono_runtime_init): do not install postload hooks -
tests show that MS.NET doesn't use anything of that sort to
trigger the AppDomain.AssemblyResolve event.
(mono_try_assembly_resolve): renamed from try_assembly_resolve and
made non-static.
(mono_runtime_init): init portability helpers here.
* assembly.c (mono_assembly_load_with_partial_name): if other
attempts fail, trigger the AppDomain.AssemblyResolve event handler
to resolve the assembly.
* domain-internals.h: added mono_try_assembly_resolve and marked
it as internal.
2007-09-11 Jb Evain <jbevain@novell.com>
* object-internals.h (MonoReflectionDynamicMethod): add
a `MonoReflectionType *owner` field. The owner is used
* reflection.c:
(mono_reflection_create_dynamic_method): use the owner of the dynamic
method as the class declaring the dynamic method.
(reflection_methodbuilder_from_dynamic_method): copy the owner of the
dynamic method to the declaring type of the methodbuilder.
2007-09-11 Mark Probst <mark.probst@gmail.com>
* icall.c (ves_icall_InternalInvoke): Enforce CoreCLR security
rules for calling methods via reflection.
2007-09-11 Zoltan Varga <vargaz@gmail.com>
* reflection.c (resolve_object): Add support for MonoGenericClass.
Inflate MonoType's.
Tue Sep 11 16:08:08 CEST 2007 Paolo Molaro <lupus@ximian.com>
* gc-internal.h, boehm-gc.c, null-gc.c, sgen-gc.c: allow the GC to
provide a managed method that does fast allocations without needing
a managed->unmanaged transition. Boehm GC implementation currently
enabled for ptrfree objects on sane architectures.
Tue Sep 11 16:00:35 CEST 2007 Paolo Molaro <lupus@ximian.com>
* marshal.c, marshal.h: exported a couple of useful functions and
added mono_mb_get_label () to easily handle backward branches.
2007-09-10 Zoltan Varga <vargaz@gmail.com>
* reflection.c (resolve_object): Inflate generic methods. Fixes #82782.
2007-09-10 Massimiliano Mantione <massi@ximian.com>
* loader.c (find_method): Fixed the regression introduced while
fixing bug #81466.
2007-09-09 Zoltan Varga <vargaz@gmail.com>
* class.c (mono_lookup_dynamic_token_class): Pass along the context here as
well.
* class.c loader.c metadata.c object.c class-internals.h object-internals.h
icall.c reflection.c: Pass a MonoGenericContext argument to
mono_lookup_dynamic_token ().
* reflection.c (resolve_object): Handle GenericTypeParameterBuilder. Fixes
#82744.
2007-09-09 Robert Jordan <robertj@gmx.net>
* object.c (mono_class_proxy_vtable): Don't create remoting trampolines
for generic methods.
* object.c (mono_object_get_virtual_method): Handle generic methods.
Fixes bug #78882.
Code is contributed under MIT/X11 license.
Sat Sep 8 18:16:01 CEST 2007 Paolo Molaro <lupus@ximian.com>
* image.c: fix locking in mono_image_load_file_for_image ().
Thu Sep 6 19:48:00 CEST 2007 Paolo Molaro <lupus@ximian.com>
* reflection.c, icall.c, icall-def.h: the methodinfos name field is
used only as a cache: added an icall to fill it.
2007-09-16 Rodrigo Kumpera <rkumpera@novell.com>
* reflection.h: exposed mono_reflection_free_type_info
* reflection.c (mono_reflection_get_type_internal): type_args is always freed
since mono_reflection_bind_generic_parameters makes a copy of it.
* reflection.c (free_type_info): subinfos should be freed.
* reflection.c (free_type_info): renamed to mono_reflection_free_type_info and
made non static.
* icall.c (type_from_name and ves_icall_System_Reflection_Assembly_InternalGetType):
replaced explicit cleanup of MonoTypeNameParse struct with a call to mono_reflection_free_type_info,
this fixes #82695 and #81726.
2007-09-03 Atsushi Enomoto <atsushi@ximian.com>
* process.h, process.c: added support for user profile/info in
ProcessStartInfo. For now only Windows works.
Fri Aug 31 17:30:58 CEST 2007 Paolo Molaro <lupus@ximian.com>
* metadata.c: consider the generic arguments when comparing
signatures (bug #82614).
Thu Aug 30 18:34:38 CEST 2007 Paolo Molaro <lupus@ximian.com>
* cil-coff.h, image.c: updated assembly loader to cope with the
PE32+ 64 bit file format.
Thu Aug 30 16:47:38 CEST 2007 Paolo Molaro <lupus@ximian.com>
* assembly.c, class.c, domain.c, loader.c: remove useless
inclusion of cil-coff.h.
2007-08-29 Jonathan Chambers <joncham@gmail.com>
* marshal.c (cominterop_get_ccw): Walk up interface hierarchy
if interface is marked with CoClassAttribute.
Code is contributed under MIT/X11 license.
Wed Aug 29 19:27:07 CEST 2007 Paolo Molaro <lupus@ximian.com>
* sgen-gc.c: ensure no object from the to space is copied again or finalized
if it's seen twice in major collections.
Wed Aug 29 18:46:49 CEST 2007 Paolo Molaro <lupus@ximian.com>
* sgen-gc.c: big objects are not copied to the gray area, but they
need to be considered for scanning, too, if they are brought alive
by an object ready for finalizations or a survived one.
Wed Aug 29 18:43:11 CEST 2007 Paolo Molaro <lupus@ximian.com>
* sgen-gc.c: properly account the number of disappearing links when
they are nullified.
Wed Aug 29 18:37:37 CEST 2007 Paolo Molaro <lupus@ximian.com>
* sgen-gc.c: share the code to scan the registered roots between the
different types of collections.
2007-08-28 Zoltan Varga <vargaz@gmail.com>
* icall.c (ves_icall_System_Runtime_CompilerServices_RuntimeHelpers_RunModuleConstructor): New icall.
2007-08-28 Zoltan Varga <vargaz@gmail.com>
* object.c (mono_class_proxy_vtable): Use max_interface_id instead of
class->max_interface_id in a one place. Fixes transparentproxy.exe test on ia64.
2007-08-28 Mark Probst <mark.probst@gmail.com>
* security-manager.c (mono_security_manager_get_methods):
LinkDemandSecurityException now has 2 arguments instead of 3.
2007-08-27 Zoltan Varga <vargaz@gmail.com>
* class.c (mono_class_layout_fields): Only do the struct alignment hack on
platforms which need it.
Mon Aug 27 18:29:12 CEST 2007 Paolo Molaro <lupus@ximian.com>
* sgen-gc.c: unregister thread data structures with a pthread_key_t
dtor.
Mon Aug 27 18:27:35 CEST 2007 Paolo Molaro <lupus@ximian.com>
* threads.c: free the thread static data on thread exit.
Mon Aug 27 10:55:54 CEST 2007 Paolo Molaro <lupus@ximian.com>
* class.c: walk the hierarchy to find the generic definition for
a class (fixes runtime part of bug #82498).
2007-08-24 Zoltan Varga <vargaz@gmail.com>
* assembly.c (mono_assembly_close): Move the closing of the referenced assemblies to
...
* image.c (mono_image_close): Here. Hopefully fixes #82510.
2007-08-24 Mark Probst <mark.probst@gmail.com>
* monodiet.c (handle_cattrs): Fixed a custom attr leak.
2007-08-24 Robert Jordan <robertj@gmx.net>
* appdomain.c: don't perform the ':'->';' substitution on Win32.
2007-08-24 Jb Evain <jbevain@novell.com>
* class.c (mono_type_get_name_recurse): fix AssemblyQualifiedName
for byref types.
2007-08-24 Mark Probst <mark.probst@gmail.com>
* threads.c: Make sure a thread gets cleaned up only once. Fixes
#82286.
2007-08-24 Zoltan Varga <vargaz@gmail.com>
* assembly.c: Fix a warning.
2007-08-23 Marek Habersack <mhabersack@novell.com>
* appdomain.c: parse the <runtime> section looking for the probing
element with the 'privatePath' attribute, which sets additional
directories in which the runtime should look for assemblies.
2007-08-23 Robert Jordan <robertj@gmx.net>
* marshal.c (Marshal_ReAllocHGlobal) : Fix GlobalReAlloc's flags.
Fixes #82499.
2007-08-23 Martin Baulig <martin@ximian.com>
* mono-debug.[ch]: Rename mono_debug_init_corlib() into
_mono_debug_init_corlib() and remove it from the header file.
2007-08-23 Martin Baulig <martin@ximian.com>
* mono-debug-debugger.c
(mono_debugger_unhandled_exception): Ignore `ThreadAbortException';
don't notify the debugger about it.
* mono-debug-debugger.h
(MonoDebuggerEvent): Removed `THREAD_ABORT'.
2007-08-23 Robert Jordan <robertj@gmx.net>
* icall-def.h, process.*: implemented Get|SetPriorityClass icalls.
Code is contributed under MIT/X11 license.
Wed Aug 22 18:35:12 CEST 2007 Paolo Molaro <lupus@ximian.com>
* sgen-gc.h, sgen-gc.c: abstracted most of the OS-specific code.
2007-08-22 Martin Baulig <martin@ximian.com>
* mono-debug.c: Store debugging info on a per-domain basis and
free it on domain unload. Add support for unloading symbol files.
* mono-debug.h
(MonoDebugList): New typedef.
(MonoSymbolTable):
- add `data_tables and `type_table'.
- replace 'symbol_files' and `num_symbol_files' with a
`MonoDebugList *'.
(mono_debug_data_table): Removed.
(mono_debug_list_add): New public function.
(mono_debug_list_remove): New public function.
(mono_debug_init_1): Renamed into mono_debug_init_corlib().
(mono_debug_init_2_memory): Renamed into
mono_debug_open_image_from_memory().
(mono_debug_close_image): New public function.
(mono_debug_domain_create): Likewise.
(mono_debug_domain_unload): Likewise.
(MONO_DEBUGGER_VERSION): Bump to 60.
* mono-debug-debugger.h
(MonoDebuggerEvent):
- remove `RELOAD_SYMTABS' and `METHOD_COMPILED'.
- rename `ADD_MODULE' into `LOAD_MODULE'; add `UNLOAD_MODULE'.
- add `DOMAIN_CREATE' and `DOMAIN_UNLOAD'.
- rename `THREAD_CREATED' and `THREAD_EXITED' into
`GC_THREAD_CREATED' and `GC_THREAD_EXITED'.
- re-add `THREAD_CREATED' and `THREAD_EXITED'; with different
meaning.
(mono_debugger_add_symbol_file): Removed.
(mono_debugger_add_type): Removed.
(mono_debugger_lookup_type): Removed.
(mono_debugger_lookup_assembly): Removed.
* domain.c
(mono_domain_create): Call mono_debug_domain_create().
(mono_init_internal): Call mono_debug_init_corlib().
* assembly.c
(mono_assembly_close): Call mono_debug_close_image().
Wed Aug 22 17:26:02 CEST 2007 Paolo Molaro <lupus@ximian.com>
* sgen-gc.c: use the mono-mmap facilitites instead of hard-coding the
mmap call.
Wed Aug 22 17:17:09 CEST 2007 Paolo Molaro <lupus@ximian.com>
* sgen-gc.c: ensure section->pin_queue_end is initialized
correctly when non pinning objects in the section have been found.
2007-08-22 Marek Habersack <mhabersack@novell.com>
* appdomain.c (set_domain_search_path): cope with PrivateBinPath
containing a list of directories separated by ':'. MSDN docs say
the directories should be separated with ';'. Part of a bugfix for
bug #81446
2007-08-21 Rodrigo Kumpera <rkumpera@novell.com>
* class.c (mono_type_retrieve_from_typespec) : fixed the return type
it should MonoType and not MonoClass.
2007-08-21 Atsushi Enomoto <atsushi@ximian.com>
* culture-info-table.h : regenerated.
2007-08-20 William Holmes <billholmes54@gmail.com>
*file-io.c: Added ves_icall_System_IO_MonoIO_ReplaceFile
to call ReplaceFile Kernel32 on windows or in io-layer.
*file-io.h: Added deceleration for ves_icall_System_IO_MonoIO_ReplaceFile
*icall-def.h: Register ves_icall_System_IO_MonoIO_ReplaceFile
as an internal call.
Code is contributed under MIT/X11 license.
2007-08-20 Jb Evain <jbevain@novell.com>
* class-internals: add definitions for MONO_EXCEPTION_METHOD_ACCESS
and MONO_EXCEPTION_FIELD_ACCESS.
* debug-helpers.[c|h]: new mono_field_full_name function.
2007-08-20 Mark Probst <mark.probst@gmail.com>
* class.c: Removed class_security_level() and moved it to
security-core-clr.c.
* security-core-clr.c, security-core-clr.h: class_security_level()
is now public and renamed to mono_security_core_clr_class_level().
It also looks for security attributes in the classes a class is
nested in.
2007-08-20 Mark Probst <mark.probst@gmail.com>
* security-core-clr.c, security-core-clr.h: CoreCLR security
utility functions.
* Makefile.am: Added security-core-clr.[ch].
* security-manager.c, security-manager.h: Functions and enum for
setting and getting the security mode.
* class.c: CoreCLR security checks.
Mon Aug 20 12:38:42 CEST 2007 Paolo Molaro <lupus@ximian.com>
* icall-def.h, process.c, process.h: implemented icall to get
user/system processor times.
2007-08-17 Mark Probst <mark.probst@gmail.com>
* domain.c, threads.c, class-internals.h, domain-internals.h: New
reader-lock-free jit_info_table.
2007-08-17 Zoltan Varga <vargaz@gmail.com>
* metadata.c (mono_type_to_unmanaged): Handle MONO_NATIVE_CUSTOM.
* marshal.c (mono_marshal_type_size): Ditto. Fixes #82465 and #82466.
* object-internals.h (MonoException): Add missing _data member.
2007-08-08 Massimiliano Mantione <massi@ximian.com>
* loader.c (find_method, find_method_in_class): Fixed bug #81466,
checking that only methods with matching qname or fqname are picked
from implemented interfaces.
2007-08-16 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c (do_newarr):added, do type verification of
newarr ops, push the right value on the eval stack.
* verify.c (mono_method_verify): use do_newarr
2007-08-16 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c (do_ldobj_value, do_unbox_value and do_box_value):
factored the common code into get_boxable_mono_type, which
is now using mono_type_get_full, this fixed byref related tests.
2007-08-16 Rodrigo Kumpera <rkumpera@novell.com>
* class.c: added mono_type_get_full, this function has the same
behavior of mono_class_get_full but the returned MonoType has
all metadata of the associated token in case of a typespec token.
* class.c: added mono_type_retrieve_from_typespec, used by
mono_type_get_full to retrieve the token type.
* class.c (mono_class_create_from_typespec): changed to use
mono_type_retrieve_from_typespec.
* class.c (mono_ldtoken): changed to use mono_type_get_full
for MONO_TOKEN_TYPE_(DEF|REF|SPEC).
* class-internals.h: exported mono_type_get_full for internal use.
2007-08-16 Jb Evain <jbevain@novell.com>
* domain.c (supported_runtimes): add entry for
the 'moonlight' runtime version.
2007-08-15 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c (mono_method_verify): small typo sliped in.
2007-08-15 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c (do_unbox_value): added, do type verification of
unboxing ops
* verify.c (mono_method_verify): use do_unbox_value
2007-08-15 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c (dump_stack_value): fixed typo, was printing string
instead of object on stack.
* verify.c (do_box_value): moved the byref check up as it leads
to invalid code and should be done earlier.
* verify.c: improved error messages for and ldobj
2007-08-15 William Holmes <billholmes54@gmail.com>
* marshal.c (emit_marshal_custom): Omit the call to
marshal_native_to_managed when calling native to managed
and the argument is specified as an out argument.
Code is contributed under MIT/X11 license.
2007-08-15 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c: fixed the type checks for generics, function pointers and vectors.
Added type verification for ldobj and ldtoken. The verifier
would segfault if header or signature of a method contained references
to non-existant types.
2007-08-15 Jonathan Chambers <joncham@gmail.com>
* marshal.c (cominterop_get_ccw): Patch from
Bill Holmes to no walk up interface hierarchy.
All parent methods should be present in the interface for COM.
Code is contributed under MIT/X11 license.
2007-08-15 Jonathan Chambers <joncham@gmail.com>
* marshal.c (emit_marshal_com_interface): Patch from
Bill Holmes to handle COM Interfaces as return values
for native->managed calls.
Code is contributed under MIT/X11 license.
2007-08-14 Jonathan Chambers <joncham@gmail.com>
* marshal.c (cominterop_get_idispatch_for_object): Implement
for runtime callable wrappers.
Code is contributed under MIT/X11 license.
2007-08-13 Rodrigo Kumpera <rkumpera@novell.com>
* pedump.c (main): changed from mono_init to mono_init_from_assembly
so 2.0 types are accessible
2007-08-13 Miguel de Icaza <miguel@novell.com>
* domain.c (mono_init_internal): Call mono_assembly_load_friends
once we load mscorlib. Due to the order in which we initialize,
the mono_assembly_load_full routine that loads mscorlib did not
load friends. We now load it once we load the
mono_defaults.internals_visible_class class.
* assembly.c: Expose the mono_load_friend_assemblies method.
2007-08-11 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c: improved the handling of boxing, better
type checking for unary ops and conversion. Fix bug
regarding managed pointer compatibility checking
2007-08-11 Zoltan Varga <vargaz@gmail.com>
* icall.c (ves_icall_System_Array_SetGenericValueImpl): New icall.
* threads.c threads-types.h: Export mono_thread_get_stack_bounds.
2007-08-09 Raja R Harinath <rharinath@novell.com>
* reflection.c (dup_type): Remove.
* class.c (dup_type): Remove.
(mono_metadata_signature_deep_dup): Use 'mono_metadata_type_dup'
instead of the dodgy 'dup_type'.
(inflate_generic_type): Likewise. Fix the VAR/MVAR cases to
handle the case where 'dup_type' needed the second argument.
2007-08-08 Zoltan Varga <vargaz@gmail.com>
* domain.c: Fix a warning.
2007-08-08 Massimiliano Mantione <massi@ximian.com>
* class.c (mono_class_setup_vtable_general): Fixed bug #77127,
checking that methods with the same fqname are not overridden
with a method from an ancestor.
2007-08-07 Zoltan Varga <vargaz@gmail.com>
* threads.c (free_thread_static_data_helper): Avoid a crash if
thread->static_data is not yet set.
2007-08-07 Jonathan Chambers <joncham@gmail.com>
* marshal.c: Use correct image when emitting
native wrapper for COM calls.
Code is contributed under MIT/X11 license.
2007-08-07 Atsushi Enomoto <atsushi@ximian.com>
* icall-def.h, security.c, security.h :
added icall wrapper to ProtectedMemory.[Unprotect|Protect]Data().
2007-08-07 Martin Baulig <martin@ximian.com>
* mono-debug-debugger.h
(MonoDebuggerEvent): Add `MONO_DEBUGGER_EVENT_DOMAIN_UNLOAD'.
* domain.c (mono_domain_free): Call
`mono_debugger_event (MONO_DEBUGGER_EVENT_DOMAIN_UNLOAD)'.
2007-08-06 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c (check_underflow, check_overflow): error message now returns IL offset
* verify.c (in_same_block): code should test if either offset is inside the clauses
* verify.c (mono_method_verify): push the exception into the eval stack of exception
and filter blocks
2007-08-03 Zoltan Varga <vargaz@gmail.com>
* image.c (mono_image_close): Fix a leak.
* object.c (mono_runtime_invoke_array): Avoid using alloca.
* icall.c (ves_icall_FieldInfo_SetValueInternal): Ditto.
Fri Aug 3 19:54:23 CEST 2007 Paolo Molaro <lupus@ximian.com>
* domain.c, threads.c, threads-types.h: fix memory retention issue
with thread static variables not being cleared on domain unload.
Reuse thread static slots after domain unload.
2007-08-03 Zoltan Varga <vargaz@gmail.com>
* object.c (mono_runtime_invoke_array): Handle the case when the receiver is a
nullable type.
* marshal.c (mono_marshal_get_runtime_invoke): Revert the previous change, it is
now done in mono_runtime_invoke_array.
* marshal.c (mono_marshal_get_runtime_invoke): Handle the case when the
receiver is a nullable type.
* class.c (mono_class_is_assignable_from): Handle the case when klass is a
generic parameter.
2007-08-03 Jonathan Chambers <joncham@gmail.com>
* marshal.c: Implement COM Objects as return type for
managed->unmanaged calls. Added Release calls for COM Object
out/return values in managed->unmanaged calls.
Code is contributed under MIT/X11 license.
Fri Aug 3 17:00:51 CEST 2007 Paolo Molaro <lupus@ximian.com>
* threads.h, threads-type.h: move the hazard pointer declarations
to the private header.
Fri Aug 3 13:13:39 CEST 2007 Paolo Molaro <lupus@ximian.com>
* file-io.c, appdomain.c: memory leak fixes.
2007-08-02 Dick Porter <dick@ximian.com>
* socket-io.c
(ves_icall_System_Net_Sockets_Socket_Socket_internal): Move the
SO_REUSEADDR setting into io-layer/sockets.c.
2007-08-01 Zoltan Varga <vargaz@gmail.com>
* icall.c (ves_icall_Type_GetMethodsByName): Return the members inherited
from Object when called on a generic parameter. Fixes #82211.
2007-08-01 Dick Porter <dick@ximian.com>
* file-io.c (convert_share): Test FileShare values bit-by-bit.
Fixes bug 79250 yet again.
2007-07-30 Martin Baulig <martin@ximian.com>
Merged the `debugger-dublin' branch.
* mono-debug.h
(MonoDebugDataTable): New typedef.
(MonoDebugMethodAddressList): New typedef.
(MonoDebugWrapperData): Removed.
(MonoDebugSymbolTable): Removed `current_data_table',
`current_data_table_size', `current_data_table_offset'.
(MonoDebugDataItemType): Moved into mono-debug.c.
(MonoDebugMethodJitInfo): Remove `address'.
(mono_debug_data_table): New global variable.
(mono_debug_lookup_method_addresses): New public function.
(mono_debug_find_method): Take a `MonoMethod *', not a
`MonoDebugMethodInfo *'.
* mono-debug.c: Drop support for the old symbol tables.
2007-06-28 Martin Baulig <martin@ximian.com>
* mono-debug.c (mono_debug_debugger_version): New public variable.
2007-07-31 William Holmes <billholmes54@gmail.com>
* metadata.c Changed mono_type_create_from_typespec to not insert
the type into the hash map until after
do_mono_metadata_parse_type has completed.
Fixes Bug #82194
Code is contributed under MIT/X11 license.
2007-07-31 Zoltan Varga <vargaz@gmail.com>
* icall.c (ves_icall_Type_GetMethodsByName): Avoid a crash when called on a
generic parameter. Fixes #82211.
2007-07-27 Jb Evain <jbevain@novell.com>
* pedump.c (dump_metadata, dump_metadata_header): dump
versions contained in the metadata header.
Fri Jul 27 17:07:40 CEST 2007 Paolo Molaro <lupus@ximian.com>
* threads.c: register small_id_table with the GC.
2007-07-27 Mark Probst <mark.probst@gmail.com>
* threads.c, threads.h, class-internals.h, object-internals.h:
Hazard pointers, to be used by lock-free parallel algorithms.
2007-07-26 Dick Porter <dick@ximian.com>
* appdomain.c (mono_runtime_cleanup): Invoke io-layer cleanup
routine on non-windows platforms, as I've not managed to think of
a non-kludgy way of doing this. Finishes off bug 78739.
Wed Jul 25 18:06:33 CEST 2007 Paolo Molaro <lupus@ximian.com>
* object.c: properly setup interface_bitmap in proxy vtables.
2007-07-25 Marek Habersack <mhabersack@novell.com>
* appdomain.c (get_shadow_assembly_location): do not use TickCount
to create unique shadow copy target directories, use the domain's
serial number instead. Each domain gets a unique target directory
that way.
* domain.c (mono_domain_create): added code to increment domain
shadow copy serial number and cache the value in the current
domain structure.
* domain-internals.h (struct _MonoDomain): added a new field -
shadow_serial to hold the serial number used in generation of
shadow-copy directories. This is to make sure that the directory
name is unique for each and every domain created. We avoid a race
condition with overriding assemblies already in use by other app
domains.
2007-07-24 Rodrigo Kumpera <rkumpera@novell.com>
* class.c (mono_bounded_array_class_get): fixed memory leak when
binding generic parameters.
2007-07-24 Raja R Harinath <rharinath@novell.com>
* metadata.c (do_mono_metadata_parse_generic_class): Use
mono_metadata_lookup_generic_class. Don't g_assert on a metadata
error.
Tue Jul 24 15:15:19 CEST 2007 Paolo Molaro <lupus@ximian.com>
* loader.c, class-internals.h, reflection.c: removed the per-method
generics hashtable: we use the global one through the call of
mono_class_inflate_generic_method ().
Mon Jul 23 19:43:14 CEST 2007 Paolo Molaro <lupus@ximian.com>
* class.c, metadata.c, class-internals.h: introduce yet another
generics global cache for inflated methods (fixes 98% of the perf
issue in bug #81806).
2007-07-23 Raja R Harinath <rharinath@novell.com>
Fix #81035 -- avoid allocating MonoGenericInsts willy-nilly
* metadata.c (mono_metadata_lookup_generic_inst): Kill.
(mono_metadata_get_generic_inst): New. Given a list of MonoType*,
return a MonoGenericInst containing (a copy) of those types.
(mono_metadata_inflate_generic_inst): Update to changes.
(mono_metadata_parse_generic_inst): Likewise.
(mono_get_shared_generic_inst): Likewise.
* reflection.c (mono_class_bind_generic_parameters): Likewise.
(mono_reflection_bind_generic_method_parameters): Likewise.
* metadata-internals.h: Likewise.
* icall.c (free_generic_context): Kill.
(init_generic_context_from_args): Use mono_metadata_get_generic_inst.
* reflection.c (reflection_methodbuilder_to_mono_method): Use
mono_metadata_type_dup.
* marshal.c (mono_mb_create_method): Likewise.
* metadata.c (mono_metadata_type_dup): Rename from
mono_metadata_type_dup_mp. Take an optional mempool instead of a
MonoImage. Handle a few more cases, esp. when no mempool is given.
* marshal.c, metadata-internals.h: Update to changes.
Mon Jul 23 11:43:31 CEST 2007 Paolo Molaro <lupus@ximian.com>
* class.c: fixed a small leak for array classes and removed warning.
2007-07-22 Zoltan Varga <vargaz@gmail.com>
* loader.c (mono_method_get_param_token): Make this work on generic methods.
Return 0x8000000 for return parameters. Fixes #82161.
2007-07-21 Marek Habersack <grendello@gmail.com>
* appdomain.c (get_shadow_assembly_location): append the current
ticks value to the path. Avoids overwriting the same assemblies by
several threads at the same time.
2007-07-20 Atsushi Enomoto <atsushi@ximian.com>
and Raja R Harinath <rharinath@novell.com>
* icall.c (ves_icall_MonoMethod_get_IsGenericMethodDefinition):
Simplify slightly.
(ves_icall_MonoMethod_GetGenericMethodDefinition): Update
property for testing if a method is a generic method definition.
2007-07-20 Atsushi Enomoto <atsushi@ximian.com>
* domain-internals.h : added 2.0 member fields to MonoAppDomainSetup.
2007-07-19 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c: used function from private branch, reverted to the one in class.h
2007-07-19 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c: a typo slipped in and the code wont compile
2007-07-19 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c: now all code use IS_MANAGED_POINTER and UNMASK_TYPE macros.
disabled box instruction as it is doing the wrong thing
improved stack dump messages, now it is easier to debug type related issues
2007-07-19 Juraj Skripsky <js@hotfeet.ch>
* icall.c (ves_icall_System_MonoType_getFullName): Fix a leak.
2007-07-19 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c: changed MONO_TYPE_TYPEDBYREF stack type from
TYPE_COMPLEX to TYPE_PTR, it did not make any sense to be
grouped with class and valuetype. This change will simply
the code as it should be handled just like unmanaged pointers.
2007-07-19 Mark Probst <mark.probst@gmail.com>
* class.c (concat_two_strings_with_zero): Fixed a silly bug.
2007-07-19 Rodrigo Kumpera <rkumpera@novell.com>
* verify.c: several stack merge issues fixed, reference comparisons now
check the type size. strict type check now works correctly.
added more uses of IS_MANAGED_POINTER macro.
fixed issues pointed by running the test suite against .net.
2007-07-19 Mark Probst <mark.probst@gmail.com>
* class.c, loader.c, class-internals.h: Removed the
MonoLoaderErrorKind enum and replaced it with the MONO_EXCEPTION_
defines.
* icall.c: Better error checking in some internal reflection
methods.
2007-07-18 William Holmes <billholmes54@gmail.com>
* filewatcher.c : removed unused variable 'filename' in
ves_icall_System_IO_FSW_SupportsFSW
Mon Jul 16 19:36:16 CEST 2007 Paolo Molaro <lupus@ximian.com>
* reflection.c, class.c, icall.c, loader.c: mono_get_inflated_method () is
obsolete, removed.
2007-07-15 Zoltan Varga <vargaz@gmail.com>
* icall.c (ves_icall_System_Reflection_FieldInfo_GetTypeModifiers): New icall.
* icall.c (ves_icall_System_Reflection_Module_ResolveSignature): New icall.
2007-07-14 Zoltan Varga <vargaz@gmail.com>
* icall.c (ves_icall_System_Reflection_Module_ResolveMethodToken):
Implement generics support.
(ves_icall_System_Reflection_Module_ResolveFieldToken): Ditto.
* icall.c (ves_icall_System_Reflection_Module_ResolveTypeToken): Add new
type_args and method_args arguments.
(ves_icall_System_Reflection_Module_ResolveMethodToken): Ditto.
(ves_icall_System_Reflection_Module_ResolveFieldToken): Ditto.
(ves_icall_System_Reflection_Module_ResolveMemberToken): Ditto.
2007-07-13 Rodrigo Kumpera <rkumpera@novell.com>
* reflection.c: patch from Thong Nguyen to fix atribute resolution.
It adds a rootimage parameter to mono_reflection_get_type_internal,
adds new function mono_reflection_get_type_with_rootimage and use
the rootimage to resolve the types instead of the current image
2007-07-13 Rolf Bjarne Kvinge <RKvinge@novell.com>