mono.git
13 years agoupdate Mono.Cecil
Jb Evain [Thu, 2 Jun 2011 14:39:06 +0000 (16:39 +0200)]
update Mono.Cecil

13 years agoHandle a vtable layout corner case.
Rodrigo Kumpera [Wed, 1 Jun 2011 17:55:30 +0000 (14:55 -0300)]
Handle a vtable layout corner case.

class.c (mono_class_inflate_generic_method_full_checked): Don't
inflate a method if the provided context won't change it.
This change, in particular, avoid inflating a generic method
of a non-generic class if the context has class only vars.

This fixes #696593 as the above was causing the vtable of
Class3 ending up with an inflated Class1::Method<> that
comes from inflated Class2<object> parent.
Then the parent override pass would collect a non-inflated
Class1::Method<> overide that would then not match the one
on the vtable causing Class3 to have an abstract method on
its vtable and thus failing to load.

Big explanation means tricky change, might break tons of stuff.

13 years agoImprove vtable layout tracing.
Rodrigo Kumpera [Wed, 1 Jun 2011 17:54:35 +0000 (14:54 -0300)]
Improve vtable layout tracing.

13 years ago[sgen] Split the minor scan function between parallel and non-parallel.
Mark Probst [Tue, 31 May 2011 21:04:26 +0000 (23:04 +0200)]
[sgen] Split the minor scan function between parallel and non-parallel.

In making the nursery collector configurable between parallel vs
non-parallel we made the scan function check which one it was for each
pointer encountered, which is a potential performance issue.  This
brings things back to normal.

13 years ago[sgen] Make nursery collector for parallel M&S non-parallel again.
Mark Probst [Tue, 31 May 2011 21:02:33 +0000 (23:02 +0200)]
[sgen] Make nursery collector for parallel M&S non-parallel again.

Thread synchronization for the parallel nursery collector is (still)
too high to pay off.  Also, it currently crashes on the corlib
testsuite.

It can now be turned on and off with the nursery_collector_is_parallel
variable.  We will make this configurable via MONO_GC_PARAMS once the
bug is found and fixed.

13 years ago[mdoc] Add MonoDevelop project files.
Jonathan Pryor [Tue, 31 May 2011 17:32:42 +0000 (13:32 -0400)]
[mdoc] Add MonoDevelop project files.

Code completion is nice...

13 years agoBetter test
Marek Safar [Tue, 31 May 2011 17:06:08 +0000 (18:06 +0100)]
Better test

13 years ago[697236] Generic type parameter attributes can precede variance modifiers
Marek Safar [Tue, 31 May 2011 16:57:52 +0000 (17:57 +0100)]
[697236] Generic type parameter attributes can precede variance modifiers

13 years ago[696822] Reset eval completion on error handling
Marek Safar [Tue, 31 May 2011 15:57:25 +0000 (16:57 +0100)]
[696822] Reset eval completion on error handling

13 years agoSupport WebHttpBinding configuration.
Atsushi Eno [Tue, 31 May 2011 11:56:30 +0000 (20:56 +0900)]
Support WebHttpBinding configuration.

13 years agoPersist parsed values of literal constants in full ast mode
Marek Safar [Tue, 31 May 2011 11:43:20 +0000 (12:43 +0100)]
Persist parsed values of literal constants in full ast mode

13 years agoFix location of numeric literals
Marek Safar [Tue, 31 May 2011 10:28:49 +0000 (11:28 +0100)]
Fix location of numeric literals

13 years agoFix some warnings.
Zoltan Varga [Tue, 31 May 2011 00:56:09 +0000 (02:56 +0200)]
Fix some warnings.

13 years agoRef parameter was not covered by ParameterInfo.IsOut. Fixed bug #696784.
Atsushi Eno [Tue, 31 May 2011 09:51:36 +0000 (18:51 +0900)]
Ref parameter was not covered by ParameterInfo.IsOut. Fixed bug #696784.

13 years agoEmit write barriers after/before volatile loads/stores.
Zoltan Varga [Mon, 30 May 2011 23:38:48 +0000 (01:38 +0200)]
Emit write barriers after/before volatile loads/stores.

13 years agobatch compiler fails on osx due to thread exaustion
Rodrigo Kumpera [Mon, 30 May 2011 21:31:24 +0000 (18:31 -0300)]
batch compiler fails on osx due to thread exaustion

