Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Mono.Android] Use C#9 Function Pointer backend for JNI #8157

Closed
wants to merge 3 commits into from

Commits on Jul 31, 2023

  1. [Mono.Android] Use C#9 Function Pointer backend for JNI

    Context: dotnet/java-interop@312fbf4
    
    As per dotnet/java-interop@312fbf43:
    
    > With a Release build, the Average Invocation time for
    > JIFunctionPointersTiming takes 97% of the time as JIPinvokeTiming,
    > i.e. is 3% faster.
    
    Let's see if that's true *on Android*: use the C#9 Function Pointer
    backend within `Java.Interop.dll`.
    jonpryor committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    c492367 View commit details
    Browse the repository at this point in the history
  2. Set $(Standalone)=True in Java.Interop.override.props

    Thanks to the glory of build logs (thanks f59a3c2!) we see that
    `Java.Interop.dll` is built in `msbuild-20230630T153002-leeroy-all.binlog`
    and is *probably* built via `Mono.Android.Runtime.csproj`, *not* via
    `Mono.Android.csproj`, and these project references are inconsistent.
    
    Instead of "hunting down" every `Java.Interop.csproj` reference and
    adding `%(AdditionalProperties)`, instead update
    `external/Java.Interop.override.props` so that `$(Standalone)`=True
    is set for *all* `Java.Interop.csproj` builds.  This should ensure
    consistency, and also ensure that we're actually building the
    configuration that we want.
    jonpryor committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    4bb26c2 View commit details
    Browse the repository at this point in the history
  3. Update expected apk sizes.

    jonpryor committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    ef162aa View commit details
    Browse the repository at this point in the history