Commit Graph

18893 Commits

Author SHA1 Message Date
rossberg@chromium.org
cc960f8034 Revert "RegExp: Add support for the ES6-proposed sticky flag"
Causes a flaky failure on buildbots. Here is the (deterministic) repro step (thanks to Michael Stanton):

first go to flag-definitions.h and set this to false.

DEFINE_BOOL(enable_sse4_1, false,
            "enable use of SSE4.1 instructions if available")

Run the following and it should fail:

tools/run-tests.py --arch=ia32 --mode=release cctest/test-api/Regress2107

R=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 14:53:00 +00:00
hpayer@chromium.org
8b761b1b1b Avoid idle times smaller than 1ms.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 13:37:36 +00:00
wingo@igalia.com
3117f6b358 Implement generator mirror
R=yangguo@chromium.org, aandrey@chromium.org

BUG=v8:3292
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 13:30:15 +00:00
mvstanton@chromium.org
eca5875b9d Convert KeyedLoad indexed interceptor case to a Handler.
Currently, KeyedLoads on objects with indexed interceptors are handled with a
special stub. Instead, key on the map and handler mechanism for more uniform
treatment.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 13:28:32 +00:00
mvstanton@chromium.org
9505d5b5ae Fix gcmole warning.
TBR=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 13:24:02 +00:00
hpayer@chromium.org
1373784d83 Capacity returns allocatable memory and TotalCapacity returns allocatable plus non-allocatable memory for the new space.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:52:12 +00:00
mvstanton@chromium.org
200095c3e7 Move state sentinels into TypeFeedbackVector.
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.

R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:31:31 +00:00
rossberg@chromium.org
88fa6685ae Implement ToLength from ES6 section 7.1.15
BUG=
R=rossberg@chromium.org

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

Patch from Caitlin Potter <caitpotter88@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:21:50 +00:00
verwaest@chromium.org
a1a0f465b2 Turn keyed loads with string-based (non-convertible to array-index) key into named loads
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:00:00 +00:00
erik.corry@gmail.com
63b1c1900d RegExp: Add support for the ES6-proposed sticky flag
R=yangguo@chromium.org, rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 11:32:39 +00:00
mstarzinger@chromium.org
15b563cf74 Remove dead CompilationInfo::DisableOptimization predicate.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 11:13:36 +00:00
verwaest@chromium.org
e82fe7b0a4 Don't inline polymorphic cases if not all cases can be handled inline.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 10:57:18 +00:00
v8-autoroll@chromium.org
68884792ea [Auto-roll] Bump up version to 3.29.76.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 10:01:37 +00:00
mvstanton@chromium.org
134a89b11f Introduce TypeFeedbackVector, as FixedArray grew constrictive.
The TypeFeedbackVector is poised to host significant functionality. While it
remains a FixedArray under the covers, we need a place to hold logic and
definitions unique to its function.

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:59:53 +00:00
svenpanne@chromium.org
80d9d6df30 Thread the Lithium instruction down to DeoptimizeIf and friends.
This is a purely mechanical refactoring and a first step towards being
able to report more helpful deoptimization reasons. With this
refactoring, we know at least the mnemonic of the instruction causing
the deopt, although this is not used yet. Future steps will be using
the mnemonic, passing additional explicit deopt reasons and removing
the fragile machinery of searching for code comments.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:53:08 +00:00
mstarzinger@chromium.org
1debacf6aa Remove Compiler::RecordFunctionCompilation from interface.
R=sigurds@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:41:45 +00:00
mstarzinger@chromium.org
4413d318a6 Unify use-sites of EnsureDeoptimizationSupport.
R=sigurds@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:02:36 +00:00
sigurds@chromium.org
68075b0a05 Reland "Add handling for argument adaptor frames to inlining."
Original: https://codereview.chromium.org/573703002/

Reland Fixes:
- Add deopt framestate to CollectStackTrace runtime call

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 08:56:52 +00:00
titzer@chromium.org
892e6621f2 Don't update the compilation size statistics when doing an optimized compile.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 08:47:13 +00:00
hpayer@chromium.org
97bce5e668 Use allocation throughput to estimate next scavenge event in idle notification.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 08:44:46 +00:00
machenbach@chromium.org
0fce2201b9 Revert "Don't use OwnPrototypeChainLength in GetOwnPropertyNames"
This reverts commit r23997 for causing check failures in
layout tests:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/498

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 06:57:12 +00:00
v8-autoroll@chromium.org
34835388a8 [Auto-roll] Bump up version to 3.29.73.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 17:31:19 +00:00
dusan.milosavljevic@imgtec.com
febc3fa415 MIPS64: Fix move operations from coprocessor in simulator.
This resolves calculation errors for trigonometric functions.

