Commit Graph

39463 Commits

Author SHA1 Message Date
Michael Achenbach
b88c2e47ee [test] Skip slowest tests on nosnap bots
TBR=bmeurer@chromium.org
NOTRY=true

Change-Id: Iceccd5660bf1d486dcdc60b7735fb1273d5718b6
Reviewed-on: https://chromium-review.googlesource.com/490107
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44971}
2017-04-28 10:03:44 +00:00
neis
9bfb0fef08 [runtime] Support proxies as return value of API constructors.
When a FunctionTemplate-based function is used as a constructor
and returns a JSProxy, we incorrectly treated that result the same
as a non-object result. Now it is treated like any other object
result, i.e., it becomes the result of the constructor call.

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

Review-Url: https://codereview.chromium.org/2845123002
Cr-Commit-Position: refs/heads/master@{#44970}
2017-04-28 10:02:27 +00:00
Igor Sheludko
0655ee8fa1 [ic] Filter out deprecated maps from polymorphic keyed ICs.
BUG=chromium:715862

Change-Id: I072ad02ca3ff2fce67c05e0e27708da9763bec44
Reviewed-on: https://chromium-review.googlesource.com/490106
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44969}
2017-04-28 10:02:20 +00:00
Michael Achenbach
7d8e577403 [test] Skip failing tests
Bug: v8:6328
TBR=yangguo@chromium.org,bmeurer@chromium.org
NOTRY=true

Change-Id: Id0b01292635598fa8578dc2e6aa28ef104bcd878
Reviewed-on: https://chromium-review.googlesource.com/489987
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44968}
2017-04-28 09:50:37 +00:00
Camillo Bruni
0559966781 Clear up confusion between enum cache and enum cache bridge
Bug: v8:6325
Change-Id: I20f59cfd4f309f456ff95aa8eb0aa4c8f9a55da6
Reviewed-on: https://chromium-review.googlesource.com/490066
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44967}
2017-04-28 09:17:08 +00:00
Clemens Hammacher
1a8e7d13a1 [wasm] Reduce test-specific code
This reduces the amount of special paths for testing.
Setup the memory used for testing exactly the same way as in real world.
Also, always connect the interpreter to the instance being executed,
and to the existing WasmInstance struct. This keeps information
synchronized between interpreter and test runner.
These changes allow us to execute e.g. GrowMemory from cctests either
in the interpreter or in compiled code.

R=ahaas@chromium.org

Change-Id: Id4726d061f3cdba789275350f500d769d27d2d63
Reviewed-on: https://chromium-review.googlesource.com/488561
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44966}
2017-04-28 09:00:32 +00:00
Clemens Hammacher
81253a5296 [wasm] Refactor async compile tasks
Make each compile phase a separate task. This allows us to store
additional information in each task instead of "globally" on the
AsyncCompileJob.
This CL only does the initial refactoring, without changing where data
is actually stored.

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

Change-Id: Iad73de7b7d09f716c527e6d241314fde52aa55f8
Reviewed-on: https://chromium-review.googlesource.com/488142
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44965}
2017-04-28 08:14:15 +00:00
Benedikt Meurer
1320666798 [cleanup] Handle JSFunction::prototype and string length in CallGetterIfAccessor.
Also add support for JSFunction::prototype and JSString::length
accessors to CodeStubAssembler::CallGetterIfAccessor and remove
the special case hack from the LoadIC_Uninitialized.

Also address the TODO to unify the implementation with the
LoadIC_FunctionPrototype handler.

BUG=v8:5269,v8:6325
R=ishell@chromium.org

Change-Id: Ic51221e35a051c403d3a86dc41213c913e8f9d85
Reviewed-on: https://chromium-review.googlesource.com/489946
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44964}
2017-04-28 08:05:15 +00:00
Jochen Eisinger
32124f3b13 Free Isolate in ValueSerializerUnittest
BUG=v8:6316
R=jbroman@chromium.org,yangguo@chromium.org

Change-Id: Icfc33e3e51cdbfad246a971a5a2737a8fdfba058
Reviewed-on: https://chromium-review.googlesource.com/488941
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44963}
2017-04-28 07:40:24 +00:00
Michael Achenbach
e3d93222d6 [test] Skip slow tests
TBR=yangguo@chromium.org,ahaas@chromium.org
NOTRY=true

