Commit Graph

18819 Commits

Author SHA1 Message Date
svenpanne@chromium.org
33ddb37ba3 Removed confusing defensive programming in GenerateJumpTable.
For a given address/type pair we should always find a deoptimization
bailout ID, otherwise something is wrong. This was already asserted on
ARM, but we now do this consistently on all platforms.

Removed some usesless naming creativity on the way.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 11:06:59 +00:00
titzer@chromium.org
9253510f5e Fix windows warning.
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 10:52:19 +00:00
titzer@chromium.org
b35db9c63b Fix float truncations in typed array tests.
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 10:45:04 +00:00
titzer@chromium.org
43627e7ea8 Hack representation inference to assume current behavior of float32 loads and stores, which include implicit representation changes.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:56:12 +00:00
jochen@chromium.org
e744a5ac80 Fix type in idle time undershot histogram name
TBR=hpayer@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:30:04 +00:00
weiliang.lin@intel.com
ae6a25ae4d X87: When serializer is enalbed, we disable the X87 stack check to reduce the code size.
The reason is that the big code size will leads to test-serialize test cases fail
     when debug mode and snapshot=off.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:27:45 +00:00
erik.corry@gmail.com
f1e82cc169 The --optimize-for-size flag should imply a small semi-space
R=hpayer@chromium.org, mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:15:47 +00:00
jochen@chromium.org
a66600f09e Fix leak in cctest/test-heap/ReleaseStackTraceData
TBR=svenpanne@chromium.org
BUG=none
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 08:25:56 +00:00
jochen@chromium.org
6a14d7d50f Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created
> We also initialize the Isolate on creation.
>
> This should allow for getting rid of the last remaining default isolate
> traces. Also, it'll speed up several isolate related operations that no
> longer require locks.
>
> Embedders that relied on v8::Isolate to return an uninitialized Isolate
> (so they can set ResourceConstraints for example, or set flags that
> modify the way the isolate is created) should either do the setup before
> creating the isolate, or use the recently added CreateParams to pass e.g.
> ResourceConstraints.
>
> BUG=none
> LOG=y
> R=svenpanne@chromium.org
>
> Review URL: https://codereview.chromium.org/469783002

BUG=none
LOG=y
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 08:01:35 +00:00
hpayer@chromium.org
052cd2556f Perform scavenges only for small idle times.
BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 07:51:23 +00:00
erik.corry@gmail.com
35eec7c7ca Reland sticky regexps https://codereview.chromium.org/567313003/
R=svenpanne@chromium.org, yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 07:36:05 +00:00
svenpanne@chromium.org
bea452f2e4 Removed a few dead template functions.
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 07:27:13 +00:00
weiliang.lin@intel.com
4120dd8de2 X87: Convert KeyedLoad indexed interceptor case to a Handler.
port r24042.

original commit message:

  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.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 06:33:37 +00:00
weiliang.lin@intel.com
bf18738539 X87: Move state sentinels into TypeFeedbackVector.
port r24037.

original commit message:

  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.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 06:31:33 +00:00
svenpanne@chromium.org
264c7fe3cd Emit comment with instruction+reason before deopt calls.
Note that we still need to migrate from sometimes emitting those
comments by hand to passing a reason explicitly, but this can be done
incrementally in separate CLs.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 06:27:06 +00:00
v8-autoroll@chromium.org
28ff661909 [Auto-roll] Bump up version to 3.29.79.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 03:01:44 +00:00
jochen@chromium.org
525ed1130e Revert "Require V8 to be explicitly initialized before an Isolate is created"
LOG=n
TBR=svenpanne@chromium.org
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:57:10 +00:00
jochen@chromium.org
b471347b65 Skip math-floor-of-div-nosudiv on arm
TBR=svenpanne@chromium.org
BUG=none
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:54:50 +00:00
v8-autoroll@chromium.org
321c161a7c [Auto-roll] Bump up version to 3.29.77.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:31:24 +00:00
jochen@chromium.org
27f3cc1b9c Require V8 to be explicitly initialized before an Isolate is created
We also initialize the Isolate on creation.

This should allow for getting rid of the last remaining default isolate
traces. Also, it'll speed up several isolate related operations that no
longer require locks.

Embedders that relied on v8::Isolate to return an uninitialized Isolate
(so they can set ResourceConstraints for example, or set flags that
modify the way the isolate is created) should either do the setup before
creating the isolate, or use the recently added CreateParams to pass e.g.
ResourceConstraints.

BUG=none
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:07:50 +00:00
arv@chromium.org
f28f6c17c9 Cleanup class parsing a bit
BUG=v8:3330
LOG=Y
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:39:49 +00:00
paul.lind@imgtec.com
04a22c14d7 Update cctest OWNERS file for mips committers.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:33:24 +00:00
verwaest@chromium.org
c5a3850b8f Revert "filter cross context eval"
(Reverts https://codereview.chromium.org/294073002/)

BUG=chromium:415051
LOG=y
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:25:25 +00:00
arv@chromium.org
714f5f401c ES6: Implement generator method shorthand
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-method-definitions

BUG=v8:3516
LOG=Y
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:14:13 +00:00
balazs.kilvady@imgtec.com
a479b2cb03 MIPS: Convert KeyedLoad indexed interceptor case to a Handler.
Port r24042 (eb9b9ec)

Original commit message:
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.

BUG=
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 15:38:52 +00:00
balazs.kilvady@imgtec.com
029f060544 MIPS: Move state sentinels into TypeFeedbackVector.
Port r24037 (d821bf9)

Original commit message:
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.

BUG=
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 15:36:42 +00:00
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