Commit Graph

24017 Commits

Author SHA1 Message Date
hablich
0bb460150d Removing hablich from auto CC of x87
R=machenbach@chromium.org
BUG=v8:4135
NOTRY=true
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29375}
2015-06-30 11:29:57 +00:00
bmeurer
9dccfea020 [turbofan] Disable recursive inlining for now.
The deoptimizer (and probably various other places) cannot deal properly
with recursive function inlining, so we disallow it in TurboFan as well.
We might want to reconsider that decision at some point in the future.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29374}
2015-06-30 11:05:16 +00:00
yangguo
9d36cd417a Remove outdated ban on lazy compilation due to scope chain.
R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29373}
2015-06-30 11:01:35 +00:00
mstarzinger
a7697bdcc7 Fix clobbered register when setting this_function variable.
Reland of https://crrev.com/bf2bbc8ba508ccd21edf3c08d2e4192c4764ae91

R=bmeurer@chromium.org
TEST=mjsunit/regress/regress-crbug-498022
BUG=chromium:498022
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29372}
2015-06-30 10:39:16 +00:00
mvstanton
6527825fcc Vector ICs: Changes to the IC system to support vector-based stores.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29371}
2015-06-30 09:51:54 +00:00
yangguo
d16c61bf62 Debugger: allow recompiling toplevel code for debugging.
R=mvstanton@chromium.org
BUG=v8:4132
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29370}
2015-06-30 09:43:57 +00:00
ishell
b8cce79f41 A couple of other "stack overflow" vs. "has_pending_exception()" issues in debugger fixed.
BUG=chromium:505007
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29369}
2015-06-30 08:30:18 +00:00
jarin
0dd2e3ccff Fix Android ARM build error.
Also removed some unused classes.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29368}
2015-06-30 08:24:52 +00:00
yangguo
d7f8e611a5 Increase code space allowance for first page size.
This has become necessary as we have more experimental natives
that run after deserializing from the snapshot.

R=hpayer@chromium.org
BUG=v8:4200
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29367}
2015-06-30 07:48:34 +00:00
bmeurer
57267fef14 [turbofan] Remove explicit context specialization from inlining.
Ideally inliner itself should not deal with context specialization at
all, since this is all handled in the pipeline instead (actually
inlining already runs together with context specialization), and the
inlining logic should not care about the specialization mode.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29366}
2015-06-30 07:37:38 +00:00
bmeurer
722e2e2b36 [turbofan] Remove unused constructor function matching from typer.
This optimization never triggers currently, and is inherently native
context dependent for no real reason (for example it will not properly
detect those constructors in the case of cross native context inlining),
plus it is slow and awkward.  In case we really need this functionality
at some point, we should find a way to make it work with the builtin
function id mechanism that is already in place to match other builtins.

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

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

Cr-Commit-Position: refs/heads/master@{#29365}
2015-06-30 07:36:28 +00:00
bmeurer
c74383aa45 [turbofan] Return constant type for functions with unknown parameter count.
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29364}
2015-06-30 07:35:19 +00:00
yangguo
9b740cf601 Debugger: rename variables to avoid shadowing.
TBR=brucedawson@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29363}
2015-06-30 07:08:19 +00:00
mstarzinger
df06f1c715 [turbofan] Fix exit control flow in TryCatchBuilder.
This makes sure that the exit control flow that merges the try-block
with the catch-block after a try-catch-statement creates a new merge
node in cases where it has to. Otherwise dangling phi nodes might have
the wrong number of value inputs.

R=bmeurer@chromium.org
TEST=mjsunit/regress/regress-crbug-505354
BUG=chromium:505354
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29362}
2015-06-30 03:23:41 +00:00
littledan
40d01b57d9 Mark SizeOfFirstPageIsLargeEnough failing on mips64
The failure was been triggered by turning on --harmony-arrays,
maybe because code size was increased or code was added later
in the bootstrap process. Because it doesn't look like a bug
in anything guarded by --harmony-arrays directly, I'd suggest
shipping the flag and disabling the test on the architectures
where it's been observed to fail. It's already disabled on arm64
and this patch disables it on mips64 as well.

BUG=v8:4200
LOG=N
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#29361}
2015-06-30 00:44:52 +00:00
mbrandy
57c5fd7ec5 PPC: [es6] Make new.target work in functions
Port 7a63bf77eb

Original commit message:
This makes new.target work in [[Call]] and [[Construct]] of ordinary
functions.

We achieve this by introducing a new construct stub for functions that
uses the new.target variable. The construct stub pushes the original
constructor just above the receiver in the construct frame.

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

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

Cr-Commit-Position: refs/heads/master@{#29360}
2015-06-29 21:31:20 +00:00
arv
b87cef133f [es6] Reenable new.target + Reflect.construct tests
BUG=v8:3887
LOG=N
R=caitpotter88@gmail.com, adamk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29359}
2015-06-29 19:12:15 +00:00
arv
7a63bf77eb [es6] Make new.target work in functions
This makes new.target work in [[Call]] and [[Construct]] of ordinary
functions.