TEST=test262/S15.8.2.7_A6.js
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 16:21:22 +00:00
titzer@chromium.org
f6807d7897 Rename Runtime_CompileUnoptimized to Runtime_CompileLazy, because that is what it does. Split Compiler::GetUnoptimizedCode into two variants, one for lazy compilation (which can return optimized code!) and the other that actually returns unoptimized code.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 15:29:42 +00:00
sigurds@chromium.org
b8dd74779c Revert "Add handling for argument adaptor frames to inlining."
This reverts commit r24008.

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 15:00:57 +00:00
mstarzinger@chromium.org
79e095c8d0 Introduce simplified BooleanToNumber operator.
R=titzer@chromium.org
TEST=cctest/test-simplified-lowering/LowerBooleanToNumber

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:47:25 +00:00
sigurds@chromium.org
887b77aa83 Add handling for argument adaptor frames to inlining.
- Lazy deopt from inlined calls
- Lazy deopt from inlined calls with parameter mismatch

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:41:30 +00:00
mvstanton@chromium.org
18ea0084a0 Fix the IsTheHole bug.
For Double constant of non nan, object_ may be uninitialized.

(This patch comes from weiliang.lin@intel.com )

BUG=
R=mvstanton@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:28:48 +00:00
sigurds@chromium.org
4ef5915741 This is a reland of issue 563813002:
https://codereview.chromium.org/575473002/

This time with additional include headers and MSVC specific guards. Previously, only V8 Win32 - nosnap - shared failed:

http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/2916

R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:20:20 +00:00
wingo@igalia.com
00375fba59 Array.prototype.sort: Unchecked calls to hasOwnProperty and push and sort
BUG=v8:3537
LOG=
R=arv@chromium.org, wingo@igalia.com, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:01:25 +00:00
v8-autoroll@chromium.org
6cbeb6d00e [Auto-roll] Bump up version to 3.29.72.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 13:31:26 +00:00
yangguo@chromium.org
2fd6e380ca Fix compile error introduced in 24002.
TBR=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 13:18:50 +00:00
yangguo@chromium.org
a49ac519c8 Serialize code stubs using stub key.
Also add some tracing to the code serializer.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:50:17 +00:00
titzer@chromium.org
cbf66711af Minor compiler pipeline refactoring. Inline UpdateSharedFunctionInfo and make Parser::Parse responsible for setting the strict mode of the CompilationInfo.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:34:46 +00:00
yangguo@chromium.org
1cc4b0b95e Support stepping into generator function.
R=aandrey@chromium.org, wingo@igalia.com
BUG=v8:3572
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:27:16 +00:00
weiliang.lin@intel.com
8a4e0680ab X87: turn on some tests of test-serialize
They were disabled by r21661. We turn on it because x87 snapshot can work now.

BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:03:59 +00:00
verwaest@chromium.org
d0ad526359 Don't use OwnPrototypeChainLength in GetOwnPropertyNames
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 09:56:51 +00:00
svenpanne@chromium.org
ac1b9b11dc Fixed deopt reasons in TaggedToI.
Every DeoptimizeIf should be preceded by a RecordComment explaining
the reason. In the long run, the reason should be an argument of
DeoptimizeIf, but we're not there yet.

On x87, things are a bit ugly due to some pushing/popping, so if
somebody feels inclined to improve this: Feel free. Probably the right
approach would be reloading instead of the push/pop horror.

Another thing is our inconsistent handling of the "done" continuation
of deferred code on the various platforms, I made tiny changes on the
way, but this should better be unified somehow, with all those
micro-optimizations removed.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 09:51:17 +00:00
svenpanne@chromium.org
fdcf5f99b2 Unbreak build
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 09:49:57 +00:00
hpayer@chromium.org
fe626586da Measure new space allocation throughput.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 08:50:57 +00:00
v8-autoroll@chromium.org
7cee8d5cd2 [Auto-roll] Bump up version to 3.29.71.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 08:01:35 +00:00
weiliang.lin@intel.com
ac6074707a X87: Removing ic.h from code-stubs.h
port r23977.

original commit message:

  Removing ic.h from code-stubs.h

  CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs.

  More work could/should be done here, but this is a first step.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 05:21:36 +00:00
arv@chromium.org
7efd2eb144 Class syntax parsing
This implements parsing for ClassExpression and ClassDeclaration.
The runtime is not yet implemented and the value is currently
hard coded to undefined.

BUG=v8:3330
LOG=Y
R=dslomov@chromium.org, marja@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 22:15:39 +00:00
v8-autoroll@chromium.org
7062b8fb49 [Auto-roll] Bump up version to 3.29.69.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 21:01:27 +00:00
akos.palfi@imgtec.com
8c56583573 MIPS64: Fixed int vs. uintptr_t confusion (plus some cleanup on the way).
Port r23966 (a498d5e3)

BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 20:16:11 +00:00
akos.palfi@imgtec.com
a97f2b1014 MIPS64: Removing ic.h from code-stubs.h
Port r23977 (d0cba839)

Original commit message:
CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs.

More work could/should be done here, but this is a first step.

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 17:59:41 +00:00
v8-autoroll@chromium.org
e4c3b699bb [Auto-roll] Bump up version to 3.29.68.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 17:31:23 +00:00
mstarzinger@chromium.org
2c04afb9ce Avoid usage of temporary MachineOperatorBuilder.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 16:20:10 +00:00
jochen@chromium.org
cc66fb85e3 Track how much we miss the idle notification limit
We can't report negative values using histograms, so we split the data
up into two histograms

BUG=chromium:397026
LOG=n
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 16:18:02 +00:00
jochen@chromium.org
5134a1806e Remove unused histogram definitions
R=marja@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 13:16:02 +00:00