Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
what is best in optimizer pipeline
value numbering
code motion
peepholing
loop idiom recognition
legalization
thread gassing
op banning
View Results
 
  • Locked thread
crazypenguin
Mar 9, 2005
nothing witty here, move along
anyone read that "compiling without continuations" paper

I could use some intuition help.

Their jfloat rules duplicate the context E both within the join point and in the remainder of the expression. I don't (think?) it ever spells out why

Is this because (a) we want to push that info down as aggressively as possible (b) we CAN do this because "jumps" are always (ostensibly) tail-calls and (c) the "abort" rule cleans up the extra nonsensical junk that gets jammed onto our jumps? (And this is the reason for the funky type rules on jumps/join points? Essentially this transformation is changing the type of the join point, and we're accounting for that in a separate step using the abort rule?)

I just noticed the operational semantics for "jump" also discards part of the stack (the s' bit...) which corresponds to the abort rule removing that junk.

...okay after actually writing out my question I think that I'm right, but I'm just going to post anyway.

Adbot
ADBOT LOVES YOU

crazypenguin
Mar 9, 2005
nothing witty here, move along
i'm pretty sure anyone that run 'sudo gem install blah' is probably running compilers/linkers as root

  • Locked thread