Change-Id: I1612d95a3782b23371b70d3a8fed600945988486
Reviewed-on: https://chromium-review.googlesource.com/489522
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44962}
2017-04-28 07:38:13 +00:00
Benedikt Meurer
26fdb617f5 [stubs] Properly convert the receiver for GetPropertyStub.
Call ToObject on the GetPropertyStub input first, so that lookups on
Strings and other primitives don't automatically hit the runtime, i.e.
as the stub is also used to lookup the special @@split and @@replace
symbols for various String builtins.

BUG=v8:5269
R=ishell@chromium.org

Change-Id: I5dbbc84aa2051173bf10be71c782fbe448481034
Reviewed-on: https://chromium-review.googlesource.com/488441
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44961}
2017-04-28 07:02:51 +00:00
Michael Achenbach
1090331331 [build] Turn off slow dchecks on arm64 nosnap debug
The bot is too slow in it's current configuration.

TBR=bmeurer@chromium.org
NOTRY=true

Change-Id: Ic0318894c4501e47f441c0298a46474afdc45026
Reviewed-on: https://chromium-review.googlesource.com/489502
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44960}
2017-04-28 06:47:22 +00:00
jgruber
2814885477 [string] Fix null handling in MaybeCallFunctionAtSymbol
The spec requires that a null @@split / @@replace symbol is treated exactly the
same as if it were undefined, i.e. execution should move on to the default
implementation instead of throwing a TypeError.

BUG=v8:6313

