Created attachment 4650 [details] make more functions inline for speed
I suspect this might not make a speed difference any more, now that an iterator with inline operations is used to traverse the scope chain during execution, instead of making a copy and popping.
Comment on attachment 4650 [details] make more functions inline for speed While I understand that these functions are no longer as hot as they used to be, I still think inlining them makes sense -- they are only used in 1 or 2 places and they are performance-critiical places.
Upon further reading I think inlining mark() will almost certainly make a difference but I am not really sure about the others - worth measuring and profiling.
Comment on attachment 4650 [details] make more functions inline for speed The code looks fine. However while you're in there, you might as well clean up the formatting of ScopeChain::bottom() (spacing) and ScopeChain::pop() (one line if) to follow our published coding guidelines.