Commit Graph

22718 Commits

Author SHA1 Message Date
arv
d26f5d3923 [es6] When comparing two symbols we may need to throw a TypeError
When comparing a symbol to istself using <, <=, > or >= we need to
throw a TypeError. This is correctly handled in the runtime function
so if we are comparing a symbol fall back to use the runtime.

BUG=v8:4073
LOG=Y
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28226}
2015-05-05 14:17:46 +00:00
ulan
f6d632bd4d Reduce the size of initial JSON string buffer.
BUG=v8:3925
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#28225}
2015-05-05 14:17:45 +00:00
yangguo
a147377eaa Do not cache object literal maps during bootstrapping.
We do not expect to share maps for object literals created by builtin
Javascript code.

R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28224}
2015-05-05 14:17:44 +00:00
yangguo
7546302b67 Move more parts of stack trace formatting to runtime.
R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28223}
2015-05-05 14:17:43 +00:00
bmeurer
3283195d04 [handles] Sanitize Handle and friends.
This almost allows us to get rid of handles-inl.h, once we fix the
cyclic dependencies (follow up CL).

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28222}
2015-05-05 12:48:17 +00:00
ishell
1c74ca6619 When adding constant string with something unknown, assume it's a string.
Review URL: https://codereview.chromium.org/1122823002

Cr-Commit-Position: refs/heads/master@{#28221}
2015-05-05 12:47:08 +00:00
yangguo
728f0af66d Fix bug in "Migrate error messages, part 7".
TBR=mvstanton@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28220}
2015-05-05 10:25:59 +00:00
bmeurer
d21de2a48b [turbofan] Fix tail call optimization.
Tail calls are matched on the graph, with a dedicated tail call
optimization that is actually testable. The instruction selection can
still fall back to a regular if the platform constraints don't allow to
emit a tail call (i.e. the return locations of caller and callee differ
or the callee takes non-register parameters, which is a restriction that
will be removed in the future).

Also explicitly limit tail call optimization to stubs for now and drop
the global flag.

BUG=v8:4076
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28219}
2015-05-05 09:43:02 +00:00
hpayer
0090c05578 Add heap growing strategy details to --trace-gc-verbose.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28218}
2015-05-05 09:25:30 +00:00
yangguo
b0eb920fe2 Reland #2 "Wrap v8natives.js into a function."
TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28217}
2015-05-05 09:16:01 +00:00
yangguo
a3ddb1bc42 Migrate error messages, part 7.
R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28216}
2015-05-05 07:57:36 +00:00
danno
f36ecaf3a4 Collect type feedback on result of Math.[round|ceil|floor]
By recording invocations of these builtins that can return -0, we now learn to not emit Crankshaft code that only handles integer results, avoiding deopt loops.

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

Cr-Commit-Position: refs/heads/master@{#28215}
2015-05-05 07:55:58 +00:00
bmeurer
64d7340439 [c++11] Remove remnants of pre-C++11 delete, final and override.
These macros are not needed anymore, so there's no point in supporting
them.

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

Cr-Commit-Position: refs/heads/master@{#28214}
2015-05-05 07:44:35 +00:00
yangguo
7f927ced51 Correctly accept already preprocessed stack traces.
When we preprocess stack traces, we turn code pointer and offset to
source position, and store it in place of code pointer as smi.

Preprocessing stack traces is currently disabled due to issue 4065.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28213}
2015-05-05 07:28:54 +00:00
michael_dawson
785845e0a1 Fix another may not be init compile error on AIX
AIX compiler is complaining that variable may not be initialized

	modified:   src/heap/heap.cc

R=danno@chromium.org, svenpanne@chromium.org, mbrandy@us.ibm.com

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28212}
2015-05-05 07:17:47 +00:00
alph
6964a9e068 Make CPU profiler do not hog 100% of CPU.
Tick event processor should not stay in a tight loop
when there's nothing to do. It can go sleep until next sample event.

LOG=N
BUG=v8:3967

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

