Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v15.4.0 proposal #36435

Merged
merged 95 commits into from
Dec 9, 2020
Merged
Changes from 1 commit
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
095cef2
deps: update ICU to 68.1
targos Nov 20, 2020
cfc8ec1
src: fix label indentation
Trott Nov 21, 2020
03e8aaf
tools: bump cpplint.py to 1.5.2
Trott Nov 21, 2020
cfadd82
tools: refloat 7 Node.js patches to cpplint.py
Trott Oct 9, 2020
47397ff
src: update node.rc file description
devsnek Nov 20, 2020
186ad24
doc: cleanup events.md structure
jasnell Nov 12, 2020
dc19309
events: graduate Event, EventTarget, AbortController
jasnell Nov 3, 2020
fdf5d85
doc: add missing version to update cmd
ruyadorno Nov 20, 2020
44c4aad
doc: stabilize subpath patterns
guybedford Nov 19, 2020
c86c239
tools: update ESLint to 7.14.0
cjihrig Nov 21, 2020
be11976
tools: enable no-nonoctal-decimal-escape lint rule
cjihrig Nov 21, 2020
b176d61
doc: fix --experimental-wasm-modules text location
cjihrig Nov 21, 2020
44d6d0b
test: fix missed warning for non-experimental AbortController
jasnell Nov 23, 2020
69a8f05
test: improve test coverage SourceMap API
juanarbol Nov 11, 2020
39d0ced
process: refactor to use more primordials
aduh95 Nov 15, 2020
841e8f4
crypto: fix "Invalid JWK" error messages
panva Nov 20, 2020
617cb58
lib: refactor primordials.uncurryThis
aduh95 Nov 21, 2020
d29199e
quic: refactor to use more primordials
aduh95 Nov 15, 2020
03cf8db
doc: fix typo in events.md
lpinca Nov 22, 2020
66bc206
deps: V8: cherry-pick 86991d0587a1
bcoe Nov 25, 2020
65d89fd
doc: adding example to Buffer.isBuffer method
ntedgi Nov 23, 2020
2344e3e
benchmark : changed `fstat` to `fstatSync`
Narasimha1997 Nov 21, 2020
b613950
test: increase coverage for util.inspect()
Trott Nov 22, 2020
bcf7393
tools: bump cpplint to 1.5.3
Trott Nov 23, 2020
82c1e39
tools: refloat 7 Node.js patches to cpplint.py
Trott Oct 9, 2020
a2da7ba
tools: use using-declaration consistently
danbev Nov 24, 2020
2c7358e
test: fix flaky sequential/test-fs-watch
Trott Nov 24, 2020
e79bdc3
assert: refactor to use more primordials
aduh95 Nov 19, 2020
74adc44
build: fix typo in Makefile
RaisinTen Nov 19, 2020
a9ac86d
policy: refactor to use more primordials
aduh95 Nov 15, 2020
c04a2df
fs: refactor to use more primordials
aduh95 Nov 19, 2020
744b8aa
fs: pass ERR_DIR_CLOSED asynchronously to dir.close
Lxxyx Nov 24, 2020
3e5fcda
doc: add table header in intl.md
Trott Nov 25, 2020
5935ccc
tools: fix undeclared identifier FALSE
aduh95 Nov 25, 2020
6bc007f
tty: refactor to use more primordials
Lxxyx Nov 26, 2020
537e5cb
fs: move method definition from header
yashLadha Nov 25, 2020
b61ca1b
test: replace anonymous functions by arrows
arsenalzp Nov 14, 2020
d95ae65
tools: update highlight.js to 10.1.2
MylesBorins Nov 28, 2020
58abdca
http: enable call chaining with setHeader()
PoojaDurgad Nov 2, 2020
278862a
deps: upgrade npm to 7.0.15
ruyadorno Nov 27, 2020
d4de7c7
module: add isPreloading indicator
jasnell Nov 25, 2020
0401ffb
doc: add process for handling premature disclosure
mhdawson Nov 17, 2020
8cf1add
tools: update stability index linking logic
Trott Nov 26, 2020
6ebb98a
src: use ToLocal in DeserializeProperties
danbev Nov 26, 2020
ea09da4
test: fix typo in comment
inokawa Nov 29, 2020
2a24096
os: refactor to use more primordials
aduh95 Nov 20, 2020
fbd5652
v8: refactor to use more primordials
aduh95 Nov 20, 2020
ea46ca8
perf_hooks: refactor to use more primordials
aduh95 Nov 21, 2020
5f41f1b
http2: check write not scheduled in scope destructor
davedoesdev Nov 23, 2020
c14512b
errors: display original symbol name
bcoe Nov 8, 2020
802d44b
worker: add experimental BroadcastChannel
jasnell Nov 26, 2020
8d8d226
buffer: refactor to use more primordials
aduh95 Nov 18, 2020
4127eb2
https: add abortcontroller test
benjamingr Nov 28, 2020
29b5236
timers: reject with AbortError on cancellation
benjamingr Nov 29, 2020
f317bba
tls: permit null as a cipher value
Trott Nov 29, 2020
855a85c
events: support signal in EventTarget
benjamingr Nov 25, 2020
faca2b8
test: fix test-worker-broadcastchannel-wpt
Trott Dec 2, 2020
9cb53f6
repl: refactor to use more primordials
aduh95 Nov 16, 2020
b20409e
tls: refactor to use more primordials
aduh95 Nov 17, 2020
21c4704
worker: refactor to use more primordials
aduh95 Nov 16, 2020
0e7f0c6
path: refactor to use more primordials
aduh95 Nov 18, 2020
ca8db41
benchmark,child_process: remove failing benchmark parameter
aduh95 Nov 27, 2020
e7b2d91
src: use transferred consistently
danbev Dec 1, 2020
ab084c1
querystring: refactor to use more primordials
aduh95 Nov 18, 2020
4ca1bd8
child_process: refactor to use more primordials
Lxxyx Nov 25, 2020
a03aa0a
src: rename AliasedBufferInfo->AliasedBufferIndex
danbev Dec 1, 2020
8dadaa6
src: remove some duplication in DeserializeProps
danbev Dec 1, 2020
cc18907
module: refactor to use more primordials
aduh95 Nov 21, 2020
4b4caad
zlib: refactor to use more primordials
aduh95 Nov 20, 2020
22028aa
test: skip flaky parts of broadcastchannel test on Windows
Trott Dec 4, 2020
8d69d83
dgram: refactor to use more primordials
aduh95 Nov 19, 2020
b885409
readline: refactor to use more primordials
aduh95 Nov 15, 2020
2868ffb
tools: remove bashisms from release script
aduh95 Nov 14, 2020
754b7a7
tools: remove bashisms from macOS release scripts
aduh95 Nov 14, 2020
6033d30
stream: add FileHandle support to Read/WriteStream
mmomtchev Nov 2, 2020
8731a80
vm: add `SafeForTerminationScope`s for SIGINT interruptions
addaleax Dec 1, 2020
a8b95cf
tools: bump cpplint to 1.5.4
Trott Nov 30, 2020
e798770
tools: refloat 7 Node.js patches to cpplint.py
Trott Oct 9, 2020
224a647
child_process: add AbortSignal support
benjamingr Nov 28, 2020
2649c38
doc: add version metadata to timers/promises
cjihrig Dec 4, 2020
bef550a
doc: add Powershell oneliner to get Windows version
saitonakamura Nov 6, 2019
fbcb72a
test: increase coverage for readline
Lxxyx Dec 4, 2020
9db9be7
buffer: refactor to use primordials instead of Array#reduce
aduh95 Dec 4, 2020
1091a65
test: fix bootstrap test
benjamingr Dec 6, 2020
a7e794d
test: fix flaky test-http2-respond-file-error-pipe-offset
Trott Nov 28, 2020
b39d150
test: fix comment misspellings of transferred
Trott Dec 3, 2020
197ba21
stream: support abort signal
benjamingr Nov 9, 2020
f73a0a8
lib: fix typo in internal/errors.js
RaisinTen Dec 7, 2020
a15addc
string_decoder: refactor to use more primordials
aduh95 Nov 21, 2020
cedf51f
http2: refactor to use more primordials
aduh95 Nov 21, 2020
c2938bd
lib: add uncurried accessor properties to `primordials`
ExE-Boss Nov 30, 2020
47345a1
worker: refactor to use more primordials
aduh95 Dec 4, 2020
9ae59c8
tools: upgrade to @babel/eslint-parser 7.12.1
aduh95 Nov 29, 2020
8611b8f
net: refactor to use more primordials
aduh95 Nov 17, 2020
5e5927e
2020-12-09, Version 15.4.0 (Current)
danielleadams Dec 7, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
lib: refactor primordials.uncurryThis
This is done to avoid creating an array and gain performance.

