wingo@igalia.com [Tue, 22 Apr 2014 11:34:16 +0000 (11:34 +0000)]
Context-allocate all parameters in generators
Generator function scopes have forced context allocation. Ensure that
all variables in such scopes get context allocation -- even unused
variables.
This fixes an assertion when reifying generator scopes in the debugger.
R=yangguo@chromium.org
LOG=Y
BUG=v8:3280
Review URL: https://codereview.chromium.org/
246733003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20883
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 22 Apr 2014 11:19:27 +0000 (11:19 +0000)]
Do not avoid flattening cons string when creating a string slice.
R=ulan@chromium.org
BUG=364656
LOG=N
Review URL: https://codereview.chromium.org/
247093002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20882
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 22 Apr 2014 11:00:27 +0000 (11:00 +0000)]
HBranch should also print its expected input types.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
247153003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20881
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 22 Apr 2014 10:49:28 +0000 (10:49 +0000)]
Optimize numeric comparison with known successors.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
246133005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20880
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 22 Apr 2014 10:45:43 +0000 (10:45 +0000)]
Revert "Simplify v8/Isolate teardown."
This reverts commit r20876, it broke non-snapshot tests.
TBR=bmeurer@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20879
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 22 Apr 2014 09:40:18 +0000 (09:40 +0000)]
Bumped the boot-up memory-limit, part 2.
Basically a follow-up to r20851
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
247193003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20878
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 22 Apr 2014 09:32:42 +0000 (09:32 +0000)]
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
svenpanne@chromium.org [Tue, 22 Apr 2014 09:24:56 +0000 (09:24 +0000)]
Simplify v8/Isolate teardown.
This implies that one better has a v8::V8::Initialize when v8::V8::Dispose is used.
BUG=359977
LOG=y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
238353015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20876
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 22 Apr 2014 08:49:46 +0000 (08:49 +0000)]
Cons string maps must be marked as unstable.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
247063002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20875
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 22 Apr 2014 08:34:44 +0000 (08:34 +0000)]
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
verwaest@chromium.org [Tue, 22 Apr 2014 08:30:09 +0000 (08:30 +0000)]
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
bmeurer@chromium.org [Tue, 22 Apr 2014 08:28:14 +0000 (08:28 +0000)]
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
yangguo@chromium.org [Tue, 22 Apr 2014 07:33:20 +0000 (07:33 +0000)]
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
bmeurer@chromium.org [Tue, 22 Apr 2014 07:24:05 +0000 (07:24 +0000)]
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
yangguo@chromium.org [Tue, 22 Apr 2014 06:54:16 +0000 (06:54 +0000)]
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
alph@chromium.org [Sat, 19 Apr 2014 14:33:18 +0000 (14:33 +0000)]
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
haitao.feng@intel.com [Thu, 17 Apr 2014 23:25:02 +0000 (23:25 +0000)]
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
haitao.feng@intel.com [Thu, 17 Apr 2014 23:17:08 +0000 (23:17 +0000)]
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
palfia@homejinni.com [Thu, 17 Apr 2014 20:06:50 +0000 (20:06 +0000)]
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
adamk@chromium.org [Thu, 17 Apr 2014 19:39:48 +0000 (19:39 +0000)]
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
adamk@chromium.org [Thu, 17 Apr 2014 17:45:32 +0000 (17:45 +0000)]
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
mstarzinger@chromium.org [Thu, 17 Apr 2014 14:58:03 +0000 (14:58 +0000)]
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
mvstanton@chromium.org [Thu, 17 Apr 2014 14:45:06 +0000 (14:45 +0000)]
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
jarin@chromium.org [Thu, 17 Apr 2014 14:22:20 +0000 (14:22 +0000)]
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
hpayer@chromium.org [Thu, 17 Apr 2014 14:20:26 +0000 (14:20 +0000)]
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
dslomov@chromium.org [Thu, 17 Apr 2014 13:59:57 +0000 (13:59 +0000)]
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
jarin@chromium.org [Thu, 17 Apr 2014 13:58:51 +0000 (13:58 +0000)]
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
dslomov@chromium.org [Thu, 17 Apr 2014 13:55:03 +0000 (13:55 +0000)]
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
mstarzinger@chromium.org [Thu, 17 Apr 2014 13:53:06 +0000 (13:53 +0000)]
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
ishell@chromium.org [Thu, 17 Apr 2014 13:45:13 +0000 (13:45 +0000)]
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
plind44@gmail.com [Thu, 17 Apr 2014 13:37:28 +0000 (13:37 +0000)]
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
ishell@chromium.org [Thu, 17 Apr 2014 13:27:02 +0000 (13:27 +0000)]
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
yangguo@chromium.org [Thu, 17 Apr 2014 13:15:22 +0000 (13:15 +0000)]
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
yangguo@chromium.org [Thu, 17 Apr 2014 13:05:28 +0000 (13:05 +0000)]
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
hpayer@chromium.org [Thu, 17 Apr 2014 11:58:48 +0000 (11:58 +0000)]
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
verwaest@chromium.org [Thu, 17 Apr 2014 11:57:32 +0000 (11:57 +0000)]
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
mstarzinger@chromium.org [Thu, 17 Apr 2014 11:57:08 +0000 (11:57 +0000)]
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
verwaest@chromium.org [Thu, 17 Apr 2014 11:50:22 +0000 (11:50 +0000)]
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
danno@chromium.org [Thu, 17 Apr 2014 11:37:59 +0000 (11:37 +0000)]
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
ulan@chromium.org [Thu, 17 Apr 2014 11:30:25 +0000 (11:30 +0000)]
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
hpayer@chromium.org [Thu, 17 Apr 2014 11:27:45 +0000 (11:27 +0000)]
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
jkummerow@chromium.org [Thu, 17 Apr 2014 09:55:53 +0000 (09:55 +0000)]
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
rossberg@chromium.org [Thu, 17 Apr 2014 09:30:41 +0000 (09:30 +0000)]
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
marja@chromium.org [Thu, 17 Apr 2014 09:23:04 +0000 (09:23 +0000)]
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
ulan@chromium.org [Thu, 17 Apr 2014 09:12:19 +0000 (09:12 +0000)]
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
yangguo@chromium.org [Thu, 17 Apr 2014 08:33:18 +0000 (08:33 +0000)]
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
bmeurer@chromium.org [Thu, 17 Apr 2014 08:22:22 +0000 (08:22 +0000)]
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
yangguo@chromium.org [Thu, 17 Apr 2014 05:41:58 +0000 (05:41 +0000)]
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
palfia@homejinni.com [Wed, 16 Apr 2014 21:57:48 +0000 (21:57 +0000)]
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
adamk@chromium.org [Wed, 16 Apr 2014 21:19:25 +0000 (21:19 +0000)]
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
adamk@chromium.org [Wed, 16 Apr 2014 21:12:27 +0000 (21:12 +0000)]
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
plind44@gmail.com [Wed, 16 Apr 2014 19:02:58 +0000 (19:02 +0000)]
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
ishell@chromium.org [Wed, 16 Apr 2014 18:28:03 +0000 (18:28 +0000)]
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
dslomov@chromium.org [Wed, 16 Apr 2014 18:17:20 +0000 (18:17 +0000)]
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
rossberg@chromium.org [Wed, 16 Apr 2014 16:36:27 +0000 (16:36 +0000)]
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
rossberg@chromium.org [Wed, 16 Apr 2014 16:25:49 +0000 (16:25 +0000)]
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
rossberg@chromium.org [Wed, 16 Apr 2014 16:16:37 +0000 (16:16 +0000)]
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
rossberg@chromium.org [Wed, 16 Apr 2014 15:59:39 +0000 (15:59 +0000)]
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
rossberg@chromium.org [Wed, 16 Apr 2014 15:42:22 +0000 (15:42 +0000)]
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
ulan@chromium.org [Wed, 16 Apr 2014 14:30:58 +0000 (14:30 +0000)]
Handlify and convert the remaining Script accesssors.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
236313015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20814
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 16 Apr 2014 14:15:32 +0000 (14:15 +0000)]
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
yangguo@chromium.org [Wed, 16 Apr 2014 14:11:30 +0000 (14:11 +0000)]
Handlify callers of AllocateUninitializedFixedArray.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
235943015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20812
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 16 Apr 2014 14:04:54 +0000 (14:04 +0000)]
Handlify number-related allocators.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
240293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20811
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 16 Apr 2014 13:57:25 +0000 (13:57 +0000)]
Revert "Implement structural function and array types"
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
240143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20810
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 16 Apr 2014 13:44:26 +0000 (13:44 +0000)]
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=
Review URL: https://codereview.chromium.org/
228263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20809
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 16 Apr 2014 13:35:36 +0000 (13:35 +0000)]
Handlify six more allocators in from the Heap class.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
240263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20808
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 16 Apr 2014 13:28:11 +0000 (13:28 +0000)]
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
m.m.capewell@googlemail.com [Wed, 16 Apr 2014 13:25:15 +0000 (13:25 +0000)]
ARM64: Fix native builds
Rearrange sed lines to enable native builds for ARM64.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
238543009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20806
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 16 Apr 2014 12:54:29 +0000 (12:54 +0000)]
Handlify Heap::AllocateAllocationSite.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
239993003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20805
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 16 Apr 2014 12:35:50 +0000 (12:35 +0000)]
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
dslomov@chromium.org [Wed, 16 Apr 2014 12:24:01 +0000 (12:24 +0000)]
Limit the lifetime of handles in Map::UpdateCodeCache.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
236313014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20803
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 16 Apr 2014 12:16:06 +0000 (12:16 +0000)]
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
dslomov@chromium.org [Wed, 16 Apr 2014 12:10:56 +0000 (12:10 +0000)]
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
svenpanne@chromium.org [Wed, 16 Apr 2014 12:01:38 +0000 (12:01 +0000)]
Removed Isolate::EnterDefaultIsolate.
BUG=359977
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
240213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20800
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 16 Apr 2014 11:57:23 +0000 (11:57 +0000)]
Handlify and convert Script accesssors to new API-style accessors.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
239223003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20799
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 16 Apr 2014 11:56:51 +0000 (11:56 +0000)]
Improve execution time of cctest/test-types.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
239513009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20798
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 16 Apr 2014 11:50:24 +0000 (11:50 +0000)]
Fix unused variable warnings.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
238543008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20797
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 16 Apr 2014 11:41:09 +0000 (11:41 +0000)]
Allow merging of monomorphic accesses to tracked fields.
Also add stability dependency only on maps that can transition,
and delay adding the dependencies until we are actually using
them, either in a HLoadNamedField or an HCheckMaps.
TEST=mjsunit/field-type-tracking
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
239923004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20796
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 16 Apr 2014 11:38:56 +0000 (11:38 +0000)]
Handlify code allocation.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
235153003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20795
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 16 Apr 2014 11:31:39 +0000 (11:31 +0000)]
LazyInstance should be thread safe by default.
The only ways we use this class require it, as multiple isolates can race
to initialize data structures. This showed up as intermittant failures on
nosnap build bots.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
238973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20794
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 16 Apr 2014 11:25:29 +0000 (11:25 +0000)]
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
verwaest@chromium.org [Wed, 16 Apr 2014 11:11:21 +0000 (11:11 +0000)]
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
verwaest@chromium.org [Wed, 16 Apr 2014 10:45:57 +0000 (10:45 +0000)]
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
bmeurer@chromium.org [Wed, 16 Apr 2014 09:48:32 +0000 (09:48 +0000)]
Clear invalid field maps in PropertyAccessInfo.
BUG=363956
TEST=mjsunit/regress/regress-363956
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
239623005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20788
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 16 Apr 2014 08:42:08 +0000 (08:42 +0000)]
Protect against API abuse.
This makes Chrome's --single-process work again, but the real solution
is to pass an Isolate explicitly and fixing things on the Chrome side
=> follow-up CLs.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
239513006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20787
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 16 Apr 2014 07:26:34 +0000 (07:26 +0000)]
Remove some uses of MaybeObject methods.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
236303015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20786
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 16 Apr 2014 06:18:37 +0000 (06:18 +0000)]
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
haitao.feng@intel.com [Wed, 16 Apr 2014 02:06:14 +0000 (02:06 +0000)]
Introduce DontEmitDebugCodeScope to fix the x64 nosnapshot build.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
232673003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20784
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 16 Apr 2014 01:08:23 +0000 (01:08 +0000)]
MIPS: Reland r20692 "Check stack limit in ArgumentAdaptorTrampoline."
Port r20751 (
18578019)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
239803004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20783
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 16 Apr 2014 01:03:56 +0000 (01:03 +0000)]
Revert "ES6: Add support for Map/Set forEach"
This reverts commit https://code.google.com/p/v8/source/detail?r=20781.
It broke the Win32 builders.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
239163012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20782
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 16 Apr 2014 00:40:03 +0000 (00:40 +0000)]
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, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
236143002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20781
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 15 Apr 2014 16:39:21 +0000 (16:39 +0000)]
MIPS: Add big-endian support for MIPS.
Important notices:
- The snapshot cannot be created for big-endian target in cross-compilation
environment on little-endian host using simulator.
- In order to have i18n support working on big-endian target, the icudt46b.dat and
icudt46b_dat.S files should be generated and upstreamed to ICU repo.
- The mjsunit 'nans' test is endian dependent, it is skipped for mips target.
- The zlib and Mandreel from Octane 2.0 benchmark are endian dependent due to
use of typed arrays.
TEST=
BUG=
R=jkummerow@chromium.org, plind44@gmail.com
Review URL: https://codereview.chromium.org/
228943009
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20778
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 15 Apr 2014 15:37:42 +0000 (15:37 +0000)]
Remove assertion scopes from V8_Fatal
V8_Fatal no longer tries to print a js stack, so we don't need those
scopes
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
239293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20777
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 15 Apr 2014 15:29:23 +0000 (15:29 +0000)]
JumpPatchSites can/should easily deal with uint8 sized offsets.
Motivation is that x64 nosnapshot builds need a 129 byte delta at the moment.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
237673007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20776
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 15 Apr 2014 15:17:04 +0000 (15:17 +0000)]
Revert "Handlifying clients of StringTable, step 1."
This reverts commit r20772.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
239273002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20775
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 15 Apr 2014 15:11:36 +0000 (15:11 +0000)]
MIPS: Reland "Track field types.".
Port r20746 (
09f9176)
Original commit message:
This is an initial step towards tracking the exact types instead of just
the representations of fields. It adds support to track up to one map of
heap object field values, eliminating various map checks on values
loaded from such fields, at the cost of making stores to such fields
slightly more expensive.
Issues with transitioning stores and fast object literals in Crankshaft
fixed.
TEST=mjsunit/field-type-tracking
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
238943002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20774
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Tue, 15 Apr 2014 14:48:21 +0000 (14:48 +0000)]
Refactoring: HashMap: provide a pointer match function, so users don't need to.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
239133002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20773
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 15 Apr 2014 14:20:59 +0000 (14:20 +0000)]
Handlifying clients of StringTable, step 1.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
239113002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20772
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Tue, 15 Apr 2014 14:03:25 +0000 (14:03 +0000)]
ARM64: Access has_pending_message_ correctly.
This fixes accesses in ARM and ARM64; the field is a bool, with size 1,
but we were accessing it with pointer-sized loads and stores.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
230553004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20771
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 15 Apr 2014 13:56:51 +0000 (13:56 +0000)]
Fix MUST_USE_RESULT warning.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
239173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20770
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00