-
Notifications
You must be signed in to change notification settings - Fork 339
Update node-chakracore with nodejs/master changes #40
Update node-chakracore with nodejs/master changes #40
Conversation
Enable `no-extra-parens`. This rule restricts the use of parentheses to only where they are necessary. It is set to be restricted to report only function expressions. PR-URL: nodejs/node#5512 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Evan Lucas <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node#5517 Reviewed-By: Brian White <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Evan Lucas <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node#5517 Reviewed-By: Brian White <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Evan Lucas <[email protected]> Reviewed-By: James M Snell <[email protected]>
Also fixed a minor color issue with :focus on the title. PR-URL: nodejs/node#5548 Reviewed-By: Sakthipriyan Vairamani <[email protected]>
The properties on memoryUsage were not checked before, this commit checks them. PR-URL: #5546 Reviewed-By: Colin Ihrig <[email protected]>
Looping rapidly and making new connections causes problems on pi2. Instead create a new connection when an old connection has already been made. Running a stress test of 600 times and they all passed. Fixes: nodejs/node#5302 PR-URL: nodejs/node#5537 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Alexis Campailla <[email protected]>
Rework the doc a bit to tighten it up, including removing the use of `you` Fix some line wrapping issues. PR-URL: nodejs/node#5287 Reviewed-By: Roman Klauke <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> ...
Notable changes: * http_parser: Update to http-parser 2.3.2 to fix an unintentionally strict limitation of allowable header characters. (James M Snell) nodejs/node#5241 * domains: - Prevent an exit due to an exception being thrown rather than emitting an 'uncaughtException' event on the `process` object when no error handler is set on the domain within which an error is thrown and an 'uncaughtException' event listener is set on `process`. (Julien Gilli) nodejs/node#3885 - Fix an issue where the process would not abort in the proper function call if an error is thrown within a domain with no error handler and `--abort-on-uncaught-exception` is used. (Julien Gilli) nodejs/node#3885 * openssl: Upgrade from 1.0.2f to 1.0.2g (Ben Noordhuis) nodejs/node#5509 - Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0705 - Fix a defect that can cause memory corruption in certain very rare cases relating to the internal `BN_hex2bn()` and `BN_dec2bn()` functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are _unlikely_ to be possible. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0797 - Fix a defect that makes the CacheBleed Attack (https://ssrg.nicta.com.au/projects/TS/cachebleed/) possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0702 PR-URL: nodejs/node#5403
Notable changes: * http_parser: Update to http-parser 1.2 to fix an unintentionally strict limitation of allowable header characters. (James M Snell) nodejs/node#5242 * domains: - Prevent an exit due to an exception being thrown rather than emitting an 'uncaughtException' event on the `process` object when no error handler is set on the domain within which an error is thrown and an 'uncaughtException' event listener is set on `process`. (Julien Gilli) nodejs/node#3887 - Fix an issue where the process would not abort in the proper function call if an error is thrown within a domain with no error handler and `--abort-on-uncaught-exception` is used. (Julien Gilli) nodejs/node#3887 * openssl: Upgrade from 1.0.1r to 1.0.1s (Ben Noordhuis) nodejs/node#5508 - Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0705 - Fix a defect that can cause memory corruption in certain very rare cases relating to the internal `BN_hex2bn()` and `BN_dec2bn()` functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are _unlikely_ to be possible. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0797 - Fix a defect that makes the CacheBleed Attack (https://ssrg.nicta.com.au/projects/TS/cachebleed/) possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0702 - Remove SSLv2 support, the `--enable-ssl2` command line argument will now produce an error. The DROWN Attack (https://drownattack.com/) creates a vulnerability where SSLv2 is enabled by a server, even if a client connection is not using SSLv2. The SSLv2 protocol is widely considered unacceptably broken and should not be supported. More information is available at https://www.openssl.org/news/vulnerabilities.html#2016-0800 PR-URL: nodejs/node#5404
Pick up the current branch head for V8 4.9 v8/v8@1ecba0f PR-URL: nodejs/node#4722 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
PR-URL: nodejs/node#4722 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
PR-URL: nodejs/node#4722 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
- An error message changed for undefined references - `let` is now allowed in sloppy mode - ES2015 proxies are shipped and the `Proxy` global is now a function PR-URL: nodejs/node#4722 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Ali Ijaz Sheikh <[email protected]>
Proxies support is now complete in V8. The tests needed slight modification to match the spec implementation. PR-URL: nodejs/node#4722 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
PR-URL: nodejs/node#4722 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
PR-URL: nodejs/node#4722 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Ali Ijaz Sheikh <[email protected]>
PR-URL: nodejs/node#4722 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Ali Ijaz Sheikh <[email protected]>
PR-URL: nodejs/node#5159 Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: nodejs/node#5159 Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: nodejs/node#5159 Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: nodejs/node#5159 Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: nodejs/node#5159 Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: nodejs/node#5159 Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: nodejs/node#5159 Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: nodejs/node#5159 Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: nodejs/node#5159 Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: nodejs/node#5159 Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: nodejs/node#5159 Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: nodejs/node#5204 Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]> Reviewed-By: indutny - Fedor Indutny <[email protected]>
PR-URL: nodejs/node#5204 Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]> Reviewed-By: indutny - Fedor Indutny <[email protected]>
According to the spec gzipped archives can contain more than one compressed member. Previously Node's gzip implementation would only unzip the first member and throw away the rest of the compressed data. Issue #4306 is an example of this occurring in daily use. Fixes: nodejs/node#4306 PR-URL: nodejs/node#5120 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: James M Snell <[email protected]>
Per nodejs/node#1817, there are many modules that currently abuse the private `_events` property on EventEmitter. One of the ways it is used is to determine if a particular event is being listened for. This adds a simple `eventNames()` method that returns an array of the events with currently registered listeners. PR-URL: nodejs/node#5617 Reviewed-By: Brian White <[email protected]> Reviewed-By: Сковорода Никита Андреевич <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
process.send and child.send use JSON.stringify to serialize the message. Fixes: nodejs/node#5453 PR-URL: nodejs/node#5723 Reviewed-By: Jeremy Whitlock <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]>
Add the proposed Testing WG. WORKING_GROUPS.md indicates that opening a pull request to that file is the way to request that a charter be ratified by the TC. So, that's what this is. The charter document is currently: https://github.com/nodejs/testing/blob/master/Charter.md PR-URL: nodejs/node#5461 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Alexis Campailla <[email protected]> Reviewed-By: Johan Bergström <[email protected]>
`Console` constructor checks that `stdout.write()` is a function but does not do an equivalent check for `stderr.write()`. If `stderr` is not specified in the constructor, then `stderr` is set to be `stdout`. However, if `stderr` is specified, but `stderr.write()` is not a function, then an exception is not thrown until `console.error()` is called. This change adds the same check for 'stderr' in the constructor that is there for `stdout`. If `stderr` fails the check, then a `TypeError` is thrown. Took the opportunity to copyedit the `console` doc a little too. PR-URL: nodejs/node#5635 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Rod Vagg <[email protected]>
If both -i and -e flags are specified, do not ignore the -i. Instead, launch the interactive REPL and start by evaluating the passed string. Fixes: nodejs/node#1197 PR-URL: nodejs/node#5655 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]>
This removes the ability to run linting from the source tarball, rationale being that developers should use a git clone instead. Also, fix the path of removing artifacts from the openssl dependency since it now lives in `deps/openssl/openssl/`. Tarballs shrink with ~10%. PR-URL: nodejs/node#5695 Fixes: nodejs/node#5618 Reviewed-By: Rod Vagg <[email protected]> Reviewed-By: thefourtheye <[email protected]> Reviewed-By: James Snell <[email protected]>
Several changes: * Soft-Deprecate Buffer() constructors * Add `Buffer.from()`, `Buffer.alloc()`, and `Buffer.allocUnsafe()` * Add `--zero-fill-buffers` command line option * Add byteOffset and length to `new Buffer(arrayBuffer)` constructor * buffer.fill('') previously had no effect, now zero-fills * Update the docs PR-URL: nodejs/node#4682 Reviewed-By: Сковорода Никита Андреевич <[email protected]> Reviewed-By: Stephen Belanger <[email protected]>
PR-URL: nodejs/node#5673 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: James Snell <[email protected]> Reviewed-By: Brian White <[email protected]>
Uses better troff formatting. Removes v8 options from the man page. Also edits `node -h` in node.cc slightly. PR-URL: nodejs/node#5497 Reviewed-By: James Snell <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]>
Fixes: https:github.com/nodejs/node/issues/5682 PR-URL: nodejs/node#5736 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Document that util._extend was never intended to be used and should be considered deprecated. PR-URL: nodejs/node#4903 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Roman Reiss <[email protected]>
Do not call the linkManPages if the tok type is code Fixes: nodejs/node#5686 PR-URL: nodejs/node#5721 Reviewed-By: James M Snell <[email protected]>
Notable changes: * **contextify**: Fixed a memory consumption issue related to heavy use of `vm.createContext` and `vm.runInNewContext`. (Ali Ijaz Sheikh) nodejs/node#5392 * **governance**: The following members have been added as collaborators: - Andreas Madsen (@AndreasMadsen) - Benjamin Gruenbaum (@benjamingr) - Claudio Rodriguez (@claudiorodriguez) - Glen Keane (@thekemkid) - Jeremy Whitlock (@whitlockjc) - Matt Loring (@matthewloring) - Phillip Johnsen (@phillipj) * **lib**: copy arguments object instead of leaking it (Nathan Woltman) nodejs/node#4361 * **src**: allow combination of -i and -e cli flags (Rich Trott) nodejs/node#5655 * **v8**: backport fb4ccae from v8 upstream (Vladimir Krivosheev) #4231 - breakout events from v8 to offer better support for external debuggers * **zlib**: add support for concatenated members (Kári Tristan Helgason) nodejs/node#5120 PR-URL: nodejs/node#5702
PR-URL: nodejs/node#5688 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Claudio Rodriguez <[email protected]> Reviewed-By: James M Snell <[email protected]> Fixes: nodejs/node#2305
The format of certain code comments in the `path` documentation results in the code blocks being invalid. I also find it confusing at least as formatted on the website. This change is intended to improve those comments. PR-URL: nodejs/node#5670 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Brian White <[email protected]>
SSL sockets leak whenever keep alive is enabled, ca option is set in the global agent, and requests are sent without the ca property. In the following case at Agent.prototype.createSocket a socket will be created with a hashtag name that includes data from the global agents’ ca property. On subsequent requests at Agent.prototype.addRequest we do not find the free socket, because the hashtag name generated there does not take into account the global agents’ ca property, thus creating a new socket and leaving the first socket to timeout. closes: #5699 PR-URL: nodejs/node#5713 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]>
Changes the multiline return example commments in querystring which have the example out-of-comment, into single comment lines to remain consistent with other docs. PR-URL: nodejs/node#5705 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
@jianchun please take a look |
Maybe<bool> Object::DefineOwnProperty( | ||
Local<Context> context, Local<Name> key, Local<Value> value, | ||
PropertyAttribute attributes) { | ||
return Set(key, value, attributes, /*force*/false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be /*force*/true
? I assume this function should always call "Object.defineProperty" and cannot simply call "JsSetProperty" as it might already have a setter in place.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks yes it should be true. Made the change and updated PR.
0be5179
to
c80f01c
Compare
LGTM |
1 similar comment
LGTM |
Regarding failing test
Can you fix it for Chakracore the way did for other tests, for example : Regarding |
Since I have to investigate failure test-vm-timeout.js as well I plan to fix the tests in a separate commit after this PR |
Merge 929b5b9 of nodejs/node `master` branch into nodejs/node-chakracore PR-URL: nodejs#40 Reviewed-By: Jianchun Xu <[email protected]> Reviewed-By: Kunal Pathak <[email protected]>
Added new v8 APIs to Chakrashim Context::SetEmbedderData Context::GetEmbedderData Isolate::CancelTerminateExecution Isolate::TerminateExecution Object::DefineOwnProperty Updated v8 version PR-URL: nodejs#40 Reviewed-By: Jianchun Xu <[email protected]> Reviewed-By: Kunal Pathak <[email protected]>
c80f01c
to
c6d6e6b
Compare
This PR updates node-chakracore with 929b5b9 of nodejs/node "master" branch. All the commits, except last 2 commit are from nodejs/node repo and are present to retain the history.
Merge conflict were manually resolved in below files
Last commit - Implemented new APIs added to v8 in chakrashim.
Following tests
are failing because these tests create Buffer with NaN or float value.
v8 and Chakra differ when ArrayBuffer is created using NaN or float value in which case Chakra throws RangeError but v8 returns 0 and floor(abs(value)) length buffer respectively.
There is active issue open in TC39 for discussion.
tc39/ecma262#265
tc39/ecma262#292
chakra-core/ChakraCore#105
Investigating one additional test failure