This is Xamarin's bug tracking system. For product support, please use the support links listed in your Xamarin Account.
Bug 51330 - Inline Enum::GetHashCode implementation
Summary: Inline Enum::GetHashCode implementation
Status: RESOLVED FIXED
Alias: None
Product: Runtime
Classification: Mono
Component: JIT (show other bugs)
Version: 4.8.0 (C9)
Hardware: PC Mac OS
: --- normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2017-01-10 14:45 UTC by Marek Safar
Modified: 2017-01-16 00:58 UTC (History)
4 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description Marek Safar 2017-01-10 14:45:36 UTC
This would allow us to share CoreFX/CoreRT code more easily as it has such optimization. 

enum Mine { One, Two }

class Program
{
    static int Main()
    {
        for (int i = 0; i < 1000000; ++i)
        	Mine.Two.GetHashCode(); // This does boxing even if 2.GetHashCode does not

        return 0;
    }
}


Relevant CoreFX change https://github.com/dotnet/coreclr/pull/7895
Comment 1 Zoltan Varga 2017-01-15 05:24:26 UTC
https://github.com/mono/mono/pull/4250
Comment 2 Zoltan Varga 2017-01-16 00:58:16 UTC
Fixed in master.

Note You need to log in before you can comment on or make changes to this bug.