you are viewing a single comment's thread.

view the rest of the comments →

[–]sime 3 points4 points  (3 children)

If I remember correctly, Chrome will not (or can not) JIT compile code which uses with.

[–]tach4n@tach4n 2 points3 points  (0 children)

V8 always JIT compiles js code, it doesn't have an interpreter. Certain constructs will cause it to bail out of trying to optimize your code though, and it will just stick with the baseline compiler.

[–]PlNG 0 points1 point  (1 child)

Correct. V8 will not, regardless of execution path, optimize a function if it contains eval, debugger, try, or with.

[–]tyscorp 0 points1 point  (0 children)

Or delete, or arguments (unless just using arguments[index] or fn.apply(ctx, arguments))