Commit Graph

45905 Commits

Author SHA1 Message Date
Choongwoo Han
f118d952d2 [typedarray] Reduce generated code size of TA.map
We don't need to generate TypedArraySpeciesCreate code for each type
case because TypedArraySpeciesCreate also handles each case, so it
generates duplicated codes.  Thus, create a result object once before
switching to each type case.  Also, replace ToNumber with
ToNumber_Inline.

This CL saves about 8000 bytes of generated code size.

Change-Id: I014535b0ef4b3d2a50a37cdc2b6cb4e83f6c2f17
Reviewed-on: https://chromium-review.googlesource.com/910755
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51213}
2018-02-09 15:01:59 +00:00
Ivica Bogosavljevic
76a1003f2f MIPSR6: Fix [MIPS] [TurboFan] Ensure instruction start is in fixed register
Fix 8238562b60

Requirement that the address is stored kJavaScriptCallCodeStartRegister
caused failures on MIPSR6, because of R6 optimization which doesn't load
the address in kJavaScriptCallCodeStartRegister.

Change-Id: If05d8bfe8601288b10fc65cca77664fe9638bbe9
Reviewed-on: https://chromium-review.googlesource.com/910851
Reviewed-by: Miran Karić <miran.karic@mips.com>
Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com>
Cr-Commit-Position: refs/heads/master@{#51212}
2018-02-09 14:57:29 +00:00
Andreas Haas
6004c53da3 [wasm][streaming] Change the signature of the Abort API function to MaybeLocal
When streaming compilation for WebAssembly gets aborted, we reject the
promise associated with the compilation. However, in some circumstances,
e.g. when streaming comilation gets aborted because the browser tab gets
refreshed, then we want to omit rejecting the promise. In an older CL
(https://crrev.com/c/876103) we omit rejecting the promise when the
exception value is null. With this CL the exception value is a MaybeLocal
so that we document properly that the value can be null. In addition, I
added documentation to say that in that case we do not reject the promise.

R=adamk@chromium.org

Bug: chromium:803838
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I6a093e61c8ec63f7ae385a7f77ae6178e7b34a06
Reviewed-on: https://chromium-review.googlesource.com/897647
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51211}
2018-02-09 14:47:49 +00:00
Clemens Hammacher
f831905cca [Liftoff] Pass type for register moves
This allows to emit the best opcode for the register move. The type is
available at all call sites anyway.

R=ahaas@chromium.org

Bug: v8:6600
Change-Id: I8516deff4d8a5480cea9df37cfc003fb9c668e8c
Reviewed-on: https://chromium-review.googlesource.com/910910
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51210}
2018-02-09 14:26:36 +00:00
Michael Achenbach
d18c314a20 [test] Fix using suppressed test cases with interrupt-budget fuzzer
The suppression flag must be set before loading the tests to have an effect.
This got turned around in https://crrev.com/c/899366 and is fixed again by
this CL.

TBR=sergiyb@chromium.org
NOTRY=true

Bug: v8:6917
Change-Id: Ie58465288a0d6eec9a99a23d610710de9e1cdddd
Reviewed-on: https://chromium-review.googlesource.com/911114
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51209}
2018-02-09 14:05:16 +00:00
Dan Elphick
630b2a5f19 [builtins] Implement Array.from in CodeStubAssembler
This removes the Javascript version of Array.from in js/array.js and
adds a CodeStubAssembler version in src/builtins/builtins-array-gen.cc.

Also modify IteratorBuiltinsAssembler to allow querying the existence
of the iterator method without calling it so we can fall back to the
array-like behavior.

BUG=v8:1956