Co-authored-by: ExE Boss <3889017+ExE-Boss@users.noreply.github.com>

PR-URL: #36221
Refs: https://v8.dev/blog/v8-release-80#optimizing-higher-order-builtins
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
  • Loading branch information
aduh95 authored and danielleadams committed Dec 7, 2020
commit 617cb58cc8dc3fb72088ef9156da92cb251c0cc3
16 changes: 5 additions & 11 deletions lib/internal/per_context/primordials.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,11 @@
// `primordials.Object` where `primordials` is a lexical variable passed
// by the native module compiler.

const ReflectApply = Reflect.apply;

// This function is borrowed from the function with the same name on V8 Extras'
// `utils` object. V8 implements Reflect.apply very efficiently in conjunction
// with the spread syntax, such that no additional special case is needed for
// function calls w/o arguments.
// Refs: https://github.com/v8/v8/blob/d6ead37d265d7215cf9c5f768f279e21bd170212/src/js/prologue.js#L152-L156
function uncurryThis(func) {
return (thisArg, ...args) => ReflectApply(func, thisArg, args);
}

// `uncurryThis` is equivalent to `func => Function.prototype.call.bind(func)`.
// It is using `call.bind(bind, call)` to avoid using `Function.prototype.bind`
// after it may have been mutated by users.
const { bind, call } = Function.prototype;
const uncurryThis = call.bind(bind, call);
primordials.uncurryThis = uncurryThis;

function copyProps(src, dest) {
Expand Down