Skip to content

Remove CORINFO_HELP_ASSIGN_BYREF ? #128227

@EgorBo

Description

@EgorBo

#128225 reminded me - can we delete this version of write barrier and use normal checked/unchecked? Maybe long-term even just leave the unchecked one and inline checks in JIT for the checked one?

Currently, we have 5 flavors:

CORINFO_HELP_ASSIGN_REF,
CORINFO_HELP_CHECKED_ASSIGN_REF,
CORINFO_HELP_ASSIGN_REF_ENSURE_NONHEAP,  // Debug only, do we use it?
CORINFO_HELP_ASSIGN_BYREF,
CORINFO_HELP_BULK_WRITEBARRIER,

CORINFO_HELP_ASSIGN_BYREF was beneficial for large struct copies with GC fields due to custom calling convention that bumps pointer, but it's no longer that important with the introduction of CORINFO_HELP_BULK_WRITEBARRIER

Opinions @jkotas @dotnet/jit-contrib?

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions