Commit Graph

20921 Commits

Author SHA1 Message Date
mstarzinger
d2e424afb8 Avoid unintentional optimization of hot builtins by TurboFan.
R=titzer@chromium.org
TEST=mjsunit/regress/regress-crbug-451016
BUG=chromium:451016
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26229}
2015-01-22 18:52:15 +00:00
mstarzinger
3dc77aac9d Enable inlining test that now works with control reducer.
R=titzer@chromium.org
TEST=cctest/test-run-inlining/InlineLoopGuardedEmpty

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

Cr-Commit-Position: refs/heads/master@{#26228}
2015-01-22 18:49:01 +00:00
dslomov
22ce08ade6 new classes: change semantics of super(...) call and add new.target to construct stub.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:3834
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26227}
2015-01-22 18:39:47 +00:00
vogelheim
6f9d60cc6f Implement AggregatableHistogramTimer and use it to measure how much time
of running a script is really spent in compilation. That is, sum up the
total time spent compiling (parsing + compile proper) within a run call
as seen through the API.

@jochen: So many questions:
- Is it ok to re-use V8.CompileLazy?
  This measures something a little different.
- clang-format does funny things to the huge macro definitions.
  I accepted clang-format changes for all code, but reverted for
  the #define orgies in counters.h. ok?
- Am I measuring the right thing. That is, are Aggregat[ing|ed]TimerScope
  in the right place?

I'll fiddle a bit more with this to see if it does the right thing. Would
be happy if you could still review now-ish.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26226}
2015-01-22 18:38:29 +00:00
ulan
4097318792 Treat pointers in optimized code as strong before all weak dependencies are registered.
This prevents GC from observing code objects with out-of-sync weak dependencies.

BUG=v8:3823
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26225}
2015-01-22 15:31:04 +00:00
machenbach
9ae1c2382a Make version generation robust to other user-defined tags.
BUG=chromium:446166
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26224}
2015-01-22 15:06:57 +00:00
Dusan Milosavljevic
037c73972e MIPS: Fix rare random crashes in keyed store if element transition is needed.
TEST=mjsunit/sin-cos
BUG=
R=balazs.kilvady@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#26223}
2015-01-22 15:04:49 +00:00
danno
87e1426ce5 Convert compiler cctest to unit tests, part 1
R=bmeurer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26222}
2015-01-22 14:16:55 +00:00
Benedikt Meurer
cd584c2dea [turbofan] Add STYLE document.
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26221}
2015-01-22 13:47:25 +00:00
bmeurer
c9283148d1 [turbofan] Cleanup Schedule and related classes.
- Move unit tests to schedule-unittests.cc.
- Remove pre-C++11 cruft.
- Fix some include weirdness.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26220}
2015-01-22 13:01:13 +00:00
ishell
8ccc696bf6 Support concatenating with zero-size arrays with DICTIONARY_ELEMENTS in Runtime_ArrayConcat.
BUG=chromium:450895
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#26219}
2015-01-22 11:15:30 +00:00
mstarzinger
558efe21f0 Add missing BailoutId and FrameState to with statements.
R=bmeurer@chromium.org
TEST=mjsunit/regress/regress-crbug-450642
BUG=chromium:450642
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26218}
2015-01-22 10:57:42 +00:00
svenpanne
8fb593047a Removed bogus threading test to make TSAN happy.
TSAN hits an internal assertion on a self-join, and the test is not
really that useful, so let's just remove it.

BUG=https://code.google.com/p/thread-sanitizer/issues/detail?id=88
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26217}
2015-01-22 10:23:58 +00:00
yangguo
4d65e0c241 Revert of Change test expectations for test-types/Maybe. (patchset #1 id:1 of https://codereview.chromium.org/862353002/)
Reason for revert:
Patch causing the failure has been reverted.

Original issue's description:
> Change test expectations for test-types/Maybe.
>
> TBR=rossberg@chromium.org
> BUG=v8:3840
> LOG=N
>
> Committed: https://crrev.com/ebab2f12e9a4b421d8467bcf28280f8f64700cef
> Cr-Commit-Position: refs/heads/master@{#26212}

TBR=rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3840

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

Cr-Commit-Position: refs/heads/master@{#26216}
2015-01-22 09:43:50 +00:00
bmeurer
8d30c452bb Try to fix AOSP builder.
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#26215}
2015-01-22 09:30:27 +00:00
machenbach
62219f3dd8 Fix typo in build.gn.
TBR=jochen@chromium.org
NOTRY=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#26214}
2015-01-22 09:03:29 +00:00
bmeurer
0381acf7b3 Double field values need sNaN -> qNaN canonicalization.
Also fix mjsunit/regress/regress-undefined-nan to ensure that we are
testing transfer via xmm registers by forcing the transfer to be in an
optimized function.

BUG=v8:3839
LOG=n
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26213}
2015-01-22 08:36:12 +00:00
Yang Guo
ebab2f12e9 Change test expectations for test-types/Maybe.
TBR=rossberg@chromium.org
BUG=v8:3840
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26212}
2015-01-22 08:23:11 +00:00
bmeurer
2620f7604a Fix ninja build with clang=1.
Review URL: https://codereview.chromium.org/862313002

Cr-Commit-Position: refs/heads/master@{#26211}
2015-01-22 07:21:52 +00:00
arv
c883aed7d6 Use FunctionLiteral for class constructor
Motivation: Code cleanup

BUG=None
LOG=N
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#26210}
2015-01-22 06:17:17 +00:00
v8-autoroll
a96eb486e4 Update V8 DEPS.
Rolling v8/build/gyp to adb7d24b9fc166f01ab2da50478556b518a9218f

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26209}
2015-01-22 06:16:17 +00:00
paul.lind
3552f87e8f MIPS: Use signaling NaN for holes in fixed double arrays.
Port 9eace97bba
Port 5d641ec969

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26208}
2015-01-22 06:15:02 +00:00
bmeurer
7619374979 Revert of Steps towards unification of number bitset and range types. (patchset #4 id:60001 of https://codereview.chromium.org/837723006/)
Reason for revert:
Breaks test-types/Maybe, i.e.

out/Release/cctest --random-seed=-707413401 test-types/Maybe

started failing afterwards

Original issue's description:
> Steps towards unification of number bitset and range types.
>
> - New invariant on union types: if the union has a range then the number
>   bits in the bitset must be cleared.
>
> - Various tweaks in intersection and union to satisfy the invariant.
>
> - Exposed and used representation bits in range types (and the Limits
>   helper class).
>
> - Implemented Glb for ranges so that the Is predicate handles
>   ranges correctly.
>
> - Change typer weakening so that it does not rely on GetRange.
>   However, the code still seems to be a bit fragile.
>
> - Removed the Smi types from the type system core, instead introduced
>   Signed31, Unsigned30 and created constructors for Small(Un)Signed
>   that point to the right type for the architecture.
>
> - Punched a hole in the config to be able to get to the isolate so
>   that it is possible to allocate heap numbers for newly created
>   ranges.
>
> Patch by jarin@chromium.prg, original review here:
> https://codereview.chromium.org/795713003/
>
> TBR=jarin@chromium.org
> BUG=
>
> Committed: https://crrev.com/2764fd8d1a266a9136c987c2483492113b0c8d80
> Cr-Commit-Position: refs/heads/master@{#26197}

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

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

Cr-Commit-Position: refs/heads/master@{#26207}
2015-01-22 05:33:39 +00:00
machenbach
4cc852685f Reland Make clang the default on linux.
TBR=jochen@chromium.org,jkummerow@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26206}
2015-01-21 22:25:05 +00:00
machenbach
b0ea0810c6 Revert of Reland Make clang the default on linux. (patchset #3 id:40001 of https://codereview.chromium.org/861223002/)
Reason for revert:
Still missing these builders:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20full%20debug

Original issue's description:
> Reland Make clang the default on linux.
>
> BUG=
>
> Committed: https://crrev.com/72ef6843b0aff68e519a8f26e7d2f7dd87b4712c
> Cr-Commit-Position: refs/heads/master@{#26204}

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

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

Cr-Commit-Position: refs/heads/master@{#26205}
2015-01-21 20:38:32 +00:00
machenbach
72ef6843b0 Reland Make clang the default on linux.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26204}
2015-01-21 19:32:12 +00:00
bmeurer
8fa8e62ebc [arm] Skip mozilla/js1_5/extensions/regress-355497 in simulator.
TBR=machenbach@chromium.org
BUG=v8:3837
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26203}
2015-01-21 19:11:52 +00:00
mstarzinger
62a49868b3 Add missing FrameState to harmony class literals.
R=bmeurer@chromium.org
TEST=mjsunit/harmony/classes

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

Cr-Commit-Position: refs/heads/master@{#26202}
2015-01-21 18:46:56 +00:00
Michael Achenbach
208580b43f Whitespace change to test slave shuffle.
Cr-Commit-Position: refs/heads/master@{#26201}
2015-01-21 18:40:52 +00:00
mstarzinger
24a04d648b Add missing FrameState for Runtime_GetPrototype.
R=titzer@chromium.org
TEST=cctest/test-api

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

Cr-Commit-Position: refs/heads/master@{#26200}
2015-01-21 17:17:59 +00:00
mstarzinger
1693e1143a Add missing FrameState for Runtime_DeliverObservationChangeRecords.
R=bmeurer@chromium.org
TEST=cctest,mjsunit/es7/object-observe-debug-event

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

Cr-Commit-Position: refs/heads/master@{#26199}
2015-01-21 16:08:29 +00:00
machenbach
6024d24866 Properly configure goma.
Everything is c/p from common.gypi.

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

Cr-Commit-Position: refs/heads/master@{#26198}
2015-01-21 15:30:28 +00:00
rossberg
2764fd8d1a Steps towards unification of number bitset and range types.
- New invariant on union types: if the union has a range then the number
  bits in the bitset must be cleared.

- Various tweaks in intersection and union to satisfy the invariant.

- Exposed and used representation bits in range types (and the Limits
  helper class).

- Implemented Glb for ranges so that the Is predicate handles
  ranges correctly.

- Change typer weakening so that it does not rely on GetRange.
  However, the code still seems to be a bit fragile.

- Removed the Smi types from the type system core, instead introduced
  Signed31, Unsigned30 and created constructors for Small(Un)Signed
  that point to the right type for the architecture.

- Punched a hole in the config to be able to get to the isolate so
  that it is possible to allocate heap numbers for newly created
  ranges.

Patch by jarin@chromium.prg, original review here:
https://codereview.chromium.org/795713003/

TBR=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26197}
2015-01-21 15:29:22 +00:00
Benedikt Meurer
78ae35c022 [arm] Fix simulator stack size for mozilla/js1_5/extensions/regress-355497.
TBR=yangguo@chromium.org
BUG=v8:3837
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26196}
2015-01-21 15:26:18 +00:00
bmeurer
4b31a97da3 Remove deprecated v8::base::OS::nan_value().
Use std::numeric_limits<double>::quiet_NaN() and
std::numeric_limits<float>::quiet_NaN() instead.

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

Cr-Commit-Position: refs/heads/master@{#26195}
2015-01-21 14:38:58 +00:00
mstarzinger
65eb16178d Add missing FrameState to JSTypedLoweringTester.
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/JSToNumberOfNumberOrOtherPrimitive

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

Cr-Commit-Position: refs/heads/master@{#26194}
2015-01-21 14:33:56 +00:00
mstarzinger
9baa7e07f8 Drop TODO that no longer applies after refactoring.
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26193}
2015-01-21 14:24:11 +00:00
mstarzinger
209b771431 Enable test coverage for test coverage.
R=titzer@chromium.org
TEST=mjsunit/compiler/opt-next-call-turbo

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

Cr-Commit-Position: refs/heads/master@{#26192}
2015-01-21 14:07:19 +00:00
titzer
e1363512cd [turbofan] Fix register allocator verifier to allow 1-input phis.
R=dcarney@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26191}
2015-01-21 13:50:36 +00:00
dcarney
8521caba24 add some tests for HandleApiCall builtin
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26190}
2015-01-21 13:43:02 +00:00
verwaest
ac2b1cea97 Add a pretty printer to improve the error message non-function calls
BUG=259443
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#26189}
2015-01-21 13:40:41 +00:00
jkummerow
89dff787e3 KeyedStoreIC: support non-generic handling of Symbol keys
BUG=chromium:450475
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26188}
2015-01-21 13:39:27 +00:00
mostynb
cc6c373e2a convert compile-time checkable DCHECKs to STATIC_ASSERTs
Review URL: https://codereview.chromium.org/768683006

Cr-Commit-Position: refs/heads/master@{#26187}
2015-01-21 13:38:21 +00:00
machenbach
c6641e138b Restrict tag-update for version generation to cached git repos.
Otherwise it's impossible to compile v8 without internet
connection.

BUG=chromium:446166
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26186}
2015-01-21 13:02:39 +00:00
Benedikt Meurer
ee86227600 [arm] Fix sNaN quietening in the ARM simulator on IA-32.
TEST=msjunit/regress/regress-undefined-nan2
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26185}
2015-01-21 13:01:23 +00:00
Benedikt Meurer
5d641ec969 [arm] Work-around sNaN issue in ARM simulator builds on IA-32.
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26184}
2015-01-21 10:29:12 +00:00
Michael Achenbach
322ba6d8f4 Whitespace CL to trigger bots.
Cr-Commit-Position: refs/heads/master@{#26183}
2015-01-21 10:08:51 +00:00
machenbach
a23ef7d88b Remove presubmit bot from 'git cl try'.
'git cl try' is often executed before an lgtm was given - in
this case the bot always fails.

TBR=jochen@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26182}
2015-01-21 08:56:26 +00:00
yangguo
f807277b25 Remove implicit uint8_t to char cast in string replace.
R=jkummerow@chromium.org
BUG=446196
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#26181}
2015-01-21 08:55:11 +00:00
Benedikt Meurer
9eace97bba Use signaling NaN for holes in fixed double arrays.
TEST=mjsunit,cctest,unittests
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26180}
2015-01-21 08:52:25 +00:00