Patent Document ID: 10146522
Application ID: 15067015
Patent Status: 1

Claim One:
1. A method comprising: receiving a request to perform a live code update for an earlier iteration of an application that is currently running on an application computer; compiling a subset of source code defining a subsequent iteration of the application to produce an updated application bytecode; identifying a user class in the application bytecode, the user class being a subclass of a superclass; generating, in the application bytecode, an instance representation class that inherits from the superclass, the instance representation class comprising a class identifier and a representation object map; replacing, in the application bytecode, a call to allocate a new instance of the user class with a call to instantiate an instance of an uninitialized object class, the uninitialized object class comprising a set of fields also including a representation object map and a class identifier, wherein the representation object map of the instance of the uninitialized object class is initially empty, and wherein the class identifier of the instance of the uninitialized object class identifies the user class; generating, in the application bytecode, a call to a method representing a constructor of the user class, wherein the call takes as an argument the instance of the uninitialized object class and populates the representation object map; determining that an immediate superclass of the user class is a user-defined class that is not a system class; in response to determining that the immediate superclass of the user class is a user-defined class that is not a system class, replacing, in the updated application bytecode, a call in the constructor of the user class to a super constructor of the immediate superclass with a call to a representation constructor method that allocates an instance of the instance representation class for the superclass, wherein the representation constructor method is defined by the subsequent iteration of the application; and providing the updated application bytecode to a live code update service configured to update the earlier iteration of the application to the subsequent iteration of the application using the updated application bytecode while the application is running on the application computer.