Commit Graph

54785 Commits

Author SHA1 Message Date
Maciej Goszczycki
34102d9b7f [cleanup] Remove unnecessary static functions from heap-object.h
Change-Id: I626340e61e9c1a46e0d1c882cc4fa86454d93e8a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526013
Commit-Queue: Mythri Alle <mythria@chromium.org>
Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60293}
2019-03-18 13:15:26 +00:00
peterwmwong
a4ea15575f [builtins] Port TFS StringRepeat to Torque.
Bug: v8:8996
Change-Id: I035c380768c324d8912aa8bc414d533dbf7f3e5a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524640
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60292}
2019-03-18 13:09:06 +00:00
Jaroslav Sevcik
d62cd2f745 [turbofan] Do not call JSFunction::has_initial_map without has_prototype_slot
Bug: chromium:939316
Change-Id: I2a132b6cce208e110fe30de8d75743ac7534fc94
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1525942
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60291}
2019-03-18 13:00:06 +00:00
Simon Zünd
4516e35d02 [cleanup] Remove unused DefineMethodInternal runtime function
R=jgruber@chromium.org

Bug: v8:8834
Change-Id: Ib6f8e8fbc571b51fdfbb389d9fc7a38c60208c1b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528432
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60290}
2019-03-18 12:56:03 +00:00
Michael Lippautz
f4b860d9b8 [heap,api] Remove deprecated APIs
Bug: chromium:923361, v8:8834
Change-Id: I6ec42aeb74bea5c0629fcdc3f95c125f5de534a0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526195
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60289}
2019-03-18 12:51:22 +00:00
Matheus Marchini
1c1545401f [masm] make LoadCodeObjectEntry compatible with duplicated IET
On LoadCodeObjectEntry check for IsOffHeapTrampoline instead of
BuiltinIndexOffset so LoadCodeObjectEntry can correctly jump to the
on-heap trampoline when we use --interpreted-frames-native-stack.

R=jgruber@chromium.org, yangguo@google.com

Bug: v8:8911
Change-Id: I172d4735671726d32328de246990b513106e3a7f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1516692
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60288}
2019-03-18 12:49:32 +00:00
Clemens Hammacher
0a703c5b93 [foozzie] Disable async compilation of WebAssembly
Async compilation introduces nondeterminism, thus disable it for
foozzie.

R=ahaas@chromium.org, machenbach@chromium.org

Bug: v8:8949, chromium:942941
Change-Id: Ieeb92c530de299cdd34f0d9cc3a1293b2dc5e139
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526194
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60287}
2019-03-18 12:41:08 +00:00
Andreas Haas
e2f94a9c2d [compiler] Add include guard for code-assembler.h
Clients of the code-assembler.h shouldn't depend on lots of compiler
internals. Do not include anything from src/compiler there!

R=mstarzinger@chromium.org

Bug: v8:8834
Change-Id: Ie6f66af47153fad0b95c53d4d9cb03b95d3501fa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526196
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60286}
2019-03-18 12:40:02 +00:00
Simon Zünd
340d8c1596 [cleanup] Remove unused NativeFlags::NATIVE_CODE
Bug: v8:8834
Change-Id: I8e53e9288491a5eb50e9f27e95a6b40747e718ea
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526198
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60285}
2019-03-18 12:36:32 +00:00
Yu Yin
f072436b2e [mips] Fix layout of exit frame.
Change-Id: I1a30de8d889c60c59b6ef38a13f19f1fb7268622
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524756
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Yu Yin <xwafish@gmail.com>
Cr-Commit-Position: refs/heads/master@{#60284}
2019-03-18 12:32:52 +00:00
Igor Sheludko
43fa6bc9d2 Revert "[build] Suppress UBSan alignment checks in pointer compression"
This reverts commit 6861278461.

Reason for revert: I'll follow Jakob's suggestion and fix unaligned accesses in C++ with ReadUnalignedValue().

Original change's description:
> [build] Suppress UBSan alignment checks in pointer compression
> 
> It is a design decision of pointer compression to allow unaligned pointers,
> so disable this check in UBSan.
> 
> Bug: v8:7703
> Change-Id: I3fab34e77ad755cdef3cd385a3615e3d0e350c16
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523346
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Auto-Submit: Leszek Swirski <leszeks@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60235}

