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

art_quick_trampolines are not intercepted (Android 14, S22) when using optimized tests #306

Closed
cr4zyserb opened this issue Jan 16, 2024 · 0 comments

Comments

@cr4zyserb
Copy link
Contributor

Issue is when using --enable-optimizations in tests, all Method quick trampolines are art_quick_resolution_trampoline which would skip 2 default ones. Solution would be to add art_quick_resolution_trampoline to list of ones to hook:

temporaryApi.artQuickGenericJniTrampoline = getArtQuickEntrypointFromTrampoline(quickGenericJniTrampoline, vm);
    temporaryApi.artQuickToInterpreterBridge = getArtQuickEntrypointFromTrampoline(quickToInterpreterBridgeTrampoline, vm);
    temporaryApi.artQuickResolutionTrampoline = getArtQuickEntrypointFromTrampoline(quickResolutionTrampoline, vm);

and:

  // Entrypoints that dispatch method invocation from the quick ABI.
  const quickEntrypoints = [
    api.artQuickGenericJniTrampoline,
    api.artQuickToInterpreterBridge,
    api.artQuickResolutionTrampoline
  ];

I will issue pull request, feel free to merge it if it satisfies code logic and design.

@oleavr oleavr closed this as completed in 0aea1c6 Feb 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant