Commit Graph

83 Commits

Author SHA1 Message Date
verwaest
359142c330 Merge AddFastElement and AddFastDoubleElement
BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29227}
2015-06-23 11:35:57 +00:00
verwaest
046e91dd1a Move SetFastElementsCapacity into GrowCapacityAndConvert
BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29222}
2015-06-23 09:44:28 +00:00
verwaest
6c7449a636 Move SetFastDoubleElementsCapacity into GrowCapacityAndConvert
BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29182}
2015-06-22 11:24:19 +00:00
verwaest
57a3810280 Get rid of JSArray::Expand and friends
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29180}
2015-06-22 10:44:24 +00:00
verwaest
8076d6ee2d More cleanup related to setting array.length
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29152}
2015-06-19 14:57:11 +00:00
verwaest
0f1522f4c2 Remove handles from ElementsAccessor::Set and friends
BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29139}
2015-06-19 09:25:22 +00:00
verwaest
691de97b3f Cleanup typed array setters, the property is guaranteed to be there.
BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29129}
2015-06-18 19:49:39 +00:00
verwaest
72d6ed749b Return void from array setters since the return value needs to be ignored
BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29113}
2015-06-18 12:52:00 +00:00
verwaest
360e020408 Revert of Revert of Remove GetAttributes from the mix to avoid another virtual dispatch. (patchset #1 id:1 of https://codereview.chromium.org/1179933002/)
Reason for revert:
Reland, this didn't break anything.

Original issue's description:
> Revert of Remove GetAttributes from the mix to avoid another virtual dispatch. (patchset #2 id:40001 of https://codereview.chromium.org/1175973002/)
>
> Reason for revert:
> It broke webkit_unit_tests
>
> Original issue's description:
> > Remove GetAttributes from the mix to avoid another virtual dispatch.
> >
> > BUG=chromium:495949,v8:4137
> > LOG=n
> >
> > Committed: https://crrev.com/2269b8b5a696bf4eef13590093151bff624d4175
> > Cr-Commit-Position: refs/heads/master@{#28953}
>
> TBR=verwaest@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=chromium:495949,v8:4137
>
> Committed: https://crrev.com/ae639d2ad646237e2f413259a0f116845ef96440
> Cr-Commit-Position: refs/heads/master@{#28958}

TBR=ishell@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:495949,v8:4137

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

Cr-Commit-Position: refs/heads/master@{#28966}
2015-06-11 20:17:36 +00:00
ishell
ae639d2ad6 Revert of Remove GetAttributes from the mix to avoid another virtual dispatch. (patchset #2 id:40001 of https://codereview.chromium.org/1175973002/)
Reason for revert:
It broke webkit_unit_tests

Original issue's description:
> Remove GetAttributes from the mix to avoid another virtual dispatch.
>
> BUG=chromium:495949,v8:4137
> LOG=n
>
> Committed: https://crrev.com/2269b8b5a696bf4eef13590093151bff624d4175
> Cr-Commit-Position: refs/heads/master@{#28953}

TBR=verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:495949,v8:4137

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

Cr-Commit-Position: refs/heads/master@{#28958}
2015-06-11 17:25:34 +00:00
verwaest
2269b8b5a6 Remove GetAttributes from the mix to avoid another virtual dispatch.
BUG=chromium:495949,v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28953}
2015-06-11 16:07:28 +00:00
verwaest
52f44a8353 Use the LookupIterator for SetElement and friends
BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28946}
2015-06-11 15:07:16 +00:00
verwaest
bda7fb2246 Handle Delete of element with LookupIterator
BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28762}
2015-06-02 11:52:41 +00:00
verwaest
2fb894fa58 Use GetProperty for getting elements.
This also fixes issues with
- kMaxUint32 being a valid length but not index cornercases
- exotic integer objects masking "exotic indexes" even though its in the prototype chain
- concating of holey sloppy arguments

BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28754}
2015-06-02 10:42:29 +00:00
verwaest
16484824b6 Start adding support for elements to the LookupIterator
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28546}
2015-05-21 12:19:23 +00:00
verwaest
de23dd2809 Fix for-in for large indexes and indexes on proxies
BUG=v8:4130
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28526}
2015-05-20 17:03:03 +00:00
jochen
3383f6280e Reland "Remove the weak list of views from array buffers"
Original description:
> Instead, views have to check their array buffer for whether
> it's neutered or not.
>
> BUG=v8:3996
> R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
> LOG=n

BUG=v8:3996
R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28060}
2015-04-27 09:27:53 +00:00
jochen
41098dbb07 Revert of Reland "Remove the weak list of views from array buffers" (patchset #2 id:20001 of https://codereview.chromium.org/1093183004/)
Reason for revert:
still working on perf

Original issue's description:
> Reland "Remove the weak list of views from array buffers"
>
> Original description:
> > Instead, views have to check their array buffer for whether
> > it's neutered or not.
> >
> > BUG=v8:3996
> > R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
> > LOG=n
>
> BUG=v8:3996
> R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
> LOG=n
>
> Committed: https://crrev.com/655b04637e9da2749f53c866bca8f5f6abb05a3f
> Cr-Commit-Position: refs/heads/master@{#28029}

TBR=dslomov@chromium.org,hpayer@chromium.org,verwaest@chromium.org,dcarney@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996

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

Cr-Commit-Position: refs/heads/master@{#28038}
2015-04-24 06:46:23 +00:00
jochen
655b04637e Reland "Remove the weak list of views from array buffers"
Original description:
> Instead, views have to check their array buffer for whether
> it's neutered or not.
>
> BUG=v8:3996
> R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
> LOG=n

BUG=v8:3996
R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28029}
2015-04-23 13:02:36 +00:00
jochen
47f2dfa9bd Revert of Remove the weak list of views from array buffers (patchset #6 id:100001 of https://codereview.chromium.org/1094863002/)
Reason for revert:
I'm reverting this while working on the regression fix

Original issue's description:
> Remove the weak list of views from array buffers
>
> Instead, views have to check their array buffer for whether
> it's neutered or not.
>
> BUG=v8:3996
> R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
> LOG=n
>
> Committed: https://crrev.com/5ae083a05a6743d6cb91585f449539f7846a5d8c
> Cr-Commit-Position: refs/heads/master@{#27995}

TBR=dslomov@chromium.org,hpayer@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996

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

Cr-Commit-Position: refs/heads/master@{#28014}
2015-04-22 15:03:12 +00:00
jochen
5ae083a05a Remove the weak list of views from array buffers
Instead, views have to check their array buffer for whether
it's neutered or not.

BUG=v8:3996
R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27995}
2015-04-22 09:19:19 +00:00
verwaest
cca6ffff7e Revert of Remove handle wrappers from basic elements accessors (patchset #2 id:20001 of https://codereview.chromium.org/934173004/)
Reason for revert:
Breakage

Original issue's description:
> Remove handle wrappers from basic elements accessors
>
> BUG=
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/40b7c513c696f405af0ae3e74e844d3c341bc3f2
> Cr-Commit-Position: refs/heads/master@{#26736}

TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26737}
2015-02-19 09:05:04 +00:00
Toon Verwaest
40b7c513c6 Remove handle wrappers from basic elements accessors
BUG=
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26736}
2015-02-19 08:18:07 +00:00
Toon Verwaest
4a030e849c Remove receiver as parameter to Get/Has Element in the accessors.
BUG=
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26735}
2015-02-19 08:13:49 +00:00
marja
c7851da4ae Introduce LanguageMode, drop StrictMode.
This enables adding more language modes in the future.

For maximum flexibility, LanguageMode is a bitmask, so we're not restricted to
use a sequence of language modes which are progressively stricter, but we can
express the language mode as combination of features.

For now, LanguageMode can only be "sloppy" or "strict", and there are
STATIC_ASSERTS in places which need to change when more modes are added.

LanguageMode is a bit like the old LanguageMode when "extended" mode was still
around (see https://codereview.chromium.org/8417035 and
https://codereview.chromium.org/181543002 ) except that it's transmitted through
all the layers (there's no StrictModeFlag).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26419}
2015-02-04 09:34:26 +00:00
verwaest
e99faf93ff Remove ForceDelete
This method circumvented JS semantics, and should not be used.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26157}
2015-01-20 13:41:31 +00:00
halton.huo
82d0f800a2 Fix clang++ warnings on -Wtautological-constant-out-of-range-compare
BUG=v8:3730
LOG=N
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25579}
2014-12-01 09:17:32 +00:00
dcarney
50ef0690b2 Add interceptor support for symbols
a revival of https://codereview.chromium.org/467013003

R=rossberg@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25537}
2014-11-27 10:21:39 +00:00
ishell@chromium.org
40a9b4363e ArrayConcat regression recover after r20312 (appeared on dromaeo benchmarks).
BUG=chromium:358561
LOG=N
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:22:24 +00:00
verwaest@chromium.org
16c2c72ade Delete dead GetType from elements accessors
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:26:02 +00:00
jochen@chromium.org
c608c2f0be Move a bunch of GC related files to heap/ subdirectory
BUG=none
R=hpayer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:18:22 +00:00
bmeurer@chromium.org
d07a2eb806 Rename ASSERT* to DCHECK*.
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.

R=jochen@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
mstarzinger@chromium.org
fec6e62dfb Check alpha-sorting of includes during presubmit.
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 08:40:11 +00:00
jochen@chromium.org
56a486c322 Use full include paths everywhere
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps

BUG=none
R=jkummerow@chromium.org, danno@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:12:43 +00:00
bmeurer@chromium.org
d4b533d41b Bulk update of Google copyright headers in source files.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 06:42:26 +00:00
ishell@chromium.org
32735ae3a9 Object::GetElements() and friends maybehandlification.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 09:20:11 +00:00
ishell@chromium.org
7135c9fde2 ElementsAccessor::Delete() maybehandlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 15:45:12 +00:00
ishell@chromium.org
74e7a4ad07 ElementsAccessor::SetLength() maybehandlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 13:16:19 +00:00
ishell@chromium.org
1862da47ec Reland of r20606: Further ElementsAccessor handlification (GetKeyForIndex(), GetCapacity(), GetType() and GetAttributes()).
It was not related to test failures.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 12:56:24 +00:00
ishell@chromium.org
d49e3fa75a Revert "Further ElementsAccessor handlification (GetKeyForIndex(), GetCapacity(), GetType() and GetAttributes())."
This reverts commit r20606 for breaking tests on windows.

TBR=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 10:58:17 +00:00
ishell@chromium.org
773738d4d1 Further ElementsAccessor handlification (GetKeyForIndex(), GetCapacity(), GetType() and GetAttributes()).
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 09:58:26 +00:00
ishell@chromium.org
df4ee49348 Further ElementsAccessor handlification (Get(), AddElementsToFixedArray() and HasElement()).
R=verwaest@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 14:20:29 +00:00
ishell@chromium.org
c9b0492bf5 Callers of ElementsAccessor::Validate() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 10:00:14 +00:00
ishell@chromium.org
7a3703db64 ElementsAccessor::GetAccessorPair() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 09:20:44 +00:00
ishell@chromium.org
1f9f8fe9eb ElementsAccessor's public interface handlification.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 13:20:24 +00:00
ishell@chromium.org
dd891816d4 Callers of ElementsAccessor::AddElementsToFixedArray(), ElementsAccessor::HasElement() and ElementsAccessor::GetKeyForIndex() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 13:05:37 +00:00
ishell@chromium.org
f3daa2c149 Partial recover from performance degradation after handlification of ElementsAccessor::CopyElements (r20312).
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 09:12:59 +00:00
ishell@chromium.org
a887597e20 ElementsAccessor::CopyElements() and its callers handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:41:09 +00:00
ishell@chromium.org
f306341b46 TransitionElementsKind() and its recursive call chain handlified.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 15:33:22 +00:00
ishell@chromium.org
0d7bdc0fd6 Callers of ElementsAccessor::SetCapacityAndLength() handlified.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:51:13 +00:00