We achieve this by introducing a new construct stub for functions that
uses the new.target variable. The construct stub pushes the original
constructor just above the receiver in the construct frame.

BUG=v8:3887
LOG=N
R=adamk@chromium.org, dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29358}
2015-06-29 18:29:34 +00:00
arv
473badf5fa [es6] Make sure we do not invoke setter when calling Promise.all
We were calling the setter for Object.prototype.promise if it existed
when calling PromiseAll.

BUG=v9:4232
LOG=N
R=rossberg@chromium.org, adamk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29357}
2015-06-29 18:14:37 +00:00
paul.lind
ba08cc8c15 MIPS: skip embenchen/zlib test.
zlib is broken for mips after 35eb3a0260.

We're still working on a fix. Skip test for now, so the bots cycle green.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29356}
2015-06-29 17:25:12 +00:00
oth
cff8c9b933 Ensure mjsunit tests use dashes not underscores in flags directives.
BUG=chromium:505228
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#29355}
2015-06-29 17:08:18 +00:00
yangguo
972beef14c Parse eagerly inside block scopes.
Only this way we can precisely determine how to allocate let variables
inside the scope.

R=rossberg@chromium.org
BUG=v8:4255
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29354}
2015-06-29 16:16:21 +00:00
dusan.milosavljevic
0ca811f3dd MIPS: Update cctest status file for mips[be].
Enable skipped test-api/RequestInterruptTestWith* after:
https://codereview.chromium.org/1220443002/

TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29353}
2015-06-29 16:11:17 +00:00
mtrofin
1cd60451de [turbofan] Greedy allocator refactoring.
Separated core greedy allocator concepts, exposing the APIs we would want to continue working with. In particular, this change completely reworks CoalescedLiveRanges to reflect the fact that we expect more than one possible conflict, scrapping the initial design of the structure. Since this is a critical part of the design, this change may be thought of as a full rewrite of the algorithm.

Reduced all heuristics to just 2 essential ones: split "somewhere", which we'll still need when all other heuristics fail; and spill.

Introduced a simple primitive for splitting - at GapPosition::START. The goal is to use such primitives to quickly and reliably author heuristics.

I expected this primitive to "just work" for any arbitrary instruction index within a live range - e.g. its middle. That's not the case, it seems to upset execution in certain scenarios. Restricting to either before/after use positions seems to work. I'm still investigating what the source of failures is in the case of "arbitrary instruction in the range" case.

I intended to document the rationale and prove the soundness of always using START for splits, but I will postpone to after this last remaining issue is resolved.

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

Cr-Commit-Position: refs/heads/master@{#29352}
2015-06-29 15:56:33 +00:00
binji
e291b78a8e Fix cluster-fuzz found regression in d8 Workers.
This one occurs when Function.prototype.toString is overridden to return a
non-string.

BUG=chromium:504729
R=mstarzinger@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29351}
2015-06-29 15:53:22 +00:00
binji
93c43523ea Fix cluster-fuzz found regression in d8 Workers.
Dumb typo introduced in refs/heads/master@{#29306}. I thought I was turning on
report_exceptions in Shell::ExecuteString, but instead I turned on print_result
(which assumes an interactive debugger and a HandleScope for the
utility_context_).

BUG=chromium:504727,chromium:504728
R=mstarzinger@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29350}
2015-06-29 15:48:39 +00:00
machenbach
b2348f42c0 [android] Remove legacy architecture configs from perf runner.
The android_* configs were never real v8 target
architectures, only make targets. This doesn't make sense
with ninja anymore.

BUG=chromium:502176
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#29349}
2015-06-29 15:07:30 +00:00
ishell
741fc2ce9a Avoid allocations during ArrayBuffer initialization.
BUG=chromium:505367
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29348}
2015-06-29 14:29:49 +00:00
Djordje.Pesic
7be96aa2e7 Assertion failure when using --log-regexp
RegExpCompileEvent acquieres mutex from Log class during MessageBuilder creation. LogRegExpSource, called from RegExpCompileEvent creates another MessageBuilder object which also acquires the same mutex. This mutex is not recursive, so during second acquirement, assertion fail is happening. Solution: LogRegExpSource should use the same MessageBuilder object as RegExpCompileEvent.

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

