One constructive criticism type comment, if you'll permit me.   While what I 
say directly below is absolutely true, it's true on a micro level.  At the 
broader level, the heavy use of (sometimes lengthy) quotations to feed 
workhorse words like "define-sub-primitive" make understanding what's going on 
quite difficult.  Although I realize the bootstrapping mechanism is not a 
general area of interest to many, I think something on the order of about 25 
well-placed comments prefacing some of the more extensive quotations would help 
improve readability tremendously, just in case someone needs to understand the 
internals of this mechanism. Just a thought, offered in a spirit of complete 
good will and overall general awe at the care and discipline that has gone into 
this work. 
 From: mclag...@hotmail.com
To: factor-talk@lists.sourceforge.net
Subject: RE: [Factor-talk] Any way of making sense of what's in the boot image?
Date: Tue, 14 Aug 2012 05:28:45 +0000





Been looking at some of the x86 assembler code.  Damn!  All I can say is that I 
wish to hell I had had Factor when I wrote my own.   Quite a bit different 
approach, but the clarity and succinctness is tantalizing.
 
From: mclag...@hotmail.com
To: factor-talk@lists.sourceforge.net
Date: Mon, 13 Aug 2012 16:46:38 +0000
Subject: Re: [Factor-talk] Any way of making sense of what's in the boot image?





Thank you, Joe, for the quick response.  It was actually the information in the 
"such as" clause of your last sentence that I was looking for.  I don't mean 
for you to take the time out to document the meaning of these different 
constants, but if it is documented somewhere other than in the creators' heads, 
I would love to be directed to it.   Not a big deal, because I'm sure that when 
I get to seeing them used in the boot-image initialization code, all will 
become clear.  Still, it might help me better understand what's being done at 
the make-image level to know.  
> Date: Mon, 13 Aug 2012 12:21:52 -0400
> From: arc...@gmail.com
> To: factor-talk@lists.sourceforge.net
> Subject: Re: [Factor-talk] Any way of making sense of what's in the boot      
> image?
> 
> On Mon, Aug 13, 2012 at 11:52 AM, Michael Clagett <mclag...@hotmail.com> 
> wrote:
> > Here's an obscure question that is of interest to me in my current quest,
> > but probably not to anyone else.  So if there is a better forum for me to
> > ask such things, I would love to be instructed; until I hear otherwise,
> > however, I will continue to use this list.
> >
> > Is there any place where I can penetrate the meaning of the following
> > constants:
> >
> > CONSTANT: rt-dlsym 0
> > CONSTANT: rt-entry-point 1
> > CONSTANT: rt-entry-point-pic 2
> > CONSTANT: rt-entry-point-pic-tail 3
> > CONSTANT: rt-here 4
> > CONSTANT: rt-this 5
> > CONSTANT: rt-literal 6
> > CONSTANT: rt-untagged 7
> > CONSTANT: rt-megamorphic-cache-hits 8
> > CONSTANT: rt-vm 9
> > CONSTANT: rt-cards-offset 10
> > CONSTANT: rt-decks-offset 11
> > CONSTANT: rt-exception-handler 12
> > CONSTANT: rt-dlsym-toc 13
> > CONSTANT: rt-inline-cache-miss 14
> > CONSTANT: rt-safepoint 15
> >
> > So far I've only encountered rt-here and I've only seen it encoded into a
> > relocation entry and not really used anywhere yet.  But this strikes me as
> > the kind of thing it would be useful to know as I am slogging through this
> > stuff.
> >
> > Not a hugely pressing question, as I'm sure I'll muddle through it.  But if
> > anyone has a moment to illuminate, it would be nice.
> 
> Those are relocation record types. When the compiler generates code
> for a word, it also needs to generate relocation entries every time it
> references another word in a jump or call statement, much like a
> native C compiler needs to do for symbols in other modules.
> The VM uses these relocation entries to update the operands of jump
> and call instructions when code is written to the code heap, when the
> code heap is compacted, or if code is moved in memory for any reason.
> The different rt-* constants are used to describe what kind of object
> a relocation refers to, such as a foreign function in a DLL (dlsym), a
> word entry point (entry-point-*), the current address (here), etc.
> 
> -Joe
> 
> ------------------------------------------------------------------------------
> 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