Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
81ae82e
Working on v2.3.2
rvagg Jun 23, 2015
392e8fd
doc: add @shigeki and @mscdex to TC
rvagg Jun 18, 2015
1330ee3
doc: add TC meeting 2015-05-13 minutes
rvagg May 14, 2015
834a365
build: DTrace is enabled by default on darwin
evanlucas Jun 19, 2015
bdfeb79
test: remove obsolete TODO comments
Trott Jun 22, 2015
776a65e
test: remove obsolete TODO comments
Trott Jun 22, 2015
644b2ea
doc: rename tc-meetings to tsc-meetings
rvagg Jun 3, 2015
941ad36
doc: archive io.js TC minutes
rvagg Jun 3, 2015
50dbc8e
doc: add TSC meeting minutes 2015-05-27
rvagg Jun 3, 2015
dbd5dc9
doc: clarify prerequisites in benchmark/README.md
Fishrock123 Jun 23, 2015
f1f1b7e
doc: add TSC meeting minutes 2015-06-17
rvagg Jun 24, 2015
54d5437
doc: Added sample command to test iojs build
jimmyhsu Feb 16, 2015
c0c0d73
build,win: set env before generating projects
orangemocha Apr 23, 2015
4208dc4
build: add MSVS 2015 support
rvagg Apr 16, 2015
c87c34c
build: fix cherry-pick ooops, fix comment wording
rvagg Jun 23, 2015
8e9089a
test: check for error on Windows
Trott Jun 23, 2015
dcbb9e1
build: update build targets for io.js
rvagg Jun 10, 2015
1f371e3
deps: copy all openssl header files to include dir
Jun 19, 2015
628a3ab
build: add tar-headers target for headers-only tar
rvagg Jun 14, 2015
c370bd3
doc: make the abbreviation 1MM clear
yanxyz Jun 25, 2015
d735b2c
repl: fix tab completion for a non-global context
sixmen May 27, 2015
a198c68
repl: make 'Unexpected token' errors recoverable
Dec 15, 2014
06721fe
test: fix test-repl-tab-complete.js
cjihrig Jun 24, 2015
8350f3a
buffer: optimize Buffer#toString()
bnoordhuis Jun 21, 2015
4d5089e
test: do not swallow OpenSSL support error
Trott Jun 23, 2015
856c11f
test: purge stale disabled tests
Trott Jun 23, 2015
1cd9eeb
buffer: prevent abort on bad proto
trevnorris Jun 18, 2015
7f63449
net: fix debug for dnsopts
evanlucas Jun 25, 2015
8cee8f5
src: nix stdin _readableState.reading manipulation
chrisdickinson Jan 15, 2015
9e890fe
crypto: fix VerifyCallback in case of verify error
Jun 26, 2015
1a51f00
v8: cherry-pick JitCodeEvent patch from upstream
bnoordhuis Jun 29, 2015
d91e10b
tools: update eslint to 0.24.0
silverwind Jun 28, 2015
e3f9335
tools: re-enable comma-spacing linter rule
silverwind Jun 28, 2015
f52d733
benchmark: fix typo in README
Trott Jun 27, 2015
05a73c0
benchmark: make concurrent requests configurable
Trott Jun 27, 2015
99cbbc0
tools: update gyp to 25ed9ac
bnoordhuis Jun 29, 2015
58e914f
tools: fix gyp to work on MacOSX without XCode
Feb 10, 2015
6c61ca5
url: fix typo in comment
Trott Jun 28, 2015
9180140
_stream_wrap: prevent use after free in TLS
indutny Jun 6, 2015
af249fa
net: wrap connect in nextTick
evanlucas Jun 25, 2015
eabed2f
repl: remove obsolete TODO
Trott Jun 30, 2015
44c2465
2015-07-02 io.js v2.3.2 Release
rvagg Jul 2, 2015
d55a778
Working on v2.3.3
rvagg Jul 2, 2015
9cd44bb
util: prepend '(node) ' to deprecation messages
thefourtheye Jun 13, 2015
0f09b8d
doc: don't recommend domains for error handling
benjamingr Jun 25, 2015
030f804
deps: fix out-of-band write in utf8 decoder
indutny Jul 3, 2015
2faae58
2015-07-04 io.js v2.3.3 Release
Fishrock123 Jul 3, 2015
3754920
Working on v2.3.4
Fishrock123 Jul 3, 2015
9436a86
test: add test for missing `close`/`finish` event
not-implemented Apr 13, 2015
4614033
doc: update AUTHORS list
rvagg Jul 3, 2015
bca53dc
path: refactor for performance and consistency
nwoltman May 23, 2015
0d15161
benchmark: Add some path benchmarks for #1778
nwoltman Jun 6, 2015
fb05c8e
Revert "test: add test for missing `close`/`finish` event"
indutny Jul 4, 2015
863cdbd
deps: upgrade to npm 2.12.1
zkat Jul 6, 2015
b18c841
deps: make node-gyp work with io.js
cjihrig Feb 27, 2015
dd523c7
win,node-gyp: enable delay-load hook by default
piscisaureus Apr 15, 2015
84b3915
doc: document current release procedure
rvagg Jul 3, 2015
180fd39
test: refactor test-repl-tab-complete
thefourtheye Jul 7, 2015
ee3ce2e
tools: install gdbinit from v8 to $PREFIX/share
ofrobots Jul 6, 2015
2ba1740
test: add missing crypto checks
jbergstroem Jul 8, 2015
6bef15a
src: remove traceSyncIO property from process
bmeck Jul 9, 2015
ca93f7f
deps: upgrade openssl sources to 1.0.2d
Jul 9, 2015
c70e68f
deps: update deps/openssl/conf/arch/*/opensslconf.h
Jul 9, 2015
dfcd202
2015-07-09 io.js v2.3.4 Release
Fishrock123 Jul 9, 2015
1a340a8
Working on v2.3.5
Fishrock123 Jul 9, 2015
842eb5b
test: add test for dgram.setTTL
evanlucas Jul 7, 2015
47e2c5c
build: bail early if clean is invoked
jbergstroem Jul 7, 2015
59f6b5d
repl: Prevent crash when tab-completed with Proxy
thefourtheye Jul 7, 2015
84012c9
build: fix vcbuild merge issues
orangemocha Jul 8, 2015
12bc397
build: run-ci makefile rule
orangemocha Jul 8, 2015
1afc0c9
fs: fix error on bad listener type
brendanashworth Jul 1, 2015
23efb05
doc: document fs.watchFile behaviour on ENOENT
brendanashworth Jul 1, 2015
cf14a24
src: add --track-heap-objects
bmeck Jul 9, 2015
bd01603
readline: fix freeze if `keypress` event throws
rlidwka Jul 5, 2015
2ba8460
path: assert path.join() arguments equally
phillipj Jul 10, 2015
d4ceb16
test: properly clean up temp directory
silverwind Jul 11, 2015
5acad6b
child_process: fix arguments comments
silverwind Jul 10, 2015
65963ec
doc,test: empty strings in path module
thefourtheye Jul 5, 2015
30a0d47
doc: add TSC meeting minutes 2015-07-01
rvagg Jul 8, 2015
f95f9ef
build: always use prefix=/ for tar-headers
rvagg Jun 30, 2015
2b4b600
test: fix test-debug-port-from-cmdline
joaocgreis Jul 15, 2015
6c3aabf
doc: add TSC meeting minutes 2015-07-08
rvagg Jul 15, 2015
938cc75
deps: upgrade to npm 2.13.0
othiym23 Jul 10, 2015
3c4121c
deps: make node-gyp work with io.js
cjihrig Feb 27, 2015
cff7300
win,node-gyp: enable delay-load hook by default
piscisaureus Apr 15, 2015
4e92dbc
doc: add TSC members from the combined project
Fishrock123 May 15, 2015
0ab81e6
docs: link to more up-to-date v8 docs
Fishrock123 Jul 16, 2015
a179bcb
2015-07-17 io.js v2.4.0 Release
Fishrock123 Jul 17, 2015
a764ac4
Working on v2.4.1
Fishrock123 Jul 17, 2015
fef87fe
lib,test: add freelist deprecation and test
thefourtheye Jul 14, 2015
c019d9a
doc: add thefourtheye as a collaborator
thefourtheye Jul 18, 2015
6f306e0
doc: add targos as a collaborator
targos Jul 17, 2015
c7d8b09
doc: recompile before testing core module changes
phillipj Jun 24, 2015
6b85d5a
doc: add TSC meeting minutes 2015-07-15
rvagg Jul 16, 2015
69298d3
test: formatting skip messages for TAP parsing
thefourtheye Jul 6, 2015
79c865a
test: changing process.exit to return while skipping tests
thefourtheye Jul 7, 2015
b612f08
doc: add joaocgreis as a collaborator
joaocgreis Jul 20, 2015
6391f4d
util: removing redundant checks in is* functions
thefourtheye Jul 14, 2015
04893a7
deps: upgrade to npm 2.13.1
zkat Jul 21, 2015
73cdcdd
deps: make node-gyp work with io.js
cjihrig Feb 27, 2015
f90f1e7
win,node-gyp: enable delay-load hook by default
piscisaureus Apr 15, 2015
ac7d3fa
test: add -no_rand_screen to s_client opts on Win
Jul 18, 2015
9afee67
http: Check this.connection before using it
thefourtheye Jul 13, 2015
eb35968
crypto: fix legacy SNICallback
indutny May 17, 2015
4ef2b5f
doc: Replace util.debug with console.error
yosuke-furukawa Jul 21, 2015
e11fc67
tls: add `getTicketKeys()`/`setTicketKeys()`
indutny Jul 22, 2015
66fc8ca
cluster: emit 'message' event on cluster master
sam-github Feb 15, 2015
bf2cd22
process: resize stderr on SIGWINCH
Fishrock123 Jul 23, 2015
0a7bf81
deps: update V8 to 4.2.77.21
ofrobots Jul 24, 2015
d9f857d
doc: note about custom inspect functions
thefourtheye Jul 9, 2015
a3c1b97
doc: add GPG fingerprint for cjihrig
cjihrig Jul 21, 2015
77fa385
repl: fixing `undefined` in invalid REPL keyword error
thefourtheye Jul 12, 2015
30edb5a
repl: preventing REPL crash with inherited properties
thefourtheye Jul 12, 2015
81ea52a
repl: improving line continuation handling
thefourtheye Jul 12, 2015
afd7e37
repl: better empty line handling
thefourtheye Jul 12, 2015
68b06e9
tools: use local or specified $NODE for test-npm
Fishrock123 Jun 15, 2015
b73a746
deps: upgrade to npm 2.13.2
zkat Jul 24, 2015
fef190c
deps: make node-gyp work with io.js
cjihrig Feb 27, 2015
b148c0d
win,node-gyp: enable delay-load hook by default
piscisaureus Apr 15, 2015
8fd3ce1
src: make base64 decoding 50% faster
bnoordhuis Jul 15, 2015
ac70bc8
test: fix valgrind uninitialized memory warning
bnoordhuis Jul 16, 2015
99d9d7e
benchmark: add remaining path benchmarks & optimize
nwoltman Jul 4, 2015
93660c8
node: remove bad fn call and check
trevnorris Jul 10, 2015
4e78cd7
test: skip IPv6 part before testing it
thefourtheye Jul 22, 2015
2ca5a3d
https: reuse TLS sessions in Agent
indutny Jul 23, 2015
503b089
net: don't throw on immediately destroyed socket
evanlucas Jul 27, 2015
f2c83bd
timers: remove unused Timer.setRepeat()
bnoordhuis Jul 27, 2015
bcce5cf
timers: remove unused Timer.getRepeat()
bnoordhuis Jul 27, 2015
3663b12
timers: remove unused Timer.again()
bnoordhuis Jul 27, 2015
543dabb
timers: improve Timer.now() performance
bnoordhuis Jul 27, 2015
c786d63
test: do not use public IPs for timeout testing
Trott Jun 25, 2015
ab47965
util: delay creation of debug context
ofrobots Jul 25, 2015
3ce020b
2015-07-28 io.js v2.5.0 Release
cjihrig Jul 28, 2015
a4b4600
Working on v2.5.1
cjihrig Jul 28, 2015
54627a9
doc: server close event does not have an argument
sam-github Mar 2, 2015
500f253
doc: a listener, not "an" listener
sam-github Jul 28, 2015
d168d01
doc: properly inheriting from EventEmitter
thefourtheye Jul 12, 2015
bc733f7
test: fix fs.readFile('/dev/stdin') tests
bnoordhuis Jul 29, 2015
24dd016
build: produce symbol map files on windows
ofrobots Jul 25, 2015
3cbb587
tools: expose skip output to test runner
jbergstroem Jul 8, 2015
fa98b97
cluster: add handle ref/unref stubs in rr mode
bnoordhuis Jul 29, 2015
d5ab92b
test: use common.isWindows consistently
thefourtheye Jul 29, 2015
bf63266
deps: upgrade to npm 2.13.3
zkat Aug 1, 2015
2a63cf6
deps: make node-gyp work with io.js
cjihrig Feb 27, 2015
9bac1db
win,node-gyp: enable delay-load hook by default
piscisaureus Apr 15, 2015
80a1cf7
test: fix messages and use return to skip tests
thefourtheye Aug 2, 2015
64cf711
test: change the hostname to an invalid name
thefourtheye Aug 2, 2015
ea05e76
repl: don't clobber RegExp.$ properties
thefourtheye Jul 8, 2015
ed85c95
doc,test: documents behaviour of non-existent file
thefourtheye Jul 12, 2015
21d31c0
test: remove obsolete harmony flags
chrisdickinson May 5, 2015
d58e780
deps: update v8 to 4.3.61.21
chrisdickinson May 5, 2015
d12df7f
doc: update v8 flags in man page
targos May 14, 2015
df1994f
Revert "dns: remove AI_V4MAPPED hint flag on FreeBSD"
cjihrig Apr 29, 2015
9bc2e26
net: do not set V4MAPPED on FreeBSD
Mar 2, 2015
deb7ee9
deps: backport 7b24219346 from v8 upstream
rvagg May 27, 2015
23be6ca
buffer: allow ARGS_THIS to accept a name
trevnorris May 26, 2015
63da0df
buffer: implement Uint8Array backed Buffer
trevnorris May 26, 2015
d75f5c8
buffer: finish implementing FreeCallback
trevnorris Jun 1, 2015
571ec13
buffer: switch to using Maybe<T> API
trevnorris Jun 2, 2015
36f78f4
buffer: switch API to return MaybeLocal<T>
trevnorris Jun 2, 2015
8664084
buffer: make additional changes to native API
trevnorris Jun 2, 2015
944f680
crypto: remove kMaxLength on randomBytes()
trevnorris Jun 2, 2015
659dadd
vm: fix property descriptors of sandbox properties
domenic May 22, 2015
7b81e4b
vm: remove unnecessary access checks
domenic May 23, 2015
3b021ef
vm: fix symbol access
domenic Jun 1, 2015
3da057f
dgram: make send cb act as "error" event handler
chrisdickinson Jun 5, 2014
ef2c8cd
dgram: make send cb act as "error" event handler
mcollina May 26, 2015
11e4249
http_server: `prefinish` vs `finish`
indutny Apr 13, 2015
eea66e2
buffer: fix case of one buffer passed to concat
thefourtheye Jun 10, 2015
423d894
cluster: do not unconditionally set --debug-port
cjihrig Jun 11, 2015
b625ab4
buffer: fix usage of kMaxLength
trevnorris Jun 17, 2015
e5ada11
buffer: minor cleanup from rebase
trevnorris Jun 17, 2015
4643b8b
buffer: allow ArrayBuffer as Buffer argument
trevnorris Jun 17, 2015
70d1f32
deps: update v8 to 4.4.63.9
bnoordhuis Jun 19, 2015
ae731ec
test: don't use arguments.callee
bnoordhuis Jun 19, 2015
8e1a8ff
test: remove two obsolete pummel tests
bnoordhuis Jun 19, 2015
1057d11
buffer: rename internal/buffer_new.js to buffer.js
bnoordhuis Jun 19, 2015
902c9ca
node-gyp: make aware of nightly, next-nightly & rc
rvagg Jun 26, 2015
e52f963
node-gyp: download header tarball for compile
rvagg Jun 26, 2015
6f40b03
Working on v3.0.0
rvagg Jun 30, 2015
3aad4fa
deps: upgrade v8 to 4.4.63.12
bnoordhuis Jul 1, 2015
9d34bd1
src: increment NODE_MODULE_VERSION to 45
rvagg Jul 2, 2015
ef65321
node: do not override `message`/`stack` of error
indutny Jul 5, 2015
2d9456e
http: use official IANA Status Codes
jomo Jul 11, 2015
04fd4fa
src: introduce process.release object
rvagg Jan 18, 2015
9f727f5
node-gyp: detect RC build with x.y.z-rc.n format
rvagg Jul 13, 2015
e6ab2d9
buffer: fix not return on error
trevnorris Jul 22, 2015
b4226e7
build: first set of updates to enable PPC support
mhdawson Jul 7, 2015
2ba8b23
build: add 'x86' option back in to configure
rvagg Jul 24, 2015
60a974d
buffer: fix missing null/undefined check
trevnorris Jul 16, 2015
ba9ccf2
node: remove redundant --use-old-buffer
rvagg Jul 30, 2015
971de5e
build: prepare Windows installer for i18n support
fhemberger Jul 25, 2015
4cffaa3
readline: allow tabs in input
Trott May 21, 2015
2965442
http: fix agent.getName() and add tests
brendanashworth May 5, 2015
3d3c687
deps: update V8 to 4.4.63.26
targos Jul 27, 2015
d200932
src: disable vector ICs on arm
targos Jul 30, 2015
1721968
doc: document repl persistent history changes
Fishrock123 Aug 4, 2015
ceee8d2
test: add tests for persistent repl history
Fishrock123 Aug 2, 2015
f7d5e4c
repl: default persistence to ~/.node_repl_history
Fishrock123 Aug 4, 2015
ed6c249
repl: persist history in plain text
Fishrock123 Aug 3, 2015
13332e1
doc: fix heading levels for new repl documentation
rvagg Aug 4, 2015
6faf17c
2015-08-04 io.js v3.0.0 Release
rvagg Aug 1, 2015
a020d9a
Working on v3.0.1
rvagg Aug 4, 2015
d88194d
Working on v4.0.0
rvagg Aug 5, 2015
936c9ff
doc: multiple documentation updates cherry picked from v0.12
jasnell Jun 24, 2015
67987d9
test: address timing issues in simple http tests
gireeshpunathil Mar 18, 2015
5d2acfb
net: ensure Socket reported address is current
rmg Jul 2, 2015
b6a0185
deps: update V8 to 4.5.103.20
ofrobots Aug 7, 2015
03d2bd3
test: make listen-fd-cluster/server more robust
sam-github Jun 10, 2015
c399d17
tls: introduce internal `onticketkeycallback`
indutny Aug 8, 2015
6ad99ac
tls: fix check for reused session
indutny Aug 8, 2015
7d14dd9
util: display constructor when inspecting objects
monsanto Jun 10, 2015
b0dd3bf
build: update manifest to include Windows 10
LPGhatguy Aug 9, 2015
2db57bd
path: remove dead code in favor of unit tests
nwoltman Jul 31, 2015
117cab9
Merge branch 'master' into next+1
ofrobots Aug 9, 2015
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
deps: update V8 to 4.5.103.20
Update to the latest branch-head for V8 4.5. This version unships spread calls
and spread arrays and fixes a few issues.

Detailed information on the V8 commits contained herein:
https://github.com/v8/v8-git-mirror/commits/4.5.103.20

Note that there is a typo in the commit log that mistakenly calls it 4.5.103.15.
For posterity, 4.5.103.20 refers to
v8/v8@71d2ce6
  • Loading branch information
ofrobots committed Aug 7, 2015
commit b6a018586c48615cbcb9fe4f2896bce68d536a84
2 changes: 1 addition & 1 deletion deps/v8/include/v8-version.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#define V8_MAJOR_VERSION 4
#define V8_MINOR_VERSION 5
#define V8_BUILD_NUMBER 103
#define V8_PATCH_LEVEL 6
#define V8_PATCH_LEVEL 20

// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
Expand Down
9 changes: 0 additions & 9 deletions deps/v8/src/api-natives.cc
Original file line number Diff line number Diff line change
Expand Up @@ -151,15 +151,6 @@ MaybeHandle<JSObject> ConfigureInstance(Isolate* isolate, Handle<JSObject> obj,
PropertyAttributes attributes = details.attributes();
PropertyKind kind = details.kind();

if (obj->map()->owns_descriptors() &&
obj->map()->instance_descriptors()->length() != 0 &&
obj->map()->instance_descriptors()->NumberOfSlackDescriptors() == 0 &&
TransitionArray::SearchTransition(obj->map(), kind, *name,
attributes) == NULL) {
Map::EnsureDescriptorSlack(handle(obj->map()),
data->number_of_properties() - c);
}

if (kind == kData) {
auto prop_data = handle(properties.get(i++), isolate);

Expand Down
4 changes: 1 addition & 3 deletions deps/v8/src/arm/assembler-arm-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -433,9 +433,7 @@ void Assembler::CheckBuffer() {
if (buffer_space() <= kGap) {
GrowBuffer();
}
if (pc_offset() >= next_buffer_check_) {
CheckConstPool(false, true);
}
MaybeCheckConstPool();
}


Expand Down
29 changes: 20 additions & 9 deletions deps/v8/src/arm/assembler-arm.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1308,7 +1308,7 @@ void Assembler::addrmod5(Instr instr, CRegister crd, const MemOperand& x) {
}


int Assembler::branch_offset(Label* L, bool jump_elimination_allowed) {
int Assembler::branch_offset(Label* L) {
int target_pos;
if (L->is_bound()) {
target_pos = L->pos();
Expand Down Expand Up @@ -1377,6 +1377,24 @@ void Assembler::bx(Register target, Condition cond) { // v5 and above, plus v4t
}


void Assembler::b(Label* L, Condition cond) {
CheckBuffer();
b(branch_offset(L), cond);
}


void Assembler::bl(Label* L, Condition cond) {
CheckBuffer();
bl(branch_offset(L), cond);
}


void Assembler::blx(Label* L) {
CheckBuffer();
blx(branch_offset(L));
}


// Data-processing instructions.

void Assembler::and_(Register dst, Register src1, const Operand& src2,
Expand Down Expand Up @@ -3820,10 +3838,7 @@ void Assembler::CheckConstPool(bool force_emit, bool require_jump) {
bind(&size_check);

// Emit jump over constant pool if necessary.
Label after_pool;
if (require_jump) {
b(&after_pool);
}
if (require_jump) b(size - kPcLoadDelta);

// Put down constant pool marker "Undefined instruction".
// The data size helps disassembly know what to print.
Expand Down Expand Up @@ -3907,10 +3922,6 @@ void Assembler::CheckConstPool(bool force_emit, bool require_jump) {
RecordComment("]");

DCHECK_EQ(size, SizeOfCodeGeneratedSince(&size_check));

if (after_pool.is_linked()) {
bind(&after_pool);
}
}

// Since a constant pool was just emitted, move the check offset forward by
Expand Down
20 changes: 12 additions & 8 deletions deps/v8/src/arm/assembler-arm.h
Original file line number Diff line number Diff line change
Expand Up @@ -700,7 +700,7 @@ class Assembler : public AssemblerBase {
// Returns the branch offset to the given label from the current code position
// Links the label to the current position if it is still unbound
// Manages the jump elimination optimization if the second parameter is true.
int branch_offset(Label* L, bool jump_elimination_allowed);
int branch_offset(Label* L);

// Returns true if the given pc address is the start of a constant pool load
// instruction sequence.
Expand Down Expand Up @@ -806,13 +806,11 @@ class Assembler : public AssemblerBase {
void bx(Register target, Condition cond = al); // v5 and above, plus v4t

// Convenience branch instructions using labels
void b(Label* L, Condition cond = al) {
b(branch_offset(L, cond == al), cond);
}
void b(Condition cond, Label* L) { b(branch_offset(L, cond == al), cond); }
void bl(Label* L, Condition cond = al) { bl(branch_offset(L, false), cond); }
void bl(Condition cond, Label* L) { bl(branch_offset(L, false), cond); }
void blx(Label* L) { blx(branch_offset(L, false)); } // v5 and above
void b(Label* L, Condition cond = al);
void b(Condition cond, Label* L) { b(L, cond); }
void bl(Label* L, Condition cond = al);
void bl(Condition cond, Label* L) { bl(L, cond); }
void blx(Label* L); // v5 and above

// Data-processing instructions

Expand Down Expand Up @@ -1492,6 +1490,12 @@ class Assembler : public AssemblerBase {
// Check if is time to emit a constant pool.
void CheckConstPool(bool force_emit, bool require_jump);

void MaybeCheckConstPool() {
if (pc_offset() >= next_buffer_check_) {
CheckConstPool(false, true);
}
}

int EmitEmbeddedConstantPool() {
DCHECK(FLAG_enable_embedded_constant_pool);
return constant_pool_builder_.Emit(this);
Expand Down
2 changes: 2 additions & 0 deletions deps/v8/src/compiler/arm/code-generator-arm.cc
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,8 @@ void CodeGenerator::AssembleDeconstructActivationRecord() {
void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
ArmOperandConverter i(this, instr);

masm()->MaybeCheckConstPool();

switch (ArchOpcodeField::decode(instr->opcode())) {
case kArchCallCodeObject: {
EnsureSpaceForLazyDeopt();
Expand Down
12 changes: 1 addition & 11 deletions deps/v8/src/compiler/mips/code-generator-mips.cc
Original file line number Diff line number Diff line change
Expand Up @@ -907,42 +907,32 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) {
cc = FlagsConditionToConditionTst(branch->condition);
__ And(at, i.InputRegister(0), i.InputOperand(1));
__ Branch(tlabel, cc, at, Operand(zero_reg));

} else if (instr->arch_opcode() == kMipsAddOvf ||
instr->arch_opcode() == kMipsSubOvf) {
// kMipsAddOvf, SubOvf emit negative result to 'kCompareReg' on overflow.
cc = FlagsConditionToConditionOvf(branch->condition);
__ Branch(tlabel, cc, kCompareReg, Operand(zero_reg));

} else if (instr->arch_opcode() == kMipsCmp) {
cc = FlagsConditionToConditionCmp(branch->condition);
__ Branch(tlabel, cc, i.InputRegister(0), i.InputOperand(1));

if (!branch->fallthru) __ Branch(flabel); // no fallthru to flabel.

} else if (instr->arch_opcode() == kMipsCmpS) {
if (!convertCondition(branch->condition, cc)) {
UNSUPPORTED_COND(kMips64CmpS, branch->condition);
}
__ BranchF32(tlabel, NULL, cc, i.InputSingleRegister(0),
i.InputSingleRegister(1));

if (!branch->fallthru) __ Branch(flabel); // no fallthru to flabel.

} else if (instr->arch_opcode() == kMipsCmpD) {
if (!convertCondition(branch->condition, cc)) {
UNSUPPORTED_COND(kMips64CmpD, branch->condition);
}
__ BranchF64(tlabel, NULL, cc, i.InputDoubleRegister(0),
i.InputDoubleRegister(1));

if (!branch->fallthru) __ Branch(flabel); // no fallthru to flabel.

} else {
PrintF("AssembleArchBranch Unimplemented arch_opcode: %d\n",
instr->arch_opcode());
UNIMPLEMENTED();
}
if (!branch->fallthru) __ Branch(flabel); // no fallthru to flabel.
}


Expand Down
9 changes: 1 addition & 8 deletions deps/v8/src/compiler/mips64/code-generator-mips64.cc
Original file line number Diff line number Diff line change
Expand Up @@ -983,37 +983,30 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) {
} else if (instr->arch_opcode() == kMips64Dadd ||
instr->arch_opcode() == kMips64Dsub) {
cc = FlagsConditionToConditionOvf(branch->condition);

__ dsra32(kScratchReg, i.OutputRegister(), 0);
__ sra(at, i.OutputRegister(), 31);
__ Branch(tlabel, cc, at, Operand(kScratchReg));
} else if (instr->arch_opcode() == kMips64Cmp) {
cc = FlagsConditionToConditionCmp(branch->condition);
__ Branch(tlabel, cc, i.InputRegister(0), i.InputOperand(1));

if (!branch->fallthru) __ Branch(flabel); // no fallthru to flabel.
} else if (instr->arch_opcode() == kMips64CmpS) {
if (!convertCondition(branch->condition, cc)) {
UNSUPPORTED_COND(kMips64CmpS, branch->condition);
}
__ BranchF32(tlabel, NULL, cc, i.InputSingleRegister(0),
i.InputSingleRegister(1));

if (!branch->fallthru) __ Branch(flabel); // no fallthru to flabel.

} else if (instr->arch_opcode() == kMips64CmpD) {
if (!convertCondition(branch->condition, cc)) {
UNSUPPORTED_COND(kMips64CmpD, branch->condition);
}
__ BranchF64(tlabel, NULL, cc, i.InputDoubleRegister(0),
i.InputDoubleRegister(1));

if (!branch->fallthru) __ Branch(flabel); // no fallthru to flabel.
} else {
PrintF("AssembleArchBranch Unimplemented arch_opcode: %d\n",
instr->arch_opcode());
UNIMPLEMENTED();
}
if (!branch->fallthru) __ Branch(flabel); // no fallthru to flabel.
}


Expand Down
6 changes: 3 additions & 3 deletions deps/v8/src/flag-definitions.h
Original file line number Diff line number Diff line change
Expand Up @@ -202,14 +202,14 @@ DEFINE_BOOL(legacy_const, true, "legacy semantics for const in sloppy mode")
#define HARMONY_STAGED(V) \
V(harmony_tostring, "harmony toString") \
V(harmony_concat_spreadable, "harmony isConcatSpreadable") \
V(harmony_rest_parameters, "harmony rest parameters")
V(harmony_rest_parameters, "harmony rest parameters") \
V(harmony_spreadcalls, "harmony spread-calls") \
V(harmony_spread_arrays, "harmony spread in array literals")

// Features that are shipping (turned on by default, but internal flag remains).
#define HARMONY_SHIPPING(V) \
V(harmony_arrow_functions, "harmony arrow functions") \
V(harmony_computed_property_names, "harmony computed property names") \
V(harmony_spreadcalls, "harmony spread-calls") \
V(harmony_spread_arrays, "harmony spread in array literals") \
V(harmony_unicode, "harmony unicode escapes") \
V(harmony_object, "harmony Object methods")

Expand Down
13 changes: 10 additions & 3 deletions deps/v8/src/heap/gc-idle-time-handler.cc
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,10 @@ bool GCIdleTimeHandler::ShouldDoScavenge(
size_t idle_time_in_ms, size_t new_space_size, size_t used_new_space_size,
size_t scavenge_speed_in_bytes_per_ms,
size_t new_space_allocation_throughput_in_bytes_per_ms) {
if (idle_time_in_ms >= kMinBackgroundIdleTime) {
// It is better to do full GC for the background tab.
return false;
}
size_t new_space_allocation_limit =
kMaxScheduledIdleTime * scavenge_speed_in_bytes_per_ms;

Expand Down Expand Up @@ -193,7 +197,10 @@ bool GCIdleTimeHandler::ShouldDoOverApproximateWeakClosure(
}


GCIdleTimeAction GCIdleTimeHandler::NothingOrDone() {
GCIdleTimeAction GCIdleTimeHandler::NothingOrDone(double idle_time_in_ms) {
if (idle_time_in_ms >= kMinBackgroundIdleTime) {
return GCIdleTimeAction::Nothing();
}
if (idle_times_which_made_no_progress_ >= kMaxNoProgressIdleTimes) {
return GCIdleTimeAction::Done();
} else {
Expand Down Expand Up @@ -232,7 +239,7 @@ GCIdleTimeAction GCIdleTimeHandler::Compute(double idle_time_in_ms,
// get the right idle signal.
if (ShouldDoContextDisposalMarkCompact(heap_state.contexts_disposed,
heap_state.contexts_disposal_rate)) {
return NothingOrDone();
return NothingOrDone(idle_time_in_ms);
}

if (ShouldDoScavenge(
Expand All @@ -247,7 +254,7 @@ GCIdleTimeAction GCIdleTimeHandler::Compute(double idle_time_in_ms,
if (heap_state.sweeping_completed) {
return GCIdleTimeAction::FinalizeSweeping();
} else {
return NothingOrDone();
return NothingOrDone(idle_time_in_ms);
}
}

Expand Down
2 changes: 1 addition & 1 deletion deps/v8/src/heap/gc-idle-time-handler.h
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ class GCIdleTimeHandler {
size_t new_space_allocation_throughput_in_bytes_per_ms);

private:
GCIdleTimeAction NothingOrDone();
GCIdleTimeAction NothingOrDone(double idle_time_in_ms);

// Idle notifications with no progress.
int idle_times_which_made_no_progress_;
Expand Down
4 changes: 3 additions & 1 deletion deps/v8/src/heap/heap.cc
Original file line number Diff line number Diff line change
Expand Up @@ -966,7 +966,9 @@ bool Heap::CollectGarbage(GarbageCollector collector, const char* gc_reason,
(committed_memory_before - committed_memory_after) > MB ||
HasHighFragmentation(used_memory_after, committed_memory_after) ||
(detached_contexts()->length() > 0);
memory_reducer_.NotifyMarkCompact(event);
if (deserialization_complete_) {
memory_reducer_.NotifyMarkCompact(event);
}
}

tracer()->Stop(collector);
Expand Down
21 changes: 10 additions & 11 deletions deps/v8/src/hydrogen.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11353,16 +11353,20 @@ HInstruction* HOptimizedGraphBuilder::BuildFastLiteral(
HValue* object_size_constant = Add<HConstant>(initial_map->instance_size());

PretenureFlag pretenure_flag = NOT_TENURED;
Handle<AllocationSite> current_site(*site_context->current(), isolate());
Handle<AllocationSite> top_site(*site_context->top(), isolate());
if (FLAG_allocation_site_pretenuring) {
pretenure_flag = current_site->GetPretenureMode();
top_info()->dependencies()->AssumeTenuringDecision(current_site);
pretenure_flag = top_site->GetPretenureMode();
}

Handle<AllocationSite> current_site(*site_context->current(), isolate());
if (*top_site == *current_site) {
// We install a dependency for pretenuring only on the outermost literal.
top_info()->dependencies()->AssumeTenuringDecision(top_site);
}
top_info()->dependencies()->AssumeTransitionStable(current_site);

HInstruction* object = Add<HAllocate>(
object_size_constant, type, pretenure_flag, instance_type, current_site);
object_size_constant, type, pretenure_flag, instance_type, top_site);

// If allocation folding reaches Page::kMaxRegularHeapObjectSize the
// elements array may not get folded into the object. Hence, we set the
Expand Down Expand Up @@ -11402,9 +11406,8 @@ HInstruction* HOptimizedGraphBuilder::BuildFastLiteral(
HValue* object_elements_size = Add<HConstant>(elements_size);
InstanceType instance_type = boilerplate_object->HasFastDoubleElements()
? FIXED_DOUBLE_ARRAY_TYPE : FIXED_ARRAY_TYPE;
object_elements =
Add<HAllocate>(object_elements_size, HType::HeapObject(),
pretenure_flag, instance_type, current_site);
object_elements = Add<HAllocate>(object_elements_size, HType::HeapObject(),
pretenure_flag, instance_type, top_site);
BuildEmitElements(boilerplate_object, elements, object_elements,
site_context);
Add<HStoreNamedField>(object, HObjectAccess::ForElementsPointer(),
Expand Down Expand Up @@ -11505,10 +11508,6 @@ void HOptimizedGraphBuilder::BuildEmitInObjectProperties(
if (representation.IsDouble()) {
// Allocate a HeapNumber box and store the value into it.
HValue* heap_number_constant = Add<HConstant>(HeapNumber::kSize);
// This heap number alloc does not have a corresponding
// AllocationSite. That is okay because
// 1) it's a child object of another object with a valid allocation site
// 2) we can just use the mode of the parent object for pretenuring
HInstruction* double_box =
Add<HAllocate>(heap_number_constant, HType::HeapObject(),
pretenure_flag, MUTABLE_HEAP_NUMBER_TYPE);
Expand Down
11 changes: 11 additions & 0 deletions deps/v8/src/lookup.cc
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,17 @@ void LookupIterator::ReloadPropertyInformation() {
}


void LookupIterator::ReloadHolderMap() {
DCHECK_EQ(DATA, state_);
DCHECK(IsElement());
DCHECK(JSObject::cast(*holder_)->HasExternalArrayElements() ||
JSObject::cast(*holder_)->HasFixedTypedArrayElements());
if (*holder_map_ != holder_->map()) {
holder_map_ = handle(holder_->map(), isolate_);
}
}


void LookupIterator::PrepareForDataProperty(Handle<Object> value) {
DCHECK(state_ == DATA || state_ == ACCESSOR);
DCHECK(HolderIsReceiverOrHiddenPrototype());
Expand Down
1 change: 1 addition & 0 deletions deps/v8/src/lookup.h
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@ class LookupIterator final BASE_EMBEDDED {
Handle<Object> GetDataValue() const;
void WriteDataValue(Handle<Object> value);
void InternalizeName();
void ReloadHolderMap();

private:
enum class InterceptorState {
Expand Down
4 changes: 2 additions & 2 deletions deps/v8/src/mips/assembler-mips-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -500,8 +500,8 @@ void Assembler::CheckBuffer() {
}


void Assembler::CheckTrampolinePoolQuick() {
if (pc_offset() >= next_buffer_check_) {
void Assembler::CheckTrampolinePoolQuick(int extra_instructions) {
if (pc_offset() >= next_buffer_check_ - extra_instructions * kInstrSize) {
CheckTrampolinePool();
}
}
Expand Down
Loading