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