TBR=jkummerow@chromium.org,machenbach@chromium.org,leszeks@chromium.org,verwaest@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: v8:7703
Change-Id: I17e669e7b5e2dea8f0686911730d27f3d2732b85
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526200
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60283}
2019-03-18 12:31:48 +00:00
Mike Stanton
96de5eeba9 [TurboFan] Array.prototype.map wrong ElementsKind for output array.
Bug: chromium:941743
Change-Id: Ic8f72bb39be43096373407ef0ec99391bbee217f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526018
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60282}
2019-03-18 12:30:42 +00:00
Andreas Haas
d7cd9051ad [wasm][anyref] Introduce anyfunc globals
Anyfunc globals are very similar to anyref globals. This CL is mostly
about extending the conditions which guard the anyref globals code.

R=mstarzinger@chromium.org

Bug: v8:7581
Change-Id: Ia92ac4560102cc3ed0060342f92758db28f415ca
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526004
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60281}
2019-03-18 12:01:52 +00:00
Andreas Haas
644556e6ed [wasm][anyref] Implement table.[get|set] wasm instructions
R=mstarzinger@chromium.org

Bug: v8:7581
Change-Id: Ica85ba80c29d6d5c5b9163df8cf743c0f1da7f4f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520715
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60280}
2019-03-18 11:04:07 +00:00
Sigurd Schneider
790acd7cb0 Revert "[turbofan] add fast path for String.p.startsWith"
This reverts commit acadb20271.

Reason for revert: chromium:941952

Original change's description:
> [turbofan] add fast path for String.p.startsWith
> 
> Add a fast path for String.p.startsWith(str) when length of str is 1.
> 
> Bug: v8:8400
> Change-Id: I65e657549902dc3ad064a213d815dd098ce6455f
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1491872
> Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60091}

TBR=sigurds@chromium.org,bmeurer@chromium.org,usharma1998@gmail.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: v8:8400
Change-Id: Iabd66b8db0d6958686ea15a042d8567955700c9e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524205
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60279}
2019-03-18 10:57:03 +00:00
Jakob Gruber
ec0f51ff24 [mksnapshot] Default-init embedded variant to "Default"
This was always the intended behavior: when --embedded-variant is not
passed, we should assume "Default". What actually happened in this
case was that we'd initialize to nullptr. This CL adds the missing
nullptr check.

Bug: v8:6666
Change-Id: I87247c6c6cfec20da86d2714732a2f6044bb9b77
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526193
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60278}
2019-03-18 10:44:32 +00:00
Sigurd Schneider
3a6ecfecba Revert "[turbofan] add CheckSmi call to String.p.startsWith"
This reverts commit 6d209c9b61.

Reason for revert: chromium:941952

Original change's description:
> [turbofan] add CheckSmi call to String.p.startsWith
> 
> Add a CheckSmi call to the value of the position argument to
> String.prototype.startsWith(search, [position]).
> 
> Bug: v8:8400, chromium:939746
> Change-Id: I7462bebe0d3fde605a4c27a34c0d9bb3f0cc1c20
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514198
> Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60216}

TBR=sigurds@chromium.org,bmeurer@chromium.org,usharma1998@gmail.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: v8:8400, chromium:939746
Change-Id: Ifee58b9e57313bbf93bca293e92d88af279a0261
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524204
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60277}
2019-03-18 10:40:32 +00:00
Sigurd Schneider
e3f2fe4453 Revert "Update V8 DEPS."
This reverts commit 4925495c8e.

Reason for revert: 
https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20nosnap%20-%20shared/32627
https://ci.chromium.org/p/v8/builders/ci/V8%20Win64/29699

Original change's description:
> Update V8 DEPS.
> 
> Rolling v8/build: e8b8ab7..c899486
> 
> Rolling v8/third_party/depot_tools: 24b5f90..efe902b
> 
> TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org
> 
> Change-Id: I439f9415dd63820d8f665550a5ff89372e8620c3
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1527555
> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/master@{#60274}

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org,v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com

Change-Id: I62fa43fc614c1b1dffd841aa22a7a590c3a63cd1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528232
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60276}
2019-03-18 10:02:44 +00:00
Simon Zünd
c6e2668b65 [owners] Add szuend@chromium.org to top level owners
R=yangguo@chromium.org

Change-Id: I8569f99d498b79d943c1c178eafea48629d68fc8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526017
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60275}
2019-03-18 09:37:52 +00:00
v8-ci-autoroll-builder
4925495c8e Update V8 DEPS.
Rolling v8/build: e8b8ab7..c899486

Rolling v8/third_party/depot_tools: 24b5f90..efe902b

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

Change-Id: I439f9415dd63820d8f665550a5ff89372e8620c3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1527555
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#60274}
2019-03-18 08:16:41 +00:00
v8-ci-autoroll-builder
4fbdaa8b5f Update V8 DEPS.
Rolling v8/build: 6ae9325..e8b8ab7

Rolling v8/buildtools: c79f348..a14f996

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/f8e2315..4e9bccd

Rolling v8/third_party/depot_tools: 04600b4..24b5f90

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

Change-Id: Icfe9aaa08e5ab196c1ce375a9fbfc753a44ccc8b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526729
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#60273}
2019-03-16 15:29:48 +00:00
Michael Achenbach
c1f4269622 [build] Port: Use CIPD packages for GN instead of GCS.
This ports: https://crrev.com/c/1519726

TBR=tmrts@chromium.org

Bug: chromium:930050
Change-Id: I3afcfd28e8fdd5b97946e327997a58a488d4f1a4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526014
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60272}
2019-03-16 12:12:36 +00:00
Alexei Filippov
aaf3eb25f0 Reland "[inspector] Allow limiting the total size of collected scripts."
This is a reland of 5a61630d1d

Original change's description:
> [inspector] Allow limiting the total size of collected scripts.
>
> Introduces the setMaxCollectedScriptsSize Debugger protocol method.
> If the max size is set, the debugger will hold collected (not referenced by other v8 heap objects)
> scripts up to the specified total size of their sources.
>
> BUG=v8:8988
>
> Change-Id: I94d52866494102add91ca2d569a2044b08c9c593
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518556
> Commit-Queue: Alexei Filippov <alph@chromium.org>
> Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60227}

TBR=dgozman@chromium.org

Bug: v8:8988
Change-Id: I9b1db01856a43636c1eb8ad2ec36e3727353228d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524668
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60271}
2019-03-16 06:08:17 +00:00
v8-ci-autoroll-builder
1b23764081 Update wasm-spec.
Rolling v8/test/wasm-js/data: a2b5691..2f5d8e7

Update index.bs (Sven Sauleau)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/2f5d8e7

Update index.bs (Sven Sauleau)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/0e1021a

Update index.bs (Sven Sauleau)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/b65f68d

Update index.bs (Sven Sauleau)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/2c9b327

Update index.bs (Sven Sauleau)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/5ad5fe2

Update index.bs (Sven Sauleau)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/b2fefbd

Update index.bs (Sven Sauleau)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/2478368

Normative: Read the imports synchronously in WebAssembly.instantiate(Module). (Ms2ger)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/16a91bd

...

TBR=ahaas@chromium.org,clemensh@chromium.org

Change-Id: I33cb12bc8c456517c809485e4d8aca1c19df0605
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526725
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#60270}
2019-03-16 04:43:14 +00:00
Matt Gardner
1e2aa7820b [turbofan] Fix HasProperty for OOB access on polymorphic ICs
The existing has property handling did not account for the fact an IC can have LOAD_IGNORE_OUT_OF_BOUNDS while some of the maps in the IC do not allow out of bounds loads.

bug: chromium:942068
Change-Id: I935402d9d72e9c0228510ef69154ea130d1c71f0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1525876
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60269}
2019-03-15 22:09:16 +00:00
Santiago Aboy Solanes
a8c846b26b Add ChangeTaggedXXXToCompressedXXX, ChangeCompressedXXXToTaggedXXX mach ops
We have a version for each (Any, Pointer, Signed)

