cbruni
bf6764e6c1
Array.prototype.unshift builtin improvements
...
Moving unshift to ElementAccessor and increasing the range of arguments
handled directly in C++, namely directly supporting FastDoubleElementsKind.
This should yield a factor 19 speedup for unshift on fast double arrays.
BUG=
Review URL: https://codereview.chromium.org/1311343002
Cr-Commit-Position: refs/heads/master@{#30347}
2015-08-25 09:45:38 +00:00
cbruni
07a4a6cb8e
- remove the Backing-Store specific code from builtins.cc and put it in elements.cc.
...
- adding tests to improve coverage of the splice method
BUG=
Committed: https://crrev.com/8533d4b5433d3a9e9fb1015f206997bd6d869fe3
Cr-Commit-Position: refs/heads/master@{#30269}
Review URL: https://codereview.chromium.org/1293683005
Cr-Commit-Position: refs/heads/master@{#30326}
2015-08-24 10:55:13 +00:00
cbruni
6d67f7db37
Revert of Moving ArraySplice Builtin to ElementsAccessor (patchset #6 id:100001 of https://codereview.chromium.org/1293683005/ )
...
Reason for revert:
failing bot http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/3827
Original issue's description:
> - remove the Backing-Store speficic code from builtins.cc and put it in elements.cc.
> - adding tests to improve coverage of the splice method
>
> BUG=
>
> Committed: https://crrev.com/8533d4b5433d3a9e9fb1015f206997bd6d869fe3
> Cr-Commit-Position: refs/heads/master@{#30269}
TBR=mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/1305763002
Cr-Commit-Position: refs/heads/master@{#30271}
2015-08-20 13:51:15 +00:00
cbruni
8533d4b543
- remove the Backing-Store speficic code from builtins.cc and put it in elements.cc.
...
- adding tests to improve coverage of the splice method
BUG=
Review URL: https://codereview.chromium.org/1293683005
Cr-Commit-Position: refs/heads/master@{#30269}
2015-08-20 12:55:05 +00:00
mstarzinger
98a0fe0f32
Remove grab-bag includes of v8.h from everywhere.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/1285183010
Cr-Commit-Position: refs/heads/master@{#30263}
2015-08-20 07:44:15 +00:00
jkummerow
df9822f45a
[IC] Make SeededNumberDictionary::UpdateMaxNumberKey prototype aware
...
Only walk the heap clearing KeyedStoreICs when the dictionary in question belongs to an object that's used as a prototype.
This is a temporary mitigation until we have a way to clear such ICs without having to walk the heap.
BUG=v8:4335
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/1275363002
Cr-Commit-Position: refs/heads/master@{#30076}
2015-08-07 22:45:13 +00:00
cbruni
ffb3a92759
Array Builtin Refactoring: Creating API methods on ElementsAccessor
...
BUG=
Review URL: https://codereview.chromium.org/1260283002
Cr-Commit-Position: refs/heads/master@{#29958}
2015-07-31 16:10:51 +00:00
jochen
fded08f694
Reland of "Remove ExternalArray, derived types, and element kinds"
...
Original issue's description:
> Remove ExternalArray, derived types, and element kinds
>
> BUG=v8:3996
> R=jarin@chromium.org , mvstanton@chromium.org , bmeurer@chromium.org
> LOG=y
>
> Committed: https://crrev.com/607ef7c6009a24ebf195b4cab7b0b436c5afd21c
> Cr-Commit-Position: refs/heads/master@{#29872}
BUG=v8:3996
R=bmeurer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/1262583002
Cr-Commit-Position: refs/heads/master@{#29893}
2015-07-28 09:29:55 +00:00
machenbach
814048a04f
Revert of Remove ExternalArray, derived types, and element kinds (patchset #5 id:80001 of https://codereview.chromium.org/1254623002/ )
...
Reason for revert:
[Sheriff] Breaks several layout tests, e.g.:
http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2032/builds/1067
Several output lines change from PASS to FAIL. If the changes are intended, please land a needsmanualrebaseline change in blink first.
Original issue's description:
> Remove ExternalArray, derived types, and element kinds
>
> BUG=v8:3996
> R=jarin@chromium.org , mvstanton@chromium.org , bmeurer@chromium.org
> LOG=y
>
> Committed: https://crrev.com/607ef7c6009a24ebf195b4cab7b0b436c5afd21c
> Cr-Commit-Position: refs/heads/master@{#29872}
TBR=bmeurer@chromium.org ,hpayer@chromium.org,jarin@chromium.org,mvstanton@chromium.org,jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996
Review URL: https://codereview.chromium.org/1257223002
Cr-Commit-Position: refs/heads/master@{#29883}
2015-07-27 20:32:16 +00:00
jochen
607ef7c600
Remove ExternalArray, derived types, and element kinds
...
BUG=v8:3996
R=jarin@chromium.org , mvstanton@chromium.org , bmeurer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/1254623002
Cr-Commit-Position: refs/heads/master@{#29872}
2015-07-27 13:19:36 +00:00
verwaest
047b4bfbb4
Fix non-standard element handling
...
BUG=
Review URL: https://codereview.chromium.org/1228113003
Cr-Commit-Position: refs/heads/master@{#29677}
2015-07-15 12:06:31 +00:00
verwaest
377ea53470
Update the context if Set on slow-mode argument targets an aliased arguments entry
...
BUG=v8:4177
LOG=n
Review URL: https://codereview.chromium.org/1233493007
Cr-Commit-Position: refs/heads/master@{#29575}
2015-07-10 15:52:10 +00:00
verwaest
7b5eab583f
Use entry rather than index in ElementsAccessor::Get
...
BUG=v8:4137, v8:4177
LOG=n
Review URL: https://codereview.chromium.org/1230213002
Cr-Commit-Position: refs/heads/master@{#29574}
2015-07-10 14:13:45 +00:00
verwaest
f87af94a46
Use entry rather than index in ElementsAccessor::Set
...
BUG=v8:4137,v8:4177
LOG=n
Review URL: https://codereview.chromium.org/1232463005
Cr-Commit-Position: refs/heads/master@{#29571}
2015-07-10 12:56:41 +00:00
verwaest
44dcc0a2c0
Delete from non-array end by trimming the backing store
...
Review URL: https://codereview.chromium.org/1218663009
Cr-Commit-Position: refs/heads/master@{#29521}
2015-07-07 16:02:42 +00:00
verwaest
ca7feba733
Index -> Entry and Key -> Index in elements.[cc|h]
...
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/1224643004
Cr-Commit-Position: refs/heads/master@{#29514}
2015-07-07 11:53:04 +00:00
verwaest
9599bad420
Wrap elements.cc in an anonymous namespace
...
BUG=
Review URL: https://codereview.chromium.org/1221363002
Cr-Commit-Position: refs/heads/master@{#29484}
2015-07-06 10:40:38 +00:00
verwaest
dba715ec6a
Cleanup Delete backend implementation.
...
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/1218813012
Cr-Commit-Position: refs/heads/master@{#29477}
2015-07-06 08:53:51 +00:00
verwaest
e7d64b3f60
Remove obsolete GetAccessorPair from ElementsAccessor
...
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/1224533003
Cr-Commit-Position: refs/heads/master@{#29467}
2015-07-03 12:39:01 +00:00
verwaest
9d0cd81da9
Move slow classes above fast to directly call ReconfigureImpl, remove friends, make things public
...
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/1225493002
Cr-Commit-Position: refs/heads/master@{#29455}
2015-07-02 16:44:33 +00:00
verwaest
c8211b64cd
Distinguish slow from fast sloppy arguments
...
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/1221713003
Cr-Commit-Position: refs/heads/master@{#29447}
2015-07-02 14:38:53 +00:00
verwaest
efbb4c6cdc
Back off normalizing on set length in sync with adding a property
...
BUG=
Review URL: https://codereview.chromium.org/1211833002
Cr-Commit-Position: refs/heads/master@{#29298}
2015-06-25 15:04:59 +00:00
verwaest
3f336d4144
Only try to delete dictionary elements if the length is actually reduced
...
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/1209983002
Cr-Commit-Position: refs/heads/master@{#29297}
2015-06-25 14:46:04 +00:00
verwaest
4eed4970fd
Move Add to the elements accessor for everything but dictionary-arguments
...
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/1205913002
Cr-Commit-Position: refs/heads/master@{#29295}
2015-06-25 14:17:19 +00:00
verwaest
f461c7a67a
Move reconfiguration into the elements accessor
...
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/1207613005
Cr-Commit-Position: refs/heads/master@{#29289}
2015-06-25 11:26:06 +00:00
verwaest
dee4895d0a
Cleanup adding elements and in particular dictionary elements
...
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/1196163005
Cr-Commit-Position: refs/heads/master@{#29232}
2015-06-23 13:35:12 +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
55a6a49777
Remove duplicate isolate
...
BUG=
Review URL: https://codereview.chromium.org/1196533004
Cr-Commit-Position: refs/heads/master@{#29204}
2015-06-22 19:57:56 +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
7028e4b531
Inline SetLengthWithoutNormalize into its callers
...
BUG=
Review URL: https://codereview.chromium.org/1194943002
Cr-Commit-Position: refs/heads/master@{#29165}
2015-06-19 18:59:25 +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
be8528b3bd
Split setting array length from handling new Array(non-number)
...
BUG=
Review URL: https://codereview.chromium.org/1193673002
Cr-Commit-Position: refs/heads/master@{#29144}
2015-06-19 11:21:37 +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
erikcorry
4f5337a2b6
Cosmetic changes to tests to make it easier to concatenate them.
...
When compiling on a laptop I like to concatenate the small test files.
This makes a big difference to compile times. These changes make that
easier.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1163803002
Cr-Commit-Position: refs/heads/master@{#28742}
2015-06-01 22:47:08 +00:00
conradw
b14305c161
[strong] Implement per-object restrictions behaviour of delete operator
...
Implements the strong mode proposal's restrictions on the behaviour of the
delete operator for strong objects.
Setting the strong bit is still wip, so this change will only affect those
objects that have the bit correctly set. The tests reflect this, and will be
expanded as more objects can be marked as strong.
Attempt 2, last version did not work with API.
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/1156573002
Cr-Commit-Position: refs/heads/master@{#28724}
2015-06-01 11:39:16 +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
yangguo
0bbe787448
Migrate error messages, part 10.
...
R=mvstanton@chromium.org
Committed: https://crrev.com/8608e619afe2b4514b0577bfb73a153b1550d41f
Cr-Commit-Position: refs/heads/master@{#28357}
Review URL: https://codereview.chromium.org/1126043004
Cr-Commit-Position: refs/heads/master@{#28366}
2015-05-12 13:52:23 +00:00
yangguo
26cb29b891
Revert of Migrate error messages, part 10. (patchset #2 id:20001 of https://codereview.chromium.org/1126043004/ )
...
Reason for revert:
patch didn't apply correctly.
Original issue's description:
> Migrate error messages, part 10.
>
> R=mvstanton@chromium.org
>
> Committed: https://crrev.com/8608e619afe2b4514b0577bfb73a153b1550d41f
> Cr-Commit-Position: refs/heads/master@{#28357}
TBR=mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1130073005
Cr-Commit-Position: refs/heads/master@{#28358}
2015-05-12 08:33:28 +00:00
yangguo
8608e619af
Migrate error messages, part 10.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/1126043004
Cr-Commit-Position: refs/heads/master@{#28357}
2015-05-12 08:16:57 +00:00
yangguo
a5de69f4f8
Migrate error messages, part 8.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/1118273004
Cr-Commit-Position: refs/heads/master@{#28250}
2015-05-06 07:52:05 +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
Ross McIlroy
063fc25122
Replace OVERRIDE->override and FINAL->final since we now require C++11.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/1088993003
Cr-Commit-Position: refs/heads/master@{#27937}
2015-04-20 13:08:14 +00:00
ulan
aae2c01740
Use atomic operation to read the length of a fixed array.
...
This fixes a race where
- mutator changes the fixed array length by trimming it,
- sweeper thread reads the length of the fixed array.
Also rename FROM_GC and FROM_MUTATOR to be more precise.
BUG=chromium:462908
LOG=NO
Review URL: https://codereview.chromium.org/1034163002
Cr-Commit-Position: refs/heads/master@{#27869}
2015-04-16 08:39:12 +00:00
titzer
3ff0e6f023
Speed up FastElementsAccessor::ValidContents by removing redundant handle scope.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1002203003
Cr-Commit-Position: refs/heads/master@{#27178}
2015-03-13 10:47:42 +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
ishell
33994b4a22
Massive renaming of PropertyType values and other implied stuff.
...
PropertyKind:
DATA -> kData
ACCESSOR -> kAccessor
PropertyType:
FIELD -> DATA
CONSTANT -> DATA_CONSTANT
ACCESSOR_FIELD -> ACCESSOR
CALLBACKS -> ACCESSOR_CONSTANT
PropertyLocation:
IN_OBJECT -> kField
IN_DESCRIPTOR -> kDescriptor
StoreMode:
FORCE_IN_OBJECT -> FORCE_FIELD
FieldDescriptor -> DataDescriptor
ConstantDescriptor -> DataConstantDescriptor
CallbacksDescriptor -> AccessorConstantDescriptor
Review URL: https://codereview.chromium.org/856503002
Cr-Commit-Position: refs/heads/master@{#26146}
2015-01-19 17:49:22 +00:00
svenpanne
71bb00e261
Consistently use only one of virtual/OVERRIDE/FINAL.
...
FINAL implies OVERRIDE, which in turn implies virtual, so there's no need to use
more than one of these. The Google C++ style guide even requires this, see
http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Inheritance .
While we're here, port r24662 to x87.
The net result is that v8 compiles again with a current clang.
BUG=v8:3753
LOG=y
Review URL: https://codereview.chromium.org/797943002
Cr-Commit-Position: refs/heads/master@{#25792}
2014-12-12 10:44:25 +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
bmeurer@chromium.org
30f18f0f7d
Use Chrome compatible naming for compiler specifics.
...
Less useless creativity is best creativity!
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/526223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 07:07:52 +00:00
yangguo@chromium.org
7be66cf5d7
Do not expose termination exceptions to the Exception API.
...
R=verwaest@chromium.org
BUG=403509
LOG=N
Review URL: https://codereview.chromium.org/516913003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:11:44 +00:00
mstarzinger@chromium.org
88a842d628
Fix and re-enable test-api/InitializeAndDispose.
...
R=svenpanne@chromium.org
TEST=cctest/test-api/InitializeAndDispose
Review URL: https://codereview.chromium.org/504093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:07:18 +00:00
verwaest@chromium.org
ef0068558a
Rename IsDontDelete to IsConfigurable (and invert conditions)
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/494063002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 09:34:47 +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
mstarzinger@chromium.org
7c667b812d
Move left and right trimming of FixedArray into Heap.
...
R=hpayer@chromium.org
BUG=v8:3231
LOG=n
Review URL: https://codereview.chromium.org/200443004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:16:11 +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
danno@chromium.org
afcfa7d2b7
Keep new arrays allocated with 'new Array(N)' in fast mode (revisited)
...
Also explicit length setting with a.length = N should remain in fast mode.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/416403002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 13:12:26 +00:00
ishell@chromium.org
9444388f1b
Kraken recover after r20312.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/416393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-25 13:00:06 +00:00
danno@chromium.org
b5a5148260
Revert 22595: "Keep new arrays allocated with 'new Array(N)' in fast mode"
...
Due to failures in mjsunit/array-functions-prototype-misc
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/417953004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 13:38:05 +00:00
danno@chromium.org
ac89b17813
Keep new arrays allocated with 'new Array(N)' in fast mode
...
Also explicit length setting with a.length = N should remain in fast mode.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/397593008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:08:23 +00:00
jkummerow@chromium.org
9dd1f03cb7
Keep maps when resetting elements.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/335553004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 12:12:42 +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
ishell@chromium.org
ff2d004f85
Presubmit checks recover:
...
1) runtime/references checks temporarily disabled (56 items left)
2) other errors fixed
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/277913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:59:24 +00:00
yangguo@chromium.org
99d9712bb0
Return MaybeHandle from Object::ToSmi.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/260083011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 13:18:27 +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
jochen@chromium.org
629725d4fb
Merge v8converions with conversions
...
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/250793009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 09:14:24 +00:00
ishell@chromium.org
a5bde58531
Dictionary::SetEntry() and Dictionary::AddEntry() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/250913003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:21:16 +00:00
yangguo@chromium.org
2c394ad00d
Introduce exception object and remove some uses of MaybeObject::IsFailure().
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/240883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 07:33:20 +00:00
yangguo@chromium.org
9a71bc722d
Remove further unhandlified call sites of number allocations.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/239143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 06:18:37 +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
mvstanton@chromium.org
41b6c8a0f1
Handlefy Descriptor and other code in objects.cc
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/228333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 14:26:32 +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
hpayer@chromium.org
702ba5a0e9
Make sure when we shrink an object that we store a filler first into the free memory before updating the map or size.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/219103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 14:29:01 +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
1ad4e2cc35
Reland of "FastElementsAccessor::SetLengthWithoutNormalize() handlified."
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/210563003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:29:48 +00:00
ishell@chromium.org
f888aa19ae
Revert "FastElementsAccessor::SetLengthWithoutNormalize() handlified."
...
This reverts commit r20214 for breaking debug tests on various platforms.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/208313015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 19:12:43 +00:00
ishell@chromium.org
5e892f7f50
FastElementsAccessor::SetLengthWithoutNormalize() handlified.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/208313012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 18:15:44 +00:00
yangguo@chromium.org
8b8fb30e7f
Reland "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/209903003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 10:07:15 +00:00
yangguo@chromium.org
03866841aa
Revert "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
...
This reverts r20179.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/201573007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 09:17:18 +00:00
ishell@chromium.org
cd5cc705a1
Use V8_FINAL and V8_OVERRIDE in ElementsAccessor classses.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/208063002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 09:06:04 +00:00
yangguo@chromium.org
62f65d8697
Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException.
...
R=dcarney@chromium.org
BUG=v8:3060
LOG=Y
Review URL: https://codereview.chromium.org/208263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:47:45 +00:00
ishell@chromium.org
0b0b6f65a9
ArraySplice builtin handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/206073007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 11:22:16 +00:00
ishell@chromium.org
e9a315c978
JSArray::SetContent() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/206223003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 08:30:42 +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
819d9f62d0
Fix for 350887: CHECK failure on new_length->IsSmi()
...
In ElementsAccessorBase::SetLengthImpl for a dictionary array, we try to
optimize setting array length if the new length is a smi. However, we
refuse to set an array length to less than the index of the highest
non-configurable array element. This index may be outside of smi range.
Handle this case accordingly.
BUG=350887
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/194803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 10:30:10 +00:00
dslomov@chromium.org
1a67b7f86a
External Array renaming and boilerplate scrapping
...
Replaced symbolic names with correct JS name (byte -> int8, unsigned int -> uint32 etc).
Using macros to scrap the boilerplate
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/145133013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 16:01:15 +00:00
dslomov@chromium.org
5da41be7b8
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 17:08:45 +00:00
dslomov@chromium.org
34eeeb8953
Revert "Implement in-heap backing store for typed arrays."
...
This reverts commit r18649 for breaking Linux/nosnap and Win64 tests.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/140793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 16:00:36 +00:00
dslomov@chromium.org
97040ce67b
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=18646
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 15:01:27 +00:00
dslomov@chromium.org
95f572389e
Revert "Implement in-heap backing store for typed arrays."
...
This reverts commit r18646 for breaking Win32 build.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/132233012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 14:26:15 +00:00
dslomov@chromium.org
0c960c2e96
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 14:18:37 +00:00
danno@chromium.org
7339d45a9f
Define DEBUG for v8_optimized_debug=2
...
Thereby ensuring there is only a minimal performance regression vs. NDEBUG (now it's only about 10% slower rather than ~2x).
R=jkummerow@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/39183004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:10:28 +00:00
dcarney@chromium.org
47e86b889e
Get rid of most uses of 'Temporary macro' HEAP
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23708030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 14:30:36 +00:00
dcarney@chromium.org
0157c9f9e1
remove Isolate::Current from most files starting with 'd' and 'e'
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23606012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 06:59:01 +00:00
mstarzinger@chromium.org
34417e1d0f
Cleanup FooSpace::VerifyObject and ElementsAccessor::Validate.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/23273004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-21 13:39:20 +00:00
yangguo@chromium.org
7f8a3d803c
Make assertion scopes thread safe.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/15691017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 15:32:22 +00:00
jkummerow@chromium.org
586c4e74b6
Replace OS::MemCopy with OS::MemMove (just as fast but more flexible).
...
Review URL: https://codereview.chromium.org/13932006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 12:30:51 +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
svenpanne@chromium.org
fb6776e84a
Made Isolate a mandatory parameter for everything Handle-related.
...
Unified parameter order of CreateHandle with the rest of v8 on the way. A few
Isolate::Current()s had to be introduced, which is not nice, and not every place
will win a beauty contest, but we can clean this up later easily in smaller steps.
Review URL: https://codereview.chromium.org/12300018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 14:46:09 +00:00
svenpanne@chromium.org
71a26c928a
Make the Isolate parameter mandatory for internal HandleScopes.
...
Improved Frames and their iterators on the way, too.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12254007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 09:27:10 +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
cfd4a240ef
Pass FixedArrayBase in elements.cc.
...
This avoids casting problems in case of empty_fixed_array as
FixedDoubleArray with size 0. This avoids prematurely shortcutting in
case of 0 all over the place, which in turn leads to errors.
Review URL: https://chromiumcodereview.appspot.com/11299226
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 15:58:16 +00:00
verwaest@chromium.org
7553f0d68e
CopyPackedSmiToDoubleElements should fill the FixedDoubleArray with holes
...
BUG=v8:2433
Review URL: https://chromiumcodereview.appspot.com/11280223
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 08:34:19 +00:00
verwaest@chromium.org
09b1574baa
Make ElementsAccessors more tolerant of varying backing store types
...
This avoids bogus calls to Fixed*Array::cast() when FastElements-backed objects are empty (and thus backed by empty_fixed_array).
Review URL: https://chromiumcodereview.appspot.com/11299190
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-28 08:41:45 +00:00
verwaest@chromium.org
1b0e373f09
Avoid double initialization of arrays.
...
Review URL: https://chromiumcodereview.appspot.com/11413179
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-27 12:01:14 +00:00
verwaest@chromium.org
ebeaad6cb5
Ensure double arrays are filled with holes when extended from variations of empty arrays.
...
BUG=162085
Review URL: https://chromiumcodereview.appspot.com/11414155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-26 14:29:21 +00:00
verwaest@chromium.org
08cfda49f2
Ensure CopyElementsImpl is always executed so it fills in holes even if from_size is 0. Allow FixedDoubleArray::cast to also support FixedArray with size 0.
...
Review URL: https://chromiumcodereview.appspot.com/11280054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-19 15:00:34 +00:00
mvstanton@chromium.org
1d966af2e9
Fix assert failure in array slice
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11412005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-15 15:41:12 +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
92e783bc28
Minor cleanup and optimisation of element methods.
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11365175
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-12 11:08:34 +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
verwaest@chromium.org
14abf05bd5
Ensure reducing the length of an array doesn't make it go holey.
...
Also only transition and/or change anything to the backing store if we are
actually going to delete anything.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11358011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-02 10:24:56 +00:00
mstarzinger@chromium.org
b55988625d
Get rid of obsolete unchecked accessors.
...
R=yangguo@chromium.org
BUG=v8:1490
Review URL: https://codereview.chromium.org/11271020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 11:52:37 +00:00
mstarzinger@chromium.org
02490829dd
Fix bug in deletion of indexed properties
...
The delete operator always return true in case of indexed property. It
should return false if an indexed property can't be deleted (eg.
DontDelete attribute is set or a string object is the holder).
Contributed by Peter Varga <pvarga@inf.u-szeged.hu>
BUG=none
TEST=mjsunit/delete-non-configurable
Review URL: https://codereview.chromium.org/11094021
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-15 15:23:22 +00:00
mstarzinger@chromium.org
c012afb6d4
Fix setting array length to zero for slow elements.
...
R=verwaest@chromium.org
BUG=chromium:146910
TEST=mjsunit/regress/regress-crbug-146910
Review URL: https://codereview.chromium.org/10937026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-19 11:52:33 +00:00
yangguo@chromium.org
0acc9e13af
Make sure double to int conversion is correct.
...
R=svenpanne@chromium.org
BUG=v8:2260
TEST=test-utils/Utils1
Review URL: https://chromiumcodereview.appspot.com/10820047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-30 08:34:26 +00:00
danno@chromium.org
92716a157f
Optimization of some packed array cases.
...
R=jkummerow@chromium.org
TEST=slight improvement in 3d-morph
Review URL: https://chromiumcodereview.appspot.com/10538104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:30:16 +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
51b569bd21
Declare more functions returing a MaybeObject* with MUST_USE_RESULT.
...
No violations found this time.
Additionally I changed one function JSDate::GetField that never returns
a failure to return a Object* instead.
Review URL: https://chromiumcodereview.appspot.com/10383088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 14:34:27 +00:00
danno@chromium.org
d9437722da
Properly support shrinking arrays in CopyDictionaryToObjectElements.
...
R=mstarzinger@chromium.org
BUG=chromium:121407
TEST=test/mjsunit/regress/regress-121407.js
Review URL: https://chromiumcodereview.appspot.com/9968056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-03 08:13:59 +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
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