Commit Graph

40826 Commits

Author SHA1 Message Date
v8-autoroll
e2862ab586 Update V8 DEPS.
Rolling v8/build: d69be9e..259d849

Rolling v8/third_party/catapult: 3b76c88..6d102fd

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

Change-Id: I1b7208580b29364e168f185249c1ba2008ced3d0
Reviewed-on: https://chromium-review.googlesource.com/557719
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46334}
2017-06-30 03:36:31 +00:00
Sathya Gunasekaran
22e95814a8 [ESnext] Change dynamic import API to return a promise
Previously V8 created a promise to return to userland,
but instead we let the embedder create and track the promise.

Bug: v8:5785
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I8903ffbabf3a256f1c8df844a656a873da304586
Reviewed-on: https://chromium-review.googlesource.com/492646
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Daniel Clifford <danno@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46333}
2017-06-29 22:34:41 +00:00
mtrofin
943f8fb264 [wasm] Naming convention: get_origin() -> origin()
The naming convention in v8 has trivial getters named like the field,
no 'get_' prefix, and dropping the '_' suffix of the field.

BUG=

Review-Url: https://codereview.chromium.org/2958283003
Cr-Commit-Position: refs/heads/master@{#46332}
2017-06-29 18:30:07 +00:00
Adam Klein
4c79544cca [ast] AstTraversalVisitor should visit the Declarations of Block scopes
R=marja@chromium.org

Bug: v8:6509
Change-Id: If8be12e2ce6c00de0bdee38ab721ef5b7b47efe5
Reviewed-on: https://chromium-review.googlesource.com/556239
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46331}
2017-06-29 17:51:22 +00:00
Camillo Bruni
8516076a6c [cleanup] Add kZeroSeed default parameter to ComputeIntegerHash
Change-Id: I46ac3b82a37c7044d5ce5eb3c0378e354ef13c52
Reviewed-on: https://chromium-review.googlesource.com/552538
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46330}
2017-06-29 17:00:18 +00:00
gdeepti
3a9cd45423 [wasm] Implement remaining SIMD x64 compare ops, unops.
Ops Implemented: I32x4Neg, I32x4GtS, I32x4GeS, I32x4GtU, I32x4GeU,
                 I16x8Neg, I16x8GtS, I16x8GeS, I16x8GtU, I16x8GeU
		 I8x16Neg, I8x16GtS, I8x16GeS, I8x16GtU, I8x16GeU
		 S128Not

BUG=v8:6020

R=bbudge@chromium.org, zvi.rackover@intel.com, mtrofin@chromium.org

Review-Url: https://codereview.chromium.org/2951793003
Cr-Commit-Position: refs/heads/master@{#46329}
2017-06-29 16:07:28 +00:00
Mathias Bynens
36cfdf9e57 [debug] Fix typo
s/arguements_store/arguments_store/

BUG=
R=cbruni@chromium.org

Change-Id: Ib7b573d80521e717c65b30aff5c3b1170d3fc61a
Reviewed-on: https://chromium-review.googlesource.com/555494
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46328}
2017-06-29 16:00:17 +00:00
Michael Starzinger
8de411339e [turbofan] Avoid costly predicate during graph building.
This avoids usage of the costly {NodeProperties::IsExceptionalCall}
predicate during graph building. The result of this predicate is no
longer needed.

R=leszeks@chromium.org

Change-Id: Ief0c37b598ca51ea5d604f47d964bcbfb89a5206
Reviewed-on: https://chromium-review.googlesource.com/555517
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46327}
2017-06-29 15:58:47 +00:00
Jaideep Bajwa
261867021f PPC/s390: [compiler] Delay generation of code stubs.
Port 040fa06fb3

R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:6048
LOG=N

Change-Id: I842cf54de1ef33dbcaf95824db15d87e9f68eb22
Reviewed-on: https://chromium-review.googlesource.com/555330
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#46326}
2017-06-29 15:40:37 +00:00
Michael Lippautz
3dffe2e3ad [heap] MC: Switch to instance-based visitor
Bug: 
Change-Id: Ie365e73656f9807043e801b4fb74d75c64259838
Reviewed-on: https://chromium-review.googlesource.com/552552
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46325}
2017-06-29 15:09:31 +00:00
Ulan Degenbaev
8b97f512ac [heap] Fix incremental marking of fixed array with progress bar when
concurrent marking is on.