13 years agoRegression test #696817
Rodrigo Kumpera [Mon, 30 May 2011 21:30:23 +0000 (18:30 -0300)]
Regression test #696817

13 years agoProperly handle field RVA under moving collector.
Rodrigo Kumpera [Mon, 30 May 2011 21:11:08 +0000 (18:11 -0300)]
Properly handle field RVA under moving collector.

* reflection.c (typebuilder_setup_fields): Alloc RVA data
on the image mempool so it works with a moving collector.

Fixes #696817

13 years agoMerge pull request #97 from skolima/master
Marek Habersack [Mon, 30 May 2011 20:18:53 +0000 (13:18 -0700)]
Merge pull request #97 from skolima/master

Second part of Microsoft.Build.Construction: loading project files

13 years agoFix invalid instantiations on method calls.
Rodrigo Kumpera [Mon, 30 May 2011 18:58:27 +0000 (15:58 -0300)]
Fix invalid instantiations on method calls.

* verify.c: Disalow GTDs on method position.

Fixes #656913

13 years agoFix sgen under xen
Rodrigo Kumpera [Mon, 30 May 2011 15:21:32 +0000 (12:21 -0300)]
Fix sgen under xen

13 years agoMerge pull request #107 from duarten/master
Gonzalo Paniagua Javier [Mon, 30 May 2011 01:06:53 +0000 (18:06 -0700)]
Merge pull request #107 from duarten/master

Allow a thread to set its interruption state

13 years agoThreads can now self-interrupt, as expected
Duarte Nunes [Sun, 29 May 2011 20:38:21 +0000 (21:38 +0100)]
Threads can now self-interrupt, as expected

13 years ago[MSBuild] Microsoft.Build.Construction loading project files
Leszek 'skolima' Ciesielski [Fri, 29 Apr 2011 20:40:22 +0000 (22:40 +0200)]
[MSBuild] Microsoft.Build.Construction loading project files

13 years ago[sgen] Allocate small IDs for worker threads.
Mark Probst [Sat, 28 May 2011 15:06:15 +0000 (17:06 +0200)]
[sgen] Allocate small IDs for worker threads.

Worker threads require SMR to work because they use the lock-free
internal allocator, so they need to have a small ID.  We introduce a
new function in mono-threads that just allocates and registers a small
ID for a thread.

13 years ago[xbuild] Add property $(SkipCopyUnchangedFiles)
Ankit Jain [Fri, 27 May 2011 19:49:16 +0000 (01:19 +0530)]
[xbuild] Add property $(SkipCopyUnchangedFiles)

Microsoft.Common.targets: Use new property
$(SkipCopyUnchangedFiles) to control SkipUnchangedFiles property
of the various Copy tasks. Also, allow skipping when
copying CopyToOutputDirectory files in PreserveNewest case.

Patch from Tom Philpot <tom.philpot@logos.com>

13 years agoMerge pull request #106 from XTZGZoReX/master
Marek Safar [Fri, 27 May 2011 10:05:20 +0000 (03:05 -0700)]
Merge pull request #106 from XTZGZoReX/master

mcs: Remove ctest target (dead NET_1_0 code)

13 years agomcs: Remove ctest target (dead NET_1_0 code).
XTZGZoReX [Fri, 27 May 2011 12:03:21 +0000 (14:03 +0200)]
mcs: Remove ctest target (dead NET_1_0 code).

13 years agoAdd test for XmlMembersMapping.TypeName and .Namespace (not very useful yet...)
Atsushi Eno [Fri, 27 May 2011 08:29:05 +0000 (17:29 +0900)]
Add test for XmlMembersMapping.TypeName and .Namespace (not very useful yet...)

13 years agoFill type info in MessagePartDescription from XmlSerializer-based wsdl importer.
Atsushi Eno [Fri, 27 May 2011 08:24:01 +0000 (17:24 +0900)]
Fill type info in MessagePartDescription from XmlSerializer-based wsdl importer.

It still needs some fixes to import message elements.

13 years agoFix HEAVY_STATS
Rodrigo Kumpera [Thu, 26 May 2011 23:36:39 +0000 (20:36 -0300)]
Fix HEAVY_STATS

13 years agoAdd stats for the nursery allocator
Rodrigo Kumpera [Thu, 26 May 2011 23:36:23 +0000 (20:36 -0300)]
Add stats for the nursery allocator

