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

Reply via email to