BUG=chromium:694255

Change-Id: I3cd74af9a3f7fb02d982d9366a6a2ebd119a92b2
Reviewed-on: https://chromium-review.googlesource.com/554627
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46324}
2017-06-29 14:52:38 +00:00
Jakob Kummerow
347e6215c5 Fix HasOwnProperty stub for interceptors
When internalization of the key fails because the string does not
exist in the StringTable yet, then no regular object can possibly
have a property with that name, so just returning "false" is safe.
However, for objects with interceptors this is not true, as there
may well be intercepted properties whose keys have not been
internalized. So "special API objects" must take the slow path to
query any interceptors.

Bug: chromium:735990
Change-Id: Ibe6c4f8b14fef65738115f12167d3602bec3d9b7
Reviewed-on: https://chromium-review.googlesource.com/552550
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46323}
2017-06-29 14:46:18 +00:00
Michael Lippautz
580777977a [heap] Re-enable regexp flushing
It was disabled by accident when removing code flushing. A future
experiment should check whether we actually still need it.

Bug: 
Change-Id: Iab8593d982289200775f30622f7a3ce93795d03e
Reviewed-on: https://chromium-review.googlesource.com/555430
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46322}
2017-06-29 14:23:06 +00:00
titzer
d0565a9bda [objects] Rename macros from DECLARE_ to DECL_ for consistency.
R=marja@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2961253002
Cr-Commit-Position: refs/heads/master@{#46321}
2017-06-29 13:14:20 +00:00
Michael Lippautz
5157325bae [heap] Fixes for Bitmap
Bug: chromium:651354
Change-Id: Ib384ca2d386421a0a466ef318b278f8fc677cdb2
Reviewed-on: https://chromium-review.googlesource.com/555172
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46320}
2017-06-29 13:10:32 +00:00
Ulan Degenbaev
039849478b [heap] Fix data race with inobject_properties access in concurrent marker.
The race happens when inobject slack tracking is being completed on the
main thread, which decrements inobject_properties. At the same time
the concurrent marker is reading inobject_properties via the
LayoutDescriptorHelper.

BUG=chromium:694255

Change-Id: I4627d66b66c6036d357b9f619e1c602f0bb47d80
Reviewed-on: https://chromium-review.googlesource.com/555210
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46319}
2017-06-29 12:29:52 +00:00
Michael Starzinger
95a436b271 [turbofan] Lower {JSToObject} nodes inside try-block.
This adds support for lowering of nodes having the {JSToObject} operator
even if they have exceptional control projections (e.g. are inside of a
try-block).

R=bmeurer@chromium.org
TEST=mjsunit/compiler/optimized-with

Change-Id: I711ff4935db68c43243a971a8b21989487c86317
Reviewed-on: https://chromium-review.googlesource.com/554628
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46318}
2017-06-29 12:27:19 +00:00
Daniel Ehrenberg
f419eca9c7 Revert "[parser] allow ASI when "await" or "yield" follows "let""
This reverts commit 96698b55e0.

Reason for revert: This patch was correct when it landed, but later,
the spec was changed to V8's old behavior in
https://github.com/tc39/ecma262/pull/885 .

Original change's description:
> [parser] allow ASI when "await" or "yield" follows "let"
> 
> Per https://github.com/tc39/test262/pull/956, André believes that ASI
> should be permitted in these situations.
> 
> BUG=
> R=​marja@chromium.org, adamk@chromium.org, littledan@chromium.org
> 
> Change-Id: I5602d8a507576607750ffa9e873e1bfa53dd3523
> Reviewed-on: https://chromium-review.googlesource.com/472568
> Reviewed-by: Marja Hölttä <marja@chromium.org>
> Commit-Queue: Caitlin Potter <caitp@igalia.com>
> Cr-Commit-Position: refs/heads/master@{#44585}

TBR=adamk@chromium.org,marja@chromium.org,littledan@chromium.org,caitp@igalia.com

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

Change-Id: I2c5bf709867da539ccd4cd82f3be98c8a0301f31
Reviewed-on: https://chromium-review.googlesource.com/553617
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Daniel Ehrenberg <littledan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46317}
2017-06-29 11:31:02 +00:00
Michael Achenbach
92d5e42a19 [build] Add android platform to official-archive file filter
TBR=mathias@chromium.org
NOTRY=true

