') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Fix signature for 64-bit delegate profiling helper by jakobbotsch · Pull Request #74500 · dotnet/runtime · GitHub
Skip to content

Fix signature for 64-bit delegate profiling helper - #74500

Merged
jakobbotsch merged 3 commits into
dotnet:mainfrom
jakobbotsch:fix-64-bit-delegate-profiling
Aug 29, 2022
Merged

Fix signature for 64-bit delegate profiling helper#74500
jakobbotsch merged 3 commits into
dotnet:mainfrom
jakobbotsch:fix-64-bit-delegate-profiling

Conversation

@jakobbotsch

Copy link
Copy Markdown
Member

I missed updating the signature of the 64-bit variant here when the
vtable and delegate profiling helpers were originally split up.

Fix#74295

I missed updating the signature of the 64-bit variant here when the
vtable and delegate profiling helpers were originally split up.
Fixdotnet#74295
@ghostghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Aug 24, 2022
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

I missed updating the signature of the 64-bit variant here when the
vtable and delegate profiling helpers were originally split up.

Fix #74295

Author:jakobbotsch
Assignees:-
Labels:

area-CodeGen-coreclr

Milestone:-

@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

I've added a JitRandomlyCollect64BitCounts and turned it on in the randomized PGO legs to get some testing for this mode.

cc @dotnet/jit-contrib PTAL @EgorBo@AndyAyersMS

@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr pgo

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

Bunch of the runs seem to have been "dead-lettered".. will retry

@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr pgo

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@markples

Copy link
Copy Markdown
Contributor

Would it be worth devising a way for the compiler to assert that it has the right types (or at least number) of arguments for helper calls? Presumably these issues are going to be caught by normal testing, so it would be more a productivity thing, so is this kind of issue common?

This needs some work so disable it for now.
@jakobbotsch

jakobbotsch commented Aug 25, 2022

Copy link
Copy Markdown
MemberAuthor

Would it be worth devising a way for the compiler to assert that it has the right types (or at least number) of arguments for helper calls? Presumably these issues are going to be caught by normal testing, so it would be more a productivity thing, so is this kind of issue common?

I'm not sure if the effort would be worth it, I don't think I've seen this kind of mismatch before. But we should definitely ensure that we have testing to exercise all the helpers and the code in the JIT that builds the calls to them.

@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr pgo

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@JulieLeeMSFT

Copy link
Copy Markdown
Member

@jakobbotsch are we going to backport this to 7.0?

@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

@jakobbotsch are we going to backport this to 7.0?

Yes, I will backport this one.

@jakobbotsch
jakobbotsch merged commit f21cf52 into dotnet:mainAug 29, 2022
@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

/backport to release/7.0

@github-actions

Copy link
Copy Markdown
Contributor

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/2947516086

@jakobbotsch
jakobbotsch deleted the fix-64-bit-delegate-profiling branch August 29, 2022 10:27
@ghostghost locked as resolved and limited conversation to collaborators Sep 28, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

F# compiler crashes with DOTNET_TieredPGO=1

4 participants

@jakobbotsch@markples@JulieLeeMSFT@EgorBo