13 years agoSanitize assertions in the unmanaged object allocator.
Rodrigo Kumpera [Thu, 26 May 2011 22:05:26 +0000 (19:05 -0300)]
Sanitize assertions in the unmanaged object allocator.

13 years agoChange the managed allocator so the tlab wastage trick works with it enabled.
Rodrigo Kumpera [Thu, 26 May 2011 20:45:15 +0000 (17:45 -0300)]
Change the managed allocator so the tlab wastage trick works with it enabled.

13 years agoBound tlab wastage to SGEN_MAX_NURSERY_WASTE.
Rodrigo Kumpera [Thu, 26 May 2011 15:39:58 +0000 (12:39 -0300)]
Bound tlab wastage to SGEN_MAX_NURSERY_WASTE.

* sgen-gc.c: When a new tlab is needed we check if we should
alloc the object directly into the nursery and spare discarding
the current tlab.

This reduces nursery wastage by 5x on httplistener. It's a silly
test, but should how important this change is.

13 years agoCleanup and move nursery allocator tunables to sgen-gc.h
Rodrigo Kumpera [Thu, 26 May 2011 15:39:23 +0000 (12:39 -0300)]
Cleanup and move nursery allocator tunables to sgen-gc.h

13 years agoAdd nursery wastage accounting under heavy stats
Rodrigo Kumpera [Thu, 26 May 2011 23:08:32 +0000 (20:08 -0300)]
Add nursery wastage accounting under heavy stats

13 years agoIntroduce mono_sgen_nursery_retire_region.
Rodrigo Kumpera [Thu, 26 May 2011 14:25:07 +0000 (11:25 -0300)]
Introduce mono_sgen_nursery_retire_region.

* sgen-nursery-allocator.c: Add function that is notified of
wasted tlab space.

13 years agoImplement nursery allocation tracking.
Rodrigo Kumpera [Wed, 25 May 2011 04:54:13 +0000 (01:54 -0300)]
Implement nursery allocation tracking.

* sgen-nursery-allocator.c: Add lighweight logging of
all nursery operations done by the allocator and have
functions that spill the data. This is very helpfull to
debug and analyse nursery related issues.

13 years agoImplement lock free nursery allocation.
Rodrigo Kumpera [Tue, 17 May 2011 06:23:30 +0000 (03:23 -0300)]
Implement lock free nursery allocation.

* sgen-gc.c (mono_gc_try_alloc_obj_nolock): Now try to
expand the TLAB or allocate directly from the nursery.

* sgen-nursery-allocator.c (alloc_from_fragment): Use
M. Michael's linked-list removal to have a lock-free
walkable linked-list. SMR is not required since we never
reclaim fragments.

13 years agoUse a separate field to hold freed fragments
Rodrigo Kumpera [Tue, 17 May 2011 03:38:13 +0000 (00:38 -0300)]
Use a separate field to hold freed fragments

13 years agoKill nursery_next, now each fragment has a bump pointer.
Rodrigo Kumpera [Tue, 17 May 2011 02:51:11 +0000 (23:51 -0300)]
Kill nursery_next, now each fragment has a bump pointer.

13 years agoAdd mono_sgen_can_alloc_size and trim some unusued parts of the API
Rodrigo Kumpera [Mon, 16 May 2011 21:38:48 +0000 (18:38 -0300)]
Add mono_sgen_can_alloc_size and trim some unusued parts of the API

13 years agoFinish spliting sgen-nursery-allocator into a separate compilation unit
Rodrigo Kumpera [Sat, 14 May 2011 22:43:40 +0000 (19:43 -0300)]
Finish spliting sgen-nursery-allocator into a separate compilation unit

13 years agoExport mono_sgen_get_nursery_clear_policy from sgen-gc
Rodrigo Kumpera [Sat, 14 May 2011 21:38:35 +0000 (18:38 -0300)]
Export mono_sgen_get_nursery_clear_policy from sgen-gc

13 years agoRename functions that will be part of the nursery-allocator API.
Rodrigo Kumpera [Sat, 14 May 2011 21:26:11 +0000 (18:26 -0300)]
Rename functions that will be part of the nursery-allocator API.

* sgen-gc.c: Move more nursery-allocator behavior to
the new file.

13 years agoMove more nursery fragment code from sgen-gc.c
Rodrigo Kumpera [Sat, 14 May 2011 21:04:04 +0000 (18:04 -0300)]
Move more nursery fragment code from sgen-gc.c