Bug: v8:5918
Change-Id: Ifcc1b2dc3aa230f30893deb0209eafa31384a263
Reviewed-on: https://chromium-review.googlesource.com/554772
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46316}
2017-06-29 10:27:55 +00:00
Michael Starzinger
2f5e0bac8d [turbofan] Lower {JSCreateArray} nodes inside try-block.
This adds support for lowering of nodes having the {JSCreateArray}
operator even if they have exceptional control projections (e.g. are
placed inside a try-block).

R=mvstanton@chromium.org
TEST=mjsunit/compiler/array-constructor

Change-Id: I2fe34dbb3729b4763471f2638a960b01c531c038
Reviewed-on: https://chromium-review.googlesource.com/554732
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46315}
2017-06-29 10:26:35 +00:00
Clemens Hammacher
d6aed4435f [wasm] Use pending exceptions consistently
In our internal code, we should only use pending exceptions. They will
be converted to scheduled exceptions on the API boundary.
Hence, the ErrorThrower just sets a pending exception; it should never
have to think about scheduled exceptions. The new
ScheduledErrorThrower inherits from ErrorThrower and reschedules any
pending exceptions in its destructor (turning them into scheduled
exceptions).
In some situations, there might already be a scheduled exception, e.g.
when calling other API methods (v8::Value::Get). In this case, the
ErrorThrower should also not set another pending exception. For the
reasons mentioned above, this can only be handled in the
ScheduledErrorThrower, which is used the API methods.

This fixes one DCHECK failure and one TODO about scheduled exceptions
if no instance can be created, because the start function throws.

R=mtrofin@chromium.org, mstarzinger@chromium.org
BUG=v8:6232,chromium:736256

Change-Id: I4905be04c565df9495de18fb26adbb5c05d193d2
Reviewed-on: https://chromium-review.googlesource.com/548641
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46314}
2017-06-29 10:23:45 +00:00
Georg Neis
365fd66139 [modules, cleanup] Simplify Print().
R=adamk@chromium.org

Bug: v8:1569
Change-Id: Idf069e7c8dac4a064eacf6bd1db1df3314988e6a
Reviewed-on: https://chromium-review.googlesource.com/553261
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46313}
2017-06-29 10:21:40 +00:00
Michael Achenbach
ccb5a1d342 [build] Slim down official archive and support different archive types
This drops v8_hello_world, v8_parser_shell and v8_sample_process from the
official v8 archives.

This also adds a new option to differentiate library and executable
archives.

NOTRY=true
TBR=marja@chromium.org

Bug: v8:5918
Change-Id: I946708f2eeb030296c5ce284541ecf719522186c
Reviewed-on: https://chromium-review.googlesource.com/554753
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46312}
2017-06-29 10:20:35 +00:00
bmeurer
adf7f54e24 [turbofan] Extend escape analysis to reduce certain CheckMaps.
Enable the experimental support in escape analysis to deal with
constant-foldable CheckMaps nodes and remove them from the effect
chain w/o blocking the scalar replacement of the object.

BUG=v8:4586,v8:5267
R=tebbi@chromium.org

