Object Storage Model: has anybody real-world experience?
Raffaello Giulietti
raffaello.giulietti at supsi.ch
Wed Mar 16 19:29:28 UTC 2016
Hi Stefan
On 2016-03-16 18:29, Stefan Marr wrote:
> Hi Raffaello:
>
>> On 16 Mar 2016, at 19:16, Raffaello Giulietti <raffaello.giulietti at supsi.ch> wrote:
>>
>> I think I don't get your point: my remembrances are that NS classes are simple triples holding a reference to the superclass, a reference to the enclosing object and a reference to the metadata info (ivars, methods + other ancillary data), all "finals" in Java jargon. Is this what you mean by decoupling identity and structure?
>
> That’s almost what I mean. In my implementation it is essentially a 2-tuple of enclosing object and then a combination of superclass and metadata (called ClassFactory in the implementation). This combination essentially corresponds to a materialization of the concrete class (assuming that your metadata is merely the mixin). I need the combination/materialization to correctly speculate on object structure and method dispatch.
>
I have to think about your solution versus the more intuitive but
perhaps more naive "class-as-a-triple" alternative.
Since both the enclosing object and the superclass, and thus the method
dictionary, are known only at runtime, I would have bet that a triple is
more appropriate.
But perhaps this is not the right audience to discuss Newspeak related
topics.
>>> Bye the way, are you working on a Truffle language?
>>
>> Yes, I'm experimenting with Smalltalk in my spare time. However, the environment I’m trying to build is not the classical Smalltalk image model but something more akin to Gemstone, i.e., with a persistence engine built-in and a snapshot isolation model for transactional processing.
>
> Ah nice. Is that by chance something that’s online somewhere?
>
As I mentioned, I'm doing this in my spare time to get something
running. But then I hope to be able to get a commitment (and funds) for
further development from my employer, where we heavily rely on Gemstone
(with all its good and less so good idiosyncrasies).
Until I get to that point (unfortunately, my work is progressing rather
slowly), and since I'm not sure what the outcome from the future
discussion with my employer will be, I prefer not to publish code for
the time being.
Greetings
Raffaello
More information about the graal-dev
mailing list