Ticket #57 (closed defect: fixed)
Opened 12 years ago
class objects are not reused as constructors
| Reported by: | Bernhard Haumacher (haui at haumacher dot de) | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 1.03q |
| Component: | JP environment | Version: | |
| Severity: | normal | Keywords: | |
| Cc: |
Description
To create a remote object on a remote node, a so called constructor object is used. This constructor object is of the type of the corresponding class implementation object, but it is not initialized with valid instance variable values, because the remote class is initialized exactly once within the distributed environment. On the node where the class object is allocated, there is no need to additionally allocate a constructor object for the remote class, because the class object can be reused for remote object creation. The current implementation does not reuse the class object but allocates an additional constructor object on each node.
Solution
The structure of the class and constructor object table was changed to contain a single information object for each class that keeps track of the initialization status of a class. This information object remembers which of the constructor objects was allocated and initialized as the class object.
See also
fixed since 1.03q.
