yangguo@chromium.org
38b82f40d0
Remove some remnants of MaybeObjects in objects.*.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/256993003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 15:33:16 +00:00
yangguo@chromium.org
ee0cd292d7
Tighten OpenHandle's extra checks.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/240113010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 13:42:03 +00:00
bmeurer@chromium.org
15e0189c97
Fix and improve Map::CurrentMapForDeprecatedInternal().
...
Inline relevant bits from Map::FindUpdatedMap() and Map::IsMoreGeneralThan()
into Map::CurrentMapForDeprecatedInternal() to fix issues introduced
with field type tracking, avoid the useless second pass over the transition
tree, and finally make it easier to understand what this method actually
does.
TEST=mjsunit/regress/regress-365172-2
R=svenpanne@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=20997
Review URL: https://codereview.chromium.org/257893004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 11:09:07 +00:00
bmeurer@chromium.org
5396d4e994
Revert "Fix and cleanup Map::GeneralizeRepresentation()."
...
This reverts commit r21006 for performance regressions.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/259003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 11:02:12 +00:00
bmeurer@chromium.org
0377bccdcf
Fix and cleanup Map::GeneralizeRepresentation().
...
TEST=mjsunit/regress/regress-365172-[1-3],mjsunit/field-type-tracking
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/259993004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 10:19:25 +00:00
bmeurer@chromium.org
88ca76bce1
Fix CurrentMapForDeprecated() to return MaybeHandle instead of a null handle.
...
Also fix TryMigrateInstance() to return bool instead of the parameter or
a null handle.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/251683003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 05:47:43 +00:00
ishell@chromium.org
ce14ab9743
HashTableKey::AsObject() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/250773004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:59:33 +00:00
ishell@chromium.org
dc1fe284b7
*Shape::AsObject() are no longer used - removed.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/256773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:50:19 +00:00
ishell@chromium.org
3ce912038e
ObjectHashTable's key and WeakHashTable's key types are now Handle<Object> instead of Object*.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/257853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:35:03 +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
ishell@chromium.org
fd02e1220c
HashTable::New() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/257633002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:06:21 +00:00
ishell@chromium.org
88734238ec
Reland r20960: "HashTable::EnsureCapacity() handlified."
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/256743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 12:59:07 +00:00
yangguo@chromium.org
cb2f43cb14
Always include debugger support.
...
Motivation: we do not have test coverage for debuggersupport=off.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/256653004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:00:37 +00:00
ishell@chromium.org
9bda4a2987
Revert "HashTable::EnsureCapacity() handlified."
...
This reverts commit r20960 for breaking Windows build.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/250893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:31:21 +00:00
ishell@chromium.org
b1a7ae6b7e
HashTable::EnsureCapacity() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/250643002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:18:24 +00:00
ishell@chromium.org
96e5434b54
WeakHashTable::Put() and callers handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/253393006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:10:44 +00:00
ishell@chromium.org
6d47753059
Dictionary::DeleteProperty() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/250023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:03:52 +00:00
ishell@chromium.org
c8d36c711c
Dictionary::New() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/246743003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 07:56:13 +00:00
ishell@chromium.org
f86232836e
Dictionary::GenerateNewEnumerationIndices() and Dictionary::EnsureCapacity() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/250013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 15:33:40 +00:00
ishell@chromium.org
2e0c29654c
Dictionary::Add() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/249723004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 15:16:26 +00:00
ishell@chromium.org
cb46971aa3
NameDictionary's key type is now Handle<Name> instead of Name*.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/252383006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 14:59:09 +00:00
bmeurer@chromium.org
d699684beb
Revert "Some code cleanup, esp. includes and copyright headers."
...
This reverts commit r20938 for breaking the windows build.
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/254463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 11:44:22 +00:00
bmeurer@chromium.org
18b07afb8f
Some code cleanup, esp. includes and copyright headers.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/257453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 11:32:48 +00:00
ishell@chromium.org
34e59aa239
Dictionary::AtPut() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/249883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 10:47:13 +00:00
ishell@chromium.org
c0ff5354d2
Reland r20932: "*NumberDictionary::AtNumberPut() handlified."
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/254593002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 10:39:50 +00:00
ishell@chromium.org
7e8f53181f
Revert "*NumberDictionary::AtNumberPut() handlified."
...
This reverts commit r20932 for breaking Mac build.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/251383003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 10:17:10 +00:00
ishell@chromium.org
b95ffe9067
*NumberDictionary::AtNumberPut() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/250003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 09:59:44 +00:00
ishell@chromium.org
7e3fafc605
*NumberDictionary::AddNumberEntry() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/249993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 09:49:06 +00:00
ishell@chromium.org
7c1a0e81ef
*NumberDictionary::Set() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/249973002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 08:55:31 +00:00
ishell@chromium.org
4591771820
StringTable::LookupKey() and all callers handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/249103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 15:43:39 +00:00
yangguo@chromium.org
6d250412f1
Clean up some uses of Failures and MaybeObjects.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/245963007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 15:08:03 +00:00
wingo@igalia.com
e12ae547cf
Avoid exposing compiler-allocated temporaries to the debugger
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/245963006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 08:58:41 +00:00
bmeurer@chromium.org
7e48108f3b
Sort functions in polymorphic calls based on overall profiling ticks and inlined AST size.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/248953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 07:07:54 +00:00
mvstanton@chromium.org
5ef2c18639
JSObject::DeepCopy and other functions returned an empty handle to
...
indicate an exception. All usages but one changed to return
MaybeHandles, and to use macros around the call.
The remaining work is in Compiler::GetUnoptimizedCode(), and when
that is turned into a MaybeHandle, then the macros dealing with
null handle returns can be eliminated.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/247013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 09:32:42 +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
adamk@chromium.org
3308cb5857
ES6: Add support for Map/Set forEach
...
This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.
Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.
The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.
When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.
When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.
At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.
BUG=1793, 2323
LOG=Y
R=adamk@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/238063009
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 17:45:32 +00:00
dslomov@chromium.org
439f68dd45
Handlify PolymorphicCodeCache.
...
R=yangguo@chromium.org , yannguo@chromium.org
Review URL: https://codereview.chromium.org/240093003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:59:57 +00:00
yangguo@chromium.org
0c614e2b48
Some MaybeHandles related cleanups.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/240443005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 08:33:18 +00:00
bmeurer@chromium.org
779e87b87a
Track up to 5 stable maps as field type.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/240813002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 08:22:22 +00:00
adamk@chromium.org
91618cf1e9
Revert "ES6: Add support for Map/Set forEach"
...
This reverts https://code.google.com/p/v8/source/detail?r=20823
It broke Windows builds. Will need to find a Windows try bot to figure
out why.
TBR=mstarzinger@chromium.org ,arv@chromium.org
Review URL: https://codereview.chromium.org/238973011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 21:19:25 +00:00
adamk@chromium.org
7c300d1f83
ES6: Add support for Map/Set forEach
...
This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.
Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.
The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.
When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.
When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.
At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.
BUG=1793,2323
LOG=Y
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/240323003
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 21:12:27 +00:00
dslomov@chromium.org
2828508358
Handlify HashTable and Dictionary growing.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/240023004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 18:17:20 +00:00
ishell@chromium.org
dd2062833e
Reland r20772 "Handlifying clients of StringTable, step 1."
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/238263003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 14:15:32 +00:00
yangguo@chromium.org
7af5597287
Reland "Move functions from handles.cc to where they belong."
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/239113009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 13:28:11 +00:00
yangguo@chromium.org
0cba01c420
Revert "Move functions from handles.cc to where they belong."
...
This reverts r20802 .
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/239543010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 12:35:50 +00:00
yangguo@chromium.org
3b66957602
Move functions from handles.cc to where they belong.
...
R=mvstanton@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/237673014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 12:16:06 +00:00
dslomov@chromium.org
35a30a5a5f
Handlify CodeCache.
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/239203003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 12:10:56 +00:00
verwaest@chromium.org
9da828a5a5
Move CopyReplaceDescriptors to private
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/239203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 11:25:29 +00:00
verwaest@chromium.org
10714e29fa
Introduce an abstraction to write to a field.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/236063016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 11:11:21 +00:00
verwaest@chromium.org
cf26c1421a
Move property addition code from JSObject to Map
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/238543005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 10:45:57 +00:00