[mono] Make some API functions public and private - #33736

Merged
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis
Mar 24, 2020
Merged

[mono] Make some API functions public and private#33736
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis

Conversation

@lambdageek

@lambdageeklambdageek commented Mar 18, 2020

Copy link
Copy Markdown
Member

See #33633 and https://github.com/xamarin/xamarin-macios/blob/master/runtime/exports.t4

  • mono_install_load_aot_data_hook was already a MONO_API, but it was not in a public header.
    It is added to mono/jit/mono-private-unstable.h
  • mono_gc_init_finalizer_thread was used by Xamarin.iOS for a long time without being in any public header. It's one of the reasons we have to compile Mono for XI with --disable-visibility-hidden. Make the function a proper MONO_API unconditionally - but make it do nothing if the runtime is compiled without --with-lazy-thread-creation (the default). It is now a public Mono API function.
  • mono_trace_init was a MONO_API function in a non-public header that was already used by embedders that need to set up logger hooks. It is now not necessary to call this before calling the logger functions to set up logger hooks such as mono_trace_set_log_handler

@EgorBo

Copy link
Copy Markdown
Member

heh, I was about to file an issue 🙂

@EgorBo

Copy link
Copy Markdown
Member

since #33633 is already merged could you please update runtime.m ? https://github.com/dotnet/runtime/blob/master/src/mono/netcore/sample/iOS/runtime.m#L15-L20

@lambdageek

Copy link
Copy Markdown
MemberAuthor

Verified that the ios sample builds in Xcode.

@vargaz

Copy link
Copy Markdown
Contributor

So we didn't put them in public headers to avoid having to avoid users depending on them and thus having to support them forever.

@akoeplinger

Copy link
Copy Markdown
Member

@vargaz you could argue that with XI relying on them we're already on that path. Do you see any of these APIs as particularly problematic?

@lambdageeklambdageek changed the title [mono] Make some API functions publicwip: [mono] Make some API functions publicMar 20, 2020
@lambdageek

lambdageek commented Mar 20, 2020

Copy link
Copy Markdown
MemberAuthor

new plan:

  1. mono_trace_init is going to stay private. instead i'm going to update mono_trace_set_log_handler and other logging APIs to implicitly initialize the logger so that the iOS sample (and XI) don't need to call it anymore.
  2. mono_gc_init_finalizer_thread will become a public API (there's no other way to work with a --with-lazy-thread-creation runtime)
  3. Move mono_install_load_aot_data_hook to the new mono/jit/mono-private-unstable.h header from [mono] Add headers for unstable APIs #33869

lambdageekand others added 5 commits March 23, 2020 21:10
It's already a MONO_API and it is used, for example, by Xamarin.iOS, but it
wasn't in a public header.
Mark it external only. There are no uses of it inside the runtiem
It was already used by Xamarin.iOS but wasn't in a public header and required
compiling with --disable-visibility-hidden in order to dlsym the symbol.
If --with-lazy-gc-thread-creation is used, embedders must call this function to
create the finalizer therad. Otherwise the function does nothing and the
runtime will create the finalizer thread automatically.
It was already marked as MONO_API, but it was not in a public header.
It is used by embedders such as Xamarin.iOS
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from 93a416a to c037a3eCompareMarch 24, 2020 01:29
@lambdageeklambdageek changed the title wip: [mono] Make some API functions public[mono] Make some API functions public and privateMar 24, 2020
@lambdageek
lambdageek requested a review from EgorBoMarch 24, 2020 01:32
@lambdageek

Copy link
Copy Markdown
MemberAuthor

Changed this PR to make mono_install_load_aot_data_hook an unstable API, and to make mono_trace_init unnecessary.

@EgorBo could you check that the sample still compiles.

Embedders don't need to call mono_trace_init before calling
mono_trace_set_log_handler, mono_trace_set_print_handler or mono_trace_set_printerr_handler
We do not guarantee that this API will be stable
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from c037a3e to 7dfc6efCompareMarch 24, 2020 01:35
@EgorBo

Copy link
Copy Markdown
Member

@lambdageek just checked, compiles and works 👍

@lambdageek
lambdageek merged commit c1686da into dotnet:masterMar 24, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2020
@lambdageek
lambdageek deleted the add-xi-nonpublic-apis branch March 7, 2021 21:54
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@lambdageek@EgorBo@vargaz@akoeplinger@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 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); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