Review-Url: https://codereview.chromium.org/2964473002
Cr-Commit-Position: refs/heads/master@{#46311}
2017-06-29 10:18:19 +00:00
titzer
73ce185915 Inline Map::has_code_cache() into its one caller.
R=verwaest@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2957313002
Cr-Commit-Position: refs/heads/master@{#46310}
2017-06-29 09:50:55 +00:00
Adam Klein
8b0873f8d7 [cleanup] Mark more generator runtime functions as unreachable
Change-Id: I83bfb75dab7970ba1c13d2096c8ee9de1e13903b
Reviewed-on: https://chromium-review.googlesource.com/553137
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46309}
2017-06-29 09:37:07 +00:00
Michael Achenbach
49787a609f Revert "Switch tracing to use v8::TracingController"
This reverts commit 3d8e87aa7d.

Reason for revert: tsan errors:
https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/15977

Original change's description:
> Switch tracing to use v8::TracingController
> 
> BUG=v8:6511
> R=​fmeawad@chromium.org
> 
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> Change-Id: I4961e4b61a9ddc98385ed97c3ffcbcaef2d9cba7
> Reviewed-on: https://chromium-review.googlesource.com/543144
> Commit-Queue: Jochen Eisinger <jochen@chromium.org>
> Reviewed-by: Fadi Meawad <fmeawad@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#46307}

TBR=fmeawad@chromium.org,jochen@chromium.org

Change-Id: I3f39081001104c634cc8cab9d58ec420fc7293d8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:6511
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/554771
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46308}
2017-06-29 09:01:50 +00:00
Jochen Eisinger
3d8e87aa7d Switch tracing to use v8::TracingController
BUG=v8:6511
R=fmeawad@chromium.org

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I4961e4b61a9ddc98385ed97c3ffcbcaef2d9cba7
Reviewed-on: https://chromium-review.googlesource.com/543144
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Fadi Meawad <fmeawad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46307}
2017-06-29 08:40:35 +00:00
Leszek Swirski
9845f01a34 [compiler] Remove OSR code cache
There are very few cases where OSR code can be re-used, and where the
function won't be non-concurrently optimized after OSR has happened.
Maintaining the OSR code cache is unnecessary complexity, and caching
OSR prevents us from e.g. seeding the optimizer with the actual OSR
values.

So, this patch removes it.

Change-Id: Ib9223de590f35ffc1dc2ab593b7cc9fe97dde4a6
Reviewed-on: https://chromium-review.googlesource.com/552637
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46306}
2017-06-29 08:20:10 +00:00
Michael Achenbach
aec2862626 [build] Dump build configuration for all v8 executables
Before this CL, cctest with component build will depend on the static v8
snapshot target and omit to dump the build configuration.

Now we simply write the configuration when building any v8
executable. In pure library builds, we don't need the configuration, as
it's used by the test framework to auto-detect testing options.

Bug: v8:5918
Change-Id: Ie85ba82a2803542f0a0c88d6044167138fdd7d4f
Reviewed-on: https://chromium-review.googlesource.com/554690
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46305}
2017-06-29 08:06:45 +00:00
Jungshik Shin
1163aba720 Remove icu_case_mapping flag
icu-case-mapping was shipped a few months ago. By dropping
the flag, unibrow's case conversion code won't be included
by default because V8_INTL_SUPPORT is on by default.

