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
ishell@chromium.org
68c91ea301
ArrayShift builtin handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/206423002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 13:16:19 +00:00
ishell@chromium.org
8e10eea993
ArrayPush builtin handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/206183006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 13:01:08 +00:00
ishell@chromium.org
107ea152a4
ElementsAccessor::Delete() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/200923006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 10:52:22 +00:00
ishell@chromium.org
158269c132
ElementsAccessor::SetLength() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/204603003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 16:29:19 +00:00
ishell@chromium.org
368a2e78c0
Handlification of JSArray::SetElementsLength().
...
R=verwaest@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/203333004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 14:09:50 +00:00
ishell@chromium.org
acf695e37a
Handlification of ArrayConstructorCommon().
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/201303009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 11:38:27 +00:00
ishell@chromium.org
9a340d1fff
Handlification of ArrayConstructorCommon().
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/200213003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 15:01:45 +00:00
rossberg@chromium.org
3f702d4bf9
Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/177683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:39:08 +00:00
mvstanton@chromium.org
c4caf766bf
Allocation Info Tracking, continued.
...
Addresses missing cases for array literals.
Adds support for "new Array()" call sites. This isn't complete yet, I have to run with --noinline_new.
BUG=
Review URL: https://codereview.chromium.org/11818021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 16:06:34 +00:00
danno@chromium.org
a77daae9f8
Add additional flags to control array abuse tracing
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12211095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-08 14:32:38 +00:00
danno@chromium.org
9cb3a2e97d
Add --trace-array-abuse to help find OOB accesses.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/12220040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-07 07:56:11 +00:00
verwaest@chromium.org
537d1d89b0
Move CopyElements to the accessor of the target.
...
Review URL: https://chromiumcodereview.appspot.com/11416238
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-02 10:09:42 +00:00
verwaest@chromium.org
a08194c83a
Support all fast elements kinds in the major array operations.
...
Currently missing support for unshift.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11377132
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-15 12:19:14 +00:00
rossberg@chromium.org
4fb992a872
Object.observe: Handle oldValue for elements with accessors properly.
...
Extended ElementAccessor interface to allow querying PropertyType and
AccessorPair. Also added respective functionality to JSObject.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11358234
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-15 11:31:40 +00:00
rossberg@chromium.org
fbc6e0d883
Object.observe: generate change records for indexed properties.
...
Details:
- Extend ElementAccessors with GetAttributes method.
- Add HasLocalElement, Get[Local]ElementAttribute methods to JSReceiver/JSObject.
- Otherwise, mirror implementation for named properties.
Cannot correctly handle the cases yet where an accessor is redefined or deleted.
Also fixed handling of object info table.
(Based on CL https://codereview.chromium.org/11362115/ )
R=verwaest@chromium.org ,mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11365111
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 12:58:08 +00:00
danno@chromium.org
9910edbb9a
Implement tracking and optimizations of packed arrays
...
R=jkummerow@chromium.org
TEST=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10170030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 14:24:29 +00:00
fschneider@chromium.org
b28f403cfa
Force checking of result on all functions in elements.h that return MaybeObject*.
...
Add two missing failure checks found by this.
Review URL: https://chromiumcodereview.appspot.com/10356071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 12:49:56 +00:00
svenpanne@chromium.org
30e6cac50e
Valgrind cleanliness, part 3: Delete elements accessors on exit.
...
This fixes 15 leaks, returning 132 bytes of lost memory.
As an additional bonus, elements accessors initialization has bee simplified a bit.
Review URL: https://chromiumcodereview.appspot.com/9836109
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-27 10:51:13 +00:00
jkummerow@chromium.org
4e405b6945
Fix missing write barrier in CopyObjectToObjectElements.
...
Passing the write barrier mode as a parameter does not make sense, as the elements kind specific copiers know best whether a write barrier is needed or not.
BUG=119926
TEST=mjsunit/regress/regress-crbug-119926
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9808111
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-25 15:16:06 +00:00
danno@chromium.org
9104cfd959
Use CopyElements for SetFastDoubleElementsCapacityAndLength
...
Review URL: https://chromiumcodereview.appspot.com/9663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-16 13:59:59 +00:00
danno@chromium.org
17b7d33d53
Implement efficient element copying in ElementsAccessors.
...
Review URL: https://chromiumcodereview.appspot.com/9638014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-09 13:48:29 +00:00
danno@chromium.org
eebf33a94a
Consistently order receiver and holder argument in ElementAccessor.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9605006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-06 12:22:18 +00:00
danno@chromium.org
3e155c66f4
Automatically determine ElementsKind name for debug printing
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9618003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-06 12:03:14 +00:00
danno@chromium.org
5ce20b3387
Recfactor core HasElement functionality into ElementsAccessors
...
Review URL: https://chromiumcodereview.appspot.com/9572014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-05 16:14:34 +00:00
danno@chromium.org
ef54f5690f
Support Smi->Double->HeapObject transitions in constructed Arrays.
...
Also several bugs with Smi/double elements handling and make Ensure* routines more flexible.
BUG=none
TEST=test/mjsunit/array-construct-transition.js
Review URL: http://codereview.chromium.org/8820014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-09 08:50:19 +00:00
mstarzinger@chromium.org
e24c612a5e
Fix setting array length to be ES5 conform.
...
This also refactors the way we set the length of an arrays' backing
store to use the new elements accessor interface. The actual fix is in
DictionaryElementsAccessor::SetLengthWithoutNormalize() where we first
search for non-deletable elements according to ES5 section 15.4.5.2
specifications.
Snippet from the specification: Attempting to set the length property of
an Array object to a value that is numerically less than or equal to the
largest numeric property name of an existing array indexed non-deletable
property of the array will result in the length being set to a numeric
value that is one greater than that largest numeric property name.
R=danno@chromium.org
TEST=test262/15.4.4.??-7-b-16
Review URL: http://codereview.chromium.org/8372064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-08 11:59:56 +00:00
danno@chromium.org
9b2de409f9
Mechanical refactor to move ElementsKind type out of JSObject.
...
R=svenpanne@chromium.org
BUG=none
TEST=all
Review URL: http://codereview.chromium.org/7849017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 09:35:57 +00:00