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
Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal
how do we feel about jitters? are they true compilers or a dangerous heresy?

Adbot
ADBOT LOVES YOU

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal

rjmccall posted:

having a jit enables some really neat dynamic code generation and specialization tricks. i'd love to see more language implementations based on a sane language + execution environment that really take intelligent advantage of both static and dynamic information

instead it feels like jits always spend the bulk of their effort (both in development and at runtime) working around stupidity in the language / runtime model. "i couldn't possibly statically inline this trivial getter, it's in a different class file" :monocle:

how good is modern jitted code compared to what's emitted by a traditional toolchain these days anyway? i've heard about the ability to use info you don't have at compile time to potentially produce better code before, but i have no idea how much of a difference it makes in practice. or any idea what traditional optimizations aren't possible when you're jitting, if any

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal

thanks for this, i like compilers but i've never had much experience with them beyond using them

the part about optimizing for a specific platform did remind me of the hell of debugging optimized code on some game consoles though. under most circumstances you can just use a debug build, but when you're mostly doing network stuff, everything's asynchronous and bugs depend on timing, so whatever you want to reproduce tends to just disappear on a debug build. symbols don't mean much for optimized code, so you're stuck looking at the disassembled executable. and holy poo poo do console compilers/linkers love to emit the most hosed up spaghetti hell garbage. i mean, i get why they do that, but it makes you long for the simple optimized x64 assembly you get on pc

  • Locked thread