Crossgen2 is missing support for CORINFO_FIELD_STATIC_ADDRESS #32663

Description

@trylek

We could achieve minor perf improvement when accessing statics by implementing the static address helper (ldsflda). Crossgen1 doesn't do this, it bails out at this point:

ThrowHR(E_NOTIMPL);

For now I'm about to add a similar clause with a reference to this issue to Crossgen2 as otherwise it causes failures with composite R2R at runtime due to System.Console.get_Out which uses ldsflda on System.Console.s_out.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); })();
      Skip to content

      Crossgen2 is missing support for CORINFO_FIELD_STATIC_ADDRESS #32663

      Description

      @trylek

      We could achieve minor perf improvement when accessing statics by implementing the static address helper (ldsflda). Crossgen1 doesn't do this, it bails out at this point:

      ThrowHR(E_NOTIMPL);

      For now I'm about to add a similar clause with a reference to this issue to Crossgen2 as otherwise it causes failures with composite R2R at runtime due to System.Console.get_Out which uses ldsflda on System.Console.s_out.

      Activity

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

      Metadata

      Metadata

      Assignees

      No one assigned

        Type

        No type

        Projects

        No projects

          Milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions