Commit Graph

50011 Commits

Author SHA1 Message Date
Florian Sattler
50089eff3b [js-perf] Further reducing test-case size.
This is needed to meet the timeout requirements of android builds.

Change-Id: Ia771f94683e2e0c88c54ed0e0a75925abfa85786
Reviewed-on: https://chromium-review.googlesource.com/1196508
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Florian Sattler <sattlerf@google.com>
Cr-Commit-Position: refs/heads/master@{#55519}
2018-08-30 11:41:30 +00:00
Benedikt Meurer
0aac3884c9 [turbofan] Be more consistent about Smi comparisons.
This changes SimplifiedLowering to be more consistent when chosing Smi
representation as input for Number comparisons. We already had some
isolated logic for doing (speculative) Number comparisons on Smis, but
only in the case where that decision was based on type feedback, not on
information already present in the graph.

Bug: v8:7703
Change-Id: I25370ade630917675a6ac79b5ae6a8afd253dfc7
Reviewed-on: https://chromium-review.googlesource.com/1196422
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55518}
2018-08-30 11:40:27 +00:00
Michael Starzinger
7b621a73be [wasm] Remove bogus Isolate::wasm_caught_exception.
This removes the thread-local field in question. This side-channel for
the "caught exception" is not needed, we can just explicitly pass the
exception value to all support functions. Also, there is an inherent
problem with having this side-channel, as it will not be properly reset
when an exception handler ends up not rethrowing the exception.

R=ahaas@chromium.org
BUG=v8:8097

Change-Id: I2fdaff89f0eb318ce5a33bf56513165185547c1b
Reviewed-on: https://chromium-review.googlesource.com/1194063
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55517}
2018-08-30 10:35:42 +00:00
Sigurd Schneider
041e01f67b Update V8 version to 7.1
TBR=machenbach@chromium.org, hablich@chromium.org
NOTRY=true

Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I8c5fc76a3d16428c2495c23ef0529569a927a8c9
Reviewed-on: https://chromium-review.googlesource.com/1196443
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55516}
2018-08-30 09:37:36 +00:00
jgruber
0c4b5417d6 [builtins] Revert tentative builtin symbol exposure
This reverts two CLs that were intended to show symbols for embedded builtins in chromecrash. The symbols never showed up, a part of this must still be missing.

Revert "[builtins] Declare builtin symbols as globals"
This reverts commit 8412353c99.

Revert "[builtins] Declare builtin symbols"
This reverts commit 17ad3ae47f.

TBR=yangguo@chromium.org

Bug: v8:6666, v8:7722
Change-Id: Ifcbf56a36ea51ea65de77c507886402f3663f414
Reviewed-on: https://chromium-review.googlesource.com/1195493
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55515}
2018-08-30 09:09:28 +00:00
Dan Elphick
c68644bb70 [embed handlers] Make bytecode handlers isolate independent
Use BuiltinAssemblerOptions to generate AssemblerOptions when generating
the bytecode handlers (assuming v8_enable_embedded_bytecode_handlers is
on).

Mark all but InvokeIntrinsic, InvokeIntrinsicWide,
InvokeIntrinsicExtraWide, TestIn, TestInWide, TestInExtraWide and
TestTypeOf as isolate-independent. The excluded handlers create jump
tables which have absolute addresses.

Bug: v8:8068
Change-Id: Ia29e9c737ec345193e24fc2aa3684daefb113a9a
Reviewed-on: https://chromium-review.googlesource.com/1195508
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55514}
2018-08-30 08:56:41 +00:00
Toon Verwaest
cb09d7b748 Revert "[scanner] Use AdvanceUntil in SkipWhiteSpace"
This reverts commit 19a8f1ba06.

Reason for revert: it's actually slower this way

Original change's description:
> [scanner] Use AdvanceUntil in SkipWhiteSpace
> 
> Change-Id: I4a578589290e91da2eae4cef8f936e6c888e177c
> Reviewed-on: https://chromium-review.googlesource.com/1194015
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Commit-Queue: Toon Verwaest <verwaest@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55497}

TBR=ishell@chromium.org,verwaest@chromium.org

Change-Id: I93b51104bef984332536360c6321eaa1dab8fd74
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/1196402
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55513}
2018-08-30 08:54:01 +00:00
Sigurd Schneider
30f9d52960 [ia32] Make InterpreterEntryTrampoline preserve kRootRegister (ebx)
Also takes care of InterpreterEnterBytecodeAdvance.

Drive-by:
 - Add DCHECK to ensure cmpb is only used with byte registers.
 - Add Push/PopRootRegister to TurboAssembler with DCHECK ensuring
   that there is a NoRootArrayScope


Change-Id: Ibcf1c91b12767bdf6425b18872c41b31124de3ba
Bug: v8:6666
Reviewed-on: https://chromium-review.googlesource.com/1190305
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55512}
2018-08-30 08:07:34 +00:00
Stephan Herhut
0acf185a75 [wasm] Move wasm::WasmName to a better header
Minor cleanup moving some types to more meaningful headers.

Bug: v8:8015
Change-Id: I99e428529f0b2d967a3c67385c80001bb0df19fa
Reviewed-on: https://chromium-review.googlesource.com/1195506
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Stephan Herhut <herhut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55511}
2018-08-30 08:05:24 +00:00
Frank Tang
9edbacd90b [Intl] Add unit test to test the order of reading Options
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I9adf2b15b76e26e6e59a7732da714da7d44daf69
Reviewed-on: https://chromium-review.googlesource.com/1195071
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55510}
2018-08-30 00:17:18 +00:00
Alexey Kozyatinskiy
3ca15cdda7 Reland "inspector: do not convert and store String16 for script source"
This is a reland of e987606a8a

Original change's description:
> inspector: do not convert and store String16 for script source
>
> We need script source for:
> - calculating hash to report as part of scriptParsed event,
> - reporting it as response on getScriptSource request,
> - searching inside as response on searchInContent request,
> - breakpoints hints.
>
> In all cases there is no need to store source on inspector side.
>
> R=alph@chromium.org
>
> Bug: chromium:873865,v8:7731
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: Ice24ddc72cfff36fb9a2dff2d7c4543defe3f668
> Reviewed-on: https://chromium-review.googlesource.com/1182603
> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
> Reviewed-by: Alexei Filippov <alph@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55286}

TBR=alph@chromium.org

Bug: chromium:873865, v8:7731
Change-Id: I0a0e93cd9d7797e4b3c57b1ab4f1a20af27fea9c
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/1195907
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55509}
2018-08-29 23:43:30 +00:00
Ujjwal Sharma
3ed9f60635 [Intl] Add a CreateBoundFunction helper function
Add a C++ helper function called "CreateBoundFunction" as a static
function to the Intl class, and change all existing builtins involving
the creation of a bound function to use it instead.

Also remove the redundant ContextSlot enums on all Intl objects in favor
of a single BoundFunctionContextSlot enum in the Intl class.

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ibd541f5e79828cd1e2cd573a0e23fc93b348a8ad
Reviewed-on: https://chromium-review.googlesource.com/1194817
Commit-Queue: Ujjwal Sharma <usharma1998@gmail.com>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55508}
2018-08-29 23:35:48 +00:00
Alexey Kozyatinskiy
cd7f9c63be Reland "inspector: find magic comment using V8 scanner"
This is a reland of 1b3b808a54

Original change's description:
> inspector: find magic comment using V8 scanner
>
> Inspector tries to provide sourceURL and sourceMappingURL for scripts
> with parser errors. Without this CL we convert source of each script
> to inspector string and search for magic comment there. Some web sites
> use pattern when they get some data from network and constantly try to
> parse this data as JSON, in this case we do a lot of useless work.
>
> So we can parse magic comments on V8 side only for compilation errors
> (excluding parse JSON errors), to do it we can reuse scanner by running
> it on each potential comment.
>
> R=alph@chromium.org,verwaest@chromium.org,yangguo@chromium.org
>
> Bug: chromium:873865,v8:7731
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I77c270fd0e95cd7b2c9ee4b7f72ef344bc1fa104
> Reviewed-on: https://chromium-review.googlesource.com/1182446
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Reviewed-by: Alexei Filippov <alph@chromium.org>
> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55280}

TBR=alph@chromium.org,verwaest@chromium.org,yangguo@chromium.org

Bug: chromium:873865, v8:7731
Change-Id: I097678fda0ebdcbd35a85be0bb6cf0fcb052bcbd
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/1195533
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55507}
2018-08-29 19:48:01 +00:00
Sathya Gunasekaran
c8486d22de [ESNext] Enable test262 tests for globalThis
Bug: v8:5537
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I778ec7f1b09665bf15b208f5dfa6517c46e9e5d0
Reviewed-on: https://chromium-review.googlesource.com/1195536
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55506}
2018-08-29 19:43:00 +00:00
Frank Tang
f5ff863f25 [Intl] Move code into src/objects/js-relative-time-format*
Bug: v8:7869
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Idaa9ff1c5c46051aacaa2691e539484295622b8d
Reviewed-on: https://chromium-review.googlesource.com/1195076
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55505}
2018-08-29 19:02:07 +00:00
Toon Verwaest
660514b0f0 [parser] Consume rather than Expect start of array/object literal
Change-Id: I07a95f70b32a065233df61110add3c71b85ec025
Reviewed-on: https://chromium-review.googlesource.com/1193895
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55504}
2018-08-29 18:18:48 +00:00
Michael Achenbach
6206a3e362 [test] Share resource-fetching logic with all d8 test cases
This shares logic for finding additional resources in JS source code.
Previously the logic was implemented for mjsunit, now it will be used
across all d8-based test cases.

This'll enable adding those test suites for Android testing.

Bug: chromium:866862
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I7c89ba141483aaf692a03c0e168edb61bbb7b010
Reviewed-on: https://chromium-review.googlesource.com/1193873
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55503}
2018-08-29 17:51:43 +00:00
Frank Tang
f0633200bd [Intl] add supportedLocales for Intl.ListFormat
Bug: v8:7871
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Icabd067f4074169230f21a574aedecf30c5049e4
Reviewed-on: https://chromium-review.googlesource.com/1195077
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55502}
2018-08-29 17:13:36 +00:00
Ujjwal Sharma
6b66bebad7 [intl] Port V8BreakIterator.prototype.breakType to C++
This increases the size of a V8BreakIterator instance by a word to store
the breakType function.

The instance to be bound is stored on the context of this builtin function.
This CL removes the AddBoundMethod helper from intl.js

Bug: v8:5751
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I4e4df2632990300b91eafda680d414e0b373825b
Reviewed-on: https://chromium-review.googlesource.com/1194803
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55501}
2018-08-29 16:22:30 +00:00
Toon Verwaest
3283875676 [parser] Restore trivial expression grammar shortcuts with range-based condition
Change-Id: I04385d44f6175f7b391fb07ec4f1beb9abd4d22f
Reviewed-on: https://chromium-review.googlesource.com/1194033
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55500}
2018-08-29 16:21:10 +00:00
Deepti Gandluri
9a0f254687 [compiler] Remove AtomicNarrow machine operators, macroize tests
The AtomicNarrow operations are currently used for wider 64-bit
operations, that only operate on 32-bits of data or less
(Ex:I64AtomicAdd8U). Removing these because this can be handled
in int64-lowering by zeroing the higher order node.
Explicitly zeroing these in code-gen is not
required because -

 - The spec requires only the data exchange to be atomic, for narrow
   ops this uses only the low word.
 - The return values are not in memory, so are not visible to other
   workers/threads

BUG:v8:6532

Change-Id: I90a795ab6c21c70cb096f59a137de653c9c6a178
Reviewed-on: https://chromium-review.googlesource.com/1194428
Reviewed-by: Ben Titzer <titzer@chromium.org>
Reviewed-by: Ben Smith <binji@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55499}
2018-08-29 16:11:48 +00:00
Toon Verwaest
0697fe8469 [utils] Templatize IsInRange so it can be specialized types other than int
Change-Id: I2d67f93f10ab07c3725cc1a799f9a74f4850b34e
Reviewed-on: https://chromium-review.googlesource.com/1194230
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55498}
2018-08-29 15:59:00 +00:00
Toon Verwaest
19a8f1ba06 [scanner] Use AdvanceUntil in SkipWhiteSpace
Change-Id: I4a578589290e91da2eae4cef8f936e6c888e177c
Reviewed-on: https://chromium-review.googlesource.com/1194015
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55497}
2018-08-29 15:25:34 +00:00
Hai Dang
0c6c2235be Remove slow ArrayLiteralInitialSpread benchmarks to avoid timeout.
Cloning arrays with Array.prototype.map and for-of push is too slow
for large arrays.

Bug: chromium:878681
Change-Id: I70ba5faad9e19cdc5a39cc64fb1b4bcb3fd0bf48
Reviewed-on: https://chromium-review.googlesource.com/1195363
Commit-Queue: Hai Dang <dhai@google.com>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55496}
2018-08-29 14:50:59 +00:00
jgruber
d13e9c692e [ia32] Unalias kRootRegister in IC, Construct and ArgumentsAdaptor descriptors
This replaces ebx usage in several more interface descriptors.

- IC descriptors already passed most arguments on the stack (updated
  their Register accessors to reflect that).
- The allocation site argument appears to be unused in the
  ConstructStub descriptor. It can probably be removed in a follow-up.

Drive-by: Rename ArgumentAdaptorDescriptor to
ArgumentsAdaptorDescriptor to match the builtin name.

Bug: v8:6666
Change-Id: I4cdf1775a5b4b74491d6d303c49a8af9b6cd3c03
Reviewed-on: https://chromium-review.googlesource.com/1195367
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55495}
2018-08-29 14:35:12 +00:00
Toon Verwaest
dd6290d189 [token] Make sure we can simply range-check IsAnyIdentifier
This CL additionally uses IsInRange for token range checks. That only uses one
branch rather than two.

Change-Id: I52c6759ba195b55cb50c2ce9afbdc9b397495633
Reviewed-on: https://chromium-review.googlesource.com/1193875
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55494}
2018-08-29 14:28:34 +00:00
Toon Verwaest
1a8f24d84b [scanner] Only find newlines in whitespace once
Change-Id: I14fd9d439db70cc37b8a57a8bc13e09877c513ee
Reviewed-on: https://chromium-review.googlesource.com/1195369
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55493}
2018-08-29 14:24:14 +00:00
Toon Verwaest
e5cf8e3772 [scanner] Don't muck with positions of EOS in Next
They are properly initialized upon creation.

Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I10ac441580bf957e97ce663c9c3ad268ddeae935
Reviewed-on: https://chromium-review.googlesource.com/1188573
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55492}
2018-08-29 14:08:41 +00:00
Jakob Kummerow
9d493179d8 [bigint] Fix NoSideEffectsToString for 32-bit platforms
On 32-bit platforms, String::kMaxLength is such that not all BigInts
can be converted to Strings. NoSideEffectsToString, however, used to
assume that this conversion always succeeds. This patch adds a check
for the failure case, and returns "<a very large BigInt>" instead of
crashing.
This change is practically unobservable, because actually formatting
such a huge BigInt to String would take "forever", which is also why
there is no regression test.

Bug: chromium:876628
Change-Id: I1eacdc1cce753ac5d9ca66e61e479043ab576e07
Reviewed-on: https://chromium-review.googlesource.com/1194004
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55491}
2018-08-29 13:45:28 +00:00
jgruber
c85128fdb4 [ia32] Unalias kRootRegister in LoadWithVector and LoadGlobalWithVector
In preparation for kRootRegister support on ia32.

LoadWithVector now passes the vector on the stack.
LoadGlobalWithVector is able to reuse edx (used as ReceiverRegister in
LoadWithVector).

Drive-by: Aliasing DCHECKs and updated unused Register accessors.

Bug: v8:6666
Change-Id: If0e93d22c3c11f764bc0805c3e6a51654cdcc5f9
Reviewed-on: https://chromium-review.googlesource.com/1193891
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55490}
2018-08-29 13:40:24 +00:00
jgruber
97a0f14317 [ia32] Unalias kRootRegister in misc. descriptors
In preparation for kRootRegister support on ia32.

Updated: GrowArrayElements, Typeof, ConstructWithArrayLike.

Bug: v8:6666
Change-Id: I05c3f752948ecc714c0ef16a2c540b26d89628ce
Reviewed-on: https://chromium-review.googlesource.com/1195462
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55489}
2018-08-29 13:31:36 +00:00
Michael Starzinger
edeac29171 [wasm] Brush up unittests for kExprThrow.
R=titzer@chromium.org
TEST=unittests/FunctionBodyDecoderTest
BUG=v8:8091

Change-Id: Iad8d0dbc193c8e2f1f6359632fb2dbad28c154e2
Reviewed-on: https://chromium-review.googlesource.com/1195368
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55488}
2018-08-29 13:28:26 +00:00
Rodrigo Bruno
263174af75 [heap] Fixed typo in method name.
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: Id2b474917ffd711ed30b9ae5f25ec86e13b140b5
Reviewed-on: https://chromium-review.googlesource.com/1193876
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
Cr-Commit-Position: refs/heads/master@{#55487}
2018-08-29 12:11:45 +00:00
Andreas Haas
b477a6d5d8 [wasm] Move ThreadInWasmScope out of trap-handler.h
{ThreadInWasmScope} in only used in a single location, which is in a
test. It does not look like many more such places will show up.

R=titzer@chromium.org,

Bug: v8:8015
Change-Id: I89f6f7e2bd13e2882e65f7657d73ba59a6c71757
Reviewed-on: https://chromium-review.googlesource.com/1193446
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55486}
2018-08-29 11:26:25 +00:00
Andreas Haas
f738bb246e [wasm][cleanup] Remove kV8MaxPages from wasm-constants.js
It is better not to have V8-specific constants in mjsunit.js because it
also has V8-independent uses, e.g. in the spec tests.

R=gdeepti@chromium.org

Bug: v8:8015
Change-Id: I3b576f093f639c13e673cbd0bd5305c8101d7281
Reviewed-on: https://chromium-review.googlesource.com/1192843
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55485}
2018-08-29 11:16:03 +00:00
Sigurd Schneider
452d8a3a82 [ia32] Change descriptor of frame dropper trampoline
This changes the interface descriptor for the frame dropper trampoline
to not use the kRootRegister (ebx) anymore.

Change-Id: I15df6af57f70d8aeea6c97298b437ad96af19cd4
Bug: v8:6666
Reviewed-on: https://chromium-review.googlesource.com/1193242
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55484}
2018-08-29 10:41:43 +00:00
Michael Starzinger
c3baf49f24 [wasm] Fix missing exceptional projections from calls.
This makes sure that direct and indirect calls get proper {IfException}
projections attached to them if they appear within a try-block. It also
re-enables most of the corresponding test cases for this.

R=ahaas@chromium.org
TEST=mjsunit/wasm/exceptions
BUG=v8:8091

Change-Id: I111634759651ed47f76850e80c8754751310001b
Reviewed-on: https://chromium-review.googlesource.com/1195365
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55483}
2018-08-29 09:53:32 +00:00
Maya Lekova
6a7872b7b8 [turbofan] Introduce a CheckStringAdd node instead of cons string lowering
The new node is introduced for literal string addition and calling
String.prototype.concat in the typed lowering phase. It later might get optimized
away during redundancy elimination, keeping the performance of already existing
benchmarks with string addition. In case the operation is about to throw
(due to too long string being constructed) we just deoptimize, reusing
the interpreter logic for creating the error.

Modify relevant mjsunit and unit tests for string concatenation.

Bug: v8:7902
Change-Id: Ie97d39534df4480fa8d4fe3ba276d02ed5e750e3
Reviewed-on: https://chromium-review.googlesource.com/1193342
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55482}
2018-08-29 09:34:26 +00:00
Frank Tang
a279e23ff8 [Intl] Create a JSDateTimeFormat and move ResolvedOptions under it.
Bug: v8:8066

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I5511b6b9272804ebbb61bf2127a2ad51bfc70e28
Reviewed-on: https://chromium-review.googlesource.com/1179319
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55481}
2018-08-29 09:01:31 +00:00
Rodrigo Bruno
38cbc26a75 [d8] Fixed external gc test (limit multiplied by number of isolates).
Bug: v8:8108
Change-Id: Iaa388e53f99c827c4bcf5177f1a9e26097f07f11
Reviewed-on: https://chromium-review.googlesource.com/1195362
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
Cr-Commit-Position: refs/heads/master@{#55480}
2018-08-29 08:58:58 +00:00
Ben L. Titzer
398242f582 [flags] s/wasm_trace/trace_wasm/g in flags
This CL makes the names of tracing flags related to WASM consistent
with the rest of V8 tracing flags.

R=ahaas@chromium.org

Change-Id: I871fb7b5e27ff7b8f587e08507d15c0719881990
Reviewed-on: https://chromium-review.googlesource.com/1193182
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55479}
2018-08-29 08:49:09 +00:00
Toon Verwaest
103d886a7e [scanner] Revert to pointer tracking token storage rather than range
Using a circular buffer regresses performance unfortunately.

Change-Id: Id5b68cae798d21f46376141f86d5707794bf08d6
Reviewed-on: https://chromium-review.googlesource.com/1194064
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55478}
2018-08-29 08:30:39 +00:00
Sigurd Schneider
0bceaf1e7c [ia32] Use one scratch register in StackOverflowCheck
This CL removed the 2nd scratch register from StackOverflowCheck
on ia32 and lower register pressure at use sites. This will make
it easier to preserve the kRootRegister (ebx) in future CLs.

Bug: v8:6666
Change-Id: I225ffdf155a4547fcec02a033638da094995f181
Reviewed-on: https://chromium-review.googlesource.com/1194122
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55477}
2018-08-29 08:27:38 +00:00
Jaroslav Sevcik
bb1a232c63 [turbofan] Serialize JSRegExp boilerplate
Bug: v8:7790
Change-Id: I1e49ae883456d0a13bd19042d2649fb603612d04
Reviewed-on: https://chromium-review.googlesource.com/1189622
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55476}
2018-08-29 07:32:36 +00:00
Jaroslav Sevcik
0c91732712 [turbofan] Serialize JSObject boilerplates for create lowering.
Adds recursive serialization of boilerplate JSObjects. It also hooks up
serialization of FixedArrays (shallow copy of all elements).

Bug: v8:7790
Change-Id: I458133961918617ab7bdae8d14712a4e5a7d9cb5
Reviewed-on: https://chromium-review.googlesource.com/1188903
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55475}
2018-08-29 07:25:50 +00:00
Ulan Degenbaev
ffcee2d671 [heap-profiler] Make WeakMap => key value weak in heap snapshot.
Bug: chromium:875041
Change-Id: I4008fa2f7d92a0f2005c7566eb2945a800a9d284
Reviewed-on: https://chromium-review.googlesource.com/1190862
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55474}
2018-08-29 01:58:38 +00:00
Wez
02173853da Migrate VMAR calls to temporary _old() API variants.
The VMAR syscall signatures are being updated, so migrate to the
temporarily-provided *_old() variants, in advance of the Fuchsia SDK
roll that updates the real APIs.

TBR: hpayer
Change-Id: I10da4df97b122262de04a2417bd91b921f3a63d5
Reviewed-on: https://chromium-review.googlesource.com/1194429
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55473}
2018-08-28 22:00:14 +00:00
Sathya Gunasekaran
ed42a71d5c test262 roll
Bug: v8:7834
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ieab3529ce40a2c01c18f7fade10ec8b437173aa9
Reviewed-on: https://chromium-review.googlesource.com/1194424
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55472}
2018-08-28 21:18:23 +00:00
Ujjwal Sharma
b56e299d58 [intl] Port V8BreakIterator.prototype.current to C++
This increases the size of a V8BreakIterator instance by a word to store
the current function.

The instance to be bound is stored on the context of this builtin function.

Bug: v8:5751
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I1bdf3d3cd9db5ab16abb644b33b44705ca58684e
Reviewed-on: https://chromium-review.googlesource.com/1194802
Commit-Queue: Ujjwal Sharma <usharma1998@gmail.com>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55471}
2018-08-28 20:50:51 +00:00
Hannes Payer
067afa54cf [heap] Reland: Reuse object evacuation information for slot recording in Scavenger.
This reverts commit d6de4af573.

Bug: chromium:852420
Change-Id: Ife02a0e47ddb4a136c552965d9e01c6a0ef18e02
Reviewed-on: https://chromium-review.googlesource.com/1194363
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55470}
2018-08-28 18:47:00 +00:00