mono.git
13 years agoFix for bug 349053 - unable to serialize SortedDictionary
Luke Halliwell [Sun, 26 Dec 2010 16:26:44 +0000 (08:26 -0800)]
Fix for bug 349053 - unable to serialize SortedDictionary

13 years agoSocket is not connected after error
Gonzalo Paniagua Javier [Tue, 4 Jan 2011 02:09:29 +0000 (21:09 -0500)]
Socket is not connected after error

13 years agoAdd a case-insensitive hashtable
Gonzalo Paniagua Javier [Mon, 3 Jan 2011 22:18:55 +0000 (17:18 -0500)]
Add a case-insensitive hashtable

Use a hashtable instead of a loop when 'ignoreCase' is set.
Based on a patch by Curtis Wensley.

13 years agoImplement VBByRefStr marshalling. Fixes #661917.
Zoltan Varga [Mon, 3 Jan 2011 21:23:19 +0000 (22:23 +0100)]
Implement VBByRefStr marshalling. Fixes #661917.

13 years agoGet rid of mymono_metadata_type_(equal|hash).
Rodrigo Kumpera [Mon, 3 Jan 2011 01:32:31 +0000 (09:32 +0800)]
Get rid of mymono_metadata_type_(equal|hash).

* reflection.c: The copy versions of type/hash functions
is no longer needed. Just get rid of them which brings
some niceties such such as support for FNPTR.

13 years agoFix a warning.
Zoltan Varga [Mon, 3 Jan 2011 20:32:46 +0000 (21:32 +0100)]
Fix a warning.

13 years agoAdd more comments for the fields of MonoAotFileInfo.
Zoltan Varga [Mon, 3 Jan 2011 18:26:05 +0000 (19:26 +0100)]
Add more comments for the fields of MonoAotFileInfo.

13 years agoDon't make the 'thumb_end' symbol global.
Zoltan Varga [Mon, 3 Jan 2011 18:10:40 +0000 (19:10 +0100)]
Don't make the 'thumb_end' symbol global.

13 years agoReorganize the AOT file format once more, get rid of most globals, store them as...
Zoltan Varga [Mon, 3 Jan 2011 17:49:19 +0000 (18:49 +0100)]
Reorganize the AOT file format once more, get rid of most globals, store them as pointers inside MonoAotFileInfo instead.

13 years agoIgnore non-realizable reflection types.
Rodrigo Kumpera [Sun, 2 Jan 2011 21:32:19 +0000 (05:32 +0800)]
Ignore non-realizable reflection types.

* class.c (mono_class_implement_interface_slow): If the reflection
type has not been realized, ignore it since can't affort
to do it from here.

Fixes #656262

13 years agoAvoid mixing llvm aot code and non-llvm code on arm. Clean up the printing of AOT...
Zoltan Varga [Mon, 3 Jan 2011 16:14:37 +0000 (17:14 +0100)]
Avoid mixing llvm aot code and non-llvm code on arm. Clean up the printing of AOT messages.

13 years agoImplement support for llvm+thumb2+aot on arm.
Zoltan Varga [Mon, 3 Jan 2011 15:42:39 +0000 (16:42 +0100)]
Implement support for llvm+thumb2+aot on arm.

13 years agoAdd thumb2 support for ARM EH code.
Zoltan Varga [Mon, 3 Jan 2011 15:42:28 +0000 (16:42 +0100)]
Add thumb2 support for ARM EH code.

13 years agoImplement support for NULL pointers in the bin_writer_emit_pointer ().
Zoltan Varga [Mon, 3 Jan 2011 15:41:43 +0000 (16:41 +0100)]
Implement support for NULL pointers in the bin_writer_emit_pointer ().

