<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On May 12, 2008, at 7:35 PM, Jay wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; ">Target.Global_handler_stack is FALSE for targets that ever use kernel threads.<br>Target.Global_handler_stack is TRUE for targets that never use kernel threads.<br>Targets that can go either way set it to FALSE.<br> <br><br>When Global_handler_stack is TRUE, inline code is generated to,<br> I guess, manipulate a per-thread linked list of stack frames.<br><br> <br>When Global_handler_stack is FALSE, function calls are generated<br> to do same.<br><br> <br>That is, Global_handler_stack is TRUE is a little more efficient.<br><br> <br>Given that Global_handler_stack is TRUE for all "recent", "active", "interesting"<br> targets, with the presumably temporary exception of PPC_LINUX, how about<br> we remove Global_handler_stack as a variable and just act as if it is always FALSE?</div></span></blockquote><div><br></div>Don't you mean "false" for all current targets (i.e., using threads)?</div><div><br><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; ">(I have some suspicion that this linked list is absent on targets<span class="Apple-converted-space"> </span><br>with a stack walker, so it'd make no difference on them. I'll check later..<br>NT386 ought use fs:0 but it doesn't.)</div></span></blockquote><div><br></div><div>Indeed, the list is absent on such targets.</div><br><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; ">I figure target-specificity should be minimized.<br>Make it easier to bring up new targets -- not that the code isn't pretty<br> well commented and easy to understand, so it's really no easier without this.</div></span></blockquote><div><br></div>I have no objection.<div><br></div><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; ">The counterpoints would be:<br> Even if it is target-specific, it does work and isn't complicated, so leave it alone.<br> If those old targets are alive, and lack pthreads, it is<span class="Apple-converted-space"> </span><em>slightly<span class="Apple-converted-space"> </span></em>faster this way.<br> If people want current/new targets to have a "faster" single threaded mode, this<span class="Apple-converted-space"> </span><br> could be part of that. Note though that single threaded apps can't/don't exist,<br> unless maybe if you never heap allocate, since the heap allocator/garbage collector<br> creates a thread at initialization (shouldn't it wait for a heap allocation? Maybe.<br> If there really is a chance it won't occur or won't occur for a while).</div></span></blockquote><div><br></div><div>When does the GC currently create a thread?</div></div></body></html>