[mono] Make some API functions public and private - #33736

Merged
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis
Mar 24, 2020
Merged

[mono] Make some API functions public and private#33736
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis

Conversation

@lambdageek

@lambdageeklambdageek commented Mar 18, 2020

Copy link
Copy Markdown
Member

See #33633 and https://github.com/xamarin/xamarin-macios/blob/master/runtime/exports.t4

  • mono_install_load_aot_data_hook was already a MONO_API, but it was not in a public header.
    It is added to mono/jit/mono-private-unstable.h
  • mono_gc_init_finalizer_thread was used by Xamarin.iOS for a long time without being in any public header. It's one of the reasons we have to compile Mono for XI with --disable-visibility-hidden. Make the function a proper MONO_API unconditionally - but make it do nothing if the runtime is compiled without --with-lazy-thread-creation (the default). It is now a public Mono API function.
  • mono_trace_init was a MONO_API function in a non-public header that was already used by embedders that need to set up logger hooks. It is now not necessary to call this before calling the logger functions to set up logger hooks such as mono_trace_set_log_handler

@EgorBo

Copy link
Copy Markdown
Member

heh, I was about to file an issue 🙂

@EgorBo

Copy link
Copy Markdown
Member

since #33633 is already merged could you please update runtime.m ? https://github.com/dotnet/runtime/blob/master/src/mono/netcore/sample/iOS/runtime.m#L15-L20

@lambdageek

Copy link
Copy Markdown
MemberAuthor

Verified that the ios sample builds in Xcode.

@vargaz

Copy link
Copy Markdown
Contributor

So we didn't put them in public headers to avoid having to avoid users depending on them and thus having to support them forever.

@akoeplinger

Copy link
Copy Markdown
Member

@vargaz you could argue that with XI relying on them we're already on that path. Do you see any of these APIs as particularly problematic?

@lambdageeklambdageek changed the title [mono] Make some API functions publicwip: [mono] Make some API functions publicMar 20, 2020
@lambdageek

lambdageek commented Mar 20, 2020

Copy link
Copy Markdown
MemberAuthor

