[e-lang] ELib/Java: Implementing PassByConstruction

Kevin Reid kpreid at mac.com
Tue Jan 2 09:27:45 CST 2007


What would it take to get PassByConstruction working properly in E-on- 
Java?

 From a look around the source, it seems that the approval of  
PassByConstructionAuditor has no effect.

Would the following be sufficient?

- Make PassByConstructionAuditor approve anything.

- Change whatever the appropriate serialization component is  
(CapTPReplacer?) to, if an object is approved by  
PassByConstructionAuditor, serialize it as a RemoteCall performing  
the object's __optUncall.

If the above is sufficient, then another step would be to rename  
elib.serial.PassByConstruction to indicate what it actually appears  
to be (that is, 'supports PBC using Java serialization'), and use a  
test other than Ref.isPBC() to test for that condition.

(Another problem of this sort is that Ref.isPBC(x) && Ref.isSelfless 
(x) is used to mean 'is x thread-sharable', but that isn't relevant  
to PassByConstruction by itself.)

I'm interested in doing this implementation work, but I need  
confirmation that this will work and wouldn't break any of the many  
subtle assumptions E-on-Java has spread around its code, and of what  
the right place to change CapTP is.

(I think far too little time has been spent recently on improving  
ELib's support for all of E-as-designed.)

-- 
Kevin Reid                            <http://homepage.mac.com/kpreid/>




More information about the e-lang mailing list