|
|
|
|
|
|
|
|
| ( 2 of 8 ) |
| United States Patent | 9,092,237 |
| Burka , et al. | July 28, 2015 |
An illustrative embodiment for serialization of pre-initialized objects receives a source code definition of a class, identifies a set of constants associated with the class in the source code to form a set of identified constants, creates a result object corresponding to each constant in the set of identified constants, and compiles the source code into a compiled form of the class. The illustrative embodiment further serializes each result object into a resource file associated with the class to form a set of serialized objects and replaces, in the compiled form of the class, each reference to a respective constant associated with the class from the set of identified constants with a corresponding dynamic instruction using a respective serialized object in the set of serialized objects.
| Inventors: | Burka; Peter W. (Ottawa, CA), Heidinga; Daniel J. (Ottawa, CA), Taylor; Karl M. (Kanata, CA), Thomann; Olivier P. (Gatineau, CA) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Applicant: |
| ||||||||||
| Assignee: |
INTERNATIONAL BUSINESS MACHINES CORPORATION
(Armonk,
NY)
|
||||||||||
| Family ID: | 48464193 | ||||||||||
| Appl. No.: | 13/589,855 | ||||||||||
| Filed: | August 20, 2012 |
| Document Identifier | Publication Date | |
|---|---|---|
| US 20130139134 A1 | May 30, 2013 | |
| Nov 24, 2011 [CA] | 2759516 | |||
| Current U.S. Class: | 1/1 |
| Current CPC Class: | G06F 8/443 (20130101); G06F 9/4435 (20130101); G06F 8/24 (20130101) |
| Current International Class: | G06F 9/45 (20060101); G06F 9/44 (20060101) |
| Field of Search: | ;717/100-178 |
| 6061520 | May 2000 | Yellin et al. |
| 6530080 | March 2003 | Fresko et al. |
| 6832369 | December 2004 | Kryka et al. |
| 6934944 | August 2005 | McGuire |
| 6996813 | February 2006 | Sokolov et al. |
| 7051323 | May 2006 | Lam et al. |
| 7096467 | August 2006 | Wallman et al. |
| 7210130 | April 2007 | Fairweather |
| 7340730 | March 2008 | Awkright et al. |
| 7356811 | April 2008 | Burka et al. |
| 7426720 | September 2008 | Fresko et al. |
| 7526760 | April 2009 | Daynes et al. |
| 7650600 | January 2010 | King et al. |
| 7665075 | February 2010 | Daynes et al. |
| 7681186 | March 2010 | Chang et al. |
| 7788649 | August 2010 | Kunisetty et al. |
| 8099723 | January 2012 | Burka et al. |
| 2003/0009743 | January 2003 | Fresko et al. |
| 2003/0135850 | July 2003 | Miloushev et al. |
| 2003/0172194 | September 2003 | Plummer et al. |
| 2005/0071809 | March 2005 | Pulley |
| 2005/0262493 | November 2005 | Schmidt et al. |
| 2006/0010424 | January 2006 | Burka et al. |
| 2006/0225045 | October 2006 | Bracha |
| 2007/0256087 | November 2007 | Forin et al. |
| 2008/0189691 | August 2008 | Burka et al. |
| 2008/0229285 | September 2008 | Housser |
| 2011/0283256 | November 2011 | Raundahl Gregersen et al. |
| 2012/0167122 | June 2012 | Koskimies |
| 2013/0042235 | February 2013 | Burka et al. |
Java documentations http://docs.oracle.com. cited by examiner . Java Documentation, Java plateform SE 7. cited by examiner . Breg et al., Java Virutal Machine Support for Object Serialization, 2001. cited by examiner . Castanos et al., On the Benefits and Pitfalls of Extending a Statically Typed Language JIT Compiler for Dyanmic Scripting Languages, 2012. cited by examiner . Titzer, Ben L., et al., "The ExoVM System for Automatic VM and Application Reduction", PLDI '07, Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, Jun. 11-13, 2007, San Diego, CA, USA. vol. 42, Issue 6. pp. 352-362. cited by applicant . Auerbach, Joshua, et al., "Design and Implementation of a Comprehensive Real-time Java Virtual Machine", EMSOFT '07, Proceedings of the 7th ACN & IEEE International Conference on Embedded Software, Sep. 30-Oct. 3, 2007, Salzburg, Austria. 10 pages. cited by applicant . Sridhar, Nigamanth, "Reaping More from Lazy Initialization Using Dynamic Reconfiguration", Proceedings of the Resolve Workshop 2002, Columbus, OH, Jun. 17-19, 2002. 5 pages. cited by applicant . Manson, Jeremy, et al., "JSR 133 (Java Memory Model) FAQ", Feb. 2004, Internet-published article printed from http://www.cs.umd.edu/.about.pugh/java/memoryModel/jsr-133-faq.html#dcl on Jun. 4, 2012. 9 pages. cited by applicant . Fusco, Mario, "The first Drop of Java--Lazy initialization strategies", Jan. 6, 2009, Internet-published article printed from http://groups.google.com/group/juglugano/msg/7705b4850dc1fd63?pli=1 on Jun. 4, 2012. 5 pages. cited by applicant . Privat, et al, "Link-time static analysis for efficient separate compilation of object-oriented languages", Proceedings of the 2005 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, PASTE'05, Lisbon, Portugal, Sep. 5-6, 2005. 8 pages. cited by applicant . Peter W. Bukra, et al., U.S. Appl. No. 13/207,205, filed Aug. 10, 2011, Office Action, Jan. 22, 2014, 9 pages. cited by applicant . "The Structure of the Java Virtual Machine", Chapter 3 of The Java.TM. Virtual Machine Specification, 1999, Sun Microsystems, Inc. Printed from http://docs.oracle.com/javase/specs/jvms/se5.0/html/Overview.doc.html on Feb. 16, 2014. 25 pages. cited by applicant . "The class File Format", Chapter 4 of the Java.TM. Virtual Machine Specification, 1999, Sun Microsystems, Inc. Printed from http://docs.oracle.com/javase/specs/jvms/se5.0/html/ClassFile.doc.html on Feb. 16, 2014. 22 pages. cited by applicant . "Loading, Linking, and Initializing", Chapter 5 of the Java.TM. Virtual Machine Specification, 1999, Sun Microsystems, Inc. Printed from http://docs.oracle.com/javase/specs/jvms/se5.0/html/ConstantPool.doc.html on Feb. 16, 2014. 13 pages. cited by applicant . Kats, Lennart, "Supporting Language Extension and Separate Compilation by Mixing Java and Bytecode", MSc Thesis, Center for Software Technology, Institute of Information and Computing Sciences, Utrecht University, Aug. 2007. Utrecht, The Netherlands. 99 pages. cited by applicant. |
|
|