With thread-bound JSRuntime there is little reason to keep the native stack limits in JSContext as that requires for each JSContext instance to set the limit essentially to the same value instead of doing once per runtime initialization/SetOwnThread calls.
Created attachment 593334 [details] [diff] [review] v1 The patch stores the stack limit parameters in JSRuntime and updates the API to reflect that. The patch also removes the function call overhead from JS_CHECK_RECURSION that is very frequently used by the parser/scanner - now the implementation uses base structs for JSContext and JSRuntime that contains fields exposed in jsfriendapi.h. Then the code just casts the passed JSContext and JSRuntime to those structs to access the relevant fields.
Comment on attachment 593334 [details] [diff] [review] v1 Very nice.