question

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

question

Chris Muller-2
Hi Bryce, great job on your perseverence, sounds like you're getting close!  My interest is seething, as I'm sure many in our community, don't quit now, ok?  :)

I have been thinking in terms of Magma's materialization process, whether Exupery could deal with it.  When an object graph is materialized from a ByteArray, the object structure is built in two steps.  The first step establishes identity <-> oids by instantiating all of the objects with pointers to Integer oids, potentially Large or Small.  For example,

aPerson (110)
    name = 115
    address = 130

aName (115)
    first = 116
    last = 117

'Chris' (116)
'Muller' (117)

anAddress (130)
    street = 141

'101 W. Meyer' (141)

The second step then replaces those integers with the actual objects (or a proxy).

aPerson
    name = aName
    address = anAddress

anAddress
    street = '101 W. Meyer'

If a particular variable can have an Integer, Proxy or the RealObject at various times, will that disrupt Exupery's ability to optimize the domain code, or am I confusing with Strongtalk?



_______________________________________________
Exupery mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery
Reply | Threaded
Open this post in threaded view
|

question

Bryce Kampjes
X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil]
        ["1344" "Tuesday" "24" "October" "2006" "19:16:16" "-0700" "Chris Muller" "[hidden email]" "<[hidden email]>" "20" "question" "^From:" "[hidden email]" "[hidden email]" "10" "2006102503:16:16" "question" (number " " mark "     Chris Muller      Oct 24   20/1344  " thread-indent "\"question\"\n") nil nil nil nil nil]
        nil)
Received: from localhost ([127.0.0.1])
        by kampjes.demon.co.uk with esmtp (Exim 4.60)
        (envelope-from <[hidden email]>)
        id 1GcnR2-0001Lr-B0
        for bryce@localhost; Wed, 25 Oct 2006 19:25:04 +0100
Received: from pop3.mail.demon.net [194.217.242.253]
        by localhost with POP3 (fetchmail-6.3.4)
        for <bryce@localhost> (single-drop); Wed, 25 Oct 2006 19:25:04 +0100 (BST)
Received: from punt3.mail.demon.net by mailstore
        for [hidden email] id 1GcYJc-15L000-01-CBj;
        Wed, 25 Oct 2006 02:16:24 +0000
Received: from [194.217.242.95] (lhlo=anchor-hub.mail.demon.net)
        by punt3.mail.demon.net with lmtp id 1GcYJc-15L000-01
        for [hidden email]; Wed, 25 Oct 2006 02:16:24 +0000
Received: from [85.10.195.197] (helo=box2.squeakfoundation.org)
        by anchor-hub.mail.demon.net with smtp id 1GcYJb-0002Dp-V7
        for [hidden email]; Wed, 25 Oct 2006 02:16:24 +0000
Received: (qmail 28069 invoked from network); 25 Oct 2006 02:16:23 +0000
Received: from unknown (HELO box2.squeakfoundation.org) (127.0.0.1)
  by localhost with SMTP; 25 Oct 2006 02:16:23 +0000
Delivered-To: [hidden email]
Received: (qmail 28029 invoked from network); 25 Oct 2006 02:16:21 +0000
Received: from unknown (HELO web31809.mail.mud.yahoo.com) (68.142.207.72)
        by box2.squeakfoundation.org with SMTP; 25 Oct 2006 02:16:21 +0000
Received: (qmail 63174 invoked by uid 60001); 25 Oct 2006 02:16:16 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com;
        h=Message-ID:Received:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding;
        b=AABWw71Q8CBC+syn4ef9ulg4kmC7LLlR0+l+mUcn2+4Vwz+ncdR0JTLM+BFeKkDeRnHLh4tlLbJbs226whEdc8y0jHyPL8fIgzxp+I3TcdxBx9NvuHaYMZEfxj/ne6fqG0LCYcdYA0kwxq9F5CqpPe4HrAnGRJFRqfzXmRHuKPA=
        ;
Message-ID: <[hidden email]>
Received: from [24.51.227.93] by web31809.mail.mud.yahoo.com via HTTP;
        Tue, 24 Oct 2006 19:16:16 PDT
MIME-Version: 1.0
Content-Type: text/plain; charset=ascii
Content-Transfer-Encoding: quoted-printable
X-BeenThere: [hidden email]
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: Chris Muller <[hidden email]>,
        "Discussion about Exupery a native code compiler."
        <[hidden email]>
List-Id: "Discussion about Exupery a native code compiler."
        <exupery.lists.squeakfoundation.org>
List-Unsubscribe: <http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery>,
        <mailto:[hidden email]?subject=unsubscribe>
List-Archive: <http://lists.squeakfoundation.org/pipermail/exupery>
List-Post: <mailto:[hidden email]>
List-Help: <mailto:[hidden email]?subject=help>
List-Subscribe: <http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery>,
        <mailto:[hidden email]?subject=subscribe>
Errors-To: [hidden email]
From: Chris Muller <[hidden email]>
To: [hidden email]
Subject: question
Date: Tue, 24 Oct 2006 19:16:16 -0700 (PDT)

Hi Chris,

Exupery should be able to handle Magma's materialization process. It
doesn't really deal with the types of instance variables, just types
in methods. A send to an instance variable is inlined and type
guessed, not the instance variable itself. The same is probably true
for Strongtalk.

That said, there is a small risk that any inlining heuristics may
inline a proxy instead of the real domain object. This should be
unlikely. Exupery only inlines primitives for now. Full method
inlining is waiting for version 2.0. As everything is written in
Smalltalk and planning inlining is separate from the compiler if it
does inline proxys or the OIDs it should be easy to patch it to
understand a little more about Magma.

Bryce
_______________________________________________
Exupery mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery