Re: [Factor-talk] Factor 0.95 now available
Try running it from git. I'm using mountain lion for the build farm. Oops, should make a note of this. Command here: https://github.com/slavapestov/factor/issues/625 Doug On Aug 17, 2012, at 0:30, CW Alston cwalsto...@gmail.com wrote: Factoristas - Exciting new phase, but a hiccup: binary of Factor.app .95 won't launch from my 32-bit MacBook Pro; .94 still works fine. Here's the Factor quit unexpectedly report; several attempts: - Process: launchd [2202] Path:/Users/cwalston/factor/Factor.app/Contents/MacOS/factor Identifier: org.factorcode.Factor Version: ??? (???) Code Type: X86 (Native) Parent Process: launchd [119] Date/Time: 2012-08-16 23:58:44.134 -0700 OS Version: Mac OS X 10.6.8 (10K549) Report Version: 6 Interval Since Last Report: 516541 sec Crashes Since Last Report: 8 Per-App Crashes Since Last Report: 6 Anonymous UUID: 3F5A3A01-52AC-44C4-BD28-7B35DB91CA17 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0xfffc Crashed Thread: Unknown Backtrace not available Unknown thread crashed with X86 Thread State (32-bit): eax: 0x0055 ebx: 0x ecx: 0x edx: 0x edi: 0x esi: 0x ebp: 0x esp: 0x ss: 0x001f efl: 0x00010203 eip: 0x8fe01030 cs: 0x0017 ds: 0x001f es: 0x001f fs: 0x gs: 0x cr2: 0xfffc Binary images description not available Model: MacBookPro1,1, BootROM MBP11.0055.B08, 2 processors, Intel Core Duo, 2.16 GHz, 2 GB, SMC 1.2f10 Graphics: ATI Radeon X1600, ATY,RadeonX1600, PCIe, 256 MB Memory Module: global_name AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x86), Atheros 5424: 2.1.14.6 Bluetooth: Version 2.4.5f3, 2 service, 19 devices, 1 incoming serial ports Network Service: AirPort, AirPort, en1 Serial ATA Device: TOSHIBA MK2576GSX, 232.89 GB Parallel ATA Device: MATSHITADVD-R UJ-857 USB Device: Built-in iSight, 0x05ac (Apple Inc.), 0x8501, 0xfd40 / 2 USB Device: IR Receiver, 0x05ac (Apple Inc.), 0x8240, 0x5d20 / 2 USB Device: Apple Internal Keyboard / Trackpad, 0x05ac (Apple Inc.), 0x0217, 0x1d20 / 2 USB Device: Bluetooth USB Host Controller, 0x05ac (Apple Inc.), 0x8205, 0x7d10 / 2 FireWire Device: USB2.0 /1394 B/1394A Drive, PI-263, Up to 400 Mb/sec FireWire Device: 1394/USB20 Drive, PI-145, Up to 400 Mb/sec -- Is it just me my old machine, or has anyone else tripped over this? Still, I'm excited; the advances are really mouth-watering! Keep up the great work. I'm learning hella lot of modern CompSci, working through Factor. All the best, CW Alston On Thu, Aug 16, 2012 at 7:42 PM, John Benediktsson mrj...@gmail.com wrote: The reports of my death are greatly exaggerated - Mark Twain I'm very pleased to announce the release of Factor 0.95! You can find download links on the Factor website: http://factorcode.org This release is brought to you with over 2,500 commits by the following individuals: Alex Vondrak, Alfredo Beaumont, Andrew Pennebaker, Anton Gorenko, Brennan Cheung, Chris Double, Daniel Ehrenberg, Doug Coleman, Eric Charlebois, Eungju Park, Hugo Schmitt, Joe Groff, John Benediktsson, Jon Harper, Keita Haga, Maximilian Lupke, Philip Searle, Philipp Brüschweiler, Rupert Swarbrick, Sascha Matzke, Slava Pestov, @8byte-jose, @yac, @otoburb, @rien In addition to lots (and lots!) of bug fixes and improvements, I want to highlight the following features: * GTK-based UI backend * Native image loaders using Cocoa, GTK, and GDI+ * Sampling profiler replacing counting profiler * Code coverage tool to improve unit tests * VM and application-level signal handlers * ICMP support and an IPv4 ping implementation * DNS client and host implementation * Support frexp and log of really big numbers * Cross-platform open URL in webbrowser * Cross-platform send file to trash * Speedup bignum GCD and ratio operations * Speedup in thread yield performance on Mac OS X * CSV library is 3x faster * XML library is 2x faster * JSON library is 2-3x faster * Many documentation improvements * Many stability and performance enhancements Some possible backwards compatibility issues: * Change alien references from int to int ref and *int to int deref * Removed Windows CE, BSD, and Solaris platform support * Natively support binary (0b), octal (0o), and hexadecimal (0x) number syntax * Unify ( -- ) and (( -- )) stack effect syntax * Change prepend to return type of first sequence to match append behavior * Change .factor-rc to be .factor-rc on all platforms * Cleanup specialized array syntax to be more generic and consistent * Change to quadratic probing instead of linear probing in hashtables * Allow dispatching
Re: [Factor-talk] Factor 0.95 now available
Congratulations for the release! Fantastic work! Regards, Dominikus 2012/8/17 John Benediktsson mrj...@gmail.com: The reports of my death are greatly exaggerated - Mark Twain I'm very pleased to announce the release of Factor 0.95! You can find download links on the Factor website: http://factorcode.org This release is brought to you with over 2,500 commits by the following individuals: Alex Vondrak, Alfredo Beaumont, Andrew Pennebaker, Anton Gorenko, Brennan Cheung, Chris Double, Daniel Ehrenberg, Doug Coleman, Eric Charlebois, Eungju Park, Hugo Schmitt, Joe Groff, John Benediktsson, Jon Harper, Keita Haga, Maximilian Lupke, Philip Searle, Philipp Brüschweiler, Rupert Swarbrick, Sascha Matzke, Slava Pestov, @8byte-jose, @yac, @otoburb, @rien In addition to lots (and lots!) of bug fixes and improvements, I want to highlight the following features: * GTK-based UI backend * Native image loaders using Cocoa, GTK, and GDI+ * Sampling profiler replacing counting profiler * Code coverage tool to improve unit tests * VM and application-level signal handlers * ICMP support and an IPv4 ping implementation * DNS client and host implementation * Support frexp and log of really big numbers * Cross-platform open URL in webbrowser * Cross-platform send file to trash * Speedup bignum GCD and ratio operations * Speedup in thread yield performance on Mac OS X * CSV library is 3x faster * XML library is 2x faster * JSON library is 2-3x faster * Many documentation improvements * Many stability and performance enhancements Some possible backwards compatibility issues: * Change alien references from int to int ref and *int to int deref * Removed Windows CE, BSD, and Solaris platform support * Natively support binary (0b), octal (0o), and hexadecimal (0x) number syntax * Unify ( -- ) and (( -- )) stack effect syntax * Change prepend to return type of first sequence to match append behavior * Change .factor-rc to be .factor-rc on all platforms * Cleanup specialized array syntax to be more generic and consistent * Change to quadratic probing instead of linear probing in hashtables * Allow dispatching on anonymous intersections/unions For more details, please see the full announcement at: http://re-factor.blogspot.com/2012/08/factor-095-now-available.html -- 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
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 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 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
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 + 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 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 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
Re: [Factor-talk] Factor 0.95 now available
+1 This is terrific news at the end of a crappy week! -Aaron On Fri, Aug 17, 2012 at 3:54 AM, Dominikus Herzberg dominikus.herzb...@gmail.com wrote: Congratulations for the release! Fantastic work! Regards, Dominikus 2012/8/17 John Benediktsson mrj...@gmail.com: The reports of my death are greatly exaggerated - Mark Twain I'm very pleased to announce the release of Factor 0.95! You can find download links on the Factor website: http://factorcode.org This release is brought to you with over 2,500 commits by the following individuals: Alex Vondrak, Alfredo Beaumont, Andrew Pennebaker, Anton Gorenko, Brennan Cheung, Chris Double, Daniel Ehrenberg, Doug Coleman, Eric Charlebois, Eungju Park, Hugo Schmitt, Joe Groff, John Benediktsson, Jon Harper, Keita Haga, Maximilian Lupke, Philip Searle, Philipp Brüschweiler, Rupert Swarbrick, Sascha Matzke, Slava Pestov, @8byte-jose, @yac, @otoburb, @rien In addition to lots (and lots!) of bug fixes and improvements, I want to highlight the following features: * GTK-based UI backend * Native image loaders using Cocoa, GTK, and GDI+ * Sampling profiler replacing counting profiler * Code coverage tool to improve unit tests * VM and application-level signal handlers * ICMP support and an IPv4 ping implementation * DNS client and host implementation * Support frexp and log of really big numbers * Cross-platform open URL in webbrowser * Cross-platform send file to trash * Speedup bignum GCD and ratio operations * Speedup in thread yield performance on Mac OS X * CSV library is 3x faster * XML library is 2x faster * JSON library is 2-3x faster * Many documentation improvements * Many stability and performance enhancements Some possible backwards compatibility issues: * Change alien references from int to int ref and *int to int deref * Removed Windows CE, BSD, and Solaris platform support * Natively support binary (0b), octal (0o), and hexadecimal (0x) number syntax * Unify ( -- ) and (( -- )) stack effect syntax * Change prepend to return type of first sequence to match append behavior * Change .factor-rc to be .factor-rc on all platforms * Cleanup specialized array syntax to be more generic and consistent * Change to quadratic probing instead of linear probing in hashtables * Allow dispatching on anonymous intersections/unions For more details, please see the full announcement at: http://re-factor.blogspot.com/2012/08/factor-095-now-available.html -- 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
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 + 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.commailto: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.netmailto:Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk -- Live Security Virtual Conference Exclusive live event will cover
Re: [Factor-talk] Any way of making sense of what's in the boot image?
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 + 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.commailto: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
Re: [Factor-talk] Factor 0.95 now available
Hi - Success! I moved the old .factor files out of the way, scrapped the first try Factor .95 folder, re-ran the git one-liner and the fresh factor.app brought up the listener with no errors. The contents of the Factor folder built from git sports the following items not appearing in the .95 binary Factor folder: -files: boot.unix-x86.32.image, factor.image.fresh, GNUmakeile, Nmakefile; -folders: build-support, unmaintained, vm I don't know if they are necessary, so I'm not gonna touch them while I check my .94 project code compatibility. Any thoughts on the differences? I'll keep you posted, if anything unrecoverable pops up. Thanks so much to all for your work. Onward! ~cw On Fri, Aug 17, 2012 at 8:01 AM, Aaron Olson airol...@gmail.com wrote: +1 This is terrific news at the end of a crappy week! -Aaron On Fri, Aug 17, 2012 at 3:54 AM, Dominikus Herzberg dominikus.herzb...@gmail.com wrote: Congratulations for the release! Fantastic work! Regards, Dominikus 2012/8/17 John Benediktsson mrj...@gmail.com: The reports of my death are greatly exaggerated - Mark Twain I'm very pleased to announce the release of Factor 0.95! You can find download links on the Factor website: http://factorcode.org This release is brought to you with over 2,500 commits by the following individuals: Alex Vondrak, Alfredo Beaumont, Andrew Pennebaker, Anton Gorenko, Brennan Cheung, Chris Double, Daniel Ehrenberg, Doug Coleman, Eric Charlebois, Eungju Park, Hugo Schmitt, Joe Groff, John Benediktsson, Jon Harper, Keita Haga, Maximilian Lupke, Philip Searle, Philipp Brüschweiler, Rupert Swarbrick, Sascha Matzke, Slava Pestov, @8byte-jose, @yac, @otoburb, @rien In addition to lots (and lots!) of bug fixes and improvements, I want to highlight the following features: * GTK-based UI backend * Native image loaders using Cocoa, GTK, and GDI+ * Sampling profiler replacing counting profiler * Code coverage tool to improve unit tests * VM and application-level signal handlers * ICMP support and an IPv4 ping implementation * DNS client and host implementation * Support frexp and log of really big numbers * Cross-platform open URL in webbrowser * Cross-platform send file to trash * Speedup bignum GCD and ratio operations * Speedup in thread yield performance on Mac OS X * CSV library is 3x faster * XML library is 2x faster * JSON library is 2-3x faster * Many documentation improvements * Many stability and performance enhancements Some possible backwards compatibility issues: * Change alien references from int to int ref and *int to int deref * Removed Windows CE, BSD, and Solaris platform support * Natively support binary (0b), octal (0o), and hexadecimal (0x) number syntax * Unify ( -- ) and (( -- )) stack effect syntax * Change prepend to return type of first sequence to match append behavior * Change .factor-rc to be .factor-rc on all platforms * Cleanup specialized array syntax to be more generic and consistent * Change to quadratic probing instead of linear probing in hashtables * Allow dispatching on anonymous intersections/unions For more details, please see the full announcement at: http://re-factor.blogspot.com/2012/08/factor-095-now-available.html -- 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
Re: [Factor-talk] Factor 0.95 now available
The contents of the Factor folder built from git sports the following items not appearing in the .95 binary Factor folder: -files: boot.unix-x86.32.image, factor.image.fresh, GNUmakeile, Nmakefile; These are: 1) boot image downloaded to create a complete factor image file for your platform (32-bit unix). 2) copy of the factor.image file to allow reverting if you want to have a clean environment 3) make file to build on unix platforms 4) make file to build on windows -folders: build-support, unmaintained, vm 5) a directory with build it, scotty files for all platforms. 6) a directory with not working but maybe in the future code 7) a directory with C++ code for the VM that produces the ./factor binary I don't know if they are necessary, so I'm not gonna touch them while I check my .94 project code compatibility. Any thoughts on the differences? I'll keep you posted, if anything unrecoverable pops up. Thanks so much to all for your work. Onward! Glad it works for you, these files are not released in the binary releases but all contain or are related to the source build process. 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 https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Factor 0.95 now available
Gracias, John - Comforting to know what's up. Any ideas on what prevents the .95 binary from launching on my aged machine? First time I've encountered this problem. I've successfully launched from incremental development releases through July. ~cw On Fri, Aug 17, 2012 at 12:45 PM, John Benediktsson mrj...@gmail.comwrote: The contents of the Factor folder built from git sports the following items not appearing in the .95 binary Factor folder: -files: boot.unix-x86.32.image, factor.image.fresh, GNUmakeile, Nmakefile; These are: 1) boot image downloaded to create a complete factor image file for your platform (32-bit unix). 2) copy of the factor.image file to allow reverting if you want to have a clean environment 3) make file to build on unix platforms 4) make file to build on windows -folders: build-support, unmaintained, vm 5) a directory with build it, scotty files for all platforms. 6) a directory with not working but maybe in the future code 7) a directory with C++ code for the VM that produces the ./factor binary I don't know if they are necessary, so I'm not gonna touch them while I check my .94 project code compatibility. Any thoughts on the differences? I'll keep you posted, if anything unrecoverable pops up. Thanks so much to all for your work. Onward! Glad it works for you, these files are not released in the binary releases but all contain or are related to the source build process. Best! John. -- *~ Memento Amori* -- 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
Re: [Factor-talk] Factor 0.95 now available
Gracias, John - De nada ;) Comforting to know what's up. Any ideas on what prevents the .95 binary from launching on my aged machine? First time I've encountered this problem. I've successfully launched from incremental development releases through July. Likely related to upgrading to Mac OS X 10.8 and XCode 4.4 on the build farm. It wasn't intentional, but we're trying to figure out if we can make XCode 4.4 build against 10.6 SDK or downgrade to a configuration that will work properly... once we get it working we can make new binaries... 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 https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Factor 0.95 now available
Okey-dokey, keep on keepin' on. More later, as need arises. ~cw On Fri, Aug 17, 2012 at 1:17 PM, John Benediktsson mrj...@gmail.com wrote: Gracias, John - De nada ;) Comforting to know what's up. Any ideas on what prevents the .95 binary from launching on my aged machine? First time I've encountered this problem. I've successfully launched from incremental development releases through July. Likely related to upgrading to Mac OS X 10.8 and XCode 4.4 on the build farm. It wasn't intentional, but we're trying to figure out if we can make XCode 4.4 build against 10.6 SDK or downgrade to a configuration that will work properly... once we get it working we can make new binaries... Best, John. -- *~ Memento Amori* -- 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