Commit Graph

29290 Commits

Author SHA1 Message Date
littledan
611add5255 Minor library function fixes for TypedArray spec compliance
- Make separate iterator functions for TypedArrays which do a type check
  (and in the future should check for detached TypedArrays)
- Share the toString method with Arrays

BUG=v8:4785
R=adamk
LOG=Y

Review URL: https://codereview.chromium.org/1780113002

Cr-Commit-Position: refs/heads/master@{#34698}
2016-03-10 23:38:16 +00:00
littledan
5f5c48da64 Revert removal of TypedArray constructor optimization
When the TypedArray iterator constructor code path was added, a technically
incorrect optimization was added which uses the arraylike code path on array
arguments, even though the %ArrayIterator% could have been monkey-patched
to give different behavior. A previous patch removed this optimization, and
this patch restores it due to the huge performance regression that resulted.

The optimization was previously removed in
https://codereview.chromium.org/1767893002

BUG=chromium:593644
R=adamk
LOG=Y

Review URL: https://codereview.chromium.org/1779373002

Cr-Commit-Position: refs/heads/master@{#34697}
2016-03-10 23:26:26 +00:00
verwaest
c91faa0b39 Replace PushIfAbsent by a Stack object and move StringBuilderJoin to JS
This significantly speeds up String(array).
BUG=

Review URL: https://codereview.chromium.org/1775403008

Cr-Commit-Position: refs/heads/master@{#34696}
2016-03-10 23:24:24 +00:00
yangguo
aba76874db [regexp] support \p in character classes.
R=littledan@chromium.org
BUG=v8:4743
LOG=N

Review URL: https://codereview.chromium.org/1774623005

Cr-Commit-Position: refs/heads/master@{#34695}
2016-03-10 23:24:23 +00:00
mbrandy
7d48fa5e83 PPC: [wasm] Int64Lowering of I64ShrU and I64ShrS.
Port 240b7db9c7

R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1780283002

Cr-Commit-Position: refs/heads/master@{#34694}
2016-03-10 23:22:32 +00:00
littledan
d9c45337a4 Check that Promise subclasses have callable resolve/reject
This check is guaranteed by the Promise spec and tested by test262
tests. It only has to run for subclasses. This patch adds the check
to the Promise code.

BUG=v8:4633
R=adamk
LOG=Y

Review URL: https://codereview.chromium.org/1780823003

Cr-Commit-Position: refs/heads/master@{#34693}
2016-03-10 23:22:31 +00:00
adamk
dea9559457 Remove destructuring and default arguments runtime flags
These flags have been on by default since version 4.9, which has been
in stable Chrome for over a week now, demonstrating that they're
here to stay.

Also moved the tests out of harmony/ and into es6/.

Review URL: https://codereview.chromium.org/1776683003

Cr-Commit-Position: refs/heads/master@{#34692}
2016-03-10 23:22:30 +00:00
neis
cd6a5a45ad Fix corner case in iterator finalization for array destructuring.
The comment was correct but the code didn't match :(
Must not close when .value throws.

R=adamk@chromium.org
BUG=v8:3566
LOG=n

Review URL: https://codereview.chromium.org/1778333002

Cr-Commit-Position: refs/heads/master@{#34691}
2016-03-10 19:13:48 +00:00
neis
57a1897c7d [test262] Remove entry on non-existent test from status file.
R=littledan@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1779133002

Cr-Commit-Position: refs/heads/master@{#34690}
2016-03-10 18:58:11 +00:00
ssanfilippo
4cf44f3a65 Add Linux perf profiling wrapper script.
LOG=N

Review URL: https://codereview.chromium.org/1776853003

Cr-Commit-Position: refs/heads/master@{#34689}
2016-03-10 18:50:48 +00:00
kozyatinskiy
63f35c26d6 [debugger] Removed unused GetStepInPositions method
This method was added as part of DevTools experiment.
Experiment UI was removed in https://codereview.chromium.org/201293007 2 years ago.
Experiment backend was removed in https://codereview.chromium.org/1785533002/.

R=yangguo@chromium.org
LOG=N

Review URL: https://codereview.chromium.org/1770383006

Cr-Commit-Position: refs/heads/master@{#34688}
2016-03-10 18:12:47 +00:00
mlippautz
4566531c6e [heap] Use PageParallelJob for parallel evacuation
Move evacuation of new and old space pages to the provided framework for
parallelization.

Drive-by-fix: Remove left overs from POPULAR_PAGE flag.

BUG=chromium:524425
LOG=N

Review URL: https://codereview.chromium.org/1782043004

Cr-Commit-Position: refs/heads/master@{#34687}
2016-03-10 18:11:10 +00:00
jfb
d81c3b4a78 wasm: fix --trace_wasm_decoder flag
Copy-pasta error.

R= titzer@chromium.org

Review URL: https://codereview.chromium.org/1778383003

Cr-Commit-Position: refs/heads/master@{#34686}
2016-03-10 17:05:11 +00:00
Michael Achenbach
29a4856de4 Whitespace change to test infra.
Cr-Commit-Position: refs/heads/master@{#34685}
2016-03-10 16:47:39 +00:00
verwaest
3f027300dc Simplify the interface of PropertyCallbackArguments
Use internal handles as API, and move boilerplate code into the call wrappers.
BUG=

Review URL: https://codereview.chromium.org/1776913005

Cr-Commit-Position: refs/heads/master@{#34684}
2016-03-10 15:46:16 +00:00
ahaas
d30af81ecf [turbofan] Change the way nodes with multiple outputs are verified.
With the original implementation nodes which were not reachable from end
could cause the verification to fail.

R=titzer@chromium.org, mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/1782863002

Cr-Commit-Position: refs/heads/master@{#34683}
2016-03-10 15:39:09 +00:00
titzer
a42b24514e [wasm] GC should ignore unboxed stack parameters in WASM frames.
R=mstarzinger@chromium.org,bradnelson@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1782613003

Cr-Commit-Position: refs/heads/master@{#34682}
2016-03-10 15:14:56 +00:00
mbrandy
01589fe708 Fix "[turbofan] [deoptimizer] Support inlining of ES6 tail calls" for embedded constant pools.
Correct handling of the bottom frame in DoComputeArgumentsAdaptorFrame.

R=ishell@chromium.org, jarin@chromium.org, michael_dawson@ca.ibm.com
BUG=v8:4698
LOG=N

Review URL: https://codereview.chromium.org/1784633002

Cr-Commit-Position: refs/heads/master@{#34681}
2016-03-10 15:07:00 +00:00
cbruni
62e9caf718 [flags] adding --trace_for_in_enumerate
With the flag enables we print the keys found on each prototype and
the number of prototypes.

BUG=

Review URL: https://codereview.chromium.org/1779523002

Cr-Commit-Position: refs/heads/master@{#34680}
2016-03-10 15:03:36 +00:00
zhengxing.li
cf959c4b41 Revert of "X87: Rework CallApi*Stubs."
Reason for revert:
  The original x87 related codes of the CL #34627 (https://codereview.chromium.org/1748123003) had a mistake and caused the x87 debug build fail.
  Need to fix it and add it into the x87 port of the CL #34627

BUG=

Review URL: https://codereview.chromium.org/1778293003

Cr-Commit-Position: refs/heads/master@{#34679}
2016-03-10 14:48:28 +00:00
machenbach
6e401f2065 [Coverage] Enable merging coverage data from swarming.
This adds a function to the sancov_merger that merges the
output files of one swarming shard in parallel. This will
be called from the infrastructure when collecting/merging
swarming results.

The tool will be called subsequently for each shard. On
the first call, the target dir will be empty and the sancov
files will just be moved.

BUG=chromium:568949
LOG=n
NOTRY=true

Review URL: https://codereview.chromium.org/1782843002

Cr-Commit-Position: refs/heads/master@{#34678}
2016-03-10 14:45:08 +00:00
mstarzinger
5bd307fa72 [compiler] Sidestep the interpreter for generator literals.
This is because compiler.cc is awesome. There are cases where we do not
yet have a SharedFunctionInfo that can tell us whether we are compiling
a generator function, we query the FunctionLiteral instead.

R=rmcilroy@chromium.org
BUG=v8:4681
LOG=n

Review URL: https://codereview.chromium.org/1780193002

Cr-Commit-Position: refs/heads/master@{#34677}
2016-03-10 14:35:40 +00:00
rossberg
62bf607f79 Happify dumb coverage checker
This is old code, and the same pattern appears in other places.
I have no idea what the checker's problem is all of a sudden...

TBR=machenbach@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1785693002

Cr-Commit-Position: refs/heads/master@{#34676}
2016-03-10 14:08:50 +00:00
mstarzinger
855176533c [compiler] Sidestep optimizing of generator resumers.
This ensures our optimizing compilers as well as the interpreter are
never tasked with compiling the generator-resuming builtin methods. The
corresponding intrinsics for those methods are not supported and it is
not possible to provide a C++ reference implementation for them. We do
this by assigning builtin function ids to them that we can recognize
during the compiler dispatch.

Note that this also affects the interpreter, because methods having a
builtin function id assigned are not interpreted ({function_data} field
is overlapping). If this ever changes we can still do an early check in
the compiler dispatch (similar to the optimizing compilers) easily.

This applies to the following methods:
- Generator.prototype.next (calls Runtime_GeneratorNext).
- Generator.prototype.return (calls Runtime_GeneratorReturn).
- Generator.prototype.throw (calls Runtime_GeneratorThrow).

R=neis@chromium.org
BUG=v8:4681
LOG=n

Review URL: https://codereview.chromium.org/1779123003

Cr-Commit-Position: refs/heads/master@{#34675}
2016-03-10 14:07:10 +00:00
joransiu
daea0e7518 S390: Platform specific includes in common files
Add S390 platform specific \#includes across various common files.
Add S390 CPU features to enum.
Add S390 implementation to extract sp/fp/pc from signal context.

R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,jyan@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1777593003

Cr-Commit-Position: refs/heads/master@{#34674}
2016-03-10 14:03:51 +00:00
balazs.kilvady
04a735c7e7 MIPS: Improve Lsa/Dlsa implementations.
Make the low level assembler implementation exact and protected to disallow explicit usage.

BUG=

Review URL: https://codereview.chromium.org/1749263002

Cr-Commit-Position: refs/heads/master@{#34673}
2016-03-10 13:41:34 +00:00
mstarzinger
899105c0bc [compiler] Sidestep the interpreter for generator functions.
This ensures the interpreter is not tasked with compiling generator
functions. It currently does not support suspending activations at
yielding points, but we still want to be able to activate it for the
rest of JavaScript in the meantime.

R=rmcilroy@chromium.org
BUG=v8:4681
LOG=n

Review URL: https://codereview.chromium.org/1782013002

Cr-Commit-Position: refs/heads/master@{#34672}
2016-03-10 13:21:51 +00:00
machenbach
dd7d6382da [Swarming] Isolate sancov_merger.
BUG=chromium:535160, chromium:568949
LOG=n
TBR=tandrii@chromium.org, kjellander@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/1777263002

Cr-Commit-Position: refs/heads/master@{#34671}
2016-03-10 13:12:26 +00:00
ssanfilippo
8136372a46 Add option in Makefile to preserve frame pointer.
LOG=N

Review URL: https://codereview.chromium.org/1778073003

Cr-Commit-Position: refs/heads/master@{#34670}
2016-03-10 12:59:50 +00:00
rossberg
4614c7caaf [strong] Remove all remainders of strong mode
R=mstarzinger@chromium.org,bmeurer@chromium.org,adamk@chromium.org
BUG=v8:3956
LOG=Y

Review URL: https://codereview.chromium.org/1773653002

Cr-Commit-Position: refs/heads/master@{#34669}
2016-03-10 12:45:42 +00:00
jfb
abbdca947f wasm: use strings for section names
This will require an equivalent sexpr-wasm change.

See:
https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#high-level-structure

R=titzer@chromium.org, binji@chronium.org

Review URL: https://codereview.chromium.org/1765843002

Cr-Commit-Position: refs/heads/master@{#34668}
2016-03-10 12:37:19 +00:00
Toon Verwaest
4bbd051acc Resort to presubmit style.
TBR=machenbach@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1777483011 .

Cr-Commit-Position: refs/heads/master@{#34667}
2016-03-10 12:34:09 +00:00
epertoso
7fea25f049 Marks the label associated with the runtime call in CodeStubAssembler::Allocate as deferred.
BUG=593359
LOG=y

Review URL: https://codereview.chromium.org/1779713005

Cr-Commit-Position: refs/heads/master@{#34666}
2016-03-10 12:24:18 +00:00
ulan
561e162902 Implement parallel pointer updates after evacuation.
BUG=chromium:568495
LOG=NO

Review URL: https://codereview.chromium.org/1775003003

Cr-Commit-Position: refs/heads/master@{#34665}
2016-03-10 12:19:18 +00:00
verwaest
5c73b25ff5 Split off api-arguments.[h|cc] from arguments.[h|cc]
NOPRESUBMIT=true
BUG=

Review URL: https://codereview.chromium.org/1776353002

Cr-Commit-Position: refs/heads/master@{#34664}
2016-03-10 12:16:05 +00:00
machenbach
e7f99c1ed5 [Swarming] Isolate sancov tool.
BUG=chromium:535160,chromium:568949
LOG=n
TBR=tandrii@chromium.org, kjellander@chromium.org

Review URL: https://codereview.chromium.org/1778313002

Cr-Commit-Position: refs/heads/master@{#34663}
2016-03-10 12:04:32 +00:00
jacob.bramley
6b6236587d [arm] Basic simulation of msr and mrs.
Only CPSR_f is supported, and then only for the flags that we actually
simulate (NZCV). This isn't currently used, but will be useful for some
tests.

BUG=

Review URL: https://codereview.chromium.org/1776933003

Cr-Commit-Position: refs/heads/master@{#34662}
2016-03-10 11:39:04 +00:00
yangguo
fe92166111 [serializer] allow test-serialize/PartialSerializerCustomContext to optimize.
Previously, optimization has been disabled because of an assertion
failure, which requires the context to be linked into the weak native
context list of the heap.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/1777883003

Cr-Commit-Position: refs/heads/master@{#34661}
2016-03-10 11:18:50 +00:00
verwaest
79ccf34a78 Inline calling into the interceptor into the IC callbacks rather than going through the LookupIterator.
This is highly performance sensitive as there is no faster path; it's
used directly by the IC.

BUG=chromium:592305
LOG=n

Review URL: https://codereview.chromium.org/1778493005

Cr-Commit-Position: refs/heads/master@{#34660}
2016-03-10 10:56:05 +00:00
machenbach
bc78ab674c [Ignition] Remove outdated test expectation.
BUG=v8:4680
LOG=n
NOTRY=true
TBR=rmcilroy@chromium.org
NOTREECHECKS=true
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1778323002

Cr-Commit-Position: refs/heads/master@{#34659}
2016-03-10 10:54:18 +00:00
Michael Achenbach
179feed59f Whitespace change after reviving test262 with ignition.
Cr-Commit-Position: refs/heads/master@{#34658}
2016-03-10 10:33:47 +00:00
yangguo
a65edb8be6 Improve test-serialize test cases.
Changes include:
 - better test coverage for builds with snapshot
 - write snapshot blobs to buffer instead of test serialization files
 - renamed tests

R=machenbach@chromium.org

Review URL: https://codereview.chromium.org/1777213002

Cr-Commit-Position: refs/heads/master@{#34657}
2016-03-10 09:58:26 +00:00
zhengxing.li
25279332c7 X87: [wasm] Int64Lowering of I64ShrU and I64ShrS on ia32.
port 240b7db9c7 (r34630)

  original commit message:
  I implemented I64ShrU and I64ShrS the same as I64Shl in https://codereview.chromium.org/1756863002

BUG=

Review URL: https://codereview.chromium.org/1783703003

Cr-Commit-Position: refs/heads/master@{#34656}
2016-03-10 09:39:41 +00:00
hpayer
dedfe5aee5 Call RecordWriteIntoCode when storing the target object in the reloc info on all platforms.
BUG=chromium:561449
LOG=n

Review URL: https://codereview.chromium.org/1778663005

Cr-Commit-Position: refs/heads/master@{#34655}
2016-03-10 09:36:19 +00:00
neis
3062af70eb Implement iterator finalization in array destructuring.
We must close the iterator whenever the destructuring didn't exhaust it, unless an iterator operation (eg. next) threw.  We do this by wrapping the iterator use in a try-catch-finally similar to the desugaring of for-of.

This is behind --harmony-iterator-close.

R=adamk@chromium.org
BUG=v8:3566
LOG=Y

Review URL: https://codereview.chromium.org/1772793002

Cr-Commit-Position: refs/heads/master@{#34654}
2016-03-10 09:34:36 +00:00
Michael Achenbach
9bf7730db0 Whitespace change to kick off bots.
Cr-Commit-Position: refs/heads/master@{#34653}
2016-03-10 09:29:48 +00:00
zhengxing.li
ebd28ac650 X87: Rework CallApi*Stubs.
port 5096492f1b (r34627)

  original commit message:
  - Eliminate stubs with a variable number of arguments.
    (That only worked due to their very limited use. These
     stubs' interface descriptors were basically lying
     about their number of args, which will fail when used
     generically.)
  - Fix all CallApi*Stubs' interface descriptors to no
    longer lie about their arguments.
  - Unify CallApi*Stub, for * in Function, Accessor,
    FunctionWithFixedArgs.
    (Since these are now all doing the same thing.)
  - Rename the unified stub (and interface descriptors) to
    *ApiCallback*, since that's really what they're doing.
  - Refuse inlining an API callback if its number of
    parameters exceeds the supported number of args.

BUG=

Review URL: https://codereview.chromium.org/1783713002

Cr-Commit-Position: refs/heads/master@{#34652}
2016-03-10 06:31:02 +00:00
zhengxing.li
7b84d299ea X87: [turbofan] [deoptimizer] Support inlining of ES6 tail calls.
port c29a4560bb548fa0ebeec8262f9d6fca9d50fe7a(r34610)

  original commit message:
  In case when F was called with incompatible number of arguments (and therefore
  the arguments adator frame was created), F inlines a tail call of G which then
  deopts the deoptimizer should also remove the arguments adaptor frame for F.

  This CL adds required machinery to the deoptimizer.

BUG=

Review URL: https://codereview.chromium.org/1785593002

Cr-Commit-Position: refs/heads/master@{#34651}
2016-03-10 06:15:44 +00:00
zhengxing.li
92eb11e959 X87: [undetectable] Really get comparisons of document.all right now.
port 679d9503cffe631cb3b938627274aea10893069c(r34608)

  original commit message:
  According to https://www.w3.org/TR/html5/obsolete.html#dom-document-all,
  comparisons of document.all to other values such as strings or objects,
  are unaffected. In fact document.all only gets special treatment in
  comparisons with null or undefined according to HTML. Especially setting
  the undetectable doesn't make two distinct JSReceivers equal.

BUG=

Review URL: https://codereview.chromium.org/1784763002

Cr-Commit-Position: refs/heads/master@{#34650}
2016-03-10 06:12:20 +00:00
v8-autoroll
0f8cb27ef0 Update V8 DEPS.
Rolling v8/tools/clang to fc7b250f6ca03bcbcd2cd1a3e4102cb639a2814a

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

Review URL: https://codereview.chromium.org/1784643005

Cr-Commit-Position: refs/heads/master@{#34649}
2016-03-10 04:19:01 +00:00