13 years agoAllow the special ECMA key when parsing assembly names (bug#660570).
Paolo Molaro [Mon, 3 Jan 2011 14:35:48 +0000 (15:35 +0100)]
Allow the special ECMA key when parsing assembly names (bug#660570).

13 years agoAvoid computing GC maps if precise stack marking is disabled.
Zoltan Varga [Mon, 3 Jan 2011 14:52:11 +0000 (15:52 +0100)]
Avoid computing GC maps if precise stack marking is disabled.

13 years agoMerge branch 'precise-gc-maps'
Zoltan Varga [Mon, 3 Jan 2011 14:45:14 +0000 (15:45 +0100)]
Merge branch 'precise-gc-maps'

13 years ago.gitignore
Zoltan Varga [Mon, 3 Jan 2011 11:50:59 +0000 (12:50 +0100)]
.gitignore

13 years agoMake conservative stack marking the default for now.
Zoltan Varga [Mon, 3 Jan 2011 11:48:23 +0000 (12:48 +0100)]
Make conservative stack marking the default for now.

13 years agoFix an assert which can be hit for types unloadable types.
Zoltan Varga [Mon, 3 Jan 2011 11:44:46 +0000 (12:44 +0100)]
Fix an assert which can be hit for types unloadable types.

13 years agoAdd 'save_locations' to mono_arch_find_jit_info () signature on all platforms.
Zoltan Varga [Mon, 3 Jan 2011 11:40:57 +0000 (12:40 +0100)]
Add 'save_locations' to mono_arch_find_jit_info () signature on all platforms.

13 years agoFix a warning.
Zoltan Varga [Mon, 3 Jan 2011 11:25:14 +0000 (12:25 +0100)]
Fix a warning.

13 years agoFix some merge problems.
Zoltan Varga [Mon, 3 Jan 2011 11:25:02 +0000 (12:25 +0100)]
Fix some merge problems.

13 years agoDon't set 'last' after emitting the OP_GC_SPILL_SLOT_LIVENESS_DEF () opcode.
Zoltan Varga [Fri, 12 Nov 2010 23:12:23 +0000 (00:12 +0100)]
Don't set 'last' after emitting the  OP_GC_SPILL_SLOT_LIVENESS_DEF () opcode.

13 years agoFix a merge problem.
Zoltan Varga [Fri, 12 Nov 2010 20:12:05 +0000 (21:12 +0100)]
Fix a merge problem.

13 years agoProperly copy the contexts for FRAME_TYPE_MANAGED_TO_NATIVE.
Zoltan Varga [Wed, 10 Nov 2010 13:32:17 +0000 (14:32 +0100)]
Properly copy the contexts for FRAME_TYPE_MANAGED_TO_NATIVE.

13 years agoRemove obsolete conservative-stack-mark MONO_GC_DEBUG option, it is superseded by...
Zoltan Varga [Wed, 10 Nov 2010 13:08:08 +0000 (14:08 +0100)]
Remove obsolete conservative-stack-mark MONO_GC_DEBUG option, it is superseded by a MONO_GC_PARAMS option.

13 years agoFix some merge problems.
Zoltan Varga [Wed, 10 Nov 2010 12:57:07 +0000 (13:57 +0100)]
Fix some merge problems.

13 years agoImplement AOT support.
Zoltan Varga [Wed, 13 Oct 2010 13:18:59 +0000 (15:18 +0200)]
Implement AOT support.

13 years agoAdd stats for the number of pinned objects during all collections. Avoid scanning...
Zoltan Varga [Mon, 11 Oct 2010 14:12:40 +0000 (16:12 +0200)]
Add stats for the number of pinned objects during all collections. Avoid scanning the frames above the start_wrapper () frame. Rework start_wrapper () to avoid references to the Thread object, so hopefully it won't get pinned.

13 years agoFix formatting.
Zoltan Varga [Fri, 8 Oct 2010 10:26:31 +0000 (12:26 +0200)]
Fix formatting.

13 years agoImplement x86 support.
Zoltan Varga [Fri, 8 Oct 2010 10:19:18 +0000 (12:19 +0200)]
Implement x86 support.

13 years agoRemove unused DEBUG_GC_MAP macros.
Zoltan Varga [Tue, 5 Oct 2010 22:32:34 +0000 (00:32 +0200)]
Remove unused DEBUG_GC_MAP macros.

13 years agoLog to stdout by default, so it matches up with the output of the program.
Zoltan Varga [Tue, 5 Oct 2010 04:30:06 +0000 (06:30 +0200)]
Log to stdout by default, so it matches up with the output of the program.

13 years agoShare the log file between sgen and the stack marking code.
Zoltan Varga [Tue, 5 Oct 2010 04:26:43 +0000 (06:26 +0200)]
Share the log file between sgen and the stack marking code.

13 years agoDon't crash in one place if logging is turned on. Add some FIXMEs.
Zoltan Varga [Tue, 5 Oct 2010 04:08:32 +0000 (06:08 +0200)]
Don't crash in one place if logging is turned on. Add some FIXMEs.

13 years agoRevert "Flush the actual file too in binary_protocol_flush_buffers ()."
Zoltan Varga [Mon, 4 Oct 2010 16:27:36 +0000 (18:27 +0200)]
Revert "Flush the actual file too in binary_protocol_flush_buffers ()."

This reverts commit 27bb69444433cd4eda1fccfcd45fcc619559a29d.

13 years agoFlush the actual file too in binary_protocol_flush_buffers ().
Zoltan Varga [Mon, 4 Oct 2010 00:34:13 +0000 (02:34 +0200)]
Flush the actual file too in binary_protocol_flush_buffers ().

13 years agoUse sizeof (mgreg_t) in a few more places.
Zoltan Varga [Mon, 4 Oct 2010 00:33:53 +0000 (02:33 +0200)]
Use sizeof (mgreg_t) in a few more places.

13 years agoPrint frame info during the precise pass as well.
Zoltan Varga [Mon, 4 Oct 2010 00:15:08 +0000 (02:15 +0200)]
Print frame info during the precise pass as well.

13 years agoAdd a MONO_GCMAP_DEBUG env variable. Redirect debug messages to a logfile. Fix tracki...
Zoltan Varga [Sat, 2 Oct 2010 20:19:22 +0000 (22:19 +0200)]
Add a MONO_GCMAP_DEBUG env variable. Redirect debug messages to a logfile. Fix tracking of registers through managed-to-native transitions.

13 years agoAllow an argument to collect-before-allocs to force sgen to do a minor collection...
Zoltan Varga [Sat, 2 Oct 2010 20:18:22 +0000 (22:18 +0200)]
Allow an argument to collect-before-allocs to force sgen to do a minor collection every N allocations. Implement major_ptr_is_in_non_pinned_space ().

13 years agoAllocate a few more vregs as REF/MP.
Zoltan Varga [Fri, 1 Oct 2010 03:35:35 +0000 (05:35 +0200)]
Allocate a few more vregs as REF/MP.

13 years agoImprove logging even more. Fix a crash which happened when tls->nframes was not initi...
Zoltan Varga [Wed, 29 Sep 2010 03:06:38 +0000 (05:06 +0200)]
Improve logging even more. Fix a crash which happened when tls->nframes was not initialized in a code path.

13 years agoImprove logging, really set vtype slots without liveness info to PIN.
Zoltan Varga [Tue, 28 Sep 2010 22:50:15 +0000 (00:50 +0200)]
Improve logging, really set vtype slots without liveness info to PIN.

13 years agoDon't treat arguments in registers live for the whole method.
Zoltan Varga [Tue, 28 Sep 2010 20:57:07 +0000 (22:57 +0200)]
Don't treat arguments in registers live for the whole method.

13 years agoMake gshared variables GC tracked.
Zoltan Varga [Mon, 27 Sep 2010 23:36:09 +0000 (01:36 +0200)]
Make gshared variables GC tracked.

13 years agoAdd stats for the size of the scanned native stacks.
Zoltan Varga [Mon, 27 Sep 2010 04:22:55 +0000 (06:22 +0200)]
Add stats for the size of the scanned native stacks.

13 years agoFix the computation of frame start so some areas are not scanned twice.
Zoltan Varga [Mon, 27 Sep 2010 04:17:41 +0000 (06:17 +0200)]
Fix the computation of frame start so some areas are not scanned twice.

13 years agoLog if the frame stack is full.
Zoltan Varga [Mon, 27 Sep 2010 02:15:27 +0000 (04:15 +0200)]
Log if the frame stack is full.

13 years agoMove the handling of finally clauses into a separate function. Treat the frame pointe...
Zoltan Varga [Mon, 27 Sep 2010 00:29:49 +0000 (02:29 +0200)]
Move the handling of finally clauses into a separate function. Treat the frame pointer as a precise reg.

13 years agoMake a log statement depend on cfg->verbose_level.
Zoltan Varga [Sun, 26 Sep 2010 23:52:29 +0000 (01:52 +0200)]
Make a log statement depend on cfg->verbose_level.

13 years agoFix the handling of methods with finally clauses so it is correct and reasonable...
Zoltan Varga [Sun, 26 Sep 2010 23:35:27 +0000 (01:35 +0200)]
Fix the handling of methods with finally clauses so it is correct and reasonable efficient: only callsites inside finally blocks are treated conservatively.

13 years agoMark the dreg of OP_NEWARR as a ref.
Zoltan Varga [Sun, 26 Sep 2010 22:06:34 +0000 (00:06 +0200)]
Mark the dreg of OP_NEWARR as a ref.

13 years agoAdd an option to turn on CLEAR_AT_GC.
Zoltan Varga [Sun, 26 Sep 2010 18:26:35 +0000 (20:26 +0200)]
Add an option to turn on CLEAR_AT_GC.

13 years agoImprove logging. Treat the result of an LDIND.REF as a ref. Treat methods with finall...
Zoltan Varga [Sun, 26 Sep 2010 18:25:53 +0000 (20:25 +0200)]
Improve logging. Treat the result of an LDIND.REF as a ref. Treat methods with finally clauses very conservatively again.

13 years agoRename a few fields.
Zoltan Varga [Sat, 25 Sep 2010 20:33:11 +0000 (22:33 +0200)]
Rename a few fields.

13 years agoMake GC maps for methods with finally clauses more precise.
Zoltan Varga [Sat, 25 Sep 2010 15:29:37 +0000 (17:29 +0200)]
Make GC maps for methods with finally clauses more precise.

13 years agoOptimize the frames with finally clauses a bit so at least the non-ref slots are...
Zoltan Varga [Sat, 25 Sep 2010 03:17:13 +0000 (05:17 +0200)]
Optimize the frames with finally clauses a bit so at least the non-ref slots are scanned precisely.

13 years agoDon't assert in describe_ptr () for oldspace pointers.
Zoltan Varga [Sat, 25 Sep 2010 00:05:40 +0000 (02:05 +0200)]
Don't assert in describe_ptr () for oldspace pointers.

13 years agoAllow wrapper frames to be precisely tracked.
Zoltan Varga [Sat, 25 Sep 2010 00:04:20 +0000 (02:04 +0200)]
Allow wrapper frames to be precisely tracked.

13 years agoFix regressions introduced by the last few changes. Mark THROW/RETHROW as call sites.
Zoltan Varga [Fri, 24 Sep 2010 23:07:45 +0000 (01:07 +0200)]
Fix regressions introduced by the last few changes. Mark THROW/RETHROW as call sites.

13 years agoTreat the frame reg as precisely tracked.
Zoltan Varga [Fri, 24 Sep 2010 21:02:35 +0000 (23:02 +0200)]
Treat the frame reg as precisely tracked.

13 years agoEncode regmasks compactly.
Zoltan Varga [Fri, 24 Sep 2010 20:03:40 +0000 (22:03 +0200)]
Encode regmasks compactly.

13 years agoRegisters are now NOREF by default outside their live range.
Zoltan Varga [Fri, 24 Sep 2010 18:29:03 +0000 (20:29 +0200)]
Registers are now NOREF by default outside their live range.

13 years agoRemove a debug printf.
Zoltan Varga [Fri, 24 Sep 2010 00:37:01 +0000 (02:37 +0200)]
Remove a debug printf.

13 years agoFix a warning.
Zoltan Varga [Fri, 24 Sep 2010 00:36:37 +0000 (02:36 +0200)]
Fix a warning.

13 years agoDisable heavy logging.
Zoltan Varga [Fri, 24 Sep 2010 00:35:15 +0000 (02:35 +0200)]
Disable heavy logging.

13 years agoFix logging and add more logging to the liveness pass.
Zoltan Varga [Fri, 24 Sep 2010 00:20:48 +0000 (02:20 +0200)]
Fix logging and add more logging to the liveness pass.

13 years agoCreate GC maps for methods with nono-finally clauses.
Zoltan Varga [Wed, 22 Sep 2010 22:18:53 +0000 (00:18 +0200)]
Create GC maps for methods with nono-finally clauses.

13 years agoAdd comments about reducing the size of the GC maps.
Zoltan Varga [Wed, 22 Sep 2010 21:34:43 +0000 (23:34 +0200)]
Add comments about reducing the size of the GC maps.

13 years agoFix some FIXMEs.
Zoltan Varga [Wed, 22 Sep 2010 20:31:18 +0000 (22:31 +0200)]
Fix some FIXMEs.

13 years agoAdd a free callback to sgen, use it to free our TLS data.
Zoltan Varga [Wed, 22 Sep 2010 19:18:59 +0000 (21:18 +0200)]
Add a free callback to sgen, use it to free our TLS data.

13 years agoOptimize the size of TlsData.
Zoltan Varga [Wed, 22 Sep 2010 15:52:44 +0000 (17:52 +0200)]
Optimize the size of TlsData.

13 years agoOptimize GC map memory usage a bit more, add more memory usage stats.
Zoltan Varga [Wed, 22 Sep 2010 15:42:14 +0000 (17:42 +0200)]
Optimize GC map memory usage a bit more, add more memory usage stats.

13 years agoUpdate some comments.
Zoltan Varga [Wed, 22 Sep 2010 01:40:07 +0000 (03:40 +0200)]
Update some comments.

13 years agoRename StackSlotType to GCSlotType.
Zoltan Varga [Wed, 22 Sep 2010 01:37:37 +0000 (03:37 +0200)]
Rename StackSlotType to GCSlotType.

13 years agoAdd the conservative-stack-mark option to the MONO_GC_DEBUG help.
Zoltan Varga [Wed, 22 Sep 2010 01:31:01 +0000 (03:31 +0200)]
Add the conservative-stack-mark option to the MONO_GC_DEBUG help.

13 years agoRefactor mini_gc_create_gc_map () into smaller functions.
Zoltan Varga [Wed, 22 Sep 2010 00:36:38 +0000 (02:36 +0200)]
Refactor mini_gc_create_gc_map () into smaller functions.

13 years agoImplement precise scanning of param area slots. Fix lots of bugs.
Zoltan Varga [Wed, 22 Sep 2010 00:26:08 +0000 (02:26 +0200)]
Implement precise scanning of param area slots. Fix lots of bugs.

13 years agoDon't treat the saved ebp slot as pinned. Fix support for noref structs smaller than...
Zoltan Varga [Tue, 21 Sep 2010 20:00:52 +0000 (22:00 +0200)]
Don't treat the saved ebp slot as pinned. Fix support for noref structs smaller than a pointer. Don't treat 'this' in gshared methods as pinned. Fix the handling of volatile variables.

13 years agoFix order of entries in GCEncodedMap.
Zoltan Varga [Mon, 20 Sep 2010 22:13:48 +0000 (00:13 +0200)]
Fix order of entries in GCEncodedMap.

13 years agoUpdate comments.
Zoltan Varga [Mon, 20 Sep 2010 22:12:32 +0000 (00:12 +0200)]
Update comments.

13 years agoSplit the marking function into two functions, save information during the conservati...
Zoltan Varga [Mon, 20 Sep 2010 22:00:26 +0000 (00:00 +0200)]
Split the marking function into two functions, save information during the conservative pass to avoid doing a stack walk during the precise pass.

13 years agoOmit empty columns from the register bitmaps.
Zoltan Varga [Mon, 20 Sep 2010 01:05:24 +0000 (03:05 +0200)]
Omit empty columns from the register bitmaps.

13 years agoFix a typo.
Zoltan Varga [Mon, 20 Sep 2010 00:44:28 +0000 (02:44 +0200)]
Fix a typo.

13 years agoEmbed the callsite table after the gc map.
Zoltan Varga [Mon, 20 Sep 2010 00:06:53 +0000 (02:06 +0200)]
Embed the callsite table after the gc map.

13 years agoImplement compression of the fixed fields in the GCMap struct.
Zoltan Varga [Sun, 19 Sep 2010 19:57:48 +0000 (21:57 +0200)]
Implement compression of the fixed fields in the GCMap struct.

13 years agoCompute the GC bitmap offsets instead of storing them inside the GCMap structure...
Zoltan Varga [Sun, 19 Sep 2010 13:24:53 +0000 (15:24 +0200)]
Compute the GC bitmap offsets instead of storing them inside the GCMap structure, to reduce its size.

13 years agoFirst pass at reducing the memory usage of GC Maps.
Zoltan Varga [Sat, 18 Sep 2010 19:49:13 +0000 (21:49 +0200)]
First pass at reducing the memory usage of GC Maps.
Remove constants fields, embed the bitmap array after the structure, use
offsets into the bitmap array instead of pointers, encode the callsites
table using i8/i16 if possible.

13 years agoRewrite everything. Instead of computing liveness intervals, compute the set of live...
Zoltan Varga [Sat, 18 Sep 2010 12:37:49 +0000 (14:37 +0200)]
Rewrite everything. Instead of computing liveness intervals, compute the set of live variables at each call site, and use this to create gc bitmaps which are only precise at call sites.

13 years agoTrim starting and ending NOREF columns from the GC bitmaps.
Zoltan Varga [Fri, 17 Sep 2010 13:12:35 +0000 (15:12 +0200)]
Trim starting and ending NOREF columns from the GC bitmaps.

13 years agoMerge process_locals () and process_arguments ().
Zoltan Varga [Fri, 17 Sep 2010 12:34:42 +0000 (14:34 +0200)]
Merge process_locals () and process_arguments ().

13 years agoDon't treat 'this' as byref. Don't treat ref regs as pinned.
Zoltan Varga [Fri, 17 Sep 2010 03:51:10 +0000 (05:51 +0200)]
Don't treat 'this' as byref. Don't treat ref regs as pinned.

13 years agoAdd a new regbank for spill slots holding managed pointers. Treat those as PIN.
Zoltan Varga [Fri, 17 Sep 2010 01:32:39 +0000 (03:32 +0200)]
Add a new regbank for spill slots holding managed pointers. Treat those as PIN.
Make LDELEMA return an MP.

13 years agoGenerate liveness info for non-ref variables allocated to registers.
Zoltan Varga [Thu, 16 Sep 2010 14:59:58 +0000 (16:59 +0200)]
Generate liveness info for non-ref variables allocated to registers.

13 years agoUpdate comments.
Zoltan Varga [Thu, 16 Sep 2010 12:25:03 +0000 (14:25 +0200)]
Update comments.

13 years agoImplement precise scanning of registers by scanning the stack slots where they are...
Zoltan Varga [Thu, 16 Sep 2010 12:11:44 +0000 (14:11 +0200)]
Implement precise scanning of registers by scanning the stack slots where they are saved.

13 years agoMark some LMF fields as NOREF.
Zoltan Varga [Wed, 15 Sep 2010 23:57:56 +0000 (01:57 +0200)]
Mark some LMF fields as NOREF.

13 years agoMark non-ref spill slots as NOREF. Mark copies of ref vregs as ref during SSA constru...
Zoltan Varga [Wed, 15 Sep 2010 04:40:24 +0000 (06:40 +0200)]
Mark non-ref spill slots as NOREF. Mark copies of ref vregs as ref during SSA construction. Treat 'this' as a ref.