<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
ah. Notice that m3_load/m3_store mark a lot of things volatile.<BR>
I'm trying out a wild guess and marking "v" volatile before the offseting in those functions..<BR>
<BR>
I guess though you've revealed the answer -- strive for like I said -- mark anything volatile referenced in finally or such. Er, anything referenced both in try and finally, something like that. Initial lameness would be all locals in a function with try/finally/lock. And, gosh, I hope they don't enregister globals. :(<BR>
You'd want some volatile on globals too.<BR>
Only the uses in a try where the function also references them in a finally.<BR>
<BR>
Maybe the old behavior is easy to restore??<BR>
<BR>
- Jay<BR><BR>
<BR>> From: hosking@cs.purdue.edu<BR>> To: hosking@cs.purdue.edu<BR>> Date: Mon, 11 May 2009 17:32:54 +1000<BR>> CC: m3commit@elegosoft.com; jay.krell@cornell.edu<BR>> Subject: Re: [M3commit] CVS Update: cm3<BR>> <BR>> Looks like gcc used to do the "right thing" for locals in functions <BR>> that called setjmp. I suppose that hurt performance so they got rid <BR>> of it and put the warnings in instead.<BR>> <BR>> On 11 May 2009, at 17:22, Tony Hosking wrote:<BR>> <BR>> > Yeah, I just don't understand that it apparently used to work...<BR>> ><BR>> > On 11 May 2009, at 17:15, Jay wrote:<BR>> ><BR>> >><BR>> >> Hey, this warning seems to be pretty important.<BR>> >><BR>> >><BR>> >><BR>> >> I have on birch a cm3 built with, I think, -O3, and it is very broken<BR>> <BR></body>
</html>