Bug: v8:8977
Change-Id: I1df994f96e24183a136c25818bf4917d9f8126d3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524481
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60268}
2019-03-15 15:24:35 +00:00
Michael Starzinger
3072a08274 [cleanup] Remove obsolete {ExitFrame::code_slot} mechanism.
This slot has become obsolete now that all CEntry stubs are builtins
(which are part of the rootset) and no longer need to be kept alive
explicitly by a slot in the frame.

R=verwaest@chromium.org
BUG=v8:8834

Change-Id: I7b791cc509ef800bcf7aa5faab31ddf35370f944
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520725
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60267}
2019-03-15 14:28:05 +00:00
Clemens Hammacher
2270c0eaaa [wasm][fuzzer] Run micro tasks after each fuzzer execution
This asserts that we run e.g. GC finalization tasks. Without that, we
might run ouf of memory.

R=ahaas@chromium.org

Bug: chromium:938739
Change-Id: Ic80074f877183bcabb3353fbeff94842a534efab
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526007
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60266}
2019-03-15 14:23:45 +00:00
Sigurd Schneider
c83aff3bf5 [regalloc] Fix non-deterministic iteration in register allocator
Change-Id: I5c391f606994ba1fc3dfb53483a0cc0f1caa25e7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521107
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60265}
2019-03-15 14:21:05 +00:00
Clemens Hammacher
c853d114a9 [wasm] Fix stack size estimate
We were just counting the number of stack elements instead of their
actual memory usage. This limits recursion a lot more and helps
avoiding OOM situations.

R=titzer@chromium.org

Bug: chromium:938739
Change-Id: I0e0ec2949f9fbad9c9e2c8677ec0223d5cd6a24b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526006
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60264}
2019-03-15 14:09:25 +00:00
v8-ci-autoroll-builder
277736cfd1 Update V8 DEPS.
Rolling v8/build: 77c810a..6ae9325

Rolling v8/third_party/depot_tools: 1c2fa0f..04600b4

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

Change-Id: I97e0449cc11eb30e890862c044cfde59172ed75d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1525864
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#60263}
2019-03-15 13:53:06 +00:00
Michael Starzinger
ed34a736f1 [gcmole] Update bootstrap script for static linkage.
This changes gcmole's bootstrapping script so that it always creates
binaries that link libstdc++ statically (both plugin and Clang) and do
not link against unneeded libraries (only Clang). For deployment of
gcmole on our infrastructure, it is much easier to have fewer external
dependencies.

R=machenbach@chromium.org
BUG=v8:8813

Change-Id: If6f2f3cc3b1f661f7dafbb406eaaf2e639981640
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526002
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60262}
2019-03-15 12:53:51 +00:00
Simon Zünd
f9f46063ff [base] Add V8_NOEXCEPT to deleted constructors and assignment ops
Compiling without -fno-exceptions causes compilation errors, this
CL fixes that.

The reason for the compilation error is a mismatch of "V8_NOEXCEPT"
on mixins for base::Optional where it is not present for deleted
copy/move constructors, but present on base::Optional for defaulted
ones.

Bug: v8:8985
Change-Id: I54af77496657fde44292c050221d11533a54db03
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518175
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60261}
2019-03-15 12:35:31 +00:00
Michael Achenbach
52b22fdf37 [tools] Update gcmole
Bug: v8:8813
Change-Id: I3c173a0c8846a2728e020581fbcaac269f850162
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523786
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60260}
2019-03-15 10:24:49 +00:00
Michael Starzinger
7e176157f0 [gcmole] Fix {MutableBigInt::BitwiseAnd} evaluation order warning.
This is a false positive of a potential evaluation order problem flagged
by the newest version of gcmole. While this is strictly speaking safe,
it is not statically known that the default argument of the fourth
parameter to {AbsoluteAndNot} is a nullptr and hence not a stale raw
reference. Since this is the only false positive of this kind in the
code base, I would vote to just avoid it by sequencing the operations.

R=jkummerow@chromium.org
BUG=v8:8813

