• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. Multi-Language VM
  4. MethodHandles

Page History

Versions Compared

Old Version 3

changes.mady.by.user John Rose

Saved on Jul 18, 2008

compared with

New Version 4

changes.mady.by.user John Rose

Saved on Jul 19, 2008

  • Previous Change: Difference between versions 2 and 3
  • Next Change: Difference between versions 4 and 5
  • View Page History

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Method handle calling sequence is a variation of the virtual calling sequence. (The gory details [are documented elsewhere|CallingSequences.) The caller sets up the call as if the method handle were the receiver of a virtual call (which is nominally invoke).

...

No Format
titlesimplest call to a non-constant method handle
callSite:
    set #callSiteType, CHECK
    load (MH + #handler), TEM
    call (TEM)
---
callHandler:
    cmp (MH + #type), CHECK
    jump,ne wrongMethodType
    load (MH + #method), METHOD
    load (METHOD + #compiledEntry), TEM
    jump (TEM)
---
compiledEntry:
    ...

Thus, a compiled call to a non-constant method handle can be completed in a small handful of instructions, including about four memory references and two indirect branches.

...

Overview
Content Tools
ThemeBuilder

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.23
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 193, "requestCorrelationId": "3e3d2270a687b45a"}