Thank you Alex.  Seeing the polymorphic inline caching reference makes me 
realize that I really need to go back and reread Slava's (et. al) various blogs 
that have been produced through the years.  I read them all once, but that was 
a couple years ago -- not knowing what I know now.   This should help me not 
revisit ground in this forum that has already been documented elsewhere.   A 
bit more patience, everybody please, while I work out an effective (and 
self-sufficient) internals exploration strategy.
 > From: ajvond...@csupomona.edu
> To: factor-talk@lists.sourceforge.net
> Date: Fri, 17 Aug 2012 08:46:46 -0700
> Subject: Re: [Factor-talk] Any way of making sense of what's in the boot 
> image?
> 
> pic-tail-reg = polymorphic inline cache tail call register
> 
> ds-reg = data stack register
> 
> rs-reg = retain stack register
> 
> nv-reg: might help to see 
> https://github.com/slavapestov/factor/blob/master/basis/cpu/x86/bootstrap.factor#L14
> 
> link-reg: only place it seems to be used is 
> https://github.com/slavapestov/factor/blob/master/basis/cpu/x86/bootstrap.factor#L49
> 
> shift-arg, div-arg, mod-arg: seem to be used in x86 bootstrapping for holding 
> arithmetic arguments; e.g., 
> https://github.com/slavapestov/factor/blob/master/basis/cpu/x86/bootstrap.factor#L561
> 
> That's as much as I can gather from a glance,
> --Alex Vondrak
> 
> ________________________________________
> From: Michael Clagett [mclag...@hotmail.com]
> Sent: Friday, August 17, 2012 7:08 AM
> To: Factor-Talk
> Subject: Re: [Factor-talk] Any way of making sense of what's in the boot 
> image?
> 
> A few more:
> 
> // ?????
> : shift-arg ( -- reg ) ECX ;
> 
> // ?????
> : div-arg ( -- reg ) EAX ;
> 
> // ?????
> : mod-arg ( -- reg ) EDX ;
> 
> 
> ________________________________
> From: mclag...@hotmail.com
> To: factor-talk@lists.sourceforge.net
> Date: Fri, 17 Aug 2012 14:03:30 +0000
> Subject: Re: [Factor-talk] Any way of making sense of what's in the boot 
> image?
> 
> // ?????
> : pic-tail-reg ( -- reg ) EDX ;
> 
> // stack pointer
> : stack-reg ( -- reg ) ESP ;
> 
> // stack frame pointer
> : frame-reg ( -- reg ) EBP ;
> 
> // virtual machine object base
> : vm-reg ( -- reg ) EBX ;
> 
> : ctx-reg ( -- reg ) EBP ;
> 
> // non-volatile registers  -- these would be registers needing to be 
> preserved (and that callers can count on being preserved)?
> : nv-regs ( -- seq ) { ESI EDI EBX } ;
> 
> // volatile registers -- these would be registers one is free to use (and 
> that callers cannot count on being preserved)?
> : volatile-regs ( -- seq ) { EAX ECX EDX } ;
> 
> // ?????
> : nv-reg ( -- reg ) ESI ;
> 
> // ?????
> : ds-reg ( -- reg ) ESI ;
> 
> // ?????
> : rs-reg ( -- reg ) EDI ;
> 
> // ?????
> : link-reg ( -- reg ) EBX ;
> 
> Would anybody be able to validate assumptions articulated above and fill in 
> missing pieces.  This is good foundational knowledge to operate in general 
> with.
> 
> ________________________________
> From: mclag...@hotmail.com
> Date: Thu, 16 Aug 2012 13:15:48 -0400
> To: factor-talk@lists.sourceforge.net
> Subject: Re: [Factor-talk] Any way of making sense of what's in the boot 
> image?
> 
> Great, thanks.
> 
> Sent from my iPhone
> 
> On Aug 16, 2012, at 1:11 PM, "John Benediktsson" 
> <mrj...@gmail.com<mailto:mrj...@gmail.com>> wrote:
> 
> 
> So then, John, does that mean that in the [ 4 slot { array} declare ], that 
> I'm getting the slot named "array" which is at offset 4 (and then declaring 
> that to be an array, so as to disable some of the type safety checks)?
> 
> Yes, the hashtable code is written at a bit lower level and thus maybe a 
> little harder to read than one might normally write in Factor since it is one 
> of the building blocks that everything is built upon.  It is also possible 
> that some of the compiler optimizations that have been written in the last 
> couple of years make some of those declarations unnecessary, although I'd 
> have to look into it more to know for sure.
> 
> Also, due to the bootstrapping mechanism, some of the higher level language 
> constructs like locals and fry quotations are not available yet.  That is 
> something we hope to fix at some future point.
> 
> Here it says slot takes two incoming values:  an obj and a non-negative 
> fixnum, which is the nth slot.   In the hashtable slot-specs you list below 
> there are only three slots listed, but it does say that the slot named 
> "array" is at offset 4.   Is it this offset number that is being specified by 
> the "m" parameter?  And thus is the array I am seeing in my original 
> description the contents of the "array" slot of the hashtable that was 
> originally on the stack?   That makes sense to me.   And the fact that the 
> array is 128 slots long (allowing flattened representation of 64 key-value 
> pairs) just means that the underlying array in the hashtable has 64 buckets.  
> Is this a correct interpretation.  If it is, it makes sense that the actual 
> 26 values stored in the hash table would be dispersed throught the 64 
> buckets, because this is what a hashtable does.
> 
> Yes, exactly!  The "slot-spec" tuple provides a generic description of what 
> is to be found in this case at offset 4.
> 
> 
> Best,
> John.
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net<mailto:Factor-talk@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/factor-talk
> 
> ------------------------------------------------------------------------------
>  Live Security Virtual Conference Exclusive live event will cover all the 
> ways today's security and threat landscape has changed and how IT managers 
> can respond. Discussions will include endpoint security, mobile security and 
> the latest in malware threats. 
> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________ Factor-talk mailing list 
> Factor-talk@lists.sourceforge.net 
> https://lists.sourceforge.net/lists/listinfo/factor-talk
> ------------------------------------------------------------------------------
>  Live Security Virtual Conference Exclusive live event will cover all the 
> ways today's security and threat landscape has changed and how IT managers 
> can respond. Discussions will include endpoint security, mobile security and 
> the latest in malware threats. 
> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________ Factor-talk mailing list 
> Factor-talk@lists.sourceforge.net 
> https://lists.sourceforge.net/lists/listinfo/factor-talk
> 
> ------------------------------------------------------------------------------
>  Live Security Virtual Conference Exclusive live event will cover all the 
> ways today's security and threat landscape has changed and how IT managers 
> can respond. Discussions will include endpoint security, mobile security and 
> the latest in malware threats. 
> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________ Factor-talk mailing list 
> Factor-talk@lists.sourceforge.net 
> https://lists.sourceforge.net/lists/listinfo/factor-talk
> 
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
                                          
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to