Change-Id: I4a8f2ed4eb09766ce98e4e3d32f680a3a84eedf7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523548
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60259}
2019-03-15 09:41:39 +00:00
Tom Anderson
93ee541417 Disable V8 snapshot on 32-bit win/cross builds
Clang crashes in this configuration.  See https://crbug.com/942347 for context.

BUG=chromium:942347
R=machenbach
CC=thakis

Change-Id: Iffcad9556ed92ecfbd4ee062a5ed7f8c8cac1914
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524639
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60258}
2019-03-15 08:48:39 +00:00
Maya Lekova
fb701a9a2f Revert "Reland: [inspector] Allow limiting the total size of collected scripts."
This reverts commit ba00d8b776.

Reason for revert: Breaks arm64 bots (native & simulator) - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim/17252

Original change's description:
> Reland: [inspector] Allow limiting the total size of collected scripts.
> 
> Introduces the setMaxCollectedScriptsSize Debugger protocol method.
> If the max size is set, the debugger will hold collected (not referenced by other v8 heap objects)
> scripts up to the specified total size of their sources.
> 
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518556
> > Commit-Queue: Alexei Filippov <alph@chromium.org>
> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
> 
> BUG=v8:8988
> TBR=dgozman@chromium.org
> 
> Change-Id: I6f7da07c4c9ae35b5252aabddb98b693ec77b4e8
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524662
> Reviewed-by: Alexei Filippov <alph@chromium.org>
> Commit-Queue: Alexei Filippov <alph@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60255}

TBR=dgozman@chromium.org,alph@chromium.org

Change-Id: I04e3616d46620f33d0ec349fb7b0c393f276dc0c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8988
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524484
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60257}
2019-03-15 07:43:50 +00:00
Aseem Garg
07f94555fb [wasm] Add minimum to MemoryDescriptor and TableDescriptor
This CL allows for either of 'minimum' or 'initial' for MemoryDescriptor
and TableDescriptor. It also adds a flag for the reflection features.

R=binji@chromium.org,adamk@chromium.org
Bug=v8:7742

Change-Id: Icfd4825f63e1eb784a39d10f740d55e81489eba7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1485243
Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Ben Smith <binji@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60256}
2019-03-15 06:14:39 +00:00
Alexei Filippov
ba00d8b776 Reland: [inspector] Allow limiting the total size of collected scripts.
Introduces the setMaxCollectedScriptsSize Debugger protocol method.
If the max size is set, the debugger will hold collected (not referenced by other v8 heap objects)
scripts up to the specified total size of their sources.

> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518556
> Commit-Queue: Alexei Filippov <alph@chromium.org>
> Reviewed-by: Dmitry Gozman <dgozman@chromium.org>

BUG=v8:8988
TBR=dgozman@chromium.org

Change-Id: I6f7da07c4c9ae35b5252aabddb98b693ec77b4e8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524662
Reviewed-by: Alexei Filippov <alph@chromium.org>
Commit-Queue: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60255}
2019-03-15 05:45:29 +00:00
Ben Smith
4b796a9093 [wasm] Enable saturing float-to-int by default
Bug: v8:7226
Change-Id: Ia2ed97b193e77a016aa10e7abd50ce59ea38f7a0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518558
Commit-Queue: Ben Smith <binji@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60254}
2019-03-15 05:31:19 +00:00
Ben Smith
94f22de62e [wasm] Implement bulk memory in interpreter
This CL only provides the implementation of memory.{init,copy,fill} and
data.drop.

Bug: v8:8965
Change-Id: I439f2520bfee8f147e4b0d1d31f954aaad2e14ad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1510575
Commit-Queue: Ben Smith <binji@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60253}
2019-03-15 05:29:59 +00:00
Aseem Garg
74714df2cc [wasm] Add type function to WebAssembly.Global
R=binji@chromium.org,adamk@chromium.org
Bug=v8:7742

Change-Id: I5b9a614dd0c8b028d756cbd401c803de4cb9437f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1513159
Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
Reviewed-by: Ben Smith <binji@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60252}
2019-03-15 05:16:29 +00:00
v8-ci-autoroll-builder
bff0409573 Update wasm-spec.
Rolling v8/test/wasm-js/data: dae979a..a2b5691

