Vlad Brezae [Mon, 2 Nov 2015 23:05:50 +0000 (01:05 +0200)]
Merge pull request #2081 from BrzVlad/feature-concurrent-work
Concurrent sgen improvements
Alexander Köplinger [Mon, 2 Nov 2015 21:41:01 +0000 (22:41 +0100)]
[acceptance-tests] Output test list to file in chunks
On Jenkins we get a "make: execvp: /bin/sh: Argument list too long" error while executing the coreclr-runtest-basic target.
Since the shell doesn't like echoing our (very) big list of CoreCLR tests in one go, we need to split it up into chunks of
100 entries to hopefully avoid that.
João Matos [Mon, 2 Nov 2015 21:10:41 +0000 (21:10 +0000)]
Merge pull request #2191 from LogosBible/mono_amd64_have_tls_get
Add support for version of pthread_getspecific when launching from Xc…
Martin Potter [Mon, 2 Nov 2015 20:02:01 +0000 (12:02 -0800)]
Add support for version of pthread_getspecific when launching from Xcode with LLDB attached.
Ludovic Henry [Mon, 2 Nov 2015 16:06:47 +0000 (16:06 +0000)]
[trace] Synchronize output
Alexander Köplinger [Mon, 2 Nov 2015 18:18:33 +0000 (19:18 +0100)]
[mono] Rename NUnit xml result files to TestResult-{0}.xml convention
This is the convention used in other parts of the repo like mcs/, so we should try to be consistent here.
Alexander Köplinger [Mon, 2 Nov 2015 15:39:49 +0000 (16:39 +0100)]
[acceptance-tests] Remove some tests that were removed upstream
Also bump coreclr to pick up latest commit.
Ludovic Henry [Mon, 2 Nov 2015 11:43:54 +0000 (11:43 +0000)]
[threads] Remove assertion on `info` for socket syscall abort
This would trigger a crash with XS on clean process exit, due to the
assertion at socket-io.c:2757.
This fixes bug 35429
Alexander Köplinger [Mon, 2 Nov 2015 17:11:29 +0000 (18:11 +0100)]
[System.Core] Make sure DateTime.AddDays() is preserved by the linker in a test
We use the method in the code instead of just via reflection.
This allows the test to work on iOS device builds.
Marek Safar [Mon, 2 Nov 2015 13:44:21 +0000 (14:44 +0100)]
[mcs] Add codegen for try-finally block with unreachable closing brace. Fixes #35401
Marek Safar [Mon, 2 Nov 2015 13:22:00 +0000 (14:22 +0100)]
Merge pull request #2186 from ruediger-stevens/master
Exception serializes the InnerException as System.Exception
Alexander Köplinger [Mon, 2 Nov 2015 11:30:54 +0000 (12:30 +0100)]
[acceptance-tests] Reenable some tests now that #35410 is fixed
Marek Safar [Mon, 2 Nov 2015 10:06:57 +0000 (11:06 +0100)]
[mcs] add new test
Marek Safar [Mon, 2 Nov 2015 10:05:45 +0000 (11:05 +0100)]
[mcs] Add sbyte type to the list of valid cast tokens. Fixes #35410
github@mrblade.de [Mon, 2 Nov 2015 10:04:25 +0000 (11:04 +0100)]
Exception serializes the InnerException as System.Exception not as it's run-time type.
This makes serialization consistent with deserialization (where the InnerException is already retrieved as System.Exception explicitly).
Additionally it may allow serializers more options in serializing inner exceptions (i.e. fall back to System.Exception if the specific exception is not serializable itself).
Marek Safar [Mon, 2 Nov 2015 07:40:04 +0000 (08:40 +0100)]
Merge pull request #2185 from akoeplinger/json-move
[System.ServiceModel.Web] Remove old copy of S.R.Serialization.Json
Zoltan Varga [Sun, 1 Nov 2015 03:06:19 +0000 (23:06 -0400)]
Fix an obsolete comment.
Alexander Köplinger [Sat, 31 Oct 2015 00:10:35 +0000 (01:10 +0100)]
[System.ServiceModel.Web] Move System.Runtime.Serialization.Json tests into System.Runtime.Serialization assembly
That's where they belong on .NET 4.5+
Additionally, add a test case from https://bugzilla.xamarin.com/show_bug.cgi?id=4230
Alexander Köplinger [Fri, 30 Oct 2015 23:53:57 +0000 (00:53 +0100)]
[System.ServiceModel.Web] Remove old copy of System.Runtime.Serialization.Json
We don't need this here anymore since it moved to System.Runtime.Serialization.dll in
.NET 4.5 and
54f7c82d2b1ef2bedbf90c262fda28654727a5c9.
This copy is just confusing and not even built anymore, so delete it.
Martin Baulig [Fri, 30 Oct 2015 19:15:26 +0000 (15:15 -0400)]
[Mono.Security]: Add 'MonoTlsSettings.TrustAnchors' and 'CertificateValidationHelper.SupportsTrustAnchors'.
This is currently only supported on iOS and Mac (check 'CertificateValidationHelper.SupportsTrustAnchors')
and will pass a set of trusted root certificates to the OS validation function. Use for self-signed
certificates instead of providing a custom callback.
Alexander Köplinger [Fri, 30 Oct 2015 19:57:48 +0000 (20:57 +0100)]
[acceptance-tests] Pull in new CoreCLR tests added upstream
A bunch of tests were added in the upstream repo, add those to the source listings.
There's a suite of tests in the CoreMangLib folder which are mostly testing corelib,
added a separate target "coreclr-runtest-coremanglib" for it and renamed the existing
target to "coreclr-runtest-basic".
Build and link all cs testcases with the coreclr-testlibrary.dll which enables a
few more tests to run.
Alexander Köplinger [Fri, 30 Oct 2015 20:20:44 +0000 (21:20 +0100)]
[acceptance-tests] Bump coreclr to pick up
3b2969dffe191b03f1ac85a9c1e62417c9b7833b:
Alexander Köplinger [Fri, 30 Oct 2015 20:16:04 +0000 (21:16 +0100)]
[acceptance-tests] Add prefix in commit message for the bump commit helper
Additionally remove 'git pull', it doesn't work when no tracking branch is set and I can easily pull myself if I want to.
Martin Baulig [Fri, 30 Oct 2015 18:20:09 +0000 (14:20 -0400)]
Put back "[Mono.Security.Providers.OldTls]: Include all the sources from the old TLS implementation here."
The build problem should now be fixed.
This reverts commit
5a7c0a0d4cec82028e0f3ecbea59179da2ee0c78.
Martin Baulig [Fri, 30 Oct 2015 18:32:25 +0000 (14:32 -0400)]
[System/TLS]: In ChainValidationHelper, remove the overloads taking 'Mono.X509' certificates.
Martin Baulig [Fri, 30 Oct 2015 18:17:17 +0000 (14:17 -0400)]
[Mono.Security]: On mobile, 'Mono.Security.Interface.CertificateValidationHelper' becomes public in System.dll.
Martin Baulig [Fri, 30 Oct 2015 18:05:34 +0000 (14:05 -0400)]
Revert "[Mono.Security.Providers.OldTls]: Include all the sources from the old TLS implementation here."
This does not build on Mobile yet.
This reverts commit
9147778ee89b9bbc1935f6a43cf132d00220cf71.
Martin Baulig [Fri, 30 Oct 2015 17:16:23 +0000 (13:16 -0400)]
[Mono.Security.Providers.OldTls]: Include all the sources from the old TLS implementation here.
Martin Baulig [Fri, 30 Oct 2015 16:41:09 +0000 (12:41 -0400)]
[System]: Cleanup 'ChainValidationHelper', moving the actual validation code into a new class.
The actual validation code now lives in 'SystemCertificateValidator', whereas
'ChainValidationHelper' contains all the glue code which deals with 'ServicePointManager',
user-supplied callbacks, etc.
Jonathan Pryor [Fri, 30 Oct 2015 14:13:56 +0000 (10:13 -0400)]
Merge pull request #2152 from joelmartinez/mdoc-preserver
[mdoc] Marking `MDocPreserve` Obsolete.
Zoltan Varga [Fri, 30 Oct 2015 04:16:27 +0000 (00:16 -0400)]
[sdb] Add a fastpath to process_single_step_inner () for single stepping during invokes.
Zoltan Varga [Fri, 30 Oct 2015 03:58:44 +0000 (23:58 -0400)]
[llvm] Add names for some temporary variables representing got slots.
Martin Baulig [Thu, 29 Oct 2015 21:39:48 +0000 (17:39 -0400)]
[System/TLS]: On desktop, allow dynamic loading of the TLS Provider at runtime.
To do this, set the MONO_TLS_PROVIDER environment variable to either "default",
"newtls", "oldtls" or the full assembly-qualified type name of the MonoTlsProvider
(in this case, the class needs to derive from MonoTlsProvider and have a public
parameterless constructor and it needs to be installed in the GAC).
Ludovic Henry [Thu, 29 Oct 2015 20:31:24 +0000 (20:31 +0000)]
[coop] Fix typo for gc unsafe region enter/exit
The idea is to get the address of the top of the stack, so passing a
value is meaninless. This was a typo. It also fixes libtest.c which
used an outdated signature.
Martin Baulig [Thu, 29 Oct 2015 18:35:40 +0000 (14:35 -0400)]
[Mono.Security]: Add new MonoTlsProviderFactory.CreateHttpListener() API to create a HttpListener.
This new method lets you create a 'HttpListener' and specify the X509Certificate2 to use
(so you don't have to put it into ~/.config/.mono/httplistener) as well as an optional
'MonoTlsProvider' and optional 'MonoTlsSettings'.
Rodrigo Kumpera [Thu, 29 Oct 2015 19:53:01 +0000 (15:53 -0400)]
Merge pull request #2180 from kumpera/loader-error-cleanup
This is a small batch of MonoError cleanups.
Martin Baulig [Thu, 29 Oct 2015 17:44:19 +0000 (13:44 -0400)]
[System]: Use the new 'MonoTlsProvider' framework in 'HttpListener'.
This makes 'HttpListener' use 'SslStream', which can now switch the
TLS implementation at runtime.
Martin Baulig [Thu, 29 Oct 2015 17:40:21 +0000 (13:40 -0400)]
[System/TLS]: In LegacySslStream, call SslServerStream's .ctor and request, but not require a client certificate.
In SslStream.AuthenticateAsServer(), setting 'clientCertificateRequired' to true will ask for a client
certificate and - if the client does not provide one - invoke the 'RemoteCertificateValidationCallback'
with null and 'SslPolicyErrors.RemoteCertificateNotAvailable' - but resume the handshake if this callback
returns true.
Rodrigo Kumpera [Thu, 29 Oct 2015 19:51:34 +0000 (15:51 -0400)]
Fix windows build.
Zoltan Varga [Thu, 29 Oct 2015 19:47:29 +0000 (15:47 -0400)]
[llvm] Cleanup the code in process_call () a bit.
Martin Baulig [Thu, 29 Oct 2015 19:34:50 +0000 (15:34 -0400)]
Oops, also need to set it when cloning.
Martin Baulig [Thu, 29 Oct 2015 19:17:15 +0000 (15:17 -0400)]
[Mono.Security]: Add 'MonoTlsSettings.EnabledProtocols' property.
This is currently only used by the new TLS code, but allows to override
the protocol.
Martin Baulig [Thu, 29 Oct 2015 19:02:50 +0000 (15:02 -0400)]
[NewSystemSource]: Pass down the 'IMonoTlsProvider' to SSPIWrapper.
This should fix the issue where you pass 'NewTlsProvider' as custom provider
without installing it as the default.
João Matos [Thu, 29 Oct 2015 18:36:36 +0000 (18:36 +0000)]
Merge pull request #2182 from lewurm/fix-arm-build
mini-llvm: fix wrong usage
Bernhard Urban [Thu, 29 Oct 2015 18:31:19 +0000 (11:31 -0700)]
mini-llvm: fix wrong usage
Ludovic Henry [Thu, 29 Oct 2015 18:08:13 +0000 (18:08 +0000)]
[tests] Adjust MathTest double epsilon value
The double.Epsilon value represent the smallest value that double is
able to represent. And that is diferent from the machine epsilon, which
is the smallest difference between two double values.
The second is equal to 2 ^ (-52), because there are 52bits to
represent the mantissa in a IEEE 754 double.
Zoltan Varga [Thu, 29 Oct 2015 17:40:11 +0000 (13:40 -0400)]
[llvm] Split sig_to_llvm_sig () into two versions, one which takes an LLVMCallInfo argument, and one which doesn't.
Martin Baulig [Thu, 29 Oct 2015 17:07:56 +0000 (13:07 -0400)]
Comment-out [HostProtection] attribute in SslStream.cs, it seems to be causing problems.
Zoltan Varga [Thu, 29 Oct 2015 17:07:02 +0000 (13:07 -0400)]
[runtime] Disable the -Wreturn-stack-address clang warning.
Ludovic Henry [Thu, 29 Oct 2015 16:36:47 +0000 (16:36 +0000)]
[threads] Fix warning on Linux
Neale Ferguson [Thu, 29 Oct 2015 14:31:24 +0000 (10:31 -0400)]
s390x-codegen.h - Initial SIMD support
cpu-s390x.md - Add gc-safe-point instruction
mini-ops.h - Add TARGET_S390X for gc-safe-point
mini-s390x.c - Initial SIMD support; Fix floating point conversion
mini-s390x.h - Initial SIMD support
Rodrigo Kumpera [Tue, 27 Oct 2015 04:48:50 +0000 (00:48 -0400)]
[mono-error] Introduce mono_metadata_parse_type_checked variant that uses MonoError.
Rodrigo Kumpera [Sun, 25 Oct 2015 20:45:03 +0000 (16:45 -0400)]
[mono-error] Introduce MonoError in compare_type_literals.
Rodrigo Kumpera [Sun, 25 Oct 2015 20:30:49 +0000 (16:30 -0400)]
[metadata] Remove dead MonoParseTypeMode argument from non public functions.
Rodrigo Kumpera [Sun, 25 Oct 2015 20:07:02 +0000 (16:07 -0400)]
[loader-error] mono_metadata_parse_method_signature is no longer used by the runtime, so remove loader error handling from it.
Zoltan Varga [Thu, 29 Oct 2015 00:56:12 +0000 (20:56 -0400)]
[llvm] Clean up the naming convention in the backend. 'module' refers to a MonoLLVMModule while 'lmodule' refers to a LLVMModuleRef. Some other small cleanups.
Zoltan Varga [Thu, 29 Oct 2015 00:38:47 +0000 (20:38 -0400)]
[llvm] Merge LLVMCallInfo and LLVMSigInfo.
Martin Baulig [Wed, 28 Oct 2015 23:47:18 +0000 (19:47 -0400)]
[System]: Replace the 'SslStream' implementation with a proxy that's using the 'MonoTlsProvider' layer.
This allows consumers of the 'SslStream' class to take full advantage of
the new TLS switcher code.
Martin Baulig [Wed, 28 Oct 2015 23:12:48 +0000 (19:12 -0400)]
[Mono.Security]: It is legal for a TlsClientCertificate message to contain no certificates.
Zoltan Varga [Wed, 28 Oct 2015 22:45:16 +0000 (18:45 -0400)]
Fix the build, the stub for mono_llvm_cpp_throw_exception () was inside a DISABLE_JIT ifdef block.
Martin Baulig [Wed, 28 Oct 2015 22:38:43 +0000 (18:38 -0400)]
Fix my last commit.
Martin Baulig [Wed, 28 Oct 2015 22:26:55 +0000 (18:26 -0400)]
[Mono.Security]: Rename 'MonoTlsSettings.ServerCertificateValidationCallback' into 'RemoteCertificateValidationCallback'.
This callback is also used to validate client-certificates when using SslStream in server-mode.
Martin Baulig [Wed, 28 Oct 2015 21:10:26 +0000 (17:10 -0400)]
Don't pass a 'null' hostname to the system validator as it would crash.
Martin Baulig [Wed, 28 Oct 2015 20:27:43 +0000 (16:27 -0400)]
Kill dead code.
Zoltan Varga [Wed, 28 Oct 2015 21:31:19 +0000 (17:31 -0400)]
[runtime] Handle the conditional compilation of llvm-runtime.cpp at the automake level since including a c++ file into a c project seems to cause linking problems on some platforms.
Zoltan Varga [Wed, 28 Oct 2015 21:22:11 +0000 (17:22 -0400)]
[runtime] Add a configure check for unwind.h
Zoltan Varga [Wed, 28 Oct 2015 19:04:56 +0000 (15:04 -0400)]
[profiler] Avoid a crash at shutdown by installing the assembly unload hook for the 'start_unload' event instead of the 'end_unload' event, the latter receives a mostly freed assembly.
Ludovic Henry [Sat, 24 Oct 2015 12:09:41 +0000 (13:09 +0100)]
[threads] Use runtime flag to enable cooperative suspend
To enable cooperative suspend, simply set the MONO_ENABLE_COOP
environment variable.
Ludovic Henry [Wed, 28 Oct 2015 18:27:52 +0000 (18:27 +0000)]
Merge pull request #2179 from BogdanovKirill/enummodulesfix
[Processes] Memory leak fix in EnumProcessModules function
Zoltan Varga [Wed, 28 Oct 2015 18:27:16 +0000 (14:27 -0400)]
Fix the build.
Martin Baulig [Wed, 28 Oct 2015 18:14:48 +0000 (14:14 -0400)]
Use 'using SD = System.Diagnostics' to avoid ambiguous references.
Ludovic Henry [Wed, 28 Oct 2015 16:46:46 +0000 (16:46 +0000)]
[test-runner] Improve output
Ludovic Henry [Wed, 28 Oct 2015 16:45:43 +0000 (16:45 +0000)]
[Process] Catch the closing of handle
Ludovic Henry [Wed, 28 Oct 2015 16:44:38 +0000 (16:44 +0000)]
[Process] Do not count the output/error wait in the timeout of WaitForExit
João Matos [Wed, 28 Oct 2015 16:30:54 +0000 (16:30 +0000)]
[runtime] Fixed the non-LLVM build.
Zoltan Varga [Wed, 28 Oct 2015 15:07:42 +0000 (11:07 -0400)]
Fix the windows build.
Ludovic Henry [Thu, 22 Oct 2015 20:01:10 +0000 (21:01 +0100)]
[threads] Fix race between async suspend and compensation
The race only happens on Posix with unified suspend.
The chain of event is the following:
- T1 suspend the world (calls `sgen_unified_suspend_stop_world`)
- T2 is async suspended
- T2 execute suspend_signal_handler:
- T2 finish async suspend
- T2->suspend_can_continue is set to FALSE as the thread is detaching
- T2 notify T1 via `mono_threads_notify_initiator_of_suspend`
- T2 is yielded (via the OS scheduler, or forced via a `sleep`)
- T1 returns from `mono_threads_wait_pending_operations`
- T1 does its stuff
- T1 restart the world
- T1 (or any another thread, except for T2) suspend the world (it does not
necessarily uses `sgen_unified_suspend_stop_world`)
- T2 is async suspended: incrementation of T2->suspend_count to 2, but it is
not signalled because it is already in ASYNC_SUSPENDED state
- T2 wakes up (for any reason) and execute compensation <- ERROR: suspend_count != 1
This race can happen because when async suspending, we notify the
suspendor before executing the compensation, in this case for a thread
which is detaching. By simply post-ponning the notification, just after
the compensation, we eliminate this race.
Alexander Köplinger [Wed, 28 Oct 2015 00:21:38 +0000 (01:21 +0100)]
[acceptance-tests] Write list of CoreCLR tests into file and pass it to test-runner
This shaved about 30 seconds off the time until the test-runner started on my machine compared to
passing the tests in the command line directly (we have *lots* of CoreCLR tests).
Alexander Köplinger [Wed, 28 Oct 2015 00:16:55 +0000 (01:16 +0100)]
[test-runner] Add a new --input-file option for reading the test list from a file
Alexander Köplinger [Wed, 28 Oct 2015 00:10:57 +0000 (01:10 +0100)]
[test-runner] Fix bug in commandline option parsing
i+i doesn't make sense, it should be i+1 (the next argument after the current one).
Ludovic Henry [Sun, 25 Oct 2015 14:47:54 +0000 (14:47 +0000)]
[tests] Add coreclr GC stress tests
Ludovic Henry [Mon, 26 Oct 2015 18:39:57 +0000 (18:39 +0000)]
[tests] Try to fix finalizer-wait
Ludovic Henry [Wed, 28 Oct 2015 11:16:57 +0000 (11:16 +0000)]
[tests] Fix Math.Pow precision bug on Android
BogdanovKirill [Wed, 28 Oct 2015 05:50:46 +0000 (10:50 +0500)]
[Processes] Memory leak fix in EnumProcessModules function
The main point is that get_process_name_from_proc's result string is never released.
This change is released under the MIT license.
Alex Rønne Petersen [Wed, 28 Oct 2015 10:25:28 +0000 (11:25 +0100)]
[profiler] Disable 'time went backwards' debug message.
While this would have indicated a bug in the past, it's perfectly normal now
due to how we synthesize TYPE_JIT events to ensure sane event ordering.
Zoltan Varga [Wed, 28 Oct 2015 01:03:53 +0000 (21:03 -0400)]
[runtime] Use Unwind_Backtrace only on platforms which support it.
Zoltan Varga [Wed, 28 Oct 2015 00:57:06 +0000 (20:57 -0400)]
[llvmonly] Add support for direct calls to icalls.
Martin Baulig [Tue, 27 Oct 2015 21:38:39 +0000 (17:38 -0400)]
[System/TLS]: Don't crash when we're called without user-supplied certificate validator.
Alexander Köplinger [Tue, 27 Oct 2015 20:28:48 +0000 (21:28 +0100)]
[acceptance-tests] Move CoreCLR submodule reference to Mono fork
Martin Baulig [Tue, 27 Oct 2015 19:47:40 +0000 (15:47 -0400)]
Oops, there is no README.md
Martin Baulig [Tue, 27 Oct 2015 19:44:23 +0000 (15:44 -0400)]
Oops, forgot to add to the top-level Makefile for mobile.
Alexander Köplinger [Tue, 27 Oct 2015 19:37:34 +0000 (20:37 +0100)]
[test-runner] Filter out invalid XML chars before writing to XML
The test-runner crashed sometimes when running the CoreCLR testsuite with the following exception:
"System.ArgumentException: '', hexadecimal value 0x0F, is an invalid character." when trying to
emit the NUnit xml.
The stacktrace of one of the failing tests contained the character 0x0F which is invalid in XML,
we now filter out those invalid chars.
Martin Baulig [Tue, 27 Oct 2015 18:26:51 +0000 (14:26 -0400)]
[Mono.Security.Providers.OldTls]: New assembly.
This provides a 'MonoTlsProvider' for Mono's existing TLS implementation.
It's simply a public frontend for the internal 'LegacySslStream' class.
Martin Baulig [Tue, 27 Oct 2015 18:25:46 +0000 (14:25 -0400)]
[System]: Make internals visible to Mono.Security.Providers.OldTls.
Vlad Brezae [Tue, 27 Oct 2015 16:22:02 +0000 (18:22 +0200)]
[sgen] Fix marking of cards on 64bit
Mark Probst [Tue, 27 Oct 2015 17:54:40 +0000 (10:54 -0700)]
[sgen] Fix call to `InterlockedCompareExchange()`.
This fixes random crashes on `sgen-weakref-stress.exe`.
Radek Doulik [Tue, 27 Oct 2015 17:23:41 +0000 (18:23 +0100)]
[linker] match type pattern with nested types
- this way the following xml will match all the types in the assembly
MyAssembly
<linker>
<assembly fullname="MyAssembly">
<namespace type="*" />
</assembly>
</linker>
before this change it will only match the types defined in main
module and none of the nested types
Alexander Köplinger [Tue, 27 Oct 2015 17:19:39 +0000 (18:19 +0100)]
[acceptance-tests] Append a suffix to the CoreCLR IL tests
Some of the tests have both a test.il and test.cs in the same folder, which means we would
generate an .exe with the same name and overwriting one of them.
This is avoided by appending a _il suffix to the IL tests.
Andi McClure [Tue, 27 Oct 2015 15:49:36 +0000 (11:49 -0400)]
Merge pull request #2163 from xmcclure/image-audit
Mempool reference-auditing feature in checked builds
"Andi McClure ext:(%22) [Tue, 27 Oct 2015 15:41:41 +0000 (11:41 -0400)]
This introduces three macros, to be used in place of a simple pointer assignment when working with images or imagesets:
CHECKED_METADATA_WRITE_PTR - Use this to assign a pointer when it points from memory hosted by an image or imageset to another.
CHECKED_METADATA_WRITE_PTR_LOCAL - Use this to assign a pointer when it points from memory noted by an image or imageset to itself.
CHECKED_METADATA_WRITE_PTR_EXEMPT - Use this to assign a pointer in memory hosted by an image or imageset, but which the audit feature cannot correctly check at this time (this is the case when an image must contain a pointer to something that is not located in a mempool, such as a constant string). This is so that at least we know where these exceptions to the audits are.
In non-checked mode, each of these is a simple assignment. In checked mode, they walk the graph of references between images to make sure invariants related to ref_count are not violated.