Change-Id: Ibfb3cef002d72d70bd30b4de676fd22becde006c
Reviewed-on: https://chromium-review.googlesource.com/887066
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
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@{#51208}
2018-02-09 14:01:06 +00:00
Clemens Hammacher
74c4e9852d [Liftoff] Support i64 loads and stores
Add support for i64 loads and stores.

R=ahaas@chromium.org

Bug: v8:6600
Change-Id: I494fb466f702c8b89b96f7ded6d1cf09ec6991fb
Reviewed-on: https://chromium-review.googlesource.com/902046
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51207}
2018-02-09 11:53:16 +00:00
jgruber
945baa11ff [fuzzers] Ensure pattern is not interpreted as comment
Since we naively build the JS source code through concatenation,
we need to ensure the regexp literal does not end up being interpreted
as a multiline comment:

  const re = /*/;

Bug: v8:6741,chromium:808418
Change-Id: Id52fbd2d62c14fc634d05fa1b0192ab86cc9e4fc
Reviewed-on: https://chromium-review.googlesource.com/905667
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51206}
2018-02-09 11:15:31 +00:00
Yang Guo
29e3b8e9e4 [deps] fix hooks for node.
R=machenbach@chromium.org
NOTREECHECKS=true
NOTRY=true

Bug: chromium:807986
Change-Id: Iffcd9fb943c59e218e70c61491efcadce5a7497c
Reviewed-on: https://chromium-review.googlesource.com/911049
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51205}
2018-02-09 10:42:47 +00:00
Clemens Hammacher
b60a4c6ac8 Add wasm_no_native variant
This new variant is executed on a small number of bots as part of the
"extra" suite. It checks that the wasm-jit-to-native flag can still be
disabled if unexpected failures pop up on a release branch.

R=machenbach@chromium.org

Bug: v8:7417
Change-Id: I1658cb2f04302fa80915b59bfedd85d980742db5
Reviewed-on: https://chromium-review.googlesource.com/909213
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51204}
2018-02-09 10:19:47 +00:00
Benedikt Meurer
8b8e353ca1 [turbofan] Ignore pretenure flag for JSCreateClosure.
As part of https://chromium-review.googlesource.com/902283 I changed the
JSCreateClosure lowering to respect the pretenure flag on the operator,
but that tanks some benchmarks heavily, as the Parser marks closures
like

  args[l] = function(...) { ... }

for old-space allocation, which backfires for short-living closures.

Bug: v8:7253, chromium:810132
Change-Id: I66f048553d9f2a70b2691537e726128f3fb01563
Reviewed-on: https://chromium-review.googlesource.com/910849
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51203}
2018-02-09 10:15:48 +00:00
Michael Achenbach
c19b7703a1 Update V8 DEPS.
Rolling v8/build: 3ba6ca6..c1972dd

Rolling v8/third_party/android_tools: https://chromium.googlesource.com/android_tools/+log/c9f9bbf..9a70d48

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/b4a4bed..e653c4b

Rolling v8/tools/clang: 357315f..7c6255f

This also ports https://crrev.com/c/907673 for adjusting V8's DEPS file to the sysroot changes
rolling in v8/build.

TBR=yangguo@chromium.org

Bug: chromium:807986
Change-Id: If55378330ae8797798abe1a98a858a0f57cf7fbe
Reviewed-on: https://chromium-review.googlesource.com/910193
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51202}
2018-02-09 10:09:47 +00:00
Kim-Anh Tran
c18df50014 [wasm] Fix tracing info for lazy compilation on native heap
Added counter to correctly reflect the number of non-compiled functions.
Added usages of variables used only for tracing or debug to avoid compiler
warnings.

R=clemensh@chromium.org

Change-Id: I4c8d9c0f43bf23250b4702e43592cd64046d28c7
Reviewed-on: https://chromium-review.googlesource.com/907890
Commit-Queue: Kim-Anh Tran <kimanh@google.com>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51201}
2018-02-09 10:01:22 +00:00
Clemens Hammacher
a2afcc1c09 [wasm] Fix failures in --no-wasm-jit-to-native mode
This CL fixes several unrelated failures with --no-wasm-jit-to-native.
A follow-up CL will then add a new test variant with that flag.

R=ahaas@chromium.org

Bug: v8:7417
Change-Id: I40a7be53a50d0efbbec8de49aceeb4a43a1f41de
Reviewed-on: https://chromium-review.googlesource.com/909212
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51200}
2018-02-09 10:00:18 +00:00
Yang Guo
56bc149d6a [gyp] delete last vestiges of gyp.
R=franzih@chromium.org

Bug: v8:7335
Change-Id: Icd4624b119f573640bd34b19db1f6c1b7e035f8d
Reviewed-on: https://chromium-review.googlesource.com/910930
Reviewed-by: Franziska Hinkelmann <franzih@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51199}
2018-02-09 09:49:57 +00:00
Ivica Bogosavljevic
12cd3b9c93 MIPS64: Fix [debug] implement break on entry for builtin functions
Fix 876f37c3de

Wrong instruction use causes around 600 failures on MIPS64 bots

Change-Id: I66bd9689c5e5b5e9bf40a0e7063dbbcfed04fcf7
Reviewed-on: https://chromium-review.googlesource.com/908465
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com>
Cr-Commit-Position: refs/heads/master@{#51198}
2018-02-09 09:46:07 +00:00
Michael Achenbach
cb9984cf79 [test] Skip test on endurance fuzzer
TBR=cbruni@chromium.org
NOTRY=true

Bug: v8:7429
Change-Id: Id30d462792f062e8c1b21f622b949e5b7aa52907
Reviewed-on: https://chromium-review.googlesource.com/910889
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51197}
2018-02-09 08:55:25 +00:00
Clemens Hammacher
489c686a48 [arm] [simulator] Fix compile error on mac
The return type of {CallFPImpl} differs between declaration and
definition (int32_t vs intptr_t). Even though our bots seem to be fine
with this, I got a compile error on mac.

R=mstarzinger@chromium.org

Change-Id: I4fb26cbe712c090d08dfcd2614a7af78de09e448
Reviewed-on: https://chromium-review.googlesource.com/909428
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51196}
2018-02-09 08:25:15 +00:00
Sergiy Byelozyorov
cfaf90f21d Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:616879
Change-Id: Id733f67781acade86007cd65b20b7108857764b5
Reviewed-on: https://chromium-review.googlesource.com/910508
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51195}
2018-02-09 01:45:05 +00:00
Sergiy Byelozyorov
82bad52552 Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:616879
Change-Id: Ied48d94830b452a9bbde80858e7c130bfb671b01
Reviewed-on: https://chromium-review.googlesource.com/910368
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51194}
2018-02-09 00:34:15 +00:00
Sergiy Byelozyorov
5696485b77 Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:616879
Change-Id: I5611f37c8c9d55a9b3ac316cf7d1ef8d4a1b2e2a
Reviewed-on: https://chromium-review.googlesource.com/910288
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51193}
2018-02-09 00:16:05 +00:00
Adam Klein
b198483358 [cleanup] Remove dead FunctionState::non_patterns_to_rewrite_ member
Change-Id: I75111d30d9e31605fd78c55e3103af8834178cd7
Reviewed-on: https://chromium-review.googlesource.com/909963
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51192}
2018-02-08 23:52:55 +00:00
Alexey Kozyatinskiy
86d512c848 [inspector] calculate correct script hash
We used to calculate hash in completely incorrect way. We use each
forth character to calculate hash but we should use each one.

R=dgozman@chromium.org

Bug: v8:7426
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Iaaa317bbf3b3ef71632735dfd069db450283b6f4
Reviewed-on: https://chromium-review.googlesource.com/909586
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51191}
2018-02-08 23:47:36 +00:00
Wez
199a3341e4 Fix various call-sites not to use POSIX APIs unsupported by Fuchsia.
Bug: chromium:809201
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I060ae3a88c3a3731bfdbb9e6d5cdf8600ec8b832
Reviewed-on: https://chromium-review.googlesource.com/903421
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51190}
2018-02-08 23:24:25 +00:00
Sergiy Byelozyorov
2052773f12 Whitespace CL
TBR=sergiyb@chromium.org

Bug: chromium:616879
Change-Id: I686916ac031a32782a86ae74455d7f6f0d083377
No-Try: True
Reviewed-on: https://chromium-review.googlesource.com/910048
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51189}
2018-02-08 23:13:35 +00:00
Michael Achenbach
99fad4115d [test] Forgive tests timing out on num-fuzzers
Timeouts on num-fuzzer only lead to false positives, as tests might
take unpredictably longer.

This CL forgives timeouts through a global override mechanism of the
expected outcomes. This allows to remove already existing scattered
code that allowed timeouts in some test suites only.

Bug: v8:6917
Change-Id: Ib131765d360e335789c1952bc6793ed051e016ea
Reviewed-on: https://chromium-review.googlesource.com/908454
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51188}
2018-02-08 23:08:05 +00:00
Sergiy Byelozyorov
8fcf2e6f47 Whitespace CL
TBR=sergiyb@chromium.org

Bug: chromium:616879
Change-Id: I449b7e55bd2cf70f45e423ebc46982187c4f14dd
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/908455
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51187}
2018-02-08 22:56:26 +00:00
Junliang Yan
3088777fb5 PPC/s390: [debug] implement break on entry for builtin functions.
Port 876f37c3de

Original Commit Message:

    We reuse most of the infrastructure to set break points, with minor
    differences when we encounter functions where we can only break on entry:
    - PrepareFunctionForBreakPoints simply deopts all functions.
    - Break point objects have the canonical source position 0.
    - Break point is set/checked/cleared via bit on the DebugInfo.
    - Debug::Break do not continue stepping since stepping is implemented via
      regular break points and therefore do not interfere with break on entry.

    I promise to add more tests.

R=yangguo@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: I0595652adced533c1032a6c3fd64cddfd4e730da
Reviewed-on: https://chromium-review.googlesource.com/909292
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#51186}
2018-02-08 21:32:16 +00:00
Yang Guo
2c8663aa1a [gyp] remove gyp files.
R=machenbach@chromium.org

Bug: v8:7335
Change-Id: Ied1101295fc9ee37fcc038b9aeb557229722df0b
Reviewed-on: https://chromium-review.googlesource.com/897566
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51185}
2018-02-08 20:04:06 +00:00
Sigurd Schneider
922d14b4fe [turbofan] Add feedback to SpeculativeToNumber
Bug: v8:7250
Change-Id: If4c9d0b32939a06993d3ffb39ac4b19edbad422f
Reviewed-on: https://chromium-review.googlesource.com/906731
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51184}
2018-02-08 18:02:04 +00:00
Vasili Skurydzin
13d67667cc Fixes to V8 GN build process on AIX
Change to v8/BUILD.gn regarding GN build of V8. Excluding platform-posix-time.h
and platform-posix-time.cc from the sources list on AIX os. The changes affect
AIX only.

Bug: chromium:616029
Change-Id: I5e5d46aa4c62f70544ff593294e459c607a03c67
Reviewed-on: https://chromium-review.googlesource.com/897124
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51183}
2018-02-08 17:51:44 +00:00
Sathya Gunasekaran
46488f71bb [promisehook] Check for JSReceiver in runtime function
PromiseHooks can be called with a proxy which fails the cast and
crashes. This patch changes the runtime functions to
explicitly check for a JSPromise.

This has the side effect of removing the existing broken support for
catch prediction for non native promises.

Bug: v8:7398, v8:7190
Change-Id: I66dbe5f9935943a91afb7ee14919bd9248f9f7e4
Reviewed-on: https://chromium-review.googlesource.com/907677
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51182}
2018-02-08 17:28:54 +00:00
Adam Klein
3916401e4b Revert "[builtins] Mega-revert to address the Dev blocker in crbug.com/808911."
This reverts commit 14108f4c2e.

Reason for revert: Not the culprit for Canary microtask crashes

Original change's description:
> [builtins] Mega-revert to address the Dev blocker in crbug.com/808911.
> 
> - Revert "[builtins] Save one word in contexts for Promise.all."
>   This reverts commit 7632da067b.
> - Revert "[builtins] Also use the Promise#then protector for Promise#finally()."
>   This reverts commit d4f072ced3.
> - Revert "[builtins] Don't mess with entered context for MicrotaskCallbacks."
>   This reverts commit 6703dacdd6.
> - Revert "[debugger] Properly deal with settled promises in catch prediction."
>   This reverts commit 40dd065823.
> - Revert "[builtins] Widen the fast-path for Promise builtins."
>   This reverts commit db0556b7e8.
> - Revert "[builtins] Unify PerformPromiseThen and optimize it with TurboFan."
>   This reverts commit a582199c5e.
> - Revert "[builtins] Remove obsolete PromiseBuiltinsAssembler::AppendPromiseCallback."
>   This reverts commit 6bf8885290.
> - Revert "[builtins] Turn NewPromiseCapability into a proper builtin."
>   This reverts commit 313b490ddd.
> - Revert "[builtins] Inline InternalPromiseThen into it's only caller"
>   This reverts commit f7bd6a2fd6.
> - Revert "[builtins] Implement Promise#catch by really calling into Promise#then."
>   This reverts commit b23b098fa0.
> - Revert "[promise] Remove incorrect fast path"
>   This reverts commit 0f6eafe855.
> - Revert "[builtins] Squeeze JSPromise::result and JSPromise::reactions into a single field."
>   This reverts commit 8a677a2831.
> - Revert "[builtins] Refactor promises to reduce GC overhead."
>   This reverts commit 8e7737cb58.
> 
> Tbr: hpayer@chromium.org
> Bug: chromium:800651, chromium:808911, v8:5691, v8:7253
> Change-Id: I8c8ea5ed32ed62f6cd8b0d027a3707ddd891e5f1
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> Reviewed-on: https://chromium-review.googlesource.com/906991
> Commit-Queue: Yang Guo <yangguo@chromium.org>
> Commit-Queue: Adam Klein <adamk@chromium.org>
> Reviewed-by: Adam Klein <adamk@chromium.org>
> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#51158}

Change-Id: I09d958cbebd635a325809072a290f2f53df8c5d4
Tbr: adamk@chromium.org,yangguo@chromium.org,bmeurer@chromium.org
Bug: chromium:800651, chromium:808911, v8:5691, v8:7253
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/908988
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51181}
2018-02-08 17:25:13 +00:00
Franziska Hinkelmann
2ef90158fb [heap-profiler] Use unique ptr for snapshots for explicit ownership
Implement empty desctructor because of the forward declarations.

Change-Id: I56af92d7ded44b6fcd3582d1e3a10e9bb5cb1296
Reviewed-on: https://chromium-review.googlesource.com/905671
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51180}
2018-02-08 15:26:23 +00:00
Clemens Hammacher
da159ccc94 [Liftoff] Support i64 constants
For local variables of type i64 and also for i64 constants, it makes
sense to store the constant value in the {VarState} instead of loading
the value into a register immediately. This also helps with some
instructions like i64 bitshifts, but also general patterns like
incrementing an i64 local variable by a fixed number.

R=ahaas@chromium.org

Bug: v8:6600
Change-Id: Ibed15228bbc53632dd3e60d7862ff2fbcb9832ca
Reviewed-on: https://chromium-review.googlesource.com/904443
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51179}
2018-02-08 15:08:43 +00:00
Dan Elphick
1c10c4a275 [CSA] Add CSA_ASSERT_BRANCH to assert on branch results
The new macro takes a void(Label* ok, Label* not_ok), which should
generate statements that branch to one of the labels. If the not_ok
Label is reached, it will abort just like CSA_ASSERT.

Also replaces an instance of #ifdef DEBUG ... #endif with this pattern
in builtins-regexp-gen.cc

Change-Id: Ie7ec87e041c040c03f9c528dccc8e709e50ed9b9
Reviewed-on: https://chromium-review.googlesource.com/906933
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51178}
2018-02-08 15:04:53 +00:00
Michael Achenbach
9606052b89 [build] Remove remaining gyp builders from MB configs
NOTRY=true
TBR=yangguo@chromium.org

Bug: chromium:772804
Change-Id: I1f72b9710b25edf7d95fa5404bf22bd543fed66b
Reviewed-on: https://chromium-review.googlesource.com/908459
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51177}
2018-02-08 14:25:52 +00:00
sreten.kovacevic
d24b63ec85 [Liftoff] Introduce Liftoff support on [MIPS]
Added registers and conditions for this architecture.
Implemented some of the instructions, mainly for wasm
context operations.

Bug: v8:6600
Change-Id: I5f3e32eb4d284172b21434456395256872da3b46
Reviewed-on: https://chromium-review.googlesource.com/906609
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51176}
2018-02-08 13:57:01 +00:00
Clemens Hammacher
3c47499881 [Liftoff] Fix caller frame slots generated from stack values
Because of missing parentheses, the computation of the "half index" was
wrong, and always produced 0 or 1.
Also, for non-pairs, we were still passing kHighWord for the
RegPairHalf.

R=ahaas@chromium.org

Bug: v8:7422, v8:6600
Change-Id: If056aa8005d4b44e667b7d76b9be49ec0191d0eb
Reviewed-on: https://chromium-review.googlesource.com/908554
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51175}
2018-02-08 13:47:20 +00:00
Yang Guo
93db86e605 [debug] do not inline builtin if breaking on entry.
R=jarin@chromium.org

Bug: v8:178
Change-Id: I4b77e96072d5b8b70df21477bba8cdbf573d184c
Reviewed-on: https://chromium-review.googlesource.com/908289
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51174}
2018-02-08 13:05:20 +00:00
Michael Achenbach
b7b64095c2 [CQ] Retire gyp builder on CQ
NOTRY=true
TBR=yangguo@chromium.org

Bug: chromium:772804
Change-Id: I738d67bd504180de70359f4aabec3ef8f54cee16
Reviewed-on: https://chromium-review.googlesource.com/907557
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51173}
2018-02-08 11:45:34 +00:00
Dan Elphick
95f36d4a6c Remove redundant Array from ArrayFrom tests in JStests.json
Bug: chromium:810320
Change-Id: I5e07d27e4895539b49707c56197fc8413281af06
Reviewed-on: https://chromium-review.googlesource.com/907891
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51172}
2018-02-08 11:43:46 +00:00
Kim-Anh Tran
f9d2c0daa3 [wasm] Add checks and trace info for lazy compilation on native heap
Lazy compilation on native heap is currently lacking debug trace info
and checks that are available for the GC heap. This commit adds
lacking checks and debug outputs for the native heap.

R=clemensh@google.com

Change-Id: Iec2592bd421fdcbbd4461b13a7851926e791d297
Reviewed-on: https://chromium-review.googlesource.com/904531
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Kim-Anh Tran <kimanh@google.com>
Cr-Commit-Position: refs/heads/master@{#51171}
2018-02-08 10:15:33 +00:00
Taketoshi Aono
4455377fca Reland: Reimplement Object.entries/values as CSA to optimize performance.
Original CL is https://chromium-review.googlesource.com/c/v8/v8/+/810504
Reverted issue is https://bugs.chromium.org/p/chromium/issues/detail?id=804159

Fix Object.entries descriptor array value index.

This reverts commit e5ecb24859.

Bug: v8:6804, chromium:804159
Change-Id: I73a5a5f670c5b36e0c5cc7984d5979ecec43d969
Reviewed-on: https://chromium-review.googlesource.com/892684
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51170}
2018-02-08 10:12:32 +00:00
Michael Achenbach
49bce85225 [build] Add MB config for mips builder
TBR=yangguo@chromium.org
NOTRY=true

Bug: chromium:616017
Change-Id: I48a29bc96e2c7ae54f4b5bbb6790db1d8bfccab4
Reviewed-on: https://chromium-review.googlesource.com/908288
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51169}
2018-02-08 09:51:05 +00:00
Jaroslav Sevcik
d629d901b6 [turbofan] Move common instruction selector code into the platform-independent file.
Bug: v8:5267
Change-Id: I7fb48f6e2c7a3f3dd64e799492d94f68efea9a7f
Reviewed-on: https://chromium-review.googlesource.com/905646
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51168}
2018-02-08 09:49:08 +00:00
Michael Achenbach
8f7ccb6c1e [build] Support mips toolchain for cross-compiling
This enables compiling V8 stand-alone for mips (big endian)
on an ia32 host with gn args:

custom_toolchain="//:mips-bundled"
v8_use_snapshot=false
v8_enable_i18n_support=false
icu_use_data_file=false
is_debug=false
target_cpu="mips"

Bug: chromium:632390
Change-Id: I0b59126d742a2979dd0fcbcdd3a574008a09479a
Reviewed-on: https://chromium-review.googlesource.com/904990
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51167}
2018-02-08 08:25:47 +00:00
v8-autoroll
20183df53f Update V8 DEPS.
Rolling v8/build: 7e86dc4..3ba6ca6

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/1d86294..b4a4bed

Rolling v8/tools/clang: 2a49b96..357315f

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

Change-Id: I4616ff3d23772623d26d69ed3d5228db8a3e677c
Reviewed-on: https://chromium-review.googlesource.com/908069
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51166}
2018-02-08 05:02:16 +00:00
Deepti Gandluri
2b67f8de57 [ia32] Fix disassembler tests to test instruction disassembly
Change-Id: I1fe7ba0a942c6da2d1c85c2391762cb434098cf1
Reviewed-on: https://chromium-review.googlesource.com/907346
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51165}
2018-02-08 00:25:16 +00:00
Caitlin Potter
601f5f7897 Make JSFunctionPrint() output Builtin names
This change has been useful when inspecting on_reject callbacks in
Isolate::InternalPromiseHasUserDefinedRejectHandler, it's probably
going to be helpful for other things too.

BUG=
R=adamk@chromium.org, littledan@chromium.org

Change-Id: I7c5bac87a3b8bd3ce19d71cf73397a93109976ba
Reviewed-on: https://chromium-review.googlesource.com/907641
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Cr-Commit-Position: refs/heads/master@{#51164}
2018-02-07 23:07:39 +00:00