Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
bac3227
introduced TlsRootNode
VSadov Jun 2, 2023
1ff41b9
remove RhGetInlinedThreadStaticStorage
VSadov Jun 4, 2023
e1d070d
get rid of c++ tls_InlinedThreadStatics
VSadov Jun 4, 2023
f5812e7
remove GetSingleTypeManager
VSadov Jun 4, 2023
aeee609
use .tdata on unix
VSadov Jun 5, 2023
447969c
do not switch OSX just yet
VSadov Jun 5, 2023
860ab1a
bring back tls_InlinedThreadStatics on Windows temporarily
VSadov Jun 8, 2023
4e3a8e5
emit inline access on windows
VSadov Jun 8, 2023
d96709c
unify tls sections
VSadov Jun 8, 2023
790dc9b
inline TLS access on linux-x64
VSadov Jun 8, 2023
7a4d903
no need for RhpGetInlinedThreadStaticBase when inlining the access
VSadov Jun 9, 2023
a585ff6
some comments and TODOs
VSadov Jun 9, 2023
62b60de
enable ILC generation of tls_InlinedThreadStatics on win-x64
VSadov Jun 9, 2023
2921dc4
allow storage inlining in multimodule case when TLS access is inlined
VSadov Jun 12, 2023
97cf520
disable "Initial Exec" optimizations
VSadov Jun 12, 2023
8dfa7e9
some comments and formatting
VSadov Jun 14, 2023
cdfd0a3
follow up change that was suggested in the previous PR
VSadov Jun 14, 2023
b650cbb
Remove use of RhpGetInlinedThreadstaticBase on x64
VSadov Jun 15, 2023
f9c5f01
Remove use of RhpGetInlinedThreadStaticBase on arm64
VSadov Jun 15, 2023
bca1c3b
removed tls_InlinedThreadStatics
VSadov Jun 15, 2023
ff29a93
a few cleanups/typos
VSadov Jun 15, 2023
6065863
fix after rebase
VSadov Jun 19, 2023
e48b82b
inlined TLS support for linux-arm64
VSadov Jun 19, 2023
dab05cf
PR feedback
VSadov Jun 23, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
follow up change that was suggested in the previous PR
  • Loading branch information
VSadov committed Jun 22, 2023
commit cdfd0a34c9a15d6c0b80815fc633e416842e4a23
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ public static GCPointerMap FromStaticLayout(MetadataType type)
return builder.ToGCMap();
}

private static void MapThreadStaticsForType(GCPointerMapBuilder builder, MetadataType type, int baseOffset)
private static void MapThreadStaticsForType(ref GCPointerMapBuilder builder, MetadataType type, int baseOffset)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ref part is the follow up change that somehow missed the previous PR.
#84566 (comment)

{
foreach (FieldDesc field in type.GetFields())
{
Expand Down Expand Up @@ -133,7 +133,7 @@ public static GCPointerMap FromThreadStaticLayout(MetadataType type)
{
GCPointerMapBuilder builder = new GCPointerMapBuilder(type.ThreadGcStaticFieldSize.AsInt, type.Context.Target.PointerSize);

MapThreadStaticsForType(builder, type, baseOffset: 0);
MapThreadStaticsForType(ref builder, type, baseOffset: 0);

Debug.Assert(builder.ToGCMap().Size * type.Context.Target.PointerSize >= type.ThreadGcStaticFieldSize.AsInt);
return builder.ToGCMap();
Expand All @@ -148,7 +148,7 @@ public static GCPointerMap FromInlinedThreadStatics(
GCPointerMapBuilder builder = new GCPointerMapBuilder(threadStaticSize, pointerSize);
foreach (var type in types)
{
MapThreadStaticsForType(builder, type, offsets[type]);
MapThreadStaticsForType(ref builder, type, offsets[type]);
}

return builder.ToGCMap();
Expand Down