Cr-Commit-Position: refs/heads/master@{#28211}
2015-05-04 22:53:28 +00:00
dehrenberg
d5e66a70c3 comment typo fix
Review URL: https://codereview.chromium.org/1120373003

Cr-Commit-Position: refs/heads/master@{#28210}
2015-05-04 19:45:15 +00:00
mbrandy
f5fe8fd707 PPC: Fix 'Remove materialized objects on stack unwind.'
R=mstarzinger@chromium.org, jarin@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28209}
2015-05-04 19:30:07 +00:00
machenbach
6afc0dcbfc Revert of Reland "Wrap v8natives.js into a function." (patchset #2 id:20001 of https://codereview.chromium.org/1123703002/)
Reason for revert:
[Sheriff] Speculative revert for braking arm64 nosnap:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%202/builds/2314

(reverted already titzer's CL which didn't help)

Original issue's description:
> Reland "Wrap v8natives.js into a function."
>
> Committed: https://crrev.com/72ab42172979b60a1b784ea0c6a495d7ee2bba67
> Cr-Commit-Position: refs/heads/master@{#28193}

TBR=jkummerow@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28208}
2015-05-04 16:49:58 +00:00
machenbach
17dca16df3 Revert of Revert of [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests. (patchset #1 id:1 of https://codereview.chromium.org/1119963003/)
Reason for revert:
Revert didn't fix the problem. Maybe it was another CL.

Original issue's description:
> Revert of [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests. (patchset #1 id:1 of https://codereview.chromium.org/1122753002/)
>
> Reason for revert:
> [Sheriff] Speculative revert for breaking arm64 nosnap:
> http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%202/builds/2314
>
> Original issue's description:
> > [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests.
> >
> > R=bmeurer@chromium.org
> > BUG=
> >
> > Committed: https://crrev.com/9833844268357590243732a53e2a7fc0dc5fcc9e
> > Cr-Commit-Position: refs/heads/master@{#28192}
>
> TBR=bmeurer@chromium.org,titzer@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/d0ed8940fc6c995eba57149b8e8cb214001e8381
> Cr-Commit-Position: refs/heads/master@{#28205}

TBR=bmeurer@chromium.org,titzer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28207}
2015-05-04 16:47:54 +00:00
jarin
b5b47e1f88 Remove materialized objects on stack unwind.
BUG=v8:3985
LOG=n
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28206}
2015-05-04 16:44:01 +00:00
machenbach
d0ed8940fc Revert of [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests. (patchset #1 id:1 of https://codereview.chromium.org/1122753002/)
Reason for revert:
[Sheriff] Speculative revert for breaking arm64 nosnap:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%202/builds/2314

Original issue's description:
> [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests.
>
> R=bmeurer@chromium.org
> BUG=
>
> Committed: https://crrev.com/9833844268357590243732a53e2a7fc0dc5fcc9e
> Cr-Commit-Position: refs/heads/master@{#28192}

TBR=bmeurer@chromium.org,titzer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28205}
2015-05-04 15:39:46 +00:00
machenbach
0fa31f75cd [test] Skip some flaky layout tests.
NOTRY=true
TBR=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28204}
2015-05-04 15:38:36 +00:00
mbrandy
b10fb64b0c PPC: Only swap undefined for the global object if necessary in the prologue
Port fab3508062

R=verwaest@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28203}
2015-05-04 15:33:56 +00:00
verwaest
f21ea065b3 Fix smi scanning
BUG=chromium:483176
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28202}
2015-05-04 15:02:30 +00:00
akos.palfi
2cdd74b3ae MIPS: Skip test-simplified-lowering/RunNumberDivide_2_TruncatingToUint32.
This test fails on board, temporarily skip failing test until we resolve this issue.

NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28201}
2015-05-04 14:14:36 +00:00
verwaest
fab3508062 Only swap undefined for the global object if necessary in the prologue
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28200}
2015-05-04 13:39:00 +00:00
hpayer
6e9e2c0829 New insertion write barrier.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28199}
2015-05-04 13:12:26 +00:00
mstarzinger
120344ec44 [turbofan] Free TurboFan from the claws of ZoneList.
This removes the last occurence of the hand-written ZoneList from the
compiler directory and uses ZoneVector everywhere instead.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28198}
2015-05-04 12:54:15 +00:00
hablich
276a846f69 [release-tools] Tool to find related commits
usage: This tool analyzes the commit range between <of> and <until>. It finds commits which belong together e.g. Implement/Revert pairs and Implement/Port/Revert triples. All supplied hashes need to be from the same branch e.g. master.

Example for M42: ./search_related_commits.py --prettyprint --separator e0110920d6 b856e87859 b1c2a34956

BUG=
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28197}
2015-05-04 12:20:16 +00:00
hpayer
fff4f8e1bf Don't perform marking barrier for weak cell values.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28196}
2015-05-04 12:15:41 +00:00
mstarzinger
d6945db703 [turbofan] Add SimplifiedOperator::Allocate operator.
This introduces a simplified allocation operator which can be used to
model inline allocations in TurboFan. It is currently used for context
allocations, but still disabled because change lowering introduces
floating allocations outside the effect chain that interfere.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28195}
2015-05-04 12:07:12 +00:00
akos.palfi
900bc7937c MIPS: Do not use the 64-bit floor and truncate instructions in fp32 mode.
These instructions have unpredictable result when the processor is in fp32 mode.

BUG=

TEST=mjsunit/math-floor-global,math-floor-local,math-floor-part1

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

Cr-Commit-Position: refs/heads/master@{#28194}
2015-05-04 12:06:03 +00:00
yangguo
72ab421729 Reland "Wrap v8natives.js into a function."
Review URL: https://codereview.chromium.org/1123703002

Cr-Commit-Position: refs/heads/master@{#28193}
2015-05-04 11:17:01 +00:00
titzer
9833844268 [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests.
R=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28192}
2015-05-04 11:05:45 +00:00
titzer
acdb5336a9 Extract Signature from src/compiler/machine-type.h to src/signature.h
R=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28191}
2015-05-04 10:11:54 +00:00
yangguo
f42544b768 Set inferred name of bound function to empty string.
Otherwise it's whatever the js minifier assigns it to.

R=jkummerow@chromium.org
BUG=chromium:484077
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28190}
2015-05-04 09:55:43 +00:00
chunyang.dai
d09e119bc4 X87: VectorICs: built-in function apply should use an IC.
port 83a0af5500 (r28165).

original commit message:

   VectorICs: built-in function apply should use an IC.

   Handled a TODO that sent builtin function apply to the runtime on property get.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28189}