13 years agoMove nursery fragment handling to a separate file
Rodrigo Kumpera [Sat, 14 May 2011 18:56:15 +0000 (15:56 -0300)]
Move nursery fragment handling to a separate file

13 years agoMerge pull request #104 from XTZGZoReX/master
Marek Safar [Thu, 26 May 2011 10:08:57 +0000 (03:08 -0700)]
Merge pull request #104 from XTZGZoReX/master

[repl] Make some output consistent.

13 years ago[repl] Make some output consistent.
XTZGZoReX [Thu, 26 May 2011 11:40:26 +0000 (13:40 +0200)]
[repl] Make some output consistent.

13 years agoInferred type argument cannot be of method group
Marek Safar [Thu, 26 May 2011 08:28:42 +0000 (09:28 +0100)]
Inferred type argument cannot be of method group

13 years agoAdd more async infrastructure
Marek Safar [Thu, 26 May 2011 08:28:14 +0000 (09:28 +0100)]
Add more async infrastructure

13 years agoNew test.
Marek Safar [Wed, 25 May 2011 17:18:03 +0000 (18:18 +0100)]
New test.

13 years agoDon't report ambiguous property error when one of the candidates is not C# compatible
Marek Safar [Wed, 25 May 2011 14:52:28 +0000 (15:52 +0100)]
Don't report ambiguous property error when one of the candidates is not C# compatible

13 years agoThe TLS shutdown race only happen in signal based STW. Disable work-around for mach.
Rodrigo Kumpera [Wed, 25 May 2011 18:56:39 +0000 (15:56 -0300)]
The TLS shutdown race only happen in signal based STW. Disable work-around for mach.

13 years agoFix mul_imm under amd64
Rodrigo Kumpera [Wed, 25 May 2011 18:00:41 +0000 (15:00 -0300)]
Fix mul_imm under amd64

13 years agoEnable llvm support for the new Monitor.Enter () wrapper.
Zoltan Varga [Wed, 25 May 2011 11:29:13 +0000 (13:29 +0200)]
Enable llvm support for the new Monitor.Enter () wrapper.

13 years agoFix a warning.
Zoltan Varga [Wed, 25 May 2011 11:15:35 +0000 (13:15 +0200)]
Fix a warning.

13 years agoFix mono-cq under sgen.
Rodrigo Kumpera [Wed, 25 May 2011 06:40:56 +0000 (03:40 -0300)]
Fix mono-cq under sgen.

* mono-cq.c: Don't store to managed fields directly, use
MONO_OBJECT_SETREF. Don't memset a block of memory with
roots, use mono_gc_bzero.

This fixes random crashes in my sgen_par_tlab branch.
Hopefully all of them.

13 years agoImplement AOT support for the new Monitor.Enter () wrapper.
Zoltan Varga [Wed, 25 May 2011 02:15:11 +0000 (04:15 +0200)]
Implement AOT support for the new Monitor.Enter () wrapper.

13 years agoDisable v4 monitor.enter fastpath under aot and llvm
Rodrigo Kumpera [Tue, 24 May 2011 23:16:20 +0000 (20:16 -0300)]
Disable v4 monitor.enter fastpath under aot and llvm

13 years agoReapply the fast v4 monitor enter IL. AOT and LLVM are possibly broken.
Rodrigo Kumpera [Tue, 24 May 2011 23:09:49 +0000 (20:09 -0300)]
Reapply the fast v4 monitor enter IL. AOT and LLVM are possibly broken.

13 years agoRevert "Reapply 171e69041898f488f332c5a2fad71e40f5863c5d fixed to compile under linux."
Marek Habersack [Tue, 24 May 2011 23:01:25 +0000 (01:01 +0200)]
Revert "Reapply 171e69041898f488f332c5a2fad71e40f5863c5d fixed to compile under linux."

This reverts commit 20c6d0aaea815512306a916ef7701233d671200d. This break Linux (64-bit) compilation
in a different place:

