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
8833c99552
Check double array bounds in HasElementImpl.
...
R=jkummerow@chromium.org
BUG=chromium:119925
TEST=test/mjsunit/regress/regress-119925.js
Review URL: https://chromiumcodereview.appspot.com/9808110
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-25 14:21:51 +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
15ffc2e249
Fix presubmit problem with elements template macro
...
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9665002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-09 14:53:02 +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
mstarzinger@chromium.org
36a91e30f7
Fix redefining of attributes on aliased arguments.
...
This allows elements of the non-strict arguments object to be redefined
with custom attributes and still maintain an alias into the context.
Such a slow alias is maintained by placing a special marker into the
dictionary backing store of the arguments object.
R=rossberg@chromium.org
BUG=v8:1772
TEST=test262,mjsunit/object-define-property
Review URL: https://chromiumcodereview.appspot.com/9460004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 14:34:01 +00:00
fschneider@chromium.org
3f8ed7c30d
Add a missing check for a failure result.
...
Function calls that may return a failure must use the result. Enforce
this by adding missing MUST_USE_RESULT to their declarations.
Review URL: https://chromiumcodereview.appspot.com/9421032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 10:17:25 +00:00
ulan@chromium.org
fd2d480fb0
Rename static methods to avoid shadowing virtual methods
...
and fix Clang C++11 compile error.
Review URL: https://chromiumcodereview.appspot.com/9420049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-17 12:59:58 +00:00
erik.corry@gmail.com
40a433c9e0
Split NumberDictionary into a randomly seeded and an unseeded
...
version. We don't want to randomize the stub cache.
Review URL: http://codereview.chromium.org/9174023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-16 09:44:35 +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
yangguo@chromium.org
5c23e4e57a
Avoid explicitly using built-in new operator where possible to appease Windows build.
...
Review URL: http://codereview.chromium.org/8561011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-18 11:08:46 +00:00
yangguo@chromium.org
6551e8d47d
Removing exit time destructors by leaking static members.
...
Note that some cctests and d8 still contain statical members with exit time destructors.
BUG=v8:1828
Review URL: http://codereview.chromium.org/8586025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-18 08:59:33 +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
f48c9f6557
Basic support for tracking smi-only arrays on ia32.
...
Activated by the flag --smi-only-arrays
Currently not crankshaft support, using flag on non-ia32 platforms will lead to write barrier misses and crashes.
BUG=none
TEST=elements_kind.js
Review URL: http://codereview.chromium.org/7901016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 11:30:04 +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
jkummerow@chromium.org
1befe0bbbb
Remove unnecessary break-after-return in switch statement
...
BUG=v8:1642
Review URL: http://codereview.chromium.org/7781007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 10:47:00 +00:00
danno@chromium.org
4c460099a0
Unify GetElement handlers in ElementsAccessor
...
BUG=none
TEST=external-arrays.js
Review URL: http://codereview.chromium.org/7655030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 09:51:08 +00:00
danno@chromium.org
edd691960f
Implement UnionOfKeys for NonStrictArguments
...
BUG=none
TEST=cctest/test-api/IndexedInterceptorNonStrictArgsWithIndexedAccessor
Review URL: http://codereview.chromium.org/7657011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 16:15:30 +00:00
danno@chromium.org
96f198a4dc
Change AddElementsToFixedArray to work on FixedArrayBase rather than JSObject
...
In the process, make ElementsAccessors work internally more seamlessly with FixedArrayBase.
R=svenpanne@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7618012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-12 14:52:03 +00:00
danno@chromium.org
ff13ab4575
Refactor UnionOfKeys into ElementsAccessor
...
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7529046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 10:51:01 +00:00
danno@chromium.org
4a7a47ac8f
Move element deletion into element handlers
...
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7566004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-04 11:42:14 +00:00
danno@chromium.org
bdf6895bb3
Encapsulate element handling into a class keyed on ElementsKind
...
Advantage is that it's much easier to add new element types (like FAST_SMI_ELEMENTS), and that handling logic for each element kind is (more) consolidated.
Currently, only GetElementsWithReceiver uses the new encapsulation, but the goal is to move much more element functionality into the class incrementally.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7527001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 11:12:46 +00:00