Cr-Commit-Position: refs/heads/master@{#29347}
2015-06-29 13:54:08 +00:00
oth
2b87cf56b4 Fix flag convention in handle count tests and comment.
BUG=505228
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#29346}
2015-06-29 13:40:48 +00:00
machenbach
976e1e5c59 Revert of Use third_party clang on Mac. (patchset #4 id:60001 of https://codereview.chromium.org/1200833013/)
Reason for revert:
[Sheriff] Breaks mac on the main waterfall (though not on the tryserver):
http://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/3925

Original issue's description:
> Use third_party clang on Mac.
>
> BUG=
>
> Committed: https://crrev.com/57b20413294940476ab2b2e71ed0802aaf8c223f
> Cr-Commit-Position: refs/heads/master@{#29343}

TBR=danno@chromium.org,jkummerow@chromium.org,paul.lind@imgtec.com,akos.palfi@imgtec.com,balazs.kilvady@imgtec.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29345}
2015-06-29 13:06:36 +00:00
Michael Achenbach
80c8a3fe1b Whitespace change to test android ninja/goma switch.
Cr-Commit-Position: refs/heads/master@{#29344}
2015-06-29 12:54:06 +00:00
balazs.kilvady
57b2041329 Use third_party clang on Mac.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29343}
2015-06-29 12:27:59 +00:00
bmeurer
cd85493faa Using "defined" in macro causes undefined behavior.
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29342}
2015-06-29 11:48:06 +00:00
machenbach
c4121b28b1 [android] Configure building android with ninja and clang.
Make clang dir absolute to avoid differences between ninja
and make gyp generator.

BUG=chromium:502176
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29341}
2015-06-29 10:47:30 +00:00
bmeurer
39608e1785 [turbofan] Add typing rules for the typeof operator.
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29340}
2015-06-29 08:08:33 +00:00
ben
f7969b1d5a Meaningful name for builtins in JitCodeEvent API.
Report builtins by name (e.g. "Builtin:ArgumentsAdaptorTrampoline")
instead of labeling everything "Builtin:A builtin from the snapshot".

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29339}
2015-06-29 07:37:02 +00:00
machenbach
9295dd0d94 Fix gn build deps.
Fix c/p error from https://codereview.chromium.org/1217483002/

TBR=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29338}
2015-06-27 19:39:55 +00:00
dslomov
b4f49586ab [destructuring] Re-index materialized literals in arrow function parameters.
R=wingo@igalia.com
BUG=v8:811
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29337}
2015-06-26 21:39:53 +00:00
arv
353b40e980 [es6] Remove harmony-classes flag
Move class tests to es6 directory

BUG=v8:3330
LOG=N
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#29336}
2015-06-26 21:16:58 +00:00
mbrandy
ff309a2383 PPC: VectorICs: Lithium support for vector-based stores.
Port 8a3cf4ecef

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

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

Cr-Commit-Position: refs/heads/master@{#29335}
2015-06-26 19:50:59 +00:00
arv
47dd45c0ab [es6] Remove harmony-object-literal flag
And move tests to es6 directory

BUG=v8:3516
LOG=N
R=adamk@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29334}
2015-06-26 19:49:53 +00:00
mbrandy
3a1ef020cf PPC: [turbofan] Canonicalize return sequence for JSFunctions.
Port 2b9112a578

Original commit message:
This optimization is already implemented in fullcodegen, and
basically makes sure that we do not unecessarily blow up the
code with duplicated return sequences everywhere.

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

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

Cr-Commit-Position: refs/heads/master@{#29333}
2015-06-26 19:48:46 +00:00
Erik Arvidsson
3bdbb843b6 test262-es6: Add entry for asi test
The test language/asi/S7.9_A5.7_T1 is failing intermittently.

BUG=v8:4253
LOG=N
TBR=adamk

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

Cr-Commit-Position: refs/heads/master@{#29332}
2015-06-26 19:33:24 +00:00
dusan.milosavljevic
448ec36491 MIPS: Fix unpredictable random failures after direct api function call.
The use of jalr ra is unpredictable if instruction in branch delay slot
is in next page.

This finally fixes random failures in JS debugger and InteruptRequest tests.

TEST=mjsunit/debug-*,
     cctest/test-api/RequestInterruptTestWithNativeAccessor
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29331}
2015-06-26 16:54:12 +00:00
erikcorry
6ba8455e63 Put getter functions on Script line-endings objects
This is a step towards having Blink no longer look directly at the
line endings array.  That prevented https://codereview.chromium.org/1137683003/
from landing.  Next step, after the roll, will be using these
functions in Blink.
R=jochen@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29330}
2015-06-26 14:59:07 +00:00
arv
240ea08905 Classify all test262-es6 failures
File bugs for all failing tests in test262-es6.

There are still some old "needs investigation" failures that I didn't
investigate.

BUG=N
LOG=N
R=littledan@chromium.org, adamk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29329}
2015-06-26 14:39:36 +00:00
machenbach
3e38d64495 Fix missing source dependencies.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29328}
2015-06-26 14:24:52 +00:00
yangguo
058deb2713 Debugger: use list to find shared function info in a script.
Now that we keep tabs on shared function infos from a script, we can speed up finding shared function infos for debugging. However, in case we have to compile a function that cannot be lazily compiled without context, we fall back to the slow heap iteration.

R=mstarzinger@chromium.org
BUG=v8:4132,v8:4052
LOG=N

Committed: https://crrev.com/cfe89a71a332ef9ed481c8210bc3ad6d2822034b
Cr-Commit-Position: refs/heads/master@{#29296}

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

Cr-Commit-Position: refs/heads/master@{#29327}
2015-06-26 13:53:33 +00:00
yangguo
8c72792b6d Mark function info as compiled after EnsureDeoptimizationSupport.
Note that prior to having canonical shared function infos, this has
been a source of duplicate shared function infos.

R=bmeurer@chromium.org
BUG=chromium:504787
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29326}
2015-06-26 13:17:05 +00:00