▲ | IainIreland 8 hours ago | |||||||
I don't know how JSC handles it, but in SM `eval` has significant negative effects on surrounding code. (We also decline to optimize functions containing `with` statements, but that's less because it's impossible and more because nobody uses them.) | ||||||||
▲ | cogman10 8 hours ago | parent | next [-] | |||||||
Last I saw (and I admit this is pretty dated) V8 was doing the same thing. try/catch at one point in V8 would cause the surrounding method to be deoptimized. | ||||||||
| ||||||||
▲ | pizlonator 7 hours ago | parent | prev [-] | |||||||
JSC will still JIT optimize functions that use eval. It’s true that there are some necessary pessimizations but nothing as severe as failing to optimize the code at all |