Commit Graph

40936 Commits

Author SHA1 Message Date
Michael Lippautz
6407a3c052 [heap] Switch incremental marker to instance-based visitor
Last marker to use the instance based visitors. Delete StaticMarkingVisitor.

Bug: chromium:738368
Change-Id: I7b5345805268aab277f2961c8598536dfa1a4eeb
Reviewed-on: https://chromium-review.googlesource.com/556037
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46344}
2017-06-30 09:34:58 +00:00
Andreas Haas
1520a8518a [wasm] Run foreground compilation tasks as normal tasks
This CL makes foreground compilation tasks normal (i.e. not cancelable)
again, because otherwise a deadlock can happen. I think the reason why
the foreground tasks were cancelable was to make sure that all tasks
either finish correctly or get canceled. However, since the isolate can
only shut down on the main thread, this means that the foreground task
should have already finished when the isolate shuts down, or it should
not have started at all. I reordered the deletion of the AsyncCompileJob
though to make sure that an AsyncCompileJob is removed from
CompilationManager before its promise is resolved.

Here is the deadlock: The JS code which is executed after a promise is
resolved is executed within the task which resolves the promise. In case
of async compilation this means that some JS code is executed within a
CompileTask. In JS, the shutdown of the isolate can be triggered. During
the shutdown of the isolate, the CancelableTaskManager waits for all
registered cancelable tasks to complete, including the CompileTask of
async compilation. This means that the CancelableTaskManager waits for
itself to finish, which is a deadlock.

R=clemensh@chromium.org, mtrofin@chromium.org

Change-Id: I9f8c7fb2cfc5b9bfc53c761010b1590293bb82c9
Reviewed-on: https://chromium-review.googlesource.com/554733
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46343}
2017-06-30 09:33:17 +00:00
Camillo Bruni
bbc89774a6 [runtime] Enable double-lazy boilerplate creation again
This mostly reverts commit c503b80595 but fixes
an issue where literals would always be pretenured on first instantiation.

As a cleanup we pass in a PretenureFlag instead of using the FeedbackVector as
indicator.

Bug: v8:6211
Change-Id: Id328552620e33f5083519bcba1e24396d162d516
Reviewed-on: https://chromium-review.googlesource.com/555670
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46342}
2017-06-30 09:30:17 +00:00
Igor Sheludko
eeeae375b9 [runtime] Cleanup the way we create prototypes for builtin functions.
Pass the_hole_value as a |prototype| to let the helper function create
prototype object and properly wire it with the respective constructor
function.

Bug: v8:6459
Change-Id: I85097c02c88f00a47e62321ee3e6a3bdf6b5bcf8
Reviewed-on: https://chromium-review.googlesource.com/557799
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46341}
2017-06-30 09:22:22 +00:00
Miran.Karic
7ecf883358 MIPS[64]: Optimize Neg_s and Neg_d macro instructions.
The CL adds optimizations for Neg_s and Neg_d macro instructions.

BUG=

Change-Id: I842480ac3195860a1a36dadcffb5dc560ca8f424
Reviewed-on: https://chromium-review.googlesource.com/555131
Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com>
Commit-Queue: Miran Karić <Miran.Karic@imgtec.com>
Cr-Commit-Position: refs/heads/master@{#46340}
2017-06-30 08:41:29 +00:00
bmeurer
fd24deb0b2 [turbofan] Replace uninitialized JSConstruct nodes with SOFT deopt.
Similar to JSCall, we can also replace uninitialized JSConstruct nodes
with SOFT deopts to ensure that we don't generate unnecessary dead code.
This for example shows up in the hot parts of the Node event emitter
currently where the generic code for handling events with 4 or more
parameters might not have been run, but we still generate most of the
code because the new Array call in the beginning is not turned into
a SOFT deopt immediately.

Drive-by-fix: Also refactor the BytecodeGraphBuilder's handling of
Construct bytecodes a bit to reduce the amount of code duplication.

BUG=v8:4551, v8:5267
R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2958253002
Cr-Commit-Position: refs/heads/master@{#46339}
2017-06-30 08:18:43 +00:00
Leszek Swirski
2b1eb978c1 [parsing/runtime] Remove InitializeVarGlobal
Change-Id: I2ee0ff9db1bbc8c17a1ad3dea1de1ad996895852
Reviewed-on: https://chromium-review.googlesource.com/474807
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46338}
2017-06-30 08:03:04 +00:00
bmeurer
1c555714db [turbofan] Further optimize spread/apply with arguments/rest parameters.
Extend the use list check for the arguments object/rest parameters
during apply/spread optimization to allow for more cases, such that
even in code like

  function foo() {
    if (arguments.length === 1) return arguments[0];
    return bar.apply(this, arguments);
  }

we don't need to materialize the arguments object. This obviously comes
with a phase ordering problem, which we resolve by introducing a
waitlist in the JSCallReducer, which contains the nodes that we should
check again after all the other reductions are done, and which might
then be reducible. This is not 100% ideal, but get's us closer to where
we want to be, and it's crucial to speed up Node core, especially the
event emitter.

BUG=v8:4551,v8:5511, v8:5726
R=petermarshall@chromium.org

Review-Url: https://codereview.chromium.org/2956233002
Cr-Commit-Position: refs/heads/master@{#46337}
2017-06-30 07:47:31 +00:00
Igor Sheludko
f79b3d4e97 [runtime] Cleanup js/prologue.js.
This CL removes unused utils.InstallFunctions, utils.InstallGetter(),
utils.SetFunctionName, utils.OverrideFunction and respective runtime
functions (%FunctionSetSharedName and %FunctionRemovePrototype).

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: I0fb5940ed628f0c1958f585411e2fca3e2038054
Reviewed-on: https://chromium-review.googlesource.com/548037
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46336}
2017-06-30 07:24:14 +00:00
Igor Sheludko
a4694a42bb [runtime] Cleanup native methods creation in js/weak-collection.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: If5b1733454f10aef5da7f335273c632e7eabb728
Reviewed-on: https://chromium-review.googlesource.com/548077
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46335}
2017-06-30 06:46:04 +00:00
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