This repo contains CoreRT, a .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying .NET Native compiler toolchain.
jkotas on master
Merge pull request #6815 from d… Merge pull request #6839 from d… Merge pull request #6859 from d… and 8 more (compare)
trylek on master
Pointer size and ARM64 fixes in… (compare)
jkotas on nmirror
MethodOnStruct - Fixing Project… Merge pull request #6927 from d… (compare)
jkotas on master
Reverting "Fixing up the UTF8Fo… Add managed implementation of G… (compare)
jkotas on master
Fix ProjectN build breaks (#692… (compare)
corruption maybe, its not consistent
RuntimeError: memory access out of bounds
at GcEnumObjectsConservatively(Object**, Object**, void (*)(Object**, ScanContext*, unsigned int), ScanContext*) (http://localhost:8000/ThreadTest.wasm:wasm-function[19202]:0xd6ff3f)
at RedhawkGCInterface::EnumGcRefsInRegionConservatively(RtuObjectRef*, RtuObjectRef*, void*, void*) (http://localhost:8000/ThreadTest.wasm:wasm-function[19136]:0xd6cd25)
at GcScanWasmShadowStack(void*, void*) (http://localhost:8000/ThreadTest.wasm:wasm-function[19506]:0xd83d17)
at Thread::GcScanRoots(void*, void*) (http://localhost:8000/ThreadTest.wasm:wasm-function[19507]:0xd83d76)
at GCToEEInterface::GcScanRoots(void (*)(Object**, ScanContext*, unsigned int), int, int, ScanContext*) (http://localhost:8000/ThreadTest.wasm:wasm-function[19201]:0xd6fd09)
at GCScan::GcScanRoots(void (*)(Object**, ScanContext*, unsigned int), int, int, ScanContext*) (http://localhost:8000/ThreadTest.wasm:wasm-function[20544]:0xe63181)
at WKS::gc_heap::mark_phase(int, int) (http://localhost:8000/ThreadTest.wasm:wasm-function[20155]:0xdeace8)
at WKS::gc_heap::gc1() (http://localhost:8000/ThreadTest.wasm:wasm-function[20149]:0xde273e)
at WKS::gc_heap::garbage_collect(int) (http://localhost:8000/ThreadTest.wasm:wasm-function[20082]:0xdc9549)
at WKS::GCHeap::GarbageCollectGeneration(unsigned int, gc_reason) (http://localhost:8000/ThreadTest.wasm:wasm-function[20079]:0xdc80d9)
I still have some memory allocation changes that are not PR'ed. May or may not help
Made some small progress embedding LLVM in clrjit, but now.... This code is causing a problem https://github.com/llvm/llvm-project/blob/183bbad1d78a4bf445ec4db1ce01673f6a7feb37/llvm/include/llvm/ADT/APFloat.h#L624-L630 :
DoubleAPFloat &operator=(DoubleAPFloat &&RHS) {
if (this != &RHS) {
this->~DoubleAPFloat();
new (this) DoubleAPFloat((std::move)(RHS));
}
return *this;
}
From my understanding its a bit of c++ black magic to create a new object over the top of the existing one new (this)....
. The error however with msbuild /v:normal is
1> E:\GitHub\llvm-project\llvm\include\llvm\ADT\APFloat.h(624,1): error C2665: 'operator new': none of the 10 overloads could convert all the argument types
1> C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\vcruntime_new.h(53,17): message : could be 'void *operator new(size_t,const std::nothrow_t &) noexcept'
1> E:\GitHub\runtimelab\src\coreclr\jit\alloc.h(253,22): message : or 'void *operator new(size_t,CompAllocator)'
1> E:\GitHub\runtimelab\src\coreclr\jit\hostallocator.h(45,22): message : or 'void *operator new(size_t,HostAllocator)'
1> E:\GitHub\runtimelab\src\coreclr\inc\utilcode.h(4667,16): message : or 'void *operator new(size_t,const CExecutable &)'
1> E:\GitHub\runtimelab\src\coreclr\inc\new.hpp(19,16): message : or 'void *operator new(size_t,const NoThrow &) noexcept'
1> E:\GitHub\llvm-project\llvm\include\llvm\ADT\APFloat.h(624,1): message : while trying to match the argument list '(unsigned __int64, llvm::detail::DoubleAPFloat *)'
so is clr redefining the new operator so that this kind of new with placement syntax is not going to work?
if (float.TryParse(latestVersion, out var latest))
This returns false on his computer, the input string is "100"
<PropertyGroup Condition="true">
<IlcGenerateMapFile>false</IlcGenerateMapFile>
<IlcDisableReflection>false</IlcDisableReflection>
<RootAllApplicationAssemblies>false</RootAllApplicationAssemblies>
<IlcGenerateCompleteTypeMetadata>false</IlcGenerateCompleteTypeMetadata>
<IlcGenerateStackTraceData>false</IlcGenerateStackTraceData>
<IlcInvariantGlobalization>true</IlcInvariantGlobalization>
<IlcOptimizationPreference>Size</IlcOptimizationPreference>
<IlcFoldIdenticalMethodBodies>false</IlcFoldIdenticalMethodBodies>
</PropertyGroup>
Config i used, i made sure reflection free isn't enable to avoid problems
CoreRT: <PackageReference Include="Microsoft.DotNet.ILCompiler" Version="6.0.0-preview.2.21122.5" />
Dotnet: 5.0.103
Version="6.0.0-preview.2.21122.5"
indicates it is for dotnet 6 preview 2?
So much tag bloat, so little content!
Some people, when presented with a problem, think “I know, I’ll use XML.” <Problem:Worsening> <Problem:TimeDescription>Now</Problem:TimeDescription> <Problem:Posessive>they have</Problem:Posessive> <Problem:Quantity>many, many</Problem:Quantity> <Problem:WorseningDescription>more problems</Problem:WorseningDescription> </Problem:Worsening>
Error message was : System.Text.Json.Serialization.Converters.DictionaryOfTkeyTValueConverter<System.Collections.Generic.Dictionary<System.String,System.Object>,System.String,System.Object> is missing metadata
I tried with in rd.xml : <Type Name="System.Text.Json.Serialization.Converters.DictionaryOfTkeyTValueConverter`3[ [System.Collections.Generic.Dictionary`2[[System.String,System.Private.CoreLib],[System.Object,System.Private.CoreLib]]+KeyCollection, [System.String,System.Private.CoreLib],[System.Object,System.Private.CoreLib]]" Dynamic="Required All" />