IP Library Granted Patent US 8,214,812
Granted Patent B2
US 8,214,812 · App. 11/582,360 · Granted Jul 3, 2012

Method of interpreting method bytecode and system operated by the same

Assignee: Samsung Electronics Co., Ltd.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,214,812
App. No.
11/582,360
Filed
Oct 18, 2006
Granted
Jul 3, 2012
Kind
B2
Art Unit
2198
USPC
717/148
Abstract

A method, a system, and a computer-readable medium storing instructions for interpreting a method bytecode. The method bytecode is interpreted by determining whether a called method is a bottleneck method, generating an interpreter loop for the called method if the called method is the bottleneck method, and interpreting a bytecode of the called method using the generated interpreter loop.

Claims (45)

1. A computer-implemented method of interpreting a method bytecode, comprising:

determining whether a called method is a bottleneck method;

generating an interpreter loop for the called method if the called method is determined to be the bottleneck method; and

interpreting a bytecode of the called method using the generated interpreter loop;

wherein no interpreter loop is generated until after a virtual machine comprising a primary interpreter loop is built, wherein the determining whether a called method is a bottleneck method is determined by the primary interpreter loop.

2. The computer-implemented method of claim 1 , wherein the determining comprises determining the called method based on number of times the called method is called.

3. The computer-implemented method of claim 1 , wherein the generating comprises associating the generated interpreter loop with the called method.

4. The computer-implemented method of claim 1 , wherein the generating comprises:

generating a predetermined operation code handler for the called method; and

updating a previously generated interpreter loop using the generated operation code handler.

5. The computer-implemented method of claim 1 , wherein the generating comprises:

generating an operation code set of the called method if the called method is the bottleneck method; and

generating the interpreter loop for the called method based on the generated operation code set.

6. The method of claim 1 , wherein if the called method is not a bottleneck method, associating the called method with the primary interpreter loop without generating the interpreter loop for the called method and interpreting the bytecode of the called method using the primary interpreter loop.

7. The method of claim 6 , wherein if an interpreter loop was previously generated for the bottleneck method, associating the previously generated interpreter loop for the called method without generating the interpreter loop.

8. A computer-implemented method of interpreting a method bytecode, comprising:

determining whether a called method is a bottleneck method;

providing an associated interpreter loop for the called method if the called method is determined to be the bottleneck method; and

interpreting a bytecode of the called method using the provided interpreter loop;

wherein no interpreter loop is generated until after a virtual machine comprising a primary interpreter loop is built, wherein the determining whether a called method is a bottleneck method is determined by the primary interpreter loop.

9. The computer-implemented method of claim 8 , wherein the determining comprises determining the called method based on a number of times the called method is called.

10. A system implemented by a computer for interpreting a method bytecode, the system comprising:

a processor for interpreting the method bytecode;

an operating system;

an application; and

a virtual machine, which is based on the operating system, provides an interface for the application, and interprets a bytecode of a method called from the application to convert the interpreted bytecode into a code recognizable by the operating system, the virtual machine comprising a primary interpreter loop;

wherein the virtual machine interprets the bytecode of the called method using an interpreter loop associated with the called method if the called method is a bottleneck method;

wherein no interpreter loop is generated until after the virtual machine is built, wherein the determining whether a called method is a bottleneck method is determined by the primary interpreter loop.

11. The system of claim 10 , wherein whether the called method is the bottleneck method is determined based on a number of times the called method is called.

12. The system of claim 10 , wherein the virtual machine is used by generating the interpreter loop for the called method.

13. The system of claim 10 , wherein the virtual machine generates a predetermined operation code handler for the called method, and updates a previously generated interpreter loop using the generated operation code handler to generate the interpreter loop for the called method.

14. The system of claim 10 , wherein the virtual machine generates an operation code set of the called method if the called method is the bottleneck method, and generates the interpreter loop for the called method based on the generated operation code set.

15. A computer-readable medium storing instructions for interpreting a method bytecode, the instructions comprising:

determining whether a called method is a bottleneck method;

generating an interpreter loop for the called method if the called method is the bottleneck method; and

interpreting a bytecode of the called method using the generated interpreter loop;

wherein no interpreter loop is generated until after a virtual machine comprising a primary interpreter loop is built, wherein the determining whether a called method is a bottleneck method is determined by the primary interpreter loop.

16. The computer-readable medium of claim 15 , wherein the determining comprises determining the called method based on number of times the called method is called.

17. The computer-readable medium of claim 15 , wherein the generating comprises associating the generated interpreter loop with the called method.

18. The computer-readable medium of claim 15 , wherein the generating comprises:

generating a predetermined operation code handler for the called method; and

updating a previously generated interpreter loop using the generated operation code handler.

19. The computer-readable medium of claim 15 , wherein the generating comprises:

generating an operation code set of the called method if the called method is the bottleneck method; and

generating the interpreter loop for the called method based on the generated operation code set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2006
From: ROMANOVSKIY, ALEXEY
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 018429/0793 →
Priority Claims (1)
KR 10-2005-0098159 · Oct 18, 2005 · national
Continuity (1)
Related Publication 20070089101A1 · Apr 19, 2007