In http1, legacy http.Client shares one connection with multiple requests. But in http2, it uses concurrent connections. With --use-http1, test/simple/test-http-legacy.js passes. However, it fails without --use-http1 (use http2). This improves compatibility of legacy http.Client API between http1 and http2. Fixes #1530.
Adds test case and documentation for vm.runInContext and vm.createContext. Fixes #1140.
An overloaded toString() method may have side effects so don't call it for a simple type check.
Hoist common settings into common.gypi. Restrict v8's common.gypi to v8 projects. Ensure v8 doesn't use /MP in debug builds. Add basic settings for other platforms. Make uv import common.gypi properly. Remove LTCG warning.
lib/path.js routines normalizeArray() and resolve() have for loops that count down from end of an array. The loop indexes are initialized using "array.length" rather than "array.length-1". The initial array element accessed is always beyond the end of array and the value is 'undefined'. Strangely, code exists that acts to ignore undefined values so that the typos are unnoticeable. Existing tests emit no errors either before or after changing to "length-1". Tests _do_ start failing at "length-2". (Actually it is node that starts to fail at "length-2" - that's a valid enough test...)
Reported by Tom Hughes.
…ssing in a boolean flag