Review-Url: https://codereview.chromium.org/2845153002
Cr-Commit-Position: refs/heads/master@{#44959}
2017-04-28 05:58:16 +00:00
bmeurer
53d31d0623 Revert of [turbofan] General consolidation of element access. (patchset #1 id:1 of https://codereview.chromium.org/2836913004/ )
Reason for revert:
Breaks load:tools:drive story

Original issue's description:
> [turbofan] General consolidation of element access.
>
> Avoid TransitionElementsKind when storing to objects which only differ
> in holeyness of their elements kind. Instead go for polymorphic
> CheckMaps, which can often by optimized and avoid the mutation of the
> array map.
>
> This generalizes the approach https://codereview.chromium.org/2836943003
> which covered only element loads.
>
> R=yangguo@chromium.org
> BUG=v8:5267
>
> Review-Url: https://codereview.chromium.org/2836913004
> Cr-Commit-Position: refs/heads/master@{#44828}
> Committed: ed573cee5c

TBR=yangguo@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=v8:5267,chromium:715936

Review-Url: https://codereview.chromium.org/2852623002
Cr-Commit-Position: refs/heads/master@{#44958}
2017-04-28 05:40:46 +00:00
bmeurer
0be5596cdb [ic] Handle JSArray::length in CodeStubAssembler::CallGetterIfAccessor.
When accessing JSArray::length property from GenericPropertyLoad
(i.e. via a megamorphic KEYED_LOAD_IC), we'd always go to the runtime
at this point, because the CallGetterIfAccessor method didn't support
AccessorInfos at all. Now there's initial support for JSArray::length,
which reduces the number of %KeyedGetProperty calls we see in the
Speedometer/EmberJS test by 5000.

Also-By: ishell@chromium.org
BUG=v8:5269
TBR=ishell@chromium.org

Review-Url: https://codereview.chromium.org/2842373005
Cr-Commit-Position: refs/heads/master@{#44957}
2017-04-28 04:20:22 +00:00
v8-autoroll
874d77b9cb Update V8 DEPS.
Rolling v8/build: 8ed22b4..02044bf

Rolling v8/third_party/catapult: 8062a57..9c9ac13

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

Change-Id: I5203736e8ea4c799f3ff90cedafcb50bb9bdfd18
Reviewed-on: https://chromium-review.googlesource.com/489828
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44956}
2017-04-28 03:31:45 +00:00
jing.bao
0e0e1aa81a [ia32] Add cmpps/vcmpps for eq/lt/le/neq
BUG=

Review-Url: https://codereview.chromium.org/2847683002
Cr-Commit-Position: refs/heads/master@{#44955}
2017-04-28 01:56:26 +00:00
kozyatinskiy
aed22ad12f Roll third_party/inspector_protocol to efefa86c3183d307f0a0e53bf568fe57c5b58849
This roll includes:
  - [inspector_protocol] added StringUtil::toDouble method as requirement [1]

[1] https://codereview.chromium.org/2843223005/

BUG=chromium:712610
R=dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2846673005
Cr-Commit-Position: refs/heads/master@{#44954}
2017-04-28 01:43:03 +00:00
Adam Klein
8f0c2949c1 [cctest] Add one more GC to a flaky test
It now passes on both 32-bit and 64-bit nosnap bots.

TBR=ulan@chromium.org
NOTREECHECKS=true

Change-Id: Id797c88f1eb32868433e112883c2c64b8640eb2c
Reviewed-on: https://chromium-review.googlesource.com/489682
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44953}
2017-04-27 22:10:59 +00:00
Adam Klein
4afa9110e0 [cctest] Fix more flakiness in Heap-related cctests on nosnap builds
These tests assume that a newly-created Isolate is pristine, but that's
not true for nosnap builds.

TBR=ulan@chromium.org

Change-Id: Ie5d0fb0450f285c8eeb8e088feef6729102c0f14
Reviewed-on: https://chromium-review.googlesource.com/489063
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44952}
2017-04-27 19:17:29 +00:00
Clemens Hammacher
a32cd1c710 Reland "[base] Introduce RoundUpToPowerOfTwo64"
With fix for architectures where x<<32 != x.

Original change's description:
> [base] Introduce RoundUpToPowerOfTwo64
>
> And fix RoundUpToPowerOfTwo32 to return 1 for the input 0.
> 0 is no power of two.
> Beside being the correct value, this also avoids a special case in the
> (new) fast path using the number of leading zeros.
>
> R=​jochen@chromium.org, ahaas@chromium.org
>
> Change-Id: I87173495e13b334954bcebbb55724fb666dfa809
> Reviewed-on: https://chromium-review.googlesource.com/488143
> Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#44925}

TBR=ahaas@chromium.org,jochen@chromium.org,clemensh@chromium.org,v8-reviews@googlegroups.com

Change-Id: I7b4719d84a419bb7b38e3b5c9d6d183275087ace
Reviewed-on: https://chromium-review.googlesource.com/488981
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44951}
2017-04-27 17:43:38 +00:00
Adam Klein
b3887f8a2c [cctest] Simplify the majority of callers of CcTest::CollectAllGarbage
Most callers passed kFinalizeIncrementalMarkingMask, so use that as
a default argument (not using default argument syntax to avoid including
heap.h in cctest.h).

Change-Id: I904f1eb3a0f5fdbe63eab16f6a6f01d04618645d
Reviewed-on: https://chromium-review.googlesource.com/488104
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44950}
2017-04-27 17:20:54 +00:00
Clemens Hammacher
9bdabfd649 [wasm] [interpreter] Fix stack transfer to loop labels
When branching to a loop header, we were trying to copy over {arity}
values from the value stack. This is correct for block labels, but not
for loops. When branching back to a loop header, no values need to be
transferred.

R=ahaas@chromium.org
BUG=chromium:715454

Change-Id: I90d806de63d039abf8dcac1abec057860c8f69ca
Reviewed-on: https://chromium-review.googlesource.com/488146
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44949}
2017-04-27 16:04:47 +00:00
ulan
8ff8d674d3 [heap] Introduce HeapVisitor interface.
HeapVisitor is similar to StaticVisitor but uses virtual dispatch
instead of static function table. It is intended as replacement
of StaticVisitor using the CRTP.

This CL also changes the concurrent marker to use the HeapVisitor.

BUG=chromium:709075

Review-Url: https://codereview.chromium.org/2808093003
Cr-Commit-Position: refs/heads/master@{#44948}
2017-04-27 15:43:54 +00:00
jbroman
0f82f0d3a4 ValueSerializer: Add a warning about making wire format changes near branch.
BUG=chromium:715232

Review-Url: https://codereview.chromium.org/2839903003
Cr-Commit-Position: refs/heads/master@{#44947}
2017-04-27 15:39:23 +00:00
mlippautz
1f3a95f1f7 [heap] Filter out non-heap values when tracing wrappers
We used to rely on the fact that all values kept alive through wrapper
tracing were materialized as heap objects. Smis break this invariant and
need to be filter out.

BUG=chromium:716031

Review-Url: https://codereview.chromium.org/2852463003
Cr-Commit-Position: refs/heads/master@{#44946}
2017-04-27 15:33:04 +00:00
jbroman
a16c3c9105 Expose the ValueSerializer data format version as a compile-time constant.
BUG=chromium:704293

Review-Url: https://codereview.chromium.org/2804643006
Cr-Commit-Position: refs/heads/master@{#44945}
2017-04-27 15:14:41 +00:00
Clemens Hammacher
5317d43e0c Reland "[wasm] [cleanup] Remove unused parameter from SyncValidate""
Accidental revert...

Original change's description:
> [wasm] [cleanup] Remove unused parameter from SyncValidate
> 
> R=​ahaas@chromium.org
> 
> Change-Id: I952c5461ef44d4b01e99390e668bfc0d7f7ba25b
> Reviewed-on: https://chromium-review.googlesource.com/488341
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#44931}

TBR=ahaas@chromium.org,clemensh@chromium.org,v8-reviews@googlegroups.com

Change-Id: I7e57ccec6c58aa61052613c14d2fd7936e3fb6da
Reviewed-on: https://chromium-review.googlesource.com/488366
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44944}
2017-04-27 14:50:19 +00:00
yangguo
2b7a431ea3 [tools] backport_node.py increments V8 version in target.
R=franzih@chromium.org, machenbach@chromium.org

Review-Url: https://codereview.chromium.org/2846883002
Cr-Commit-Position: refs/heads/master@{#44943}
2017-04-27 14:50:10 +00:00
Michael Achenbach
1dfcc4b687 [foozzie] Remove obsolete suppressions
Most of these suppressions were for the old asm-validator or for the old compiler pipeline. Some more are just optimistically removed.

Bug: chromium:681088, chromium:681241, chromium:681806, chromium:662840
NOTRY=true

Change-Id: I4c6851a72d22070026eeaca90ad3394cfce10f90
Reviewed-on: https://chromium-review.googlesource.com/488641
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44942}
2017-04-27 14:49:13 +00:00
cbruni
3f73fecb13 [runtime] Ensure slow properties for simple {__proto__:null} literals.
With this CL we reduce the difference between directly using a null prototype
in a literal or using Object.create(null).
- The EmitFastCloneShallowObject builtin now supports cloning slow
  object boilerplates.
- Unified behavior to find the matching Map and instantiating it for
  Object.create(null) and literals with a null prototype.
- Cleanup of literal type parameter of CompileTimeValue, now in sync with
  ObjectLiteral flags.

Review-Url: https://codereview.chromium.org/2445333002
Cr-Commit-Position: refs/heads/master@{#44941}
2017-04-27 14:48:32 +00:00
Andreas Haas
dc713be87d [wasm] Move update scripts to tools/wasm
I moved the wasm update scripts from tools/ to tools/wasm. In addition
I cleaned up the scripts a bit.

R=machenbach@chromium.org

Change-Id: I545dd556712e272e6509b78e343e9063346abe56
Reviewed-on: https://chromium-review.googlesource.com/488601
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44940}
2017-04-27 14:48:08 +00:00
bjaideep
cfdffe2be3 Reland of PPC/s390: SmiUntag only for 32bit
R=joransiu@ca.ibm.com, jyan@ca.ibm.com
BUG=
LOG=n

Review-Url: https://codereview.chromium.org/2839343003
Cr-Commit-Position: refs/heads/master@{#44939}
2017-04-27 14:47:13 +00:00
Michael Starzinger
f6296b344e [asm.js] Fix heap buffer checking during instantiation.
This makes sure that asm.js modules can only be instantiated with a
valid {ArrayBuffer} as the underlying heap buffer for all cases where
accepting anything else would be observably different from JavaScript
proper.

R=clemensh@chromium.org
TEST=mjsunit/asm/asm-memory
BUG=chromium:715505,chromium:715748

Change-Id: I355686200151c5667bf836824de922d657a8d943
Reviewed-on: https://chromium-review.googlesource.com/488521
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44938}
2017-04-27 14:47:03 +00:00
Andreas Haas
d9b8e463c9 [wasm] Skip skip-stack-guard-page test for x64 and ia32
R=machenbach@chromium.org
BUG=v8:6318
NOTRY=true
NOTREECHECKS=true

Change-Id: If57bc5bab8d2544519f140ee4a19aa89b1125fd7
Reviewed-on: https://chromium-review.googlesource.com/488603
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44937}
2017-04-27 14:20:46 +00:00
bjaideep
cef9effe66 Revert of PPC/s390: SmiUntag only for 32bit (patchset #1 id:1 of https://codereview.chromium.org/2842843005/ )
Reason for revert:
few tests are failing with stack overflow, will reland with the fix.

Original issue's description:
> PPC/s390: SmiUntag only for 32bit
>
> R=joransiu@ca.ibm.com, jyan@ca.ibm.com
> BUG=
> LOG=n
>
> Review-Url: https://codereview.chromium.org/2842843005
> Cr-Commit-Position: refs/heads/master@{#44908}
> Committed: 76dfdb7a32

TBR=joransiu@ca.ibm.com,jyan@ca.ibm.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review-Url: https://codereview.chromium.org/2852433002
Cr-Commit-Position: refs/heads/master@{#44936}
2017-04-27 13:47:43 +00:00
Clemens Hammacher
90e1ebeef4 Revert "[base] Introduce RoundUpToPowerOfTwo64"
This reverts commit 9ceaf21272.

Reason for revert: Fails on arm: http://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/2950/steps/Check/logs/Bits.RoundUpToPowerOf..

Original change's description:
> [base] Introduce RoundUpToPowerOfTwo64
> 
> And fix RoundUpToPowerOfTwo32 to return 1 for the input 0.
> 0 is no power of two.
> Beside being the correct value, this also avoids a special case in the
> (new) fast path using the number of leading zeros.
> 
> R=​jochen@chromium.org, ahaas@chromium.org
> 
> Change-Id: I87173495e13b334954bcebbb55724fb666dfa809
> Reviewed-on: https://chromium-review.googlesource.com/488143
> Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#44925}

TBR=ahaas@chromium.org,jochen@chromium.org,clemensh@chromium.org,v8-reviews@googlegroups.com,wasm-v8@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ib353ee0a944316da6f919bac3bb88d4f95d98ea0
Reviewed-on: https://chromium-review.googlesource.com/488365
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44935}
2017-04-27 13:43:12 +00:00
Clemens Hammacher
a9f4288730 Revert "[wasm] [cleanup] Remove unused parameter from SyncValidate"
This reverts commit 33b0b710b1.

Reason for revert: Fails on arm: http://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/2950/steps/Check/logs/Bits.RoundUpToPowerOf..

Original change's description:
> [wasm] [cleanup] Remove unused parameter from SyncValidate
> 
> R=​ahaas@chromium.org
> 
> Change-Id: I952c5461ef44d4b01e99390e668bfc0d7f7ba25b
> Reviewed-on: https://chromium-review.googlesource.com/488341
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#44931}

TBR=ahaas@chromium.org,clemensh@chromium.org,v8-reviews@googlegroups.com,wasm-v8@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ie5f28109b86d7810b95053cbca563dea96bd13b2
Reviewed-on: https://chromium-review.googlesource.com/488364
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44934}
2017-04-27 13:41:13 +00:00
Andreas Haas
e177068e5c [wasm] Add wasm spec tests to the v8 test runner
The spec tests are stored on a mirror and are downloaded with the DEPS
file. The test files on the mirror are updated with a script which has
to be executed manually.

This CL contains the following changes:

* A script which updates the spec tests and uploads the generated files
  to the mirror.
* Changes to the DEPS file to download the files from the mirror.
* Changes so that tools/run-tests.py can run the spec tests.

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

Change-Id: Ia50d09bb1501c0c0f1d1506aa3657a3aa69c2864
Reviewed-on: https://chromium-review.googlesource.com/488083
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44933}
2017-04-27 13:00:13 +00:00
Miran.Karic
de14ba9fd2 MIPS: Fix Subu and add optimization
For int16 imm values Subu would emit addiu with -imm value, but doing
this with min_int16 would overflow and produce incorrect result. This is
fixed by checking if -imm is int16. A test for this case is created.

An optimization is also added for values imm where we cannot just emit
addiu and loading -imm to a register takes one instruction using ori.
Then instead of loading imm with lui;ori and subtracting with subu, we
can load -imm with ori and add with addu.

BUG=
TEST=cctest/test-assembler-mips/Subu

Review-Url: https://codereview.chromium.org/2845043002
Cr-Commit-Position: refs/heads/master@{#44932}
2017-04-27 12:56:50 +00:00
Clemens Hammacher
33b0b710b1 [wasm] [cleanup] Remove unused parameter from SyncValidate
R=ahaas@chromium.org

Change-Id: I952c5461ef44d4b01e99390e668bfc0d7f7ba25b
Reviewed-on: https://chromium-review.googlesource.com/488341
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44931}
2017-04-27 12:36:23 +00:00
yangguo
2920ea59a4 [debug] fix case of GC-unsafe access in Debug::HandleDebugBreak.
BUG=v8:6311
R=jkummerow@chromium.org

Review-Url: https://codereview.chromium.org/2845853003
Cr-Commit-Position: refs/heads/master@{#44930}
2017-04-27 12:26:54 +00:00
Andreas Haas
34ae5a09b3 [gm] Adjust the script to support mips64el
R=jkummerow@chromium.org

Change-Id: I6fc3817410df4f070675051397a30cc1b0ca7dfe
Reviewed-on: https://chromium-review.googlesource.com/488030
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44929}
2017-04-27 12:16:56 +00:00
Michael Achenbach
4e85f8180c Revert "[ic] Handle JSArray::length in CodeStubAssembler::CallGetterIfAccessor."
This reverts commit 0322be817d.

Reason for revert: Breaks:
https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/4612

Original change's description:
> [ic] Handle JSArray::length in CodeStubAssembler::CallGetterIfAccessor.
> 
> When accessing JSArray::length property from GenericPropertyLoad
> (i.e. via a megamorphic KEYED_LOAD_IC), we'd always go to the runtime
> at this point, because the CallGetterIfAccessor method didn't support
> AccessorInfos at all. Now there's initial support for JSArray::length,
> which reduces the number of %KeyedGetProperty calls we see in the
> Speedometer/EmberJS test by 5000.
> 
> Also-By: ishell@chromium.org
> BUG=v8:5269
> R=​ishell@chromium.org
> 
> Change-Id: I44ce7966f9b7257808110a24d95a8167ab035df9
> Reviewed-on: https://chromium-review.googlesource.com/488224
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#44915}

TBR=ishell@chromium.org,bmeurer@chromium.org,v8-reviews@googlegroups.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5269

Change-Id: Ib32e87c4ec4fd746abe3cdea3ec1cd96aabb4cff
Reviewed-on: https://chromium-review.googlesource.com/488362
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44928}
2017-04-27 12:10:37 +00:00
Jochen Eisinger
4fdf9fd481 Add documentation for FunctionCallbackInfo
R=verwaest@chromium.org,haraken@chromium.org,yukishiino@chromium.org
BUG=

Change-Id: I273f5ce305f80b2aa5e9c8c42a6e8e5afc51a0a7
Reviewed-on: https://chromium-review.googlesource.com/484422
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44927}
2017-04-27 11:51:25 +00:00
jarin
ff2109d53e [turbofan] Fix impossible type handling for TypeGuard and BooleanNot.
This also fixes incorrect type for fixed array accesses.

BUG=chromium:715651,v8:6309,chromium:715204

Review-Url: https://codereview.chromium.org/2848583002
Cr-Commit-Position: refs/heads/master@{#44926}
2017-04-27 11:35:15 +00:00
Clemens Hammacher
9ceaf21272 [base] Introduce RoundUpToPowerOfTwo64
And fix RoundUpToPowerOfTwo32 to return 1 for the input 0.
0 is no power of two.
Beside being the correct value, this also avoids a special case in the
(new) fast path using the number of leading zeros.

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

Change-Id: I87173495e13b334954bcebbb55724fb666dfa809
Reviewed-on: https://chromium-review.googlesource.com/488143
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44925}
2017-04-27 11:22:11 +00:00
Mythri
51a5b23331 [Interpreter] Fix compare bytecodehandler benchmarks for equals.
Bug:v8:4280

Change-Id: I83dfd26b47d554406d3ede633bbefc92db6a4faf
Reviewed-on: https://chromium-review.googlesource.com/487964
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44924}
2017-04-27 11:14:21 +00:00
Jochen Eisinger
4e78b5a70c Add missing early-bailouts in ast traversal visitors
Instructions after an unconditional jump can be omitted.

BUG=chromium:715582
R=bradnelson@chromium.org,verwaest@chromium.org
TBR=bradnelson@chromium.org

Change-Id: Ie4f4041ed836f328955a0ff396e2dfd6adc01513
Reviewed-on: https://chromium-review.googlesource.com/487983
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44923}
2017-04-27 10:47:37 +00:00
Michael Starzinger
3a9e4d8018 [asm.js] Cleanup asm.js instantiation API.
This refactors the {AsmJs} methods used for instantiating an asm.js
module to only use one single entry point. It is in preparation to
validate the "memory" argument as well.

R=clemensh@chromium.org
BUG=chromium:715505

Change-Id: I5e26fcf46f98c053080c70b26c0f562afc7f794a
Reviewed-on: https://chromium-review.googlesource.com/488226
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44922}
2017-04-27 10:45:37 +00:00