Editorial: Extract an "asynchronously instantiate a WebAssembly module" algorithm. (Daniel Ehrenberg)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/a2b5691

Editorial: Extract an "instantiate the core of a WebAssembly module" algorithm. (Daniel Ehrenberg)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/4ecc1b1

Editorial: Remove an unnecessary local variable in "create an instance object". (Daniel Ehrenberg)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/e4bea69

Editorial: Extract a "create an instance object" algorithm. (Daniel Ehrenberg)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/0555abc

Editorial: Extract a "read the imports" algorithm. (Daniel Ehrenberg)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/e738239

Editorial: Stop breaking lists to insert a note. (Ms2ger)
https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/e692daa

TBR=ahaas@chromium.org,clemensh@chromium.org

Change-Id: If5d941a44b9c37d5ad2f2f76e3a726cefa9557fa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1525098
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#60251}
2019-03-15 04:45:49 +00:00
Aseem Garg
a0bdda2495 [wasm] Add type function to WebAssembly.Table
This CL also changes the constructor for WasmTableObject so that the
maximum_length is set to undefined instead of a default value if there's
no maximum provided.

R=binji@chromium.org,adamk@chromium.org
Bug=v8:7742

Change-Id: I6310224e9997464bf69c198e2694a6cd76e01e8f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1513156
Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Ben Smith <binji@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60250}
2019-03-15 04:22:29 +00:00
v8-ci-autoroll-builder
aa420efed9 Update V8 DEPS.
Rolling v8/build: 2678ddc..77c810a

Rolling v8/buildtools: 4457947..62f9eb0

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/2afe880..f8e2315

Rolling v8/third_party/depot_tools: 40c1942..1c2fa0f

Rolling v8/tools/clang: 8a36736..3dd606a

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

Change-Id: If25a10068d40afd68abab42534b8fbafc0834848
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1525097
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#60249}
2019-03-15 03:38:39 +00:00
peterwmwong
4b9b23521e [builtins] Port String.prototype HTML functions to Torque
Consolidates all the work into a single TFS builtin (CreateHTML)
called by all these functions. Reduces the builtin size by
about half.

Change-Id: I92b2c7889f72db4c8c79d7ef0ce0e61036ab619e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1522727
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60248}
2019-03-14 22:12:18 +00:00
Matt Gardner
d68cdcae8f [torque] Convert name and string types layouts to torque
Bug: v8:8952
Change-Id: I099de2052941684d4ca714062a52c82ef0bb3850
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1516473
Commit-Queue: Matt Gardner <magardn@microsoft.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60247}
2019-03-14 18:23:09 +00:00
Caitlin Potter
6487ad7a33 [esnext] allow hashbang in eval() and unskip hashbang test262 tests
Fix original imlpementation to support occurrence in eval(), and unskip
tests.

BUG=v8:8523
r=gsathya@chromium.org, mathias@chromium.org, littledan@chromium.org

Change-Id: I80a3e8623357947c564a6cdf865eeff435b8e640
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1510792
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Cr-Commit-Position: refs/heads/master@{#60246}
2019-03-14 18:16:49 +00:00
Leszek Swirski
b240733fd5 [gdb] Add helper for creating an object from a pointer
Since the new Objects were introduced, we can no longer cast integers to
and Object pointer and call methods on them in gdb (due to how gdb's
expression evaluator deals with temporaries). So, we add a new helper
method to our gdbinit, "$job", which takes an address and returns an
Object that is now exists in real (stack) memory.

Bug: v8:8994
Change-Id: I760a007e7d2303e3a4b1fecb87e094fb9974e91e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523329
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60245}
2019-03-14 17:33:19 +00:00
Sigurd Schneider
d77a2a6c1d [turbofan] Refactor how record write mode is determined
Change-Id: Ib9f423439f418be5ef15e2a65b9118f8f234cb5b
Bug: v8:8834
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524201
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60244}
2019-03-14 16:36:37 +00:00