node/lib
Ruben Bridgewater e8bb1f35df
buffer: refactor all read/write functions
There are a lot of changes in this commit:

1) Remove the `noAssert` argument from all read and write functions.
2) Improve the performance of all read floating point functions
   significantly. This is done by switching to TypedArrays as the
   write floating point write functions.
3) No implicit type coercion for offset and byteLength anymore.
4) Adds a lot of tests.
5) Moves the read and write functions to the internal buffer file
   to split the files in smaller chunks.
6) Reworked a lot of existing tests.
7) Improve the performane of all all read write functions by using
   a faster input validation and by improving function logic.
8) Significantly improved the performance of all read int functions.
   This is done by using a implementation without a loop.
9) Improved error handling.
10) Rename test file to use the correct subsystem.

PR-URL: https://github.com/nodejs/node/pull/18395
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2018-03-02 19:29:46 +00:00
..
fs fs: move fs.promises API to fs/promises 2018-02-17 10:15:20 +01:00
internal buffer: refactor all read/write functions 2018-03-02 19:29:46 +00:00
_http_agent.js http: allow _httpMessage to be GC'ed 2018-02-22 14:27:19 +00:00
_http_client.js src: Remove lttng support. 2018-03-01 16:44:43 +00:00
_http_common.js http: simplify checkInvalidHeaderChar 2018-02-16 19:27:28 +01:00
_http_incoming.js http: do not replace .read() in IncomingMessage 2018-02-27 12:26:40 +01:00
_http_outgoing.js http: OutgoingMessage.end() should return this 2018-02-19 08:59:32 +01:00
_http_server.js src: Remove lttng support. 2018-03-01 16:44:43 +00:00
_stream_duplex.js stream: rm {writeable/readable}State.length 2017-12-18 14:41:43 +01:00
_stream_passthrough.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
_stream_readable.js lib: switch to Number.isNaN 2018-02-16 18:09:56 +01:00
_stream_transform.js stream: delete unused code 2018-02-02 23:00:50 +01:00
_stream_wrap.js lib: move _stream_wrap into internals 2017-10-19 18:06:27 +02:00
_stream_writable.js stream: writable.end should return this. 2018-02-19 08:59:12 +01:00
_tls_common.js tls: implement clientCertEngine option 2017-11-11 13:35:23 -08:00
_tls_wrap.js crypto: provide full cert details to checkServerIdentity 2018-02-22 11:22:04 +01:00
.eslintrc.yaml lint: move eslint to new plugin system 2018-02-20 13:13:22 -06:00
assert.js assert: fix throws trace 2018-02-09 08:45:51 -05:00
async_hooks.js src: fix error message in async_hooks constructor 2018-02-28 07:31:02 +01:00
buffer.js buffer: refactor all read/write functions 2018-03-02 19:29:46 +00:00
child_process.js util: implement util.getSystemErrorName() 2018-01-20 08:51:47 +08:00
cluster.js lib: use consistent indentation for ternaries 2017-07-07 06:57:16 -07:00
console.js console: port errors to new system 2018-02-22 13:36:22 +00:00
constants.js src: add support to pass flags to dlopen 2017-09-08 17:14:03 -04:00
crypto.js crypto: docs-only deprecate crypto.fips, replace 2018-02-02 07:50:31 -08:00
dgram.js async_hooks: clean up usage in internal code 2018-02-16 14:23:14 -05:00
dns.js errors: move error creation helpers to errors.js 2018-02-07 18:42:40 +08:00
domain.js domain: runtime deprecate MakeCallback 2018-02-09 10:38:50 +01:00
events.js events: preset usingDomains to false 2018-02-22 20:33:10 -05:00
fs.js fs: throw futimesSync errors in JS 2018-03-02 21:13:24 +08:00
http2.js http2: refactor error handling 2017-08-28 00:39:42 +04:00
http.js lib: use destructuring for some constants 2017-10-16 23:34:32 +02:00
https.js https: add extra options to Agent#getName() 2018-02-10 14:15:57 +01:00
inspector.js lib: enable dot-notation eslint rule 2018-01-09 10:52:18 -05:00
module.js module: replace magic numbers by constants 2018-02-16 19:32:03 +01:00
net.js src: Remove lttng support. 2018-03-01 16:44:43 +00:00
os.js lib,src: audit process.env in lib/ for setuid binary 2018-02-16 17:42:21 +01:00
path.js path: replace duplicate conditions by functions 2018-02-17 14:53:58 +01:00
perf_hooks.js perf_hooks: make PerformanceObserver an AsyncResource 2018-02-26 13:55:51 -08:00
process.js src: remove excessive license boilerplate 2015-01-27 16:35:05 +11:00
punycode.js lib: remove let from for loops 2016-10-04 12:17:32 -04:00
querystring.js querystring: convert to using internal/errors 2017-10-28 14:04:53 -04:00
readline.js lib: switch to Number.isNaN 2018-02-16 18:09:56 +01:00
repl.js repl: fix tab-complete warning 2018-02-22 15:07:05 +00:00
stream.js tools: non-Ascii linter for /lib only 2018-02-04 16:55:13 +01:00
string_decoder.js lib: improve normalize encoding performance 2018-03-02 02:09:25 +00:00
sys.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
timers.js lint: move eslint to new plugin system 2018-02-20 13:13:22 -06:00
tls.js tls: make deprecated tls.createSecurePair() use public API 2018-01-14 14:49:41 +01:00
tty.js errors: move error creation helpers to errors.js 2018-02-07 18:42:40 +08:00
url.js url: reduce deplicated codes in autoEscapeStr 2018-02-23 15:46:05 +08:00
util.js util: use blue on non-windows systems for number/bigint 2018-02-25 17:03:34 -06:00
v8.js v8: migrate setFlagsFromString to internal/errors 2017-10-29 17:04:27 -07:00
vm.js vm: consolidate validation 2018-02-22 12:08:01 +01:00
zlib.js zlib: improve zlib errors 2018-02-25 02:31:14 +08:00