2015-05-04 03:40:28 +00:00
chunyang.dai
906152b85a X87: Use a stub in crankshaft for grow store arrays.
port fb8e613638 (r28163).

original commit message:

 We were deopting without learning anything.

 This is a rebase/reland of https://codereview.chromium.org/368263003

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28188}
2015-05-04 03:39:19 +00:00
machenbach
8e3d776dcb Revert of [V8] Use previous token location as EOS token location (patchset #2 id:20001 of https://codereview.chromium.org/1100993003/)
Reason for revert:
[Sheriff] Speculative revert. This seems to block the current roll:
https://codereview.chromium.org/1124463003/

This bisect also points at this CL:
https://codereview.chromium.org/1124523002/

Please prepare the chromium side tests before a reland.

Original issue's description:
> [V8] Use previous token location as EOS token location
>
> EOS token location is useless for users and messages.js are not ready for its location.
> With this CL we use location of token before EOS for it.
>
> LOG=Y
> BUG=chromium:480652
> R=yurys@chromium.org,yangguo@chromium.org
>
> Committed: https://crrev.com/81afc9313ce84350bcba9f84b255a77e97cd3726
> Cr-Commit-Position: refs/heads/master@{#28164}

TBR=yangguo@chromium.org,yurys@chromium.org,kozyatinskiy@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:480652

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

Cr-Commit-Position: refs/heads/master@{#28187}
2015-05-03 12:47:51 +00:00
v8-autoroll
4beb17b79e Update V8 DEPS.
Rolling v8/tools/clang to a8549b6dd82c3b35a06f9894fa7abdcbbf0bd6f5

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28186}
2015-05-02 03:28:37 +00:00
mtrofin
cd481a7dfd Most of the issues so far encountered with the greedy allocator rest with the splitting mechanism. This change has:
- all RegisterAllocatorTest unit tests passing, when unittest has the flags: --turbo-filter=* --always-opt --turbo-deoptimization --turbo-verify-allocation --turbo_greedy_regalloc

./tools/run-tests.py passing when providing --turbo_greedy_regalloc, but still having some failing (more than the "normal" 43) when passing all the flags. I realize just passing --turbo_greedy_regalloc does not provide full coverage, but it did uncover some bugs, still

The CL centralizes the computing of split points (for "losing" intervals) with the determination of whether an interval is irreducible, and, therefore, of infinite spill weight (if an interval can't be split or spilled, it can't lose in weight comparison because there's nothing we can do to it and make progress).

There are allocator efficiency opportunities I haven't yet taken (this refers to the code itself, not the generated code). For example, the above split/spill computation can be cached. My plan is to defer this to at least after we see numbers showing the value of the algorithm, and potentially do at the same time we remove the linear algorithm, if that is still the plan. At that time, we can look where some APIs best belong (e.g. weight computation may fully live and cache itself on LiveRange)

In addition, the CL adds a few debug-time-only Print APIs I found very useful:  on demand (while in GDB) dump of the code, live range info (use positions & operand description, and intervals), etc.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28185}
2015-05-01 15:31:44 +00:00
v8-autoroll
24da8908d1 Update V8 DEPS.
Rolling v8/third_party/icu to f8c0e585b0a046d83d72b5d37356cb50d5b2031a

Rolling v8/tools/clang to 15ea3e6cc23fd6ff5545bd939ee153b97807668d

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28184}
2015-05-01 03:29:18 +00:00
balazs.kilvady
a384c143f3 MIPS: Fix 'Detect simple tail calls'.
4b122b7504

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28183}
2015-04-30 18:52:49 +00:00
machenbach
b0b82fa89d Revert of Wrap v8natives.js into a function. (patchset #2 id:20001 of https://codereview.chromium.org/1109343004/)
Reason for revert:
[Sheriff] Speculative revert for breaking layout tests, e.g.:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2682

See. e.g.:
https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Win/3130/layout-test-results/http/tests/websocket/workers/worker-reload-diff.txt

Original issue's description:
> Wrap v8natives.js into a function.
>
> R=jkummerow@chromium.org
>
> Committed: https://crrev.com/ee1b39b4303829e6c6805fe8b2f2602b13f6463a
> Cr-Commit-Position: refs/heads/master@{#28174}

TBR=jkummerow@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28182}
2015-04-30 17:33:19 +00:00
dusan.milosavljevic
76ddd58cff MIPS: Add min/max suffixed variants.
TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28181}
2015-04-30 16:43:09 +00:00
yangguo
ac50edfee0 Migrate error messages, part 6. (string.js and date.js)
R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28180}
2015-04-30 16:22:05 +00:00
adamk
d18dd375ac Remove unused Module-related AST nodes and associated codegen
BUG=v8:1569
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28179}
2015-04-30 16:20:56 +00:00
mbrandy
543ae601de PPC: VectorICs: built-in function apply should use an IC.
Port 83a0af5500

Original commit message:
Handled a TODO that sent builtin function apply to the runtime on property get.

R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28178}
2015-04-30 16:18:16 +00:00
mbrandy
2cc2ee0c1b PPC: Use a stub in crankshaft for grow store arrays.
Port fb8e613638

Original commit message:
We were deopting without learning anything.

This is a rebase/reland of https://codereview.chromium.org/368263003

BUG=
R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com

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

Cr-Commit-Position: refs/heads/master@{#28177}
2015-04-30 15:43:03 +00:00