bmeurer@chromium.org
7ab274d4f5
Make sure to clear any previously collected field maps.
...
TEST=http://www.chaostoperfection.com/
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/246963003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 08:34:44 +00:00
verwaest@chromium.org
c9db6148a9
Set code on the SharedFunctionInfo before creating the function.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/238773009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 08:30:09 +00:00
bmeurer@chromium.org
af05141176
Improve code generation for bounds checks.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/246423005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 08:28:14 +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
bmeurer@chromium.org
eccda7f000
Fix field type handling in load elimination.
...
Drive-by-fix: map_set() must return a pointer to the UniqueSet
instead of a copy.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/244383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 07:24:05 +00:00
yangguo@chromium.org
c44dc2fc3d
Fix interpreted-regexp test.
...
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/246953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 06:54:16 +00:00
alph@chromium.org
b97a2a2585
Switch CPU profile start/stop markers to monotonic time.
...
LOG=N
BUG=363976
R=bmeurer@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/243033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-19 14:33:18 +00:00
haitao.feng@intel.com
3416e7bc49
Return int64_t instead of intptr_t for RootRegisterDelta and support x32 as well.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/236753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 23:25:02 +00:00
haitao.feng@intel.com
6e40573330
Update CheckBothSmi, CheckInteger32ValidSmiValue, CheckUInteger32ValidSmiValue, SmiAddConstant, SmiNot, AddSmiField and Test to support x32 port.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/236723004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 23:17:08 +00:00
palfia@homejinni.com
c8c951204c
MIPS: Serializer enable/disable flags need thread safety.
...
Port r20855 (ac70e129)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/239173004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 20:06:50 +00:00
adamk@chromium.org
1572115483
Fix breakage on V8 Linux - nosse2
...
This was introduced by https://code.google.com/p/v8/source/detail?r=20857
R=adamk@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/241433002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 19:39:48 +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
mstarzinger@chromium.org
1213ecb50b
Make Heap::AllocateRaw*String private.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/241023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 14:58:03 +00:00
mvstanton@chromium.org
9ce1c5144a
Serializer enable/disable flags need thread safety.
...
BUG=
R=hpayer@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/240193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 14:45:06 +00:00
jarin@chromium.org
1e0045083f
This should make the NaCl build jobs green again.
...
BUG=
R=hpayer@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/239333015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 14:22:20 +00:00
hpayer@chromium.org
540a4c3895
Initialize elements pointer in BuildCloneShallowArray when allocation folding is turned off for arrays with lenght larger than zero.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/240933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 14:20:26 +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
jarin@chromium.org
3277f2b90b
Bump up the boot-up memory limit.
...
... to compansate for the extre memory consumed by r20840
("Select function map based on prototype and shared function info.")
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/239513015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:58:51 +00:00
dslomov@chromium.org
fe64313fa6
Change IS_UNDEFINED to perform value comparison instead on typeof check.
...
This makes our builtins immune to bug v8:3264.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/241003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:55:03 +00:00
mstarzinger@chromium.org
1def20d5ef
Make Heap::AllocateRaw private.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/238443016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:53:06 +00:00
ishell@chromium.org
9ef20a1e99
Fix for a Mac build issue after r20846.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/241013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:45:13 +00:00
plind44@gmail.com
fd0df23b10
MIPS: Track up to 5 stable maps as field type.
...
Port r20831 (f91f993)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/240503008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:37:28 +00:00
ishell@chromium.org
313844d842
Heap::AllocateStringFromOneByte() and major part of its callers handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/239243018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:27:02 +00:00
yangguo@chromium.org
c918ccd392
Allocate filler objects in the factory.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/240393003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:15:22 +00:00
yangguo@chromium.org
14010d37c6
Cleanups in runtime.cc
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/240493007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:05:28 +00:00
hpayer@chromium.org
04a0223ab7
Initialize elements pointer in BuildCloneShallowArray when allocation folding is turned off.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/219173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:58:48 +00:00
verwaest@chromium.org
49b19ecd20
Always pass in code to NewFunctionWithoutPrototype
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/239053007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:57:32 +00:00
mstarzinger@chromium.org
1c314382c0
Extend GCMole to also cover cctest files.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/240933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:57:08 +00:00
verwaest@chromium.org
107a359080
Select function map based on prototype and shared function info.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/237963024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:50:22 +00:00
danno@chromium.org
59b3dc5812
Remove hand-written assembly ArrayPush stubs
...
R=mstarzinger@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/233293005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:37:59 +00:00
ulan@chromium.org
85cf6ce9fa
X64: fix arguments adaptor stack check after r20751.
...
BUG=
R=haitao.feng@intel.com
Review URL: https://codereview.chromium.org/239703012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:30:25 +00:00
hpayer@chromium.org
39b5090f8e
Grow old generation slower on low-memory devices.
...
BUG=
R=mstarzinger@chromium.org , rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/236063015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:27:45 +00:00
jkummerow@chromium.org
09c615940c
Harden runtime functions
...
Part 1 of many.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/239313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 09:55:53 +00:00
rossberg@chromium.org
6d475fb350
Fix handlification bug in test
...
R=bmeurer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/240603004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 09:30:41 +00:00
marja@chromium.org
a6db82d81e
Tiny Parser fix: init identifiers.
...
This bug went unnoticed because PreParserIdentifier and Handle<String> have
default ctors which create a null identifier, but this it not true for all
possible identifier types (especially pointers).
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/238253012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 09:23:04 +00:00
ulan@chromium.org
494d014798
Handlify function.prototype accessor.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/240323004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 09:12:19 +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
yangguo@chromium.org
556aea63fd
Remove uses of MaybeObject in runtime.cc.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/240253003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 05:41:58 +00:00
palfia@homejinni.com
ec73d3db09
Adjust memory limits.
...
- Introduce new constant: kBootCodeSizeMultiplier to handle the code size differences across the platforms.
- Increase memory limits due to larger code size on MIPS.
BUG=
R=danno@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/234153002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 21:57:48 +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
plind44@gmail.com
4635a12525
MIPS: Implement structural function and array types
...
Port r20817 (e7a84c1)
Original commit message:
Just wanted to add two constructors to a datatype, how ugly can it get?
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/240463004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 19:02:58 +00:00
ishell@chromium.org
fe3e57068e
Callers of Heap::AllocateStringFromOneByte() and Heap::AllocateStringFromUtf8() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/239083005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 18:28:03 +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
rossberg@chromium.org
28912cae37
Implement structural function and array types
...
Just wanted to add two constructors to a datatype, how ugly can it get?
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=20809
Committed: https://code.google.com/p/v8/source/detail?r=20815
Committed: https://code.google.com/p/v8/source/detail?r=20818
Review URL: https://codereview.chromium.org/228263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 16:36:27 +00:00
rossberg@chromium.org
02687c790f
Implement structural function and array types
...
Just wanted to add two constructors to a datatype, how ugly can it get?
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=20809
Committed: https://code.google.com/p/v8/source/detail?r=20815
Review URL: https://codereview.chromium.org/228263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 16:25:49 +00:00
rossberg@chromium.org
926ec656de
Implement structural function and array types
...
Just wanted to add two constructors to a datatype, how ugly can it get?
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=20809
Committed: https://code.google.com/p/v8/source/detail?r=20815
Review URL: https://codereview.chromium.org/228263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 16:16:37 +00:00
rossberg@chromium.org
e3e81d85bb
Revert "Implement structural function and array types"
...
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/237963016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 15:59:39 +00:00
rossberg@chromium.org
6782d9cea3
Implement structural function and array types
...
Just wanted to add two constructors to a datatype, how ugly can it get?
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=20809
Review URL: https://codereview.chromium.org/228263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 15:42:22 +00:00