Hi -- Okay.  I'm going to ask for my first lifeline. :)  I'm tracing through 
some arcane stuff indeed.  Everything is going along swimmingly.  I get to the 
word "new-key@", which at its start wants to execute [ array>> 2dup hash@ 0 f 
(new-key@) ] with the "keep" combinator.  All good so far.  "array>>" resolves 
to [ 4 slot { array } declare ], which I believe should mean "get the 4th slot 
of the object on top of stack and declare to Factor that you know for sure it 
is an array".  The object on the top of the stack, according to the Inspector, 
is a 26-slot hash table that includes such keys as "architecture", "auto-use?", 
"bootstrap-syntax", "bootsrapping?", etc. Now comes the part that baffles me.  
When I get to executing "slot" (whether I try to step past it or descend into 
it), the Walker simply moves me all the way to the end of the qotation (past 
"declare") and I see the hash-table and index from the top of the data stack 
replaced with a 128-element array that has the 26 key-value pairs from the 
former hash table spread out through the array interspersed by tombstone 
objects; each of these key-value pairs that appear occupy two adjacent array 
slots.  But I'm completely mystified as to how the contents of the hash-table 
got mapped to the array slots they now occupy (there doesn't seem to be any 
rhyme or reason).  And I have little insight into the code that accomplished 
this.  Moreover I apparently can't see the 4th slot of the original object in 
the Inspector, as it only shows me three slots on the data stack trace, but 
organizes them alphabetically when I double-click to open the Inspector window. 
Don't know if any of this was intelligble.  But maybe one of you compiler guys 
can give me a clue as to how I can understand this.  I'm having to reverse 
engineer my understanding of all of this, so a break in the logical chain 
presents difficulties.Sorry for the long post. Regards, Mike
 > Date: Wed, 15 Aug 2012 08:30:10 -0700
> From: doug.cole...@gmail.com
> To: factor-talk@lists.sourceforge.net
> Subject: Re: [Factor-talk] Any way of making sense of what's in the boot      
> image?
> 
> 1) Factor loads a ~/.factor-rc file every time it starts. You can put
> things there:
> 
> USE: tools.scaffold
> scaffold-factor-rc
> 
> Click it, edit it and add:
> 
> USING: prettyprint.config namespaces ;
> 16 number-base set-global
> 
> 
> 
> 2) Alternately, there's a boot rc file that gets loaded after bootstrap:
> 
> USE: tools.scaffold
> scaffold-factor-boot-rc
> 
> Click it, edit it and add:
> 
> USING: prettyprint.config namespaces ;
> 16 number-base set-global
> 
> To load it without bootstrapping, call 'run-bootstrap-init' and then
> 'save' your image.
> 
> 
> Doug
> 
> 
> On Wed, Aug 15, 2012 at 8:22 AM, Michael Clagett <mclag...@hotmail.com> wrote:
> > Thanks.  I knew it had to be something like that.  And if I want it to be
> > the default every time I load the Listener, I'm sure there must be a way to
> > set that up?
> >
> > Sent from my iPhone
> >
> > On Aug 15, 2012, at 11:01 AM, "John Benediktsson" <mrj...@gmail.com> wrote:
> >
> > If you want all numbers to print in hex, the easiest way is:
> >
> > ```
> > IN: scratchpad 16 number-base set-global
> > ```
> >
> >
> > On Wed, Aug 15, 2012 at 4:04 AM, Michael Clagett <mclag...@hotmail.com>
> > wrote:
> >>
> >> Quick question.   Any way of having the data and retain stack panes of the
> >> Walker display values in hex?
> >>
> >> > 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
> >
> >
> > ------------------------------------------------------------------------------
> > 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