Skip to content Skip to sidebar Skip to footer

Why Is (0 || Eval) Not Treated As Indirect In Opera?

In strict mode, indirect calls to eval should have this bound to the global object in eval code. 10.4.2: In Edition 5, indirect calls to the eval function use the global environme

Solution 1:

Opera's ECMAScript engine seems to be doing some over-eager optimisation here, where "(0||eval)" is simplified to just "eval" before compilation. In this case, this optimisation introduces a bug because it changes the behaviour of the code.

(Internally at Opera we track this issue as CORE-47727)

Post a Comment for "Why Is (0 || Eval) Not Treated As Indirect In Opera?"