Skip to content

Add support for dynamic memory allocation on stack (localloc support) - #191

Open
Krishna-13-cyber wants to merge 4 commits into
giritrivedi:release/9.0.5from
Krishna-13-cyber:dynamic-mem-onstack
Open

Krishna-13-cyber wants to merge 4 commits into
giritrivedi:release/9.0.5from
Krishna-13-cyber:dynamic-mem-onstack

Conversation

@Krishna-13-cyber

@Krishna-13-cyber Krishna-13-cyber commented Oct 23, 2026 •

Copy link
Copy Markdown

genLclHeap takes care of dynamic, runtime allocation of memory directly onto the current thread's stack frame.


if (amount == 0)
{
emit->emitIns_R_I(INS_lgfi, EA_8BYTE, targetReg, 0);

@saitama951 saitama951 Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

if the amount is 0, why do we even load something?
where is this targetReg is referenced is what I'm trying to understand?

@Krishna-13-cyber Krishna-13-cyber Oct 28, 2026 •

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Initially, I had the same thing in mind to bypass the 0 size condition but if this block is being call multiple times, there would redundant backchaining happening for zero size. (Just to remain in as sync with other archs).
For the load part, we do need so that we are sure there is no previous value we are taking in, targetReg is whatever register LSRA allocates to us, that might have previous values. The node must always leave a defined value in targetReg.

Without the lgfi targetReg, 0, the register would hold prev stale values in it, and the parent node would read that stale value as the stackalloc result. Also once we know its size 0, we return early and dont want to do the long way of backchaining.

If we scrap this altogether, we dont need lgfi at all, we can do this but I preferred to keep the zeroing case in the constant logic.

@saitama951

saitama951 commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

what does targetReg exactly do here?


        emit->emitIns_R_R_I(INS_lg, EA_8BYTE, tmpReg, REG_SPBASE, 0);
        emit->emitIns_R_R_I(INS_lay, EA_PTRSIZE, REG_SPBASE, REG_SPBASE, -total);
        emit->emitIns_R_R_I(INS_stg, EA_8BYTE, tmpReg, REG_SPBASE, 0);
        emit->emitIns_R_R_I(INS_lay, EA_PTRSIZE, targetReg, REG_SPBASE, frameBelow);

we preserve the backchain pointer, and then we says targetReg = SP+ 160 + outgoing arg space.
so I presume you mean to set up the frame pointer to the start of dynamic space allocated?
if yes, we should up front use FPBASE and SPBASE for these kind of calculations (since targetReg is quite ambiguious here) and same goes for the else case

@Krishna-13-cyber

Krishna-13-cyber commented Oct 28, 2026 •

Copy link
Copy Markdown
Author

what does targetReg exactly do here?


        emit->emitIns_R_R_I(INS_lg, EA_8BYTE, tmpReg, REG_SPBASE, 0);
        emit->emitIns_R_R_I(INS_lay, EA_PTRSIZE, REG_SPBASE, REG_SPBASE, -total);
        emit->emitIns_R_R_I(INS_stg, EA_8BYTE, tmpReg, REG_SPBASE, 0);
        emit->emitIns_R_R_I(INS_lay, EA_PTRSIZE, targetReg, REG_SPBASE, frameBelow);

we preserve the backchain pointer, and then we says targetReg = SP+ 160 + outgoing arg space. so I presume you mean to set up the frame pointer to the start of dynamic space allocated? if yes, we should up front use FPBASE and SPBASE for these kind of calculations (since targetReg is quite ambiguious here) and same goes for the else case

For this, I am not sure how we can use SP_BASED or FP_BASED here, as we know the SP_Based is much volatile and changes for dynamic memory. I think SP_Based can be ruled out. We have to request a register which lsra allocated as using the same as FP_BASED would not suffice as we are pointing to an address with space over and above the RSA+lva space. FP is already pointing to the caller's frame. So if you mean offsetting from that address, I will have to check that.

targetReg is being used to point to the newly allocated memory buffer, right above the RSA+lva which is the framebelow.
I don't think we can use either REG_SPBASE or REG_FPBASE here.

@saitama951

Copy link
Copy Markdown
Collaborator

The allocated dynamic memory area should be pointed by the FP (what I mean targetReg should always be the FP)

@Krishna-13-cyber

Copy link
Copy Markdown
Author

The allocated dynamic memory area should be pointed by the FP (what I mean targetReg should always be the FP)

According to the ABI, it needs to be placed above the RSA region and below the caller's frame pointer (FP).

Using FP to point to targetReg would not be the correct convention, as FP needs to maintain its role in referencing the previous frame. Moving FP to point to targetReg or another location within the dynamic memory slot would shift the relative offsets of arguments and local variables with respect to FP, potentially breaking the existing frame layout.

Additionally, to preserve the correctness of the target buffer, targetReg needs to be maintained in a dedicated register rather than relying on the existing FP- or SP-based relative addressing.

Address (High)
▲
│ +-------------------------------------------+
│ | Caller's Stack Frame |
│ +-------------------------------------------+ <--- r11 (REG_FP) (Fixed Anchor)
│ | Fixed Local Variables & Spill Temps |
│ +-------------------------------------------+
│ |
│ | NEWLY ALLOCATED DYNAMIC MEMORY | ◄──
│ | (Size = aligned(amount) bytes) | BELOW fixed locals / FP
│ |
│ +-------------------------------------------+ <--- targetReg = r15 + frameBelow
│ | Outgoing Arguments Area (if any) | (Start of dynamic buffer given to user)
│ +-------------------------------------------+
│ | New Register Save Area (RSA: 160 Bytes) |
▼ +-------------------------------------------+ <--- r15 (REG_SP) (Shifted Down)
Address (Low) [Backchain: 0(r15) = r11] according to ABI

@saitama951

Copy link
Copy Markdown
Collaborator

Extra comments are addressed offline.

emit->emitIns_R_R(INS_sgr, EA_8BYTE, REG_SPBASE, alignedReg);
emit->emitIns_R_R_I(INS_stg, EA_8BYTE, tmpReg, REG_SPBASE, 0);
emit->emitIns_R_R_I(INS_lay, EA_PTRSIZE, targetReg, REG_SPBASE, frameBelow);
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

we also need to move down the register stack allocated contents below, i.e parameter passing etc.

@Krishna-13-cyber

Copy link
Copy Markdown
Author
Jitted Function name is Setup
Jitted Function name is Assert
Jitted Function name is Assert
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is Initialize
Jitted Function name is GetPrime
Jitted Function name is get_Primes
Interpreted Function name is CreateSpan
Jitted Function name is .cctor
Jitted Function name is Empty
Jitted Function name is .cctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is CtorOpened
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is CtorClosed
Jitted Function name is GetTypeFromHandle
Jitted Function name is get_TypeHandle
Interpreted Function name is .ctor
Jitted Function name is GetSpanDataFrom
Jitted Function name is IsNullHandle
Jitted Function name is GetRuntimeFieldInfo
Jitted Function name is System.IRuntimeFieldInfo.get_Value
Jitted Function name is GetRVAFieldInfo
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is GetNativeTypeHandle
Jitted Function name is GetNativeTypeHandle
Interpreted Function name is .ctor
Interpreted Function name is get_IsTypeDesc
Jitted Function name is AsMethodTable
Jitted Function name is get_IsPrimitive
Jitted Function name is IsPow2
Jitted Function name is IsPow2
Jitted Function name is KeepAlive
Jitted Function name is GetArrayDataReference
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is .cctor
Jitted Function name is GetEnvironmentVariable
Jitted Function name is ThrowIfNull
Jitted Function name is GetEnvironmentVariableCore
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is GetPinnableReference
Jitted Function name is GetReference
Jitted Function name is get_Capacity
Jitted Function name is get_Length
Jitted Function name is GetEnvironmentVariable
Jitted Function name is GetPinnableReference
Jitted Function name is GetPinnableReference
Jitted Function name is SetLastSystemError
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is GetLastSystemError
Jitted Function name is IL_STUB_PInvoke
Interpreted Function name is Dispose
Jitted Function name is op_Equality
Jitted Function name is Equals
Interpreted Function name is .ctor
Interpreted Function name is ReverseEndianness
Interpreted Function name is Cast
Jitted Function name is get_Length
Jitted Function name is GetReference
Jitted Function name is As
Interpreted Function name is .ctor
Interpreted Function name is Cast
Jitted Function name is get_Length
Interpreted Function name is .ctor
Interpreted Function name is ReverseEndianness
Jitted Function name is get_Length
Jitted Function name is get_Length
Jitted Function name is GetReference
Jitted Function name is GetReference
Jitted Function name is AreSame
Jitted Function name is op_Implicit
Jitted Function name is Overlaps
Jitted Function name is get_IsEmpty
Jitted Function name is Add
Jitted Function name is Reverse
Interpreted Function name is ReverseEndianness
Interpreted Function name is ReverseEndianness
Jitted Function name is RotateRight
Jitted Function name is RotateLeft
Jitted Function name is As
Jitted Function name is get_Item
Jitted Function name is GetFastModMultiplier
Jitted Function name is get_IsValueType
Jitted Function name is IsValueTypeImpl
Jitted Function name is get_IsValueType
Jitted Function name is .cctor
Jitted Function name is CreateDefaultEqualityComparer
Jitted Function name is op_Inequality
Jitted Function name is op_Equality
Jitted Function name is IsInstanceOfClass
Jitted Function name is GetMethodTable
Interpreted Function name is ChkCastClass
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is ChkCastClassSpecial
Jitted Function name is get_Default
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is get_Ordinal
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is get_OrdinalIgnoreCase
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is GetStringComparer
Jitted Function name is Ctor
Jitted Function name is wcslen
Interpreted Function name is IndexOfNullCharacter
Jitted Function name is get_Length
Interpreted Function name is Memmove
Jitted Function name is As
Interpreted Function name is Memmove
Interpreted Function name is ByteOffset
Jitted Function name is Add
Jitted Function name is ReadUnaligned
Jitted Function name is WriteUnaligned
Jitted Function name is Add
Jitted Function name is ReadUnaligned
Jitted Function name is _Memmove
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is Add
Jitted Function name is TryInsert
Jitted Function name is GetHashCode
Interpreted Function name is GetNonRandomizedHashCode
Jitted Function name is GetBucket
Interpreted Function name is FastMod
dlopen failed: /root/alloc/t2/test/bin/Debug/net9.0/libSystem.Native.so: cannot open shared object file: No such file or directory
Jitted Function name is InitializeDefaultEventSources
Jitted Function name is get_IsSupported
Jitted Function name is .cctor
Jitted Function name is TryGetSwitch
Jitted Function name is ThrowIfNullOrEmpty
Jitted Function name is IsNullOrEmpty
Jitted Function name is GetData
Jitted Function name is Enter
Jitted Function name is TryGetValue
Jitted Function name is FindValue
Jitted Function name is InitializeIsSupported
Jitted Function name is InitializeIsMeterSupported
Interpreted Function name is InitializePersistentListener
Jitted Function name is .cctor
Jitted Function name is GetClrConfig
Jitted Function name is EventSource_GetClrConfig
Jitted Function name is IL_STUB_PInvoke
Interpreted Function name is .ctor
Jitted Function name is .cctor
Jitted Function name is Add
Jitted Function name is AddWithResize
Jitted Function name is Grow
Jitted Function name is GetNewCapacity
Jitted Function name is set_Capacity
Jitted Function name is Copy
Jitted Function name is AreSameType
Jitted Function name is get_IsMultiDimensionalArray
Jitted Function name is get_HasComponentSize
Jitted Function name is get_NativeLength
Jitted Function name is get_ContainsGCPointers
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is Add
Jitted Function name is TryInsert
Jitted Function name is Initialize
Jitted Function name is GetHashCode
Jitted Function name is GetBucket
Jitted Function name is get_Default
Jitted Function name is .cctor
Jitted Function name is StelemRef
Jitted Function name is GetArrayDataReference
Jitted Function name is StelemRef_Helper
Jitted Function name is TryGet
Jitted Function name is TableData
Jitted Function name is GetRawData
Jitted Function name is KeyToBucket
Jitted Function name is HashShift
Jitted Function name is RotateLeft
Jitted Function name is RotateLeft
Jitted Function name is Element
Jitted Function name is Read
Jitted Function name is StelemRef_Helper_NoCacheLookup
Jitted Function name is MakeGenericType
Jitted Function name is get_IsGenericTypeDefinition
Jitted Function name is get_IsGenericTypeDefinition
Jitted Function name is GetGenericArgumentsInternal
Jitted Function name is GetRootElementType
Jitted Function name is get_HasElementType
Jitted Function name is HasElementTypeImpl
Jitted Function name is HasElementType
Jitted Function name is GetInstantiationInternal
Jitted Function name is GetNativeHandle
Interpreted Function name is .ctor
Jitted Function name is AsPointer
Jitted Function name is get_Value
Interpreted Function name is Create
Jitted Function name is AsPointer
Interpreted Function name is .ctor
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is ThrowIfTypeNeverValidGenericArgument
Jitted Function name is get_IsPointer
Jitted Function name is IsPointerImpl
Jitted Function name is IsPointer
Jitted Function name is get_IsFunctionPointer
Jitted Function name is IsFunctionPointer
Jitted Function name is get_IsByRef
Jitted Function name is IsByRefImpl
Jitted Function name is IsByRef
Jitted Function name is Instantiate
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is IsAssignableTo
Interpreted Function name is IsAssignableFrom
Jitted Function name is .cctor
Jitted Function name is get_UnderlyingSystemType
Jitted Function name is CreateInstanceForAnotherGenericParameter
Jitted Function name is GetConstructor
Jitted Function name is GetConstructor
Jitted Function name is GetConstructor
Interpreted Function name is GetConstructorImpl
Interpreted Function name is GetConstructorCandidates
Jitted Function name is FilterHelper
Jitted Function name is get_Cache
Jitted Function name is InitializeCache
Jitted Function name is GetGCHandle
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is CompareExchange
Jitted Function name is CompareExchange
Interpreted Function name is .ctor
Jitted Function name is get_RuntimeType
Jitted Function name is GetModuleType
Interpreted Function name is .ctor
Jitted Function name is GetUnderlyingNativeHandle
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is GetConstructorList
Jitted Function name is GetMemberList
Jitted Function name is GetMemberCache
Interpreted Function name is .ctor
Jitted Function name is CompareExchange
Jitted Function name is CompareExchange
Jitted Function name is GetMemberList
Jitted Function name is Read
Jitted Function name is Populate
Interpreted Function name is GetListByName
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is PopulateConstructors
Jitted Function name is get_ReflectedType
Jitted Function name is GetRuntimeType
Jitted Function name is get_IsGenericParameter
Jitted Function name is GetIntroducedMethods
Interpreted Function name is .ctor
Interpreted Function name is GetEnumerator
Jitted Function name is MoveNext
Jitted Function name is get_Value
Interpreted Function name is get_Current
Jitted Function name is RequiresStringComparison
Jitted Function name is IsNullHandle
Jitted Function name is FilterPreCalculate
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is Add
Jitted Function name is ToArray
Jitted Function name is Insert
Jitted Function name is MergeWithGlobalListInOrder
Jitted Function name is op_Inequality
Jitted Function name is op_Equality
Jitted Function name is Resize
Jitted Function name is Write
Interpreted Function name is .ctor
Jitted Function name is FilterApplyConstructorInfo
Jitted Function name is get_BindingFlags
Interpreted Function name is FilterApplyMethodBase
Jitted Function name is op_Inequality
Jitted Function name is op_Equality
Jitted Function name is GetParametersAsSpan
Jitted Function name is get_Signature
Jitted Function name is <get_Signature>g__LazyCreateSignature|21_0
Interpreted Function name is .ctor
Jitted Function name is Write
Jitted Function name is GetParameters
Jitted Function name is get_HasTypeEquivalence
Jitted Function name is GetParameters
Jitted Function name is get_Arguments
Jitted Function name is IsNullToken
Jitted Function name is GetDeclaringType
Jitted Function name is System.IRuntimeMethodInfo.get_Value
Interpreted Function name is .ctor
Jitted Function name is GetRuntimeModule
Jitted Function name is get_MetadataImport
Interpreted Function name is .ctor
Jitted Function name is EnumParams
Jitted Function name is Enum
Jitted Function name is Enum
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is get_Length
Jitted Function name is op_Implicit
Interpreted Function name is .ctor
Jitted Function name is get_Length
Jitted Function name is get_Count
Jitted Function name is get_Item
Jitted Function name is get_IsEmpty
Jitted Function name is get_IsPublic
Jitted Function name is get_Attributes
Interpreted Function name is .ctor
Jitted Function name is GetUnderlyingNativeHandle
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is Equals
Jitted Function name is Equals
Jitted Function name is Resize
Jitted Function name is ExpandPrime
Jitted Function name is Resize
Jitted Function name is BulkMoveWithWriteBarrier
Jitted Function name is IsEventSourceLoggingEnabled
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is ValidateSettings
Interpreted Function name is Initialize
Jitted Function name is op_Equality
Jitted Function name is EqualsCore
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is get_Instance
Interpreted Function name is InitializeProviderMetadata
Jitted Function name is get_ProviderMetadata
Interpreted Function name is .ctor
Jitted Function name is get_Length
Jitted Function name is get_Name
Jitted Function name is .cctor
Jitted Function name is MetadataForString
Jitted Function name is CheckName
Interpreted Function name is IndexOf
Jitted Function name is IndexOfChar
Jitted Function name is IndexOfValueType
Jitted Function name is IndexOfValueType
Jitted Function name is NonPackedIndexOfValueType
Jitted Function name is System.Numerics.IEqualityOperators<System.Int16,System.Int16,System.Boolean>.op_Equality
Jitted Function name is NegateIfNeeded
Jitted Function name is get_UTF8
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is .cctor
Jitted Function name is ThrowIfNegative
Jitted Function name is IsNegative
Jitted Function name is SetDefaultFallbacks
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is get_Chars
Jitted Function name is IsSurrogate
Jitted Function name is IsBetween
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is GetByteCount
Jitted Function name is GetByteCountCommon
Interpreted Function name is GetByteCountFast
Jitted Function name is GetPointerToFirstInvalidChar
Jitted Function name is GetIndexOfFirstNonAsciiChar
Jitted Function name is GetIndexOfFirstNonAsciiChar_Vector
Jitted Function name is get_MaxValue
Jitted Function name is AllCharsInUInt32AreAscii
Jitted Function name is GetBytes
Jitted Function name is GetBytesCommon
Interpreted Function name is GetBytesFast
Jitted Function name is TranscodeToUtf8
Jitted Function name is Min
Jitted Function name is NarrowUtf16ToAscii
Jitted Function name is AllCharsInUInt64AreAscii
Interpreted Function name is NarrowFourUtf16CharsToAsciiAndWriteToBuffer
Interpreted Function name is NarrowTwoUtf16CharsToAsciiAndWriteToBuffer
Jitted Function name is op_Implicit
Interpreted Function name is .ctor
Jitted Function name is SequenceEqual
Jitted Function name is IsBitwiseEquatable
Jitted Function name is GetReference
Jitted Function name is SequenceEqual
Jitted Function name is LoadNUInt
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is TryGetPreregisteredEtwProvider
Jitted Function name is Remove
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is Register
Jitted Function name is Register
Jitted Function name is TryGetPreregisteredEventPipeProvider
Jitted Function name is Remove
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is Create
Jitted Function name is InternalAlloc
Jitted Function name is FromObject
Jitted Function name is PossiblyComObject
Jitted Function name is Register
Jitted Function name is get_IsAllocated
Jitted Function name is Alloc
Interpreted Function name is .ctor
Jitted Function name is ToIntPtr
Jitted Function name is CreateProvider
Jitted Function name is IL_STUB_PInvoke
Interpreted Function name is AddEventSource
Jitted Function name is get_EventListenersLock
Interpreted Function name is .ctor
Jitted Function name is get_Count
Jitted Function name is Add
Interpreted Function name is Validate
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is TableMask
Jitted Function name is get_IsGenericType
Jitted Function name is get_HasInstantiation
Jitted Function name is get_IsEnum
Jitted Function name is TypeHandleOf
Jitted Function name is ToIntPtr
Interpreted Function name is .ctor
Interpreted Function name is GetEnumerator
Interpreted Function name is .ctor
Jitted Function name is MoveNext
Interpreted Function name is get_Current
Jitted Function name is TryGetTarget
Jitted Function name is get_Target
Jitted Function name is get_Keys
Interpreted Function name is .ctor
Interpreted Function name is GetEnumerator
Interpreted Function name is .ctor
Jitted Function name is MoveNext
Interpreted Function name is Dispose
Jitted Function name is MoveNextRare
Interpreted Function name is Dispose
Jitted Function name is get_Log
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is op_Implicit
Jitted Function name is GetRawStringData
Interpreted Function name is .ctor
Jitted Function name is TryParseGuid
Jitted Function name is Trim
Jitted Function name is get_Length
Jitted Function name is get_Item
Jitted Function name is IsWhiteSpace
Jitted Function name is IsLatin1
Jitted Function name is get_Latin1CharInfo
Jitted Function name is IsWhiteSpaceLatin1
Jitted Function name is get_Item
Jitted Function name is TryParseExactD
Interpreted Function name is .ctor
Interpreted Function name is AsBytes
Jitted Function name is GetReference
Jitted Function name is As
Jitted Function name is get_Length
Interpreted Function name is .ctor
Jitted Function name is get_Item
Interpreted Function name is DecodeByte
Jitted Function name is get_CharToHexLookup
Jitted Function name is ReverseAbcEndianness
Interpreted Function name is ReverseEndianness
Jitted Function name is ToGuid
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is get_ProviderMetadata
Jitted Function name is get_IsMeterSupported
Interpreted Function name is PreregisterEventProviders
Jitted Function name is AddWithResize
Jitted Function name is Grow
Jitted Function name is GetNewCapacity
Jitted Function name is set_Capacity
Jitted Function name is set_Item
Jitted Function name is TryInsert
Jitted Function name is Initialize
Jitted Function name is GetHashCode
Jitted Function name is GetBucket
Jitted Function name is set_Item
Interpreted Function name is InitializeCommandLineArgs
Jitted Function name is .cctor
Jitted Function name is ManagedStartup
Jitted Function name is get_IsSupported
Jitted Function name is ProcessStartupHooks
Jitted Function name is Main
Interpreted Function name is WriteLine
Jitted Function name is .cctor
Jitted Function name is get_Out
Jitted Function name is IsEntered
Jitted Function name is Read
Interpreted Function name is <get_Out>g__EnsureInitialized|26_0
Jitted Function name is .cctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is Create
Jitted Function name is OpenStandardOutput
Jitted Function name is .cctor
Jitted Function name is CreateFileHandle
Interpreted Function name is .ctor
Jitted Function name is .cctor
Jitted Function name is GetBooleanConfig
Jitted Function name is GetBooleanConfig
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is SuppressFinalize
Jitted Function name is SetHandle
Jitted Function name is Dup
Interpreted Function name is .ctor
Jitted Function name is CreateInstance
Jitted Function name is CreateInstanceOfT
Jitted Function name is GetOrCreateCacheEntry
Jitted Function name is GetOrCreate
Jitted Function name is get_GenericCache
Jitted Function name is CreateAndCache
Interpreted Function name is Create
Interpreted Function name is .ctor
Jitted Function name is CreateInstanceCheckThis
Jitted Function name is get_ContainsGenericParameters
Jitted Function name is ContainsGenericVariables
Jitted Function name is GetTypeChecked
Jitted Function name is GetActivationInfo
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is get_CtorIsPublic
Jitted Function name is CreateUninitializedObject
Jitted Function name is CheckOriginalRuntimeType
Jitted Function name is CallRefConstructor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is FromManaged
Jitted Function name is DangerousAddRef
Jitted Function name is ThrowIf
Jitted Function name is CompareExchange
Jitted Function name is ToUnmanaged
Jitted Function name is DangerousGetHandle
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is LoadLibraryCallbackStub
Jitted Function name is FromUnmanaged
Jitted Function name is InitHandle
Jitted Function name is ToManaged
Jitted Function name is CheckIo
Jitted Function name is get_IsInvalid
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is CreateOutputWriter
Interpreted Function name is get_OutputEncoding
Interpreted Function name is get_OutputEncoding
Jitted Function name is GetConsoleEncoding
Interpreted Function name is GetEncodingFromCharset
Jitted Function name is .cctor
Jitted Function name is GetCharset
Jitted Function name is IsNullOrWhiteSpace
Jitted Function name is set_Length
Jitted Function name is ToString
Jitted Function name is Slice
Interpreted Function name is .ctor
Jitted Function name is ToString
Jitted Function name is Ctor
Jitted Function name is GetReference
Interpreted Function name is IndexOf
Interpreted Function name is IndexOf
Jitted Function name is Add
Jitted Function name is Substring
Jitted Function name is InternalSubString
Jitted Function name is ToLowerInvariant
Jitted Function name is .cctor
Jitted Function name is get_Invariant
Jitted Function name is .cctor
Jitted Function name is CreateCultureWithInvariantData
Interpreted Function name is .ctor
Jitted Function name is get_InvariantNoLoad
Jitted Function name is get_Invariant
Jitted Function name is .cctor
Jitted Function name is get_Invariant
Jitted Function name is TryGetAppLocalIcuSwitchValue
Jitted Function name is TryGetStringValue
Jitted Function name is LoadICU
Jitted Function name is .cctor
Jitted Function name is CreateInvariant
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is get_CultureName
Jitted Function name is get_TextInfoName
Jitted Function name is SetReadOnlyState
Jitted Function name is ToLower
Interpreted Function name is ChangeCaseCommon
Jitted Function name is get_IsAsciiCasingSameAsInvariant
Jitted Function name is ReadUnaligned
Jitted Function name is AllCharsInUInt32AreAscii
Jitted Function name is UInt32ContainsAnyUppercaseAsciiChar
Jitted Function name is AsSpan
Jitted Function name is CopyTo
Jitted Function name is AsSpan
Jitted Function name is Slice
Interpreted Function name is ChangeCaseCommon
Jitted Function name is get_IsEmpty
Jitted Function name is ToLower
Interpreted Function name is Cast
Jitted Function name is As
Interpreted Function name is .ctor
Interpreted Function name is Cast
Interpreted Function name is .ctor
Jitted Function name is ChangeCase
Interpreted Function name is AsBytes
Jitted Function name is GetReference
Jitted Function name is As
Jitted Function name is get_Length
Interpreted Function name is .ctor
Interpreted Function name is AsBytes
Jitted Function name is GetReference
Jitted Function name is get_Length
Jitted Function name is op_Implicit
Jitted Function name is Overlaps
Jitted Function name is get_IsEmpty
Jitted Function name is ChangeCase
Jitted Function name is AllCharsInUInt64AreAscii
Interpreted Function name is ConvertAllAsciiCharsInUInt64ToLowercase
Interpreted Function name is CreateTruncating
Jitted Function name is TryConvertFromTruncating
Jitted Function name is IsAsciiCodePoint
Jitted Function name is IsInRangeInclusive
Interpreted Function name is CreateTruncating
Jitted Function name is TryConvertFromTruncating
Jitted Function name is GetEncoding
Jitted Function name is GetEncodingFromProvider
Jitted Function name is FilterDisallowedEncodings
Jitted Function name is get_EnableUnsafeUTF7Encoding
Jitted Function name is GetCachedSwitchValue
Jitted Function name is GetCachedSwitchValueInternal
Jitted Function name is GetSwitchDefaultValue
Jitted Function name is GetCodePageFromName
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is Synchronized
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is get_Item
Jitted Function name is get_Item
Jitted Function name is InitHash
Jitted Function name is GetHash
Jitted Function name is GetHashCode
Jitted Function name is GetHashCode
Jitted Function name is GetHashCodeOrdinalIgnoreCase
Jitted Function name is get_DefaultSeed
Jitted Function name is .cctor
Jitted Function name is GenerateSeed
Jitted Function name is GetRandomBytes
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is ComputeHash32OrdinalIgnoreCase
Jitted Function name is ConvertAllAsciiCharsInUInt32ToUppercase
Jitted Function name is Block
Interpreted Function name is InternalGetCodePageFromName
Jitted Function name is get_EncodingNameIndices
Jitted Function name is get_CodePagesByName
Interpreted Function name is CreateSpan
Interpreted Function name is ReverseEndianness
Interpreted Function name is Cast
Jitted Function name is As
Interpreted Function name is .ctor
Interpreted Function name is Cast
Interpreted Function name is .ctor
Interpreted Function name is ReverseEndianness
Jitted Function name is get_Length
Jitted Function name is get_Length
Jitted Function name is GetReference
Jitted Function name is GetReference
Jitted Function name is AreSame
Jitted Function name is op_Implicit
Jitted Function name is Overlaps
Jitted Function name is get_IsEmpty
Jitted Function name is Add
Jitted Function name is Reverse
Interpreted Function name is ReverseEndianness
Jitted Function name is As
Jitted Function name is AsSpan
Jitted Function name is CompareOrdinal
Jitted Function name is SequenceCompareTo
Jitted Function name is CompareTo
Jitted Function name is SequenceEqual
Jitted Function name is IsBitwiseEquatable
Jitted Function name is get_Item
Jitted Function name is set_Item
Jitted Function name is get_SyncRoot
Jitted Function name is set_Item
Jitted Function name is Insert
Jitted Function name is UpdateVersion
Jitted Function name is GetEncoding
Jitted Function name is GetEncodingFromProvider
Jitted Function name is RemovePreamble
Jitted Function name is get_Preamble
Jitted Function name is get_PreambleSpan
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is SetDefaultFallbacks
Jitted Function name is get_ReplacementFallback
Jitted Function name is get_ReplacementFallback
Jitted Function name is get_Preamble
Jitted Function name is GetPreamble
Jitted Function name is Empty
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is .cctor
Jitted Function name is CreateCacheableTask
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is get_CompletedTask
Interpreted Function name is .ctor
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is ToCharArray
Jitted Function name is GetArrayDataReference
Jitted Function name is ReadUnaligned
Jitted Function name is WriteUnaligned
Jitted Function name is get_UTF8NoBOM
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is get_ExceptionFallback
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is get_ExceptionFallback
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is Empty
Jitted Function name is .cctor
Interpreted Function name is .ctor
Jitted Function name is get_CanWrite
Jitted Function name is ThrowIfNegativeOrZero
Jitted Function name is System.Numerics.INumberBase<System.Int32>.IsZero
Jitted Function name is GetEncoder
Jitted Function name is GetEncoder
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is get_EncoderFallback
Jitted Function name is Reset
Jitted Function name is get_CanSeek
Jitted Function name is set_AutoFlush
Jitted Function name is CheckAsyncTaskInProgress
Jitted Function name is get_IsCompleted
Jitted Function name is IsCompletedMethod
Jitted Function name is Flush
Jitted Function name is ThrowIfDisposed
Jitted Function name is GetMaxByteCount
Jitted Function name is GetMaxByteCount
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is Add
Jitted Function name is GetBytes
Jitted Function name is GetNonNullPinnableReference
Jitted Function name is GetNonNullPinnableReference
Jitted Function name is get_Length
Jitted Function name is GetBytes
Jitted Function name is ThrowIfNull
Jitted Function name is GetBytes
Jitted Function name is get_HasLeftoverData
Jitted Function name is Flush
Jitted Function name is get_IsClosed
Jitted Function name is Flush
Jitted Function name is Synchronized
Interpreted Function name is .ctor
Interpreted Function name is WriteLine
Interpreted Function name is WriteLine
Jitted Function name is WriteSpan
Jitted Function name is MemoryCopy
Interpreted Function name is Memmove
Jitted Function name is As
Jitted Function name is Slice
Jitted Function name is Write
Jitted Function name is WriteFromConsoleStream
Jitted Function name is EnsureConsoleInitialized
Interpreted Function name is EnsureInitializedCore
Jitted Function name is InitializeTerminalAndSignalHandling
Jitted Function name is IL_STUB_PInvoke
[New Thread 0x3ff762ff8c0 (LWP 1549568)]
Jitted Function name is get_IsOutputRedirected
Jitted Function name is <get_IsOutputRedirected>g__EnsureInitialized|36_0
Jitted Function name is IsOutputRedirectedCore
Jitted Function name is IsHandleRedirected
Jitted Function name is IsATty
Jitted Function name is IL_STUB_PInvoke
Interpreted Function name is .ctor
Jitted Function name is get_TerminalFormatStringsInstance
Jitted Function name is get_Value
Interpreted Function name is CreateValue
Jitted Function name is get_State
Jitted Function name is ExecutionAndPublication
Jitted Function name is ViaFactory
Jitted Function name is <.cctor>b__119_0
Jitted Function name is ReadActiveDatabase
Interpreted Function name is ReadDatabase
Jitted Function name is .cctor
Jitted Function name is get_EnvVarTermInfoLocation
Interpreted Function name is ReadDatabase
Jitted Function name is get_HomeTermInfoLocation
Jitted Function name is GetHomeDirectory
Jitted Function name is Concat
Jitted Function name is CopyStringContent
Interpreted Function name is .ctor
Jitted Function name is AppendFormatted
Jitted Function name is TryCopyTo
Jitted Function name is AppendLiteral
Jitted Function name is AppendFormatted
Interpreted Function name is ChkCastInterface
Jitted Function name is System.ISpanFormattable.TryFormat
Jitted Function name is get_IsEmpty
Jitted Function name is get_Item
Interpreted Function name is Create
Jitted Function name is ToStringAndClear
Jitted Function name is get_Text
Jitted Function name is op_Implicit
Jitted Function name is Clear
Jitted Function name is TryOpen
Jitted Function name is Open
Interpreted Function name is IsInstanceOfAny
Interpreted Function name is ChkCastAny
Jitted Function name is get_BufferSize
Jitted Function name is FromManaged
Jitted Function name is GetReference
Jitted Function name is GetBytes
Jitted Function name is ToUnmanaged
Jitted Function name is IL_STUB_PInvoke
Interpreted Function name is Dispose
Interpreted Function name is Dispose
Jitted Function name is InternalRelease
Jitted Function name is AppendFormatted
Jitted Function name is TryFormat
Jitted Function name is TryFormatInt32
Jitted Function name is <TryFormatInt32>g__TryFormatInt32Slow|19_0
Jitted Function name is ParseFormatSpecifier
Jitted Function name is IsAsciiLetter
Jitted Function name is GetHexBase
Jitted Function name is TryInt32ToHexStr
Interpreted Function name is CountHexDigits
Interpreted Function name is Log2
Interpreted Function name is Log2
Interpreted Function name is Log2SoftwareFallback
Jitted Function name is get_Log2DeBruijn
Jitted Function name is AddByteOffset
Jitted Function name is Max
Interpreted Function name is Int32ToHexChars
Jitted Function name is .cctor
Interpreted Function name is AsBytes
Jitted Function name is ToArray
Jitted Function name is System.IUtfChar<System.Char>.CastFrom
Jitted Function name is GetLength
Interpreted Function name is ValidateInput
Jitted Function name is get_CanSeek
Interpreted Function name is GetCanSeek
Jitted Function name is .cctor
Jitted Function name is LSeek
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is GetFileLength
Jitted Function name is FStat
Interpreted Function name is ClearWithoutReferences
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is get_Path
Jitted Function name is CheckFileCall
Interpreted Function name is .ctor
Jitted Function name is Add
Jitted Function name is Read
Jitted Function name is ReadAtOffset
Jitted Function name is get_SupportsRandomAccess
Jitted Function name is PRead
Jitted Function name is IL_STUB_PInvoke
Interpreted Function name is .ctor
Jitted Function name is ReadInt16
Jitted Function name is get_StringsTableOffset
Jitted Function name is get_StringOffsetsOffset
Jitted Function name is get_NumbersOffset
Jitted Function name is get_BooleansOffset
Jitted Function name is RoundUpToEven
Jitted Function name is ParseExtendedStrings
Jitted Function name is FindNullTerminator
Jitted Function name is AsSpan
Interpreted Function name is IndexOf
Jitted Function name is BitCast
Jitted Function name is IndexOfValueType
Jitted Function name is IndexOfValueType
Jitted Function name is NonPackedIndexOfValueType
Jitted Function name is System.Numerics.IEqualityOperators<System.Byte,System.Byte,System.Boolean>.op_Equality
Jitted Function name is NegateIfNeeded
Jitted Function name is get_ASCII
Jitted Function name is .cctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is SetDefaultFallbacks
Jitted Function name is GetString
Jitted Function name is CreateStringFromEncoding
Jitted Function name is GetCharCount
Jitted Function name is GetCharCountCommon
Jitted Function name is get_DecoderFallback
Jitted Function name is GetCharCountFast
Jitted Function name is get_MaxCharCount
Jitted Function name is GetChars
Jitted Function name is GetCharsCommon
Interpreted Function name is GetCharsFast
Interpreted Function name is WidenAsciiToUtf16
Jitted Function name is AllBytesInUInt32AreAscii
Interpreted Function name is WidenFourAsciiBytesToUtf16AndWriteToBuffer
Jitted Function name is ReadUnaligned
Jitted Function name is get_Item
Interpreted Function name is TryAdd
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Interpreted Function name is .ctor
Jitted Function name is GetString
Jitted Function name is ReadString
Jitted Function name is GetExtendedString
Jitted Function name is GetNumber
Jitted Function name is ReadInt
Jitted Function name is ReadInt32
Jitted Function name is ReadInt32LittleEndian
Jitted Function name is Read
Jitted Function name is IsReferenceOrContainsReferences
Jitted Function name is get_Term
Jitted Function name is Contains
Interpreted Function name is IndexOf
Interpreted Function name is IndexOf
Interpreted Function name is IndexOf
Jitted Function name is TryGetSpan
Jitted Function name is IndexOfOrdinalIgnoreCase
Jitted Function name is IsAscii
Jitted Function name is IndexOfAnyChar
Jitted Function name is IndexOfAnyValueType
Jitted Function name is IndexOfAnyValueType
Interpreted Function name is NonPackedIndexOfAnyValueType
Jitted Function name is Add
Jitted Function name is EqualsIgnoreCase
Jitted Function name is EqualsIgnoreCase_Scalar
Jitted Function name is UInt32OrdinalIgnoreCaseAscii
Interpreted Function name is GetTitle
Interpreted Function name is StartsWith
Interpreted Function name is ComputeStringHash
Jitted Function name is op_Inequality
Jitted Function name is EqualsHelper
Jitted Function name is WriteLineIf
Jitted Function name is AddKey
Jitted Function name is AddKey
Interpreted Function name is .ctor
Jitted Function name is set_Item
Jitted Function name is TryInsert
Jitted Function name is Initialize
^[OBJitted Function name is GetBucket
Jitted Function name is Resize
Jitted Function name is Resize
Jitted Function name is _BulkMoveWithWriteBarrier
Jitted Function name is AddPrefixKey
Jitted Function name is get_HasExtendedStrings
Jitted Function name is AddKey
Jitted Function name is ReadUnaligned
Jitted Function name is WriteUnaligned
Jitted Function name is get_Count
Interpreted Function name is GetEnumerator
Interpreted Function name is .ctor
Jitted Function name is MoveNext
Interpreted Function name is .ctor
Interpreted Function name is get_Current
Jitted Function name is get_Key
Interpreted Function name is Dispose
Interpreted Function name is SetKeypadXmit
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is Free
Jitted Function name is Free
Jitted Function name is DangerousRelease
Jitted Function name is get_IsInputRedirected
Jitted Function name is <get_IsInputRedirected>g__EnsureInitialized|34_0
Jitted Function name is IsInputRedirectedCore
Jitted Function name is IL_STUB_PInvoke
Interpreted Function name is CreateSpan
Jitted Function name is As
Interpreted Function name is .ctor
Jitted Function name is get_Item
Jitted Function name is GetControlCharacters
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is Write
Jitted Function name is GetPinnableReference
Jitted Function name is Read
Jitted Function name is Write
Jitted Function name is IL_STUB_PInvoke
Running s390x genLclHeap tests...
Jitted Function name is UpdatedCachedCursorPosition
Jitted Function name is TryGetCachedCursorPosition
Jitted Function name is CheckTerminalSettingsInvalidated
Jitted Function name is InvalidateCachedCursorPosition
Jitted Function name is TestConstantAllocation
Jitted Function name is TestDynamicAllocation
Jitted Function name is TestZeroSizeAllocation
Jitted Function name is TestMultipleAllocations
Jitted Function name is TestLocallocInLoop
Jitted Function name is HelperFunction
PASS
Jitted Function name is RunFinalizers
Jitted Function name is get_CurrentThread
Jitted Function name is InitializeCurrentThread
Jitted Function name is IL_STUB_PInvoke
Interpreted Function name is OnProcessExit
Interpreted Function name is OnProcessExit
Interpreted Function name is DisposeOnShutdown
Interpreted Function name is Dispose
Interpreted Function name is Dispose
Interpreted Function name is Dispose
Interpreted Function name is Dispose
Jitted Function name is Disable
Jitted Function name is Unregister
Jitted Function name is Unregister
Jitted Function name is IL_STUB_PInvoke
Jitted Function name is Free
Jitted Function name is Exchange
Jitted Function name is Exchange
Jitted Function name is ThrowIfInvalid
Interpreted Function name is GetHandleValue
Interpreted Function name is .ctor
Jitted Function name is InternalFree
Interpreted Function name is OnProcessExit
[Thread 0x3ff762ff8c0 (LWP 1549568) exited]
[Thread 0x3ffe77fe8c0 (LWP 1549566) exited]
[Thread 0x3ffe7fff8c0 (LWP 1549565) exited]
[Thread 0x3fff4aff8c0 (LWP 1549564) exited]
[Thread 0x3fff537d8c0 (LWP 1549563) exited]
[Thread 0x3fff5b7e8c0 (LWP 1549562) exited]
[Thread 0x3fff637f8c0 (LWP 1549561) exited]
[Thread 0x3fff7ff5740 (LWP 1549559) exited]
[Thread 0x3ffe6ffd8c0 (LWP 1549567) exited]
[New process 1549559]
[Inferior 1 (process 1549559) exited normally]

Running newly added tests for memalloc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants