×

Avoiding guard test invalidation for virtual and interface calls

  • US 10,001,979 B2
  • Filed: 11/25/2015
  • Issued: 06/19/2018
  • Est. Priority Date: 11/25/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • receiving, by one or more computer processors, a virtual call associated with a first implementation method;

    identifying, by one or more computer processors, a virtual call associated with a second implementation method that appears to have similar functionality to the first implementation method;

    determining, by one or more computer processors, whether the virtual call associated with the first implementation method and the virtual call associated with the second implementation method produce the same result by;

    determining either that bytecodes of the first implementation method match bytecodes associated with the second implementation method, ordetermining that constant pool references associated with the first implementation method match constant pool references associated with the second implementation method;

    responsive to determining that the virtual call associated with the first implementation method and the virtual call associated with the second implementation method produce the same result, using, by one or more computer processors, a result of the virtual call associated with the first implementation method as a result of the virtual call associated with the second implementation method; and

    responsive to determining that the virtual call associated with the second implementation method does not produce the same result as the virtual call associated with the first implementation method, deploying, by one or more computer processors, a slow dispatch of the second virtual call, wherein deploying a slow dispatch of the second virtual call comprises issuing a patch and performing a revirtualization.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×