BUG=v8:4477, v8:4476
TEST=test262/{built-ins,intl402}/Strings/*, webkit/fast/js/*,
     mjsunit/string-case, intl/general/case*

Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng
Change-Id: I78be9cc64b4588bc5af79ecbbadf93af6e84a1df
Reviewed-on: https://chromium-review.googlesource.com/534541
Commit-Queue: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46304}
2017-06-29 03:47:27 +00:00
v8-autoroll
cb61fad898 Update V8 DEPS.
Rolling v8/build: 41581c8..d69be9e

Rolling v8/buildtools: 7f2cacb..1dcd1bd

Rolling v8/third_party/android_tools: https://chromium.googlesource.com/android_tools/+log/023e2f6..e9d4018

Rolling v8/third_party/catapult: 520dd37..3b76c88

Rolling v8/tools/clang: ad52f33..2023fc2

Rolling v8/tools/swarming_client: af6b06c..a56c2b3

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

Change-Id: I10612ed0881ad23ddbe5d73256e6689213f811b6
Reviewed-on: https://chromium-review.googlesource.com/554358
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46303}
2017-06-29 03:41:26 +00:00
Mircea Trofin
535a5f9624 [wasm] Disabling wasm-opts
It appears we actually get a compile time boost, and sometimes a 
runtime boost, at the cost of some reloc info growth.

Bug: 
Change-Id: I1d1dc48f364e6611f895ebd00f86451199dd8626
Reviewed-on: https://chromium-review.googlesource.com/544713
Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
Reviewed-by: Brad Nelson <bradnelson@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46302}
2017-06-29 01:47:13 +00:00
sampsong
e4753d2828 [test] Fix test status file simulator_run not evaluate to boolean error
and clean up equal operator

BUG=
R=bjaideep@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com, machenbach@chromium.org, rossberg@chromium.org

Review-Url: https://codereview.chromium.org/2961873002
Cr-Commit-Position: refs/heads/master@{#46301}
2017-06-28 21:32:19 +00:00
Georg Neis
040fa06fb3 [compiler] Delay generation of code stubs.
Bug: v8:6048
Change-Id: I055f8207d0a32b7fa0fb95961f2e0f29d1c02569
Reviewed-on: https://chromium-review.googlesource.com/548078
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46300}
2017-06-28 19:14:56 +00:00
Junliang Yan
0216361dc2 PPC: fix print-code issue with constant pool
R=bjaideep@ca.ibm.com, joransiu@ca.ibm.com

Bug: 
Change-Id: I78ec5f187559901dd4703d0964cd0c05726cd2b9
Reviewed-on: https://chromium-review.googlesource.com/553057
Reviewed-by: Jaideep Bajwa <bjaideep@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#46299}
2017-06-28 18:44:06 +00:00
Igor Sheludko
1737ad4439 [runtime] Cleanup native methods creation in js/proxy.js.
This CL replaces usages of utils.InstallFunctions and utils.InstallGetter()
with the DEFINE_METHOD* macros that ensure that the native function is
created in proper form from the beginning. Thus the function will not
require further reconfiguring like adding a computed name or removing of
'prototype' property.

This CL is one of a series of cleanup CL which are the preliminary steps for
improving function closures creation.

Bug: v8:6459
Change-Id: Ic78aa448ffee2cd6edf2d18fd303a34a065ff95a
Reviewed-on: https://chromium-review.googlesource.com/548176
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46298}
2017-06-28 17:59:16 +00:00
Igor Sheludko
eb735f3d06 [runtime] Cleanup native methods creation in js/typedarray.js.
This CL replaces usages of utils.InstallFunctions and utils.InstallGetter()
with the DEFINE_METHOD* macros that ensure that the native function is
created in proper form from the beginning. Thus the function will not
require further reconfiguring like adding a computed name or removing of
'prototype' property.

This CL is one of a series of cleanup CL which are the preliminary steps for
improving function closures creation.

Bug: v8:6459
Change-Id: I8432be211adf104cacb74ba2431364bfd6614d18
Reviewed-on: https://chromium-review.googlesource.com/548177
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46297}
2017-06-28 17:58:11 +00:00
Igor Sheludko
80e223aa88 [runtime] Cleanup native methods creation in js/string.js.
This CL replaces usages of utils.InstallFunctions and utils.InstallGetter()
with the DEFINE_METHOD* macros that ensure that the native function is
created in proper form from the beginning. Thus the function will not
require further reconfiguring like adding a computed name or removing of
'prototype' property.

This CL is one of a series of cleanup CL which are the preliminary steps for
improving function closures creation.

Bug: v8:6459
Change-Id: I2a858625242d9b20ae9d7d933d5ba4d6163769f6
Reviewed-on: https://chromium-review.googlesource.com/548076
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46296}
2017-06-28 17:57:06 +00:00
Michael Achenbach
4234ac9e98 [build] Fix x87 support in GN configs
Explicitly set gcc as it's derived in gyp.

Bug: chromium:645890
Change-Id: Ibe77ab10b9ce705bdb650b14e212c55b0a9154ba
Reviewed-on: https://chromium-review.googlesource.com/552638
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Zhengxing Li <zhengxing.li@intel.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46295}
2017-06-28 17:49:26 +00:00
Georg Neis
5e62c1fba3 [modules, cleanup] Reuse existing zone.
... instead of creating a new one in each recursive call.

R=adamk@chromium.org

Bug: v8:1569
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Ieb2e76a5dec7bc0157b534a8b5f21acf6c86007c
Reviewed-on: https://chromium-review.googlesource.com/552548
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46294}
2017-06-28 16:02:22 +00:00
Georg Neis
a209dcf6a1 [api] Expose a module's status and exception.
V8 now takes care of recording a module's status, as proposed
in https://github.com/tc39/ecma262/pull/916.

R=adamk@chromium.org

Bug: v8:1569, chromium:594639
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Id884f1c817e1dc3eea79a5d5a7f5cd996db1dbb0
Reviewed-on: https://chromium-review.googlesource.com/548500
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46293}
2017-06-28 15:54:57 +00:00
Igor Sheludko
3088ae3860 [runtime] Cleanup native methods creation in js/promise.js.
This CL replaces usages of utils.InstallFunctions and utils.InstallGetter()
with the DEFINE_METHOD* macros that ensure that the native function is
created in proper form from the beginning. Thus the function will not
require further reconfiguring like adding a computed name or removing of
'prototype' property.

This CL is one of a series of cleanup CL which are the preliminary steps for
improving function closures creation.

Bug: v8:6459
Change-Id: Ic9ad538828ccd9d9e437d426e2948e987681fc5a
Reviewed-on: https://chromium-review.googlesource.com/548175
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46292}
2017-06-28 15:07:07 +00:00
Michael Lippautz
bd808e7a3b Reland "[heap] Move ArrayBufferTracker updating to pointers updating"
This reverts commit ecd8d2c233.

Bug: chromium:651354
Change-Id: I744ef9104cf9d56b8ce6d814f5abda152b0743b0
Reviewed-on: https://chromium-review.googlesource.com/552147
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46291}
2017-06-28 14:46:37 +00:00
titzer
e44c607b81 [objects] Move AllocationSite::MakePretenureDecision() and AllocationSite::DigestPretenuringFeedback() into heap.cc
These two methods were only called in heap.cc. Since they are pretty
heavyweight and objects-inl.h is included in many V8 files, this saves
build time.

R=ulan@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2961053002
Cr-Commit-Position: refs/heads/master@{#46290}
2017-06-28 14:32:01 +00:00
Georg Neis
d02cb6f0ff [modules] Implement the new semantics of instantiation and evaluation.
This implements the changes proposed at
https://github.com/tc39/ecma262/pull/916.
The API will be extended in a follow-up CL.

R=adamk@chromium.org

Bug: v8:1569
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I79476b5b674c924fea390dff1b9bee7f86a111c6
Reviewed-on: https://chromium-review.googlesource.com/544970
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46289}
2017-06-28 14:24:37 +00:00
Igor Sheludko
e027a3ee23 [runtime] Cleanup native methods creation in debug/debug.js and debug/mirrors.js.
This CL replaces usages of utils.InstallFunctions and utils.InstallGetter()
with utils.InstallConstants(). Since these methods are not exposed to the user it
doesn't matter if we add them with DONT_ENUM attributes or not.

This CL is one of a series of cleanup CL which are the preliminary steps for
improving function closures creation.

Bug: v8:6459
Change-Id: I41708741f1cc013e4f4c37f1c7a73c1333deca7d
Reviewed-on: https://chromium-review.googlesource.com/548137
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46288}
2017-06-28 14:15:07 +00:00
jarin
4e9e814540 Fast path for Map.prototype.(Get|Has) with Smi key.
Review-Url: https://codereview.chromium.org/2958063002
Cr-Commit-Position: refs/heads/master@{#46287}
2017-06-28 13:51:24 +00:00
Igor Sheludko
9e5e3aff96 [runtime] Cleanup native methods creation in js/collection.js and js/collection-iterator.js.
This CL replaces usages of utils.InstallFunctions and utils.InstallGetter()
with the DEFINE_METHOD* macros that ensure that the native function is
created in proper form from the beginning. Thus the function will not
require further reconfiguring like adding a computed name or removing of
'prototype' property.

This CL is one of a series of cleanup CL which are the preliminary steps for
improving function closures creation.

Bug: v8:6459

fox

Change-Id: I0d95cd28511a84ff2c0a6e4dbf7274f73a0629f4
Reviewed-on: https://chromium-review.googlesource.com/548155
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46286}
2017-06-28 12:40:56 +00:00
Andreas Haas
a15030304a [wasm] Check that a function body exists before verifying it.
R=clemensh@chromium.org
BUG=chromium:737069

Change-Id: Ic651c8e84eb8d3e1181355cf44aadf4c4009245b
Reviewed-on: https://chromium-review.googlesource.com/552145
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46285}
2017-06-28 12:35:36 +00:00