make[7]: Entering directory `/home/src/build/mono/mono/mcs/class/aot-compiler'
MONO_PATH='./../../class/lib/build/' > build_aot.log 2>&1 /home/src/build/mono/mono/runtime/mono-wrapper --aot=bind-to-runtime-version --debug ./../../class/lib/build//mscorlib.dll || (cat build_aot.log; exit 1)
Mono Ahead of Time compiler - compiling assembly /home/src/build/mono/mono/mcs/class/lib/build/mscorlib.dll
* Assertion: should not be reached at aot-compiler.c:2061

Stacktrace:

Native stacktrace:

/home/src/build/mono/mono/mono/mini/mono() [0x493c71]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xfc60) [0x2abc620abc60]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x2abc622edd05]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x186) [0x2abc622f1ab6]
/home/src/build/mono/mono/mono/mini/mono() [0x5d93ff]
/home/src/build/mono/mono/mono/mini/mono() [0x5d9523]
/home/src/build/mono/mono/mono/mini/mono() [0x476caa]
/home/src/build/mono/mono/mono/mini/mono() [0x477e99]
/home/src/build/mono/mono/mono/mini/mono() [0x478890]
/home/src/build/mono/mono/mono/mini/mono() [0x47eb90]
/home/src/build/mono/mono/mono/mini/mono(mono_main+0x1425) [0x46f435]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff) [0x2abc622d8eff]
/home/src/build/mono/mono/mono/mini/mono() [0x4125b9]

Debug info from gdb:

82 ../sysdeps/unix/syscall-template.S: No such file or directory.
[Thread debugging using libthread_db enabled]
[New Thread 0x2aaaab988700 (LWP 22577)]
[New Thread 0x2abc63c00700 (LWP 22576)]
[New Thread 0x2abc639ff700 (LWP 22575)]
[New Thread 0x2abc637fe700 (LWP 22574)]
[New Thread 0x2abc635fd700 (LWP 22573)]
[New Thread 0x2abc633fc700 (LWP 22572)]
[New Thread 0x2abc631fb700 (LWP 22571)]
[New Thread 0x2abc62ffa700 (LWP 22570)]
0x00002abc620aacbd in read () at ../sysdeps/unix/syscall-template.S:82
in ../sysdeps/unix/syscall-template.S
  9 Thread 0x2abc62ffa700 (LWP 22570)  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  8 Thread 0x2abc631fb700 (LWP 22571)  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  7 Thread 0x2abc633fc700 (LWP 22572)  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  6 Thread 0x2abc635fd700 (LWP 22573)  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  5 Thread 0x2abc637fe700 (LWP 22574)  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  4 Thread 0x2abc639ff700 (LWP 22575)  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  3 Thread 0x2abc63c00700 (LWP 22576)  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  2 Thread 0x2aaaab988700 (LWP 22577)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
* 1 Thread 0x2abc6264f480 (LWP 22560)  0x00002abc620aacbd in read () at ../sysdeps/unix/syscall-template.S:82

Thread 9 (Thread 0x2abc62ffa700 (LWP 22570)):

Thread 8 (Thread 0x2abc631fb700 (LWP 22571)):

Thread 7 (Thread 0x2abc633fc700 (LWP 22572)):

Thread 6 (Thread 0x2abc635fd700 (LWP 22573)):

Thread 5 (Thread 0x2abc637fe700 (LWP 22574)):

Thread 4 (Thread 0x2abc639ff700 (LWP 22575)):

Thread 3 (Thread 0x2abc63c00700 (LWP 22576)):

Thread 2 (Thread 0x2aaaab988700 (LWP 22577)):

Thread 1 (Thread 0x2abc6264f480 (LWP 22560)):

=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Aborted
make[7]: *** [../../class/lib/build//mscorlib.dll.so] Error 1

13 years agoReapply 171e69041898f488f332c5a2fad71e40f5863c5d fixed to compile under linux.
Rodrigo Kumpera [Tue, 24 May 2011 21:57:54 +0000 (18:57 -0300)]
Reapply 171e69041898f488f332c5a2fad71e40f5863c5d fixed to compile under linux.

* boehm-gc.c:
* sgen-gc.c:
* null-gc.c: Since utils can't use internal symbols from metadata
pass the critical method test function as a callback during initialization.

* mono-threads.c: Use the new callback instead of mono_gc_is_critical_method
or mono_runtime_is_gc_critical.

13 years ago[asp.net] Don't throw an exception if a session item being released does not have...
Marek Habersack [Tue, 24 May 2011 09:12:43 +0000 (11:12 +0200)]
[asp.net] Don't throw an exception if a session item being released does not have a lock.

It can happen when the item is being released after its associated session has ended.

13 years agoFix global schema component resolution issue in ids and identity constraints.
Atsushi Eno [Tue, 24 May 2011 04:02:37 +0000 (13:02 +0900)]
Fix global schema component resolution issue in ids and identity constraints.

The old code cause incorrect duplicate ID errors when XmlSchemas is involved
(global components were not resolved correctly and it's not simple to make
minor fix).
This is part of bugfix #670945.

13 years agoRevert "Implement fast il wrapper for v4 Monitor.Enter."
Marek Habersack [Mon, 23 May 2011 23:46:18 +0000 (01:46 +0200)]
Revert "Implement fast il wrapper for v4 Monitor.Enter."

This reverts commit 171e69041898f488f332c5a2fad71e40f5863c5d. The newly introduced mono_runtime_is_critical_method function
breaks pedump link as follows:

/home/src/build/mono/mono/mono/utils/mono-threads.c:385: undefined reference to `mono_runtime_is_critical_method'
/usr/bin/ld: pedump: hidden symbol `mono_runtime_is_critical_method' isn't defined
/usr/bin/ld: final link failed: Bad value

13 years agoImplement fast il wrapper for v4 Monitor.Enter.
Rodrigo Kumpera [Mon, 23 May 2011 21:27:07 +0000 (18:27 -0300)]
Implement fast il wrapper for v4 Monitor.Enter.

* monitor.c (mono_monitor_get_fast_enter_method): Add support
for v4 Enter.

* monitor.c (mono_monitor_is_il_fastpath_wrapper): New function
that returns true for any of the monitor il wrappers.

* runtime.c (mono_runtime_is_critical_method): New function
that reports if a given method is critical and must not be interrupted.

* mono-threads.c (is_thread_in_critical_region): As the runtime if
the top method is critical in addition to the GC.

* method-to-ir.c (mini_emit_inst_for_method): Enable the IL fastpath
for v4 Monitor.Enter.

13 years agoBetter handle broken types when loading default value.
Rodrigo Kumpera [Mon, 23 May 2011 18:02:56 +0000 (15:02 -0300)]
Better handle broken types when loading default value.

* class.c (mono_class_get_field_token): Don't bail out on broken types
if the fields array loaded fine.

* class.c (mono_class_get_field_default_value): Return NULL instead of
asserting if the constant row lookup fails.

* icall.c (ves_icall_MonoField_GetRawConstantValue): Raise an exception
if the default value lookup fails.

Fixes #693937

13 years agoFixed #include ordering for stat()
Jeffrey Stedfast [Wed, 18 May 2011 19:43:14 +0000 (15:43 -0400)]
Fixed #include ordering for stat()

13 years agoSupport named wildcard in UriTemplate matching. Fixed bug #693996.
Atsushi Eno [Mon, 23 May 2011 11:31:00 +0000 (20:31 +0900)]
Support named wildcard in UriTemplate matching. Fixed bug #693996.

13 years agoFix warnings.
Zoltan Varga [Mon, 23 May 2011 11:00:14 +0000 (13:00 +0200)]
Fix warnings.

13 years agoLook for KnownTypeAttributes on known types (recursively). Fixed bug #695203.
Atsushi Eno [Mon, 23 May 2011 10:27:55 +0000 (19:27 +0900)]
Look for KnownTypeAttributes on known types (recursively). Fixed bug #695203.

13 years agoRevert "Fix some warnings."
Marek Habersack [Mon, 23 May 2011 10:03:05 +0000 (12:03 +0200)]
Revert "Fix some warnings."

This reverts commit 709bdf0209905555cbcdf93c7b0e2af2a52bcd70. The commit breaks 4.0 corlib compilation with:

Unhandled Exception: Mono.CSharp.InternalErrorException: Microsoft.Win32/RegistryKey.cs(51,29): Microsoft.Win32.RegistryKey ---> Mono.CSharp.InternalErrorException: System/MarshalByRefObject.cs(44,40): System.MarshalByRefObject._identity ---> System.InvalidOperationException: Operation is not valid due to the current state of the object
  at IKVM.Reflection.Writer.ByteBuffer.WriteTypeDefOrRefEncoded (Int32 token) [0x00000] in <filename unknown>:0
  at IKVM.Reflection.Signature.WriteType (IKVM.Reflection.Emit.ModuleBuilder module, IKVM.Reflection.Writer.ByteBuffer bb, IKVM.Reflection.Type type) [0x00000] in <filename unknown>:0
  at IKVM.Reflection.FieldSignature.WriteSig (IKVM.Reflection.Emit.ModuleBuilder module, IKVM.Reflection.Writer.ByteBuffer bb) [0x00000] in <filename unknown>:0
  at IKVM.Reflection.Emit.FieldBuilder..ctor (IKVM.Reflection.Emit.TypeBuilder type, System.String name, IKVM.Reflection.Type fieldType, IKVM.Reflection.Type[] requiredCustomModifiers, IKVM.Reflection.Type[] optionalCustomModifiers, FieldAttributes attribs) [0x00000] in <filename unknown>:0
  at IKVM.Reflection.Emit.TypeBuilder.DefineField (System.String fieldName, IKVM.Reflection.Type type, IKVM.Reflection.Type[] requiredCustomModifiers, IKVM.Reflection.Type[] optionalCustomModifiers, FieldAttributes attributes) [0x00000] in <filename unknown>:0
  at Mono.CSharp.Field.Define () [0x00000] in <filename unknown>:0
  at Mono.CSharp.TypeContainer.DefineContainerMembers (IList mcal) [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at Mono.CSharp.TypeContainer.DefineContainerMembers (IList mcal) [0x00000] in <filename unknown>:0
  at Mono.CSharp.Class.DefineContainerMembers (IList list) [0x00000] in <filename unknown>:0
  at Mono.CSharp.TypeContainer.DoDefineMembers () [0x00000] in <filename unknown>:0
  at Mono.CSharp.ClassOrStruct.DoDefineMembers () [0x00000] in <filename unknown>:0
  at Mono.CSharp.Class.DoDefineMembers () [0x00000] in <filename unknown>:0
  at Mono.CSharp.TypeContainer.Define () [0x00000] in <filename unknown>:0
  at Mono.CSharp.TypeContainer.DoDefineMembers () [0x00000] in <filename unknown>:0
  at Mono.CSharp.ClassOrStruct.DoDefineMembers () [0x00000] in <filename unknown>:0
  at Mono.CSharp.Class.DoDefineMembers () [0x00000] in <filename unknown>:0
  at Mono.CSharp.TypeContainer.Define () [0x00000] in <filename unknown>:0
  at Mono.CSharp.ModuleContainer.Define () [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at Mono.CSharp.ModuleContainer.Define () [0x00000] in <filename unknown>:0
  at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0

13 years agoReorder fields to improve object layout since the runtime can't do it for corlib...
Rodrigo Kumpera [Mon, 23 May 2011 04:11:44 +0000 (01:11 -0300)]
Reorder fields to improve object layout since the runtime can't do it for corlib types.

13 years agoFix some warnings.
Zoltan Varga [Sat, 21 May 2011 13:32:31 +0000 (15:32 +0200)]
Fix some warnings.

13 years agoDisable the -Wunused-by-set-variable warning supported by newer gcc versions.
Zoltan Varga [Sat, 21 May 2011 13:25:23 +0000 (15:25 +0200)]
Disable the -Wunused-by-set-variable warning supported by newer gcc versions.

13 years agoAdd an assert.
Zoltan Varga [Sat, 21 May 2011 12:52:40 +0000 (14:52 +0200)]
Add an assert.

13 years ago[tests] Add test case for large vtypes in SGen.
Mark Probst [Fri, 20 May 2011 21:05:10 +0000 (23:05 +0200)]
[tests] Add test case for large vtypes in SGen.

13 years ago[sgen] Handle all cases in major_scan_vtable().
Mark Probst [Fri, 20 May 2011 20:27:17 +0000 (22:27 +0200)]
[sgen] Handle all cases in major_scan_vtable().

13 years ago[sgen] Don't pass vtables to FOREACH macros when the descriptor is enough.
Mark Probst [Fri, 20 May 2011 19:35:38 +0000 (21:35 +0200)]
[sgen] Don't pass vtables to FOREACH macros when the descriptor is enough.

13 years ago[sgen] Remove superfluous arguments from minor_scan_vtype().
Mark Probst [Fri, 20 May 2011 19:24:36 +0000 (21:24 +0200)]
[sgen] Remove superfluous arguments from minor_scan_vtype().

13 years ago[sgen] Remove small bitmap descriptor type.
Mark Probst [Fri, 20 May 2011 19:16:09 +0000 (21:16 +0200)]
[sgen] Remove small bitmap descriptor type.

The large bitmap can handle everything the small bitmap does and
there's no performance penalty, so there is no reason to keep it
around.

13 years agoFix aligninig copy and improve overlap detection
Rodrigo Kumpera [Fri, 20 May 2011 18:41:08 +0000 (15:41 -0300)]
Fix aligninig copy and improve overlap detection

13 years ago[sgen] Fix a compiler warning.
Mark Probst [Fri, 20 May 2011 17:21:37 +0000 (19:21 +0200)]
[sgen] Fix a compiler warning.

13 years agoAdd more checks for async modifier
Marek Safar [Fri, 20 May 2011 16:59:26 +0000 (17:59 +0100)]
Add more checks for async modifier

13 years agoRename Task<T> implementation file
Marek Safar [Fri, 20 May 2011 16:55:36 +0000 (17:55 +0100)]
Rename Task<T> implementation file

13 years agoApparently I'm too stupid to implement memmove correctly, unbreak the build while...
Rodrigo Kumpera [Fri, 20 May 2011 16:32:47 +0000 (13:32 -0300)]
Apparently I'm too stupid to implement memmove correctly, unbreak the build while I learn how to do it.

13 years agoPass first async test
Marek Safar [Fri, 20 May 2011 08:35:15 +0000 (09:35 +0100)]
Pass first async test

13 years agoMerge pull request #102 from konrad-kruczynski/fix_bug_635971
Miguel de Icaza [Fri, 20 May 2011 01:18:52 +0000 (18:18 -0700)]
Merge pull request #102 from konrad-kruczynski/fix_bug_635971

[Fix] #635971 Fixed throwing exception in case of using zero timeout. Now

13 years agoFix mono_gc_memmove backward copy.
Rodrigo Kumpera [Thu, 19 May 2011 22:16:33 +0000 (19:16 -0300)]
Fix mono_gc_memmove backward copy.

13 years agoFix tp_poll_wait to work with sgen
Rodrigo Kumpera [Thu, 19 May 2011 20:28:25 +0000 (17:28 -0300)]
Fix tp_poll_wait to work with sgen

13 years agoAdd mono_ptr_array_reset and mono_ptr_array_clear
Rodrigo Kumpera [Thu, 19 May 2011 20:28:11 +0000 (17:28 -0300)]
Add mono_ptr_array_reset and mono_ptr_array_clear

13 years agoUse new mono_gc_(memmove|bzero) in places messing with managed memory.
Rodrigo Kumpera [Thu, 19 May 2011 19:42:45 +0000 (16:42 -0300)]
Use new mono_gc_(memmove|bzero) in places messing with managed memory.

13 years agoAdd new API to copy managed memory.
Rodrigo Kumpera [Wed, 18 May 2011 19:04:24 +0000 (16:04 -0300)]
Add new API to copy managed memory.

* gc.c: Add mono_gc_bzero and mono_gc_memmove. Those
functions do word sized load/stores so they are GC safe.

Those oddly seeing functions are required as libc equivalents
don't ensure that copies and done at least in word granularity
so we can end up pausing a thread while is has, for example,
zeroed just the first byte of a managed reference, causing the
GC to see an invalid pointer.

This happens on OSX but can potentially happen on other systems.

13 years agoNew tests.
Marek Safar [Thu, 19 May 2011 16:30:14 +0000 (17:30 +0100)]
New tests.

13 years agoAllow DocumentType in ImportNode().
Atsushi Eno [Thu, 19 May 2011 04:15:46 +0000 (13:15 +0900)]
Allow DocumentType in ImportNode().

http://lists.ximian.com/pipermail/mono-devel-list/2011-May/037575.html

13 years ago[asp.net] Ignore JavaScript blocks enclosed in HTML comments
Marek Habersack [Thu, 19 May 2011 01:35:42 +0000 (03:35 +0200)]
[asp.net] Ignore JavaScript blocks enclosed in HTML comments

13 years ago[runtime] When shadow-copying assemblies, use the io portability function to find...
Marek Habersack [Wed, 18 May 2011 19:54:56 +0000 (21:54 +0200)]
[runtime] When shadow-copying assemblies, use the io portability function to find the file.

This is necessary in situations when managed code pases case-insenstive file name and the
file on disk uses different case. stat(2) would return an error in such situation and, in effect,
the stat structure would get invalid/random values in its fields.

13 years ago[runtime] fix the partial version check, it should only check the first 4 chars
Andreia Gaita [Wed, 18 May 2011 01:12:58 +0000 (02:12 +0100)]
[runtime] fix the partial version check, it should only check the first 4 chars