new plan:

  1. mono_trace_init is going to stay private. instead i'm going to update mono_trace_set_log_handler and other logging APIs to implicitly initialize the logger so that the iOS sample (and XI) don't need to call it anymore.
  2. mono_gc_init_finalizer_thread will become a public API (there's no other way to work with a --with-lazy-thread-creation runtime)
  3. Move mono_install_load_aot_data_hook to the new mono/jit/mono-private-unstable.h header from [mono] Add headers for unstable APIs #33869

lambdageekand others added 5 commits March 23, 2020 21:10
It's already a MONO_API and it is used, for example, by Xamarin.iOS, but it
wasn't in a public header.
Mark it external only. There are no uses of it inside the runtiem
It was already used by Xamarin.iOS but wasn't in a public header and required
compiling with --disable-visibility-hidden in order to dlsym the symbol.
If --with-lazy-gc-thread-creation is used, embedders must call this function to
create the finalizer therad. Otherwise the function does nothing and the
runtime will create the finalizer thread automatically.
It was already marked as MONO_API, but it was not in a public header.
It is used by embedders such as Xamarin.iOS
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from 93a416a to c037a3eCompareMarch 24, 2020 01:29
@lambdageeklambdageek changed the title wip: [mono] Make some API functions public[mono] Make some API functions public and privateMar 24, 2020
@lambdageek
lambdageek requested a review from EgorBoMarch 24, 2020 01:32
@lambdageek

Copy link
Copy Markdown
MemberAuthor

Changed this PR to make mono_install_load_aot_data_hook an unstable API, and to make mono_trace_init unnecessary.

@EgorBo could you check that the sample still compiles.

Embedders don't need to call mono_trace_init before calling
mono_trace_set_log_handler, mono_trace_set_print_handler or mono_trace_set_printerr_handler
We do not guarantee that this API will be stable
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from c037a3e to 7dfc6efCompareMarch 24, 2020 01:35
@EgorBo

Copy link
Copy Markdown
Member

@lambdageek just checked, compiles and works 👍

@lambdageek
lambdageek merged commit c1686da into dotnet:masterMar 24, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2020
@lambdageek
lambdageek deleted the add-xi-nonpublic-apis branch March 7, 2021 21:54
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@lambdageek@EgorBo@vargaz@akoeplinger@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[mono] Make some API functions public and private - #33736

Merged
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis
Mar 24, 2020
Merged

[mono] Make some API functions public and private#33736
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis

Conversation

@lambdageek

@lambdageeklambdageek commented Mar 18, 2020

Copy link
Copy Markdown
Member

See #33633 and https://github.com/xamarin/xamarin-macios/blob/master/runtime/exports.t4

  • mono_install_load_aot_data_hook was already a MONO_API, but it was not in a public header.
    It is added to mono/jit/mono-private-unstable.h
  • mono_gc_init_finalizer_thread was used by Xamarin.iOS for a long time without being in any public header. It's one of the reasons we have to compile Mono for XI with --disable-visibility-hidden. Make the function a proper MONO_API unconditionally - but make it do nothing if the runtime is compiled without --with-lazy-thread-creation (the default). It is now a public Mono API function.
  • mono_trace_init was a MONO_API function in a non-public header that was already used by embedders that need to set up logger hooks. It is now not necessary to call this before calling the logger functions to set up logger hooks such as mono_trace_set_log_handler

@EgorBo

Copy link
Copy Markdown
Member

heh, I was about to file an issue 🙂

@EgorBo

Copy link
Copy Markdown
Member

since #33633 is already merged could you please update runtime.m ? https://github.com/dotnet/runtime/blob/master/src/mono/netcore/sample/iOS/runtime.m#L15-L20

@lambdageek

Copy link
Copy Markdown
MemberAuthor

Verified that the ios sample builds in Xcode.

@vargaz

Copy link
Copy Markdown
Contributor

So we didn't put them in public headers to avoid having to avoid users depending on them and thus having to support them forever.

@akoeplinger

Copy link
Copy Markdown
Member

@vargaz you could argue that with XI relying on them we're already on that path. Do you see any of these APIs as particularly problematic?

@lambdageeklambdageek changed the title [mono] Make some API functions publicwip: [mono] Make some API functions publicMar 20, 2020
@lambdageek

lambdageek commented Mar 20, 2020

Copy link
Copy Markdown
MemberAuthor

new plan:

  1. mono_trace_init is going to stay private. instead i'm going to update mono_trace_set_log_handler and other logging APIs to implicitly initialize the logger so that the iOS sample (and XI) don't need to call it anymore.
  2. mono_gc_init_finalizer_thread will become a public API (there's no other way to work with a --with-lazy-thread-creation runtime)
  3. Move mono_install_load_aot_data_hook to the new mono/jit/mono-private-unstable.h header from [mono] Add headers for unstable APIs #33869

lambdageekand others added 5 commits March 23, 2020 21:10
It's already a MONO_API and it is used, for example, by Xamarin.iOS, but it
wasn't in a public header.
Mark it external only. There are no uses of it inside the runtiem
It was already used by Xamarin.iOS but wasn't in a public header and required
compiling with --disable-visibility-hidden in order to dlsym the symbol.
If --with-lazy-gc-thread-creation is used, embedders must call this function to
create the finalizer therad. Otherwise the function does nothing and the
runtime will create the finalizer thread automatically.
It was already marked as MONO_API, but it was not in a public header.
It is used by embedders such as Xamarin.iOS
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from 93a416a to c037a3eCompareMarch 24, 2020 01:29
@lambdageeklambdageek changed the title wip: [mono] Make some API functions public[mono] Make some API functions public and privateMar 24, 2020
@lambdageek
lambdageek requested a review from EgorBoMarch 24, 2020 01:32
@lambdageek

Copy link
Copy Markdown
MemberAuthor

Changed this PR to make mono_install_load_aot_data_hook an unstable API, and to make mono_trace_init unnecessary.

@EgorBo could you check that the sample still compiles.

Embedders don't need to call mono_trace_init before calling
mono_trace_set_log_handler, mono_trace_set_print_handler or mono_trace_set_printerr_handler
We do not guarantee that this API will be stable
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from c037a3e to 7dfc6efCompareMarch 24, 2020 01:35
@EgorBo

Copy link
Copy Markdown
Member

@lambdageek just checked, compiles and works 👍

@lambdageek
lambdageek merged commit c1686da into dotnet:masterMar 24, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2020
@lambdageek
lambdageek deleted the add-xi-nonpublic-apis branch March 7, 2021 21:54
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@lambdageek@EgorBo@vargaz@akoeplinger@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[mono] Make some API functions public and private - #33736

Merged
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis
Mar 24, 2020
Merged

[mono] Make some API functions public and private#33736
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis

Conversation

@lambdageek

@lambdageeklambdageek commented Mar 18, 2020

Copy link
Copy Markdown
Member

See #33633 and https://github.com/xamarin/xamarin-macios/blob/master/runtime/exports.t4

  • mono_install_load_aot_data_hook was already a MONO_API, but it was not in a public header.
    It is added to mono/jit/mono-private-unstable.h
  • mono_gc_init_finalizer_thread was used by Xamarin.iOS for a long time without being in any public header. It's one of the reasons we have to compile Mono for XI with --disable-visibility-hidden. Make the function a proper MONO_API unconditionally - but make it do nothing if the runtime is compiled without --with-lazy-thread-creation (the default). It is now a public Mono API function.
  • mono_trace_init was a MONO_API function in a non-public header that was already used by embedders that need to set up logger hooks. It is now not necessary to call this before calling the logger functions to set up logger hooks such as mono_trace_set_log_handler

@EgorBo

Copy link
Copy Markdown
Member

heh, I was about to file an issue 🙂

@EgorBo

Copy link
Copy Markdown
Member

since #33633 is already merged could you please update runtime.m ? https://github.com/dotnet/runtime/blob/master/src/mono/netcore/sample/iOS/runtime.m#L15-L20

@lambdageek

Copy link
Copy Markdown
MemberAuthor

Verified that the ios sample builds in Xcode.

@vargaz

Copy link
Copy Markdown
Contributor

So we didn't put them in public headers to avoid having to avoid users depending on them and thus having to support them forever.

@akoeplinger

Copy link
Copy Markdown
Member

@vargaz you could argue that with XI relying on them we're already on that path. Do you see any of these APIs as particularly problematic?

@lambdageeklambdageek changed the title [mono] Make some API functions publicwip: [mono] Make some API functions publicMar 20, 2020
@lambdageek

lambdageek commented Mar 20, 2020

Copy link
Copy Markdown
MemberAuthor

new plan:

  1. mono_trace_init is going to stay private. instead i'm going to update mono_trace_set_log_handler and other logging APIs to implicitly initialize the logger so that the iOS sample (and XI) don't need to call it anymore.
  2. mono_gc_init_finalizer_thread will become a public API (there's no other way to work with a --with-lazy-thread-creation runtime)
  3. Move mono_install_load_aot_data_hook to the new mono/jit/mono-private-unstable.h header from [mono] Add headers for unstable APIs #33869

lambdageekand others added 5 commits March 23, 2020 21:10
It's already a MONO_API and it is used, for example, by Xamarin.iOS, but it
wasn't in a public header.
Mark it external only. There are no uses of it inside the runtiem
It was already used by Xamarin.iOS but wasn't in a public header and required
compiling with --disable-visibility-hidden in order to dlsym the symbol.
If --with-lazy-gc-thread-creation is used, embedders must call this function to
create the finalizer therad. Otherwise the function does nothing and the
runtime will create the finalizer thread automatically.
It was already marked as MONO_API, but it was not in a public header.
It is used by embedders such as Xamarin.iOS
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from 93a416a to c037a3eCompareMarch 24, 2020 01:29
@lambdageeklambdageek changed the title wip: [mono] Make some API functions public[mono] Make some API functions public and privateMar 24, 2020
@lambdageek
lambdageek requested a review from EgorBoMarch 24, 2020 01:32
@lambdageek

Copy link
Copy Markdown
MemberAuthor

Changed this PR to make mono_install_load_aot_data_hook an unstable API, and to make mono_trace_init unnecessary.

@EgorBo could you check that the sample still compiles.

Embedders don't need to call mono_trace_init before calling
mono_trace_set_log_handler, mono_trace_set_print_handler or mono_trace_set_printerr_handler
We do not guarantee that this API will be stable
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from c037a3e to 7dfc6efCompareMarch 24, 2020 01:35
@EgorBo

Copy link
Copy Markdown
Member

@lambdageek just checked, compiles and works 👍

@lambdageek
lambdageek merged commit c1686da into dotnet:masterMar 24, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2020
@lambdageek
lambdageek deleted the add-xi-nonpublic-apis branch March 7, 2021 21:54
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@lambdageek@EgorBo@vargaz@akoeplinger@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

[mono] Make some API functions public and private - #33736

Merged
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis
Mar 24, 2020
Merged

[mono] Make some API functions public and private#33736
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis

Conversation

@lambdageek

@lambdageeklambdageek commented Mar 18, 2020

Copy link
Copy Markdown
Member

See #33633 and https://github.com/xamarin/xamarin-macios/blob/master/runtime/exports.t4

  • mono_install_load_aot_data_hook was already a MONO_API, but it was not in a public header.
    It is added to mono/jit/mono-private-unstable.h
  • mono_gc_init_finalizer_thread was used by Xamarin.iOS for a long time without being in any public header. It's one of the reasons we have to compile Mono for XI with --disable-visibility-hidden. Make the function a proper MONO_API unconditionally - but make it do nothing if the runtime is compiled without --with-lazy-thread-creation (the default). It is now a public Mono API function.
  • mono_trace_init was a MONO_API function in a non-public header that was already used by embedders that need to set up logger hooks. It is now not necessary to call this before calling the logger functions to set up logger hooks such as mono_trace_set_log_handler

@EgorBo

Copy link
Copy Markdown
Member

heh, I was about to file an issue 🙂

@EgorBo

Copy link
Copy Markdown
Member

since #33633 is already merged could you please update runtime.m ? https://github.com/dotnet/runtime/blob/master/src/mono/netcore/sample/iOS/runtime.m#L15-L20

@lambdageek

Copy link
Copy Markdown
MemberAuthor

Verified that the ios sample builds in Xcode.

@vargaz

Copy link
Copy Markdown
Contributor

So we didn't put them in public headers to avoid having to avoid users depending on them and thus having to support them forever.

@akoeplinger

Copy link
Copy Markdown
Member

@vargaz you could argue that with XI relying on them we're already on that path. Do you see any of these APIs as particularly problematic?

@lambdageeklambdageek changed the title [mono] Make some API functions publicwip: [mono] Make some API functions publicMar 20, 2020
@lambdageek

lambdageek commented Mar 20, 2020

Copy link
Copy Markdown
MemberAuthor

new plan:

  1. mono_trace_init is going to stay private. instead i'm going to update mono_trace_set_log_handler and other logging APIs to implicitly initialize the logger so that the iOS sample (and XI) don't need to call it anymore.
  2. mono_gc_init_finalizer_thread will become a public API (there's no other way to work with a --with-lazy-thread-creation runtime)
  3. Move mono_install_load_aot_data_hook to the new mono/jit/mono-private-unstable.h header from [mono] Add headers for unstable APIs #33869

lambdageekand others added 5 commits March 23, 2020 21:10
It's already a MONO_API and it is used, for example, by Xamarin.iOS, but it
wasn't in a public header.
Mark it external only. There are no uses of it inside the runtiem
It was already used by Xamarin.iOS but wasn't in a public header and required
compiling with --disable-visibility-hidden in order to dlsym the symbol.
If --with-lazy-gc-thread-creation is used, embedders must call this function to
create the finalizer therad. Otherwise the function does nothing and the
runtime will create the finalizer thread automatically.
It was already marked as MONO_API, but it was not in a public header.
It is used by embedders such as Xamarin.iOS
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from 93a416a to c037a3eCompareMarch 24, 2020 01:29
@lambdageeklambdageek changed the title wip: [mono] Make some API functions public[mono] Make some API functions public and privateMar 24, 2020
@lambdageek
lambdageek requested a review from EgorBoMarch 24, 2020 01:32
@lambdageek

Copy link
Copy Markdown
MemberAuthor

Changed this PR to make mono_install_load_aot_data_hook an unstable API, and to make mono_trace_init unnecessary.

@EgorBo could you check that the sample still compiles.

Embedders don't need to call mono_trace_init before calling
mono_trace_set_log_handler, mono_trace_set_print_handler or mono_trace_set_printerr_handler
We do not guarantee that this API will be stable
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from c037a3e to 7dfc6efCompareMarch 24, 2020 01:35
@EgorBo

Copy link
Copy Markdown
Member

@lambdageek just checked, compiles and works 👍

@lambdageek
lambdageek merged commit c1686da into dotnet:masterMar 24, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2020
@lambdageek
lambdageek deleted the add-xi-nonpublic-apis branch March 7, 2021 21:54
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@lambdageek@EgorBo@vargaz@akoeplinger@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[mono] Make some API functions public and private - #33736

Merged
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis
Mar 24, 2020
Merged

[mono] Make some API functions public and private#33736
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis

Conversation

@lambdageek

@lambdageeklambdageek commented Mar 18, 2020

Copy link
Copy Markdown
Member

See #33633 and https://github.com/xamarin/xamarin-macios/blob/master/runtime/exports.t4

  • mono_install_load_aot_data_hook was already a MONO_API, but it was not in a public header.
    It is added to mono/jit/mono-private-unstable.h
  • mono_gc_init_finalizer_thread was used by Xamarin.iOS for a long time without being in any public header. It's one of the reasons we have to compile Mono for XI with --disable-visibility-hidden. Make the function a proper MONO_API unconditionally - but make it do nothing if the runtime is compiled without --with-lazy-thread-creation (the default). It is now a public Mono API function.
  • mono_trace_init was a MONO_API function in a non-public header that was already used by embedders that need to set up logger hooks. It is now not necessary to call this before calling the logger functions to set up logger hooks such as mono_trace_set_log_handler

@EgorBo

Copy link
Copy Markdown
Member

heh, I was about to file an issue 🙂

@EgorBo

Copy link
Copy Markdown
Member

since #33633 is already merged could you please update runtime.m ? https://github.com/dotnet/runtime/blob/master/src/mono/netcore/sample/iOS/runtime.m#L15-L20

@lambdageek

Copy link
Copy Markdown
MemberAuthor

Verified that the ios sample builds in Xcode.

@vargaz

Copy link
Copy Markdown
Contributor

So we didn't put them in public headers to avoid having to avoid users depending on them and thus having to support them forever.

@akoeplinger

Copy link
Copy Markdown
Member

@vargaz you could argue that with XI relying on them we're already on that path. Do you see any of these APIs as particularly problematic?

@lambdageeklambdageek changed the title [mono] Make some API functions publicwip: [mono] Make some API functions publicMar 20, 2020
@lambdageek

lambdageek commented Mar 20, 2020

Copy link
Copy Markdown
MemberAuthor

new plan:

  1. mono_trace_init is going to stay private. instead i'm going to update mono_trace_set_log_handler and other logging APIs to implicitly initialize the logger so that the iOS sample (and XI) don't need to call it anymore.
  2. mono_gc_init_finalizer_thread will become a public API (there's no other way to work with a --with-lazy-thread-creation runtime)
  3. Move mono_install_load_aot_data_hook to the new mono/jit/mono-private-unstable.h header from [mono] Add headers for unstable APIs #33869

lambdageekand others added 5 commits March 23, 2020 21:10
It's already a MONO_API and it is used, for example, by Xamarin.iOS, but it
wasn't in a public header.
Mark it external only. There are no uses of it inside the runtiem
It was already used by Xamarin.iOS but wasn't in a public header and required
compiling with --disable-visibility-hidden in order to dlsym the symbol.
If --with-lazy-gc-thread-creation is used, embedders must call this function to
create the finalizer therad. Otherwise the function does nothing and the
runtime will create the finalizer thread automatically.
It was already marked as MONO_API, but it was not in a public header.
It is used by embedders such as Xamarin.iOS
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from 93a416a to c037a3eCompareMarch 24, 2020 01:29
@lambdageeklambdageek changed the title wip: [mono] Make some API functions public[mono] Make some API functions public and privateMar 24, 2020
@lambdageek
lambdageek requested a review from EgorBoMarch 24, 2020 01:32
@lambdageek

Copy link
Copy Markdown
MemberAuthor

Changed this PR to make mono_install_load_aot_data_hook an unstable API, and to make mono_trace_init unnecessary.

@EgorBo could you check that the sample still compiles.

Embedders don't need to call mono_trace_init before calling
mono_trace_set_log_handler, mono_trace_set_print_handler or mono_trace_set_printerr_handler
We do not guarantee that this API will be stable
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from c037a3e to 7dfc6efCompareMarch 24, 2020 01:35
@EgorBo

Copy link
Copy Markdown
Member

@lambdageek just checked, compiles and works 👍

@lambdageek
lambdageek merged commit c1686da into dotnet:masterMar 24, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2020
@lambdageek
lambdageek deleted the add-xi-nonpublic-apis branch March 7, 2021 21:54
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@lambdageek@EgorBo@vargaz@akoeplinger@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[mono] Make some API functions public and private - #33736

Merged
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis
Mar 24, 2020
Merged

[mono] Make some API functions public and private#33736
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis

Conversation

@lambdageek

@lambdageeklambdageek commented Mar 18, 2020

Copy link
Copy Markdown
Member

See #33633 and https://github.com/xamarin/xamarin-macios/blob/master/runtime/exports.t4

  • mono_install_load_aot_data_hook was already a MONO_API, but it was not in a public header.
    It is added to mono/jit/mono-private-unstable.h
  • mono_gc_init_finalizer_thread was used by Xamarin.iOS for a long time without being in any public header. It's one of the reasons we have to compile Mono for XI with --disable-visibility-hidden. Make the function a proper MONO_API unconditionally - but make it do nothing if the runtime is compiled without --with-lazy-thread-creation (the default). It is now a public Mono API function.
  • mono_trace_init was a MONO_API function in a non-public header that was already used by embedders that need to set up logger hooks. It is now not necessary to call this before calling the logger functions to set up logger hooks such as mono_trace_set_log_handler

@EgorBo

Copy link
Copy Markdown
Member

heh, I was about to file an issue 🙂

@EgorBo

Copy link
Copy Markdown
Member

since #33633 is already merged could you please update runtime.m ? https://github.com/dotnet/runtime/blob/master/src/mono/netcore/sample/iOS/runtime.m#L15-L20

@lambdageek

Copy link
Copy Markdown
MemberAuthor

Verified that the ios sample builds in Xcode.

@vargaz

Copy link
Copy Markdown
Contributor

So we didn't put them in public headers to avoid having to avoid users depending on them and thus having to support them forever.

@akoeplinger

Copy link
Copy Markdown
Member

@vargaz you could argue that with XI relying on them we're already on that path. Do you see any of these APIs as particularly problematic?

@lambdageeklambdageek changed the title [mono] Make some API functions publicwip: [mono] Make some API functions publicMar 20, 2020
@lambdageek

lambdageek commented Mar 20, 2020

Copy link
Copy Markdown
MemberAuthor

new plan:

  1. mono_trace_init is going to stay private. instead i'm going to update mono_trace_set_log_handler and other logging APIs to implicitly initialize the logger so that the iOS sample (and XI) don't need to call it anymore.
  2. mono_gc_init_finalizer_thread will become a public API (there's no other way to work with a --with-lazy-thread-creation runtime)
  3. Move mono_install_load_aot_data_hook to the new mono/jit/mono-private-unstable.h header from [mono] Add headers for unstable APIs #33869

lambdageekand others added 5 commits March 23, 2020 21:10
It's already a MONO_API and it is used, for example, by Xamarin.iOS, but it
wasn't in a public header.
Mark it external only. There are no uses of it inside the runtiem
It was already used by Xamarin.iOS but wasn't in a public header and required
compiling with --disable-visibility-hidden in order to dlsym the symbol.
If --with-lazy-gc-thread-creation is used, embedders must call this function to
create the finalizer therad. Otherwise the function does nothing and the
runtime will create the finalizer thread automatically.
It was already marked as MONO_API, but it was not in a public header.
It is used by embedders such as Xamarin.iOS
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from 93a416a to c037a3eCompareMarch 24, 2020 01:29
@lambdageeklambdageek changed the title wip: [mono] Make some API functions public[mono] Make some API functions public and privateMar 24, 2020
@lambdageek
lambdageek requested a review from EgorBoMarch 24, 2020 01:32
@lambdageek

Copy link
Copy Markdown
MemberAuthor

Changed this PR to make mono_install_load_aot_data_hook an unstable API, and to make mono_trace_init unnecessary.

@EgorBo could you check that the sample still compiles.

Embedders don't need to call mono_trace_init before calling
mono_trace_set_log_handler, mono_trace_set_print_handler or mono_trace_set_printerr_handler
We do not guarantee that this API will be stable
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from c037a3e to 7dfc6efCompareMarch 24, 2020 01:35
@EgorBo

Copy link
Copy Markdown
Member

@lambdageek just checked, compiles and works 👍

@lambdageek
lambdageek merged commit c1686da into dotnet:masterMar 24, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2020
@lambdageek
lambdageek deleted the add-xi-nonpublic-apis branch March 7, 2021 21:54
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@lambdageek@EgorBo@vargaz@akoeplinger@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

[mono] Make some API functions public and private - #33736

Merged
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis
Mar 24, 2020
Merged

[mono] Make some API functions public and private#33736
lambdageek merged 7 commits into
dotnet:masterfrom
lambdageek:add-xi-nonpublic-apis

Conversation

@lambdageek

@lambdageeklambdageek commented Mar 18, 2020

Copy link
Copy Markdown
Member

See #33633 and https://github.com/xamarin/xamarin-macios/blob/master/runtime/exports.t4

  • mono_install_load_aot_data_hook was already a MONO_API, but it was not in a public header.
    It is added to mono/jit/mono-private-unstable.h
  • mono_gc_init_finalizer_thread was used by Xamarin.iOS for a long time without being in any public header. It's one of the reasons we have to compile Mono for XI with --disable-visibility-hidden. Make the function a proper MONO_API unconditionally - but make it do nothing if the runtime is compiled without --with-lazy-thread-creation (the default). It is now a public Mono API function.
  • mono_trace_init was a MONO_API function in a non-public header that was already used by embedders that need to set up logger hooks. It is now not necessary to call this before calling the logger functions to set up logger hooks such as mono_trace_set_log_handler

@EgorBo

Copy link
Copy Markdown
Member

heh, I was about to file an issue 🙂

@EgorBo

Copy link
Copy Markdown
Member

since #33633 is already merged could you please update runtime.m ? https://github.com/dotnet/runtime/blob/master/src/mono/netcore/sample/iOS/runtime.m#L15-L20

@lambdageek

Copy link
Copy Markdown
MemberAuthor

Verified that the ios sample builds in Xcode.

@vargaz

Copy link
Copy Markdown
Contributor

So we didn't put them in public headers to avoid having to avoid users depending on them and thus having to support them forever.

@akoeplinger

Copy link
Copy Markdown
Member

@vargaz you could argue that with XI relying on them we're already on that path. Do you see any of these APIs as particularly problematic?

@lambdageeklambdageek changed the title [mono] Make some API functions publicwip: [mono] Make some API functions publicMar 20, 2020
@lambdageek

lambdageek commented Mar 20, 2020

Copy link
Copy Markdown
MemberAuthor

new plan:

  1. mono_trace_init is going to stay private. instead i'm going to update mono_trace_set_log_handler and other logging APIs to implicitly initialize the logger so that the iOS sample (and XI) don't need to call it anymore.
  2. mono_gc_init_finalizer_thread will become a public API (there's no other way to work with a --with-lazy-thread-creation runtime)
  3. Move mono_install_load_aot_data_hook to the new mono/jit/mono-private-unstable.h header from [mono] Add headers for unstable APIs #33869

lambdageekand others added 5 commits March 23, 2020 21:10
It's already a MONO_API and it is used, for example, by Xamarin.iOS, but it
wasn't in a public header.
Mark it external only. There are no uses of it inside the runtiem
It was already used by Xamarin.iOS but wasn't in a public header and required
compiling with --disable-visibility-hidden in order to dlsym the symbol.
If --with-lazy-gc-thread-creation is used, embedders must call this function to
create the finalizer therad. Otherwise the function does nothing and the
runtime will create the finalizer thread automatically.
It was already marked as MONO_API, but it was not in a public header.
It is used by embedders such as Xamarin.iOS
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from 93a416a to c037a3eCompareMarch 24, 2020 01:29
@lambdageeklambdageek changed the title wip: [mono] Make some API functions public[mono] Make some API functions public and privateMar 24, 2020
@lambdageek
lambdageek requested a review from EgorBoMarch 24, 2020 01:32
@lambdageek

Copy link
Copy Markdown
MemberAuthor

Changed this PR to make mono_install_load_aot_data_hook an unstable API, and to make mono_trace_init unnecessary.

@EgorBo could you check that the sample still compiles.

Embedders don't need to call mono_trace_init before calling
mono_trace_set_log_handler, mono_trace_set_print_handler or mono_trace_set_printerr_handler
We do not guarantee that this API will be stable
@lambdageek
lambdageekforce-pushed the add-xi-nonpublic-apis branch from c037a3e to 7dfc6efCompareMarch 24, 2020 01:35
@EgorBo

Copy link
Copy Markdown
Member

@lambdageek just checked, compiles and works 👍

@lambdageek
lambdageek merged commit c1686da into dotnet:masterMar 24, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2020
@lambdageek
lambdageek deleted the add-xi-nonpublic-apis branch March 7, 2021 21:54
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@lambdageek@EgorBo@vargaz@akoeplinger@Dotnet-GitSync-Bot