Claims
- 1. A method of invoking a Method of a first class, the method comprising:
compiling a call to and a Method of the first class assuming the Method is final; partially loading a second class; determining whether the second class includes an instance of the Method of the first class; determining whether the instance of the Method in the second class overrides the Method of the first class; altering the compiled code of the Method of the first class if the instance of the Method in the second class overrides the Method of the first class.
- 2. A method as claimed in claim 1, further comprising marking the Method of the first class as final.
- 3. A method as claimed in claim 1, further comprising determining whether the Method of the first class is final before altering the compiled code.
- 4. A method as claimed in claim 1, further comprising determining whether the second class is valid.
- 5. A method as claimed in claim 4, further comprising throwing an exception if the second class is not valid.
- 6. A method as claimed in claim 1, wherein compiling includes optimizing the code of the call.
- 7. A method as claimed in claim 6, wherein optimizing the code includes inlining.
- 8. A method as claimed in claim 6, wherein optimizing the code includes creating a patch.
- 9. A method as claimed in claim 8, wherein altering the compiled code includes undoing a patch.
- 10. A method as claimed in claim 1, wherein altering the compiled code includes deleting code.
- 11. A computer system for invoking Methods, the system comprising:
a compiler manager; a compiler coupled to the compiler manager; a marking device coupled to the compiler manager; a class loader coupled to the compiler manager; a Method checker coupled to the class loader; and an alteration device coupled to the compiler manager.
- 12. A computer system as claimed in claim 11, further comprising an optimization device coupled to the compiler.
- 13. A computer system as claimed in claim 11, further comprising a stack walker coupled the alteration device.
- 14. A computer system as claimed in claim 11, further comprising an alteration device.
- 15. A computer system as claimed in claim 11, further comprising a deletion device.
- 16. A computer system as claimed in claim 11, further comprising a patch undoing device.
- 17. A computer system as claimed in claim 11, further comprising an execution history recorder configured to record the number of times a fragment of code is executed, wherein the execution history recorder is coupled to the compiler manager.
- 18. A computer system as claimed in claim 17, further comprising an interpreter coupled to the execution history recorder.
- 19. A computer system as claimed in claim 18, further comprising an execution device coupled to the interpreter.
- 20. A method of loading a class into a computer system, the method comprising:
checking the validity of the class; searching for an instance Method in the class; determining whether a found instance Method overrides a parent Method; determining whether the overridden parent Method includes an assumption mark; and calling a compilation system if the overridden parent Method includes an assumption mark.
- 21. A method as claimed in claim 20, further comprising undoing a patch.
- 22. A method as claimed in claim 20, further comprising deleting code associated with the overridden parent Method.
- 23. A method as claimed in claim 20, further comprising making code associated with the overridden parent Method inaccessible.
- 24. A method as claimed in claim 20, further comprising interpreting code associated with the overridden parent Method.
- 25. A method as claimed in claim 24, further comprising updating states before interpreting code associated with the overridden parent Method.
Priority Claims (1)
| Number |
Date |
Country |
Kind |
| GB 9825102.8 |
Nov 1998 |
GB |
|
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This is a continuation of International Application PCT/GB99/00788, filed on Mar. 16, 1999, which claims priority to U.K. Patent Application GB9825102.8, filed on Nov. 16, 1998, now abandoned.
Continuations (1)
|
Number |
Date |
Country |
| Parent |
PCT/GB99/00788 |
Mar 1999 |
US |
| Child |
09859135 |
May 2001 |
US |