<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<ProjectGuid>{58D6B7AE-0A12-49F0-BCF7-200ED8BA445A}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>GCSample</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<ClInclude Include="gcenv.h" />
</ItemGroup>
<ItemGroup>
- <ClCompile Include="gcenv.ee.cpp" />
<ClCompile Include="GCSample.cpp" />
- <ClCompile Include="..\gccommon.cpp" />
- <ClCompile Include="..\gceewks.cpp" />
+ <ClCompile Include="gcenv.ee.cpp" />
<ClCompile Include="..\windows\gcenv.windows.cpp">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
+ <ClCompile Include="..\gcconfig.cpp" />
+ <ClCompile Include="..\gceventstatus.cpp" />
+ <ClCompile Include="..\gchandletable.cpp" />
+ <ClCompile Include="..\gcload.cpp" />
+ <ClCompile Include="..\gccommon.cpp" />
+ <ClCompile Include="..\gceewks.cpp" />
<ClCompile Include="..\gcscan.cpp" />
<ClCompile Include="..\gcwks.cpp" />
<ClCompile Include="..\handletable.cpp" />
<ClCompile Include="gcenv.ee.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\gcenv.windows.cpp">
+ <ClCompile Include="..\windows\gcenv.windows.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\gchandletable.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\gcconfig.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\gcload.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\gceventstatus.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
return false;
}
+static MethodTable freeObjectMT;
+
MethodTable* GCToEEInterface::GetFreeObjectMethodTable()
{
- return g_pFreeObjectMethodTable;
+ //
+ // Initialize free object methodtable. The GC uses a special array-like methodtable as placeholder
+ // for collected free space.
+ //
+ freeObjectMT.InitializeFreeObject();
+ return &freeObjectMT;
}
bool GCToEEInterface::CreateThread(void (*threadStart)(void*), void* arg, bool is_suspendable, const char* name)
bool GCToEEInterface::AppDomainCanAccessHandleTable(uint32_t appDomainID)
{
- return false;
+ return true;
}
uint32_t GCToEEInterface::GetIndexOfAppDomainBeingUnloaded()