rmcilroy@chromium.org [Tue, 29 Apr 2014 14:14:06 +0000 (14:14 +0000)]
Fix android_arm.debug after r20051
The ConstantPoolBuilder stores RelocInfo in an stl::vector, therefore RelocInfo
cannot subclass BASE_EMBEDDED.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
253923005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21056
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 29 Apr 2014 14:09:14 +0000 (14:09 +0000)]
OrderedHashMap::Lookup() and ObjectHashTable::Lookup() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
256743008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 29 Apr 2014 14:03:06 +0000 (14:03 +0000)]
Rename debug event enum to be consistent.
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/
255163004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 29 Apr 2014 13:58:55 +0000 (13:58 +0000)]
Hide heap methods where possible.
Factory is already a friend class of Heap.
We introduce a TestHeap class in cctest.h to access protected methods.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
247263003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 29 Apr 2014 13:51:14 +0000 (13:51 +0000)]
JSObject::GetHiddenProperty() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
255153002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 29 Apr 2014 13:43:17 +0000 (13:43 +0000)]
Object::Lookup(), JSObject::*Lookup*() and JSReceiver::*Lookup*() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
253843006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21051
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 29 Apr 2014 13:42:00 +0000 (13:42 +0000)]
arm: Fix Smi check in SubStringStub::Generate
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
256743007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21050
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 29 Apr 2014 13:18:27 +0000 (13:18 +0000)]
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
dcarney@chromium.org [Tue, 29 Apr 2014 13:09:31 +0000 (13:09 +0000)]
Remove String::Visit
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
254763008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21046
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 29 Apr 2014 12:52:42 +0000 (12:52 +0000)]
Check that JSArray::SetElementsLength does not throw in array.length accessor.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
252743010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21045
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 29 Apr 2014 12:32:38 +0000 (12:32 +0000)]
Do not make objects in optimized code weak if collecting maps is disabled.
When collecting maps is disabled we do not clear non-live references.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
258163003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21044
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 29 Apr 2014 11:33:39 +0000 (11:33 +0000)]
Micro-optimizations to pop() and shift()
R=verwaest@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
247613002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 29 Apr 2014 11:01:42 +0000 (11:01 +0000)]
Don't unlink evacuation candidates before sweeping, move them to the end of their list of pages.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
256743004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21042
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 29 Apr 2014 10:59:14 +0000 (10:59 +0000)]
Remove old-style accessor support from runtime.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
258243003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21041
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 29 Apr 2014 10:58:16 +0000 (10:58 +0000)]
Fix android_arm64 build after r21001.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
253873010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21040
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 29 Apr 2014 08:52:17 +0000 (08:52 +0000)]
More runtime hardening
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
256293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21039
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 29 Apr 2014 08:25:24 +0000 (08:25 +0000)]
Make CreateInitialObjects more concise.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
255003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21038
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 29 Apr 2014 08:24:54 +0000 (08:24 +0000)]
Add missing length check when copying fixed arrays.
This was mistakenly removed in r21027.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
259203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21037
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 29 Apr 2014 07:02:11 +0000 (07:02 +0000)]
Refactor calls to CALL_HEAP_FUNCTION.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
258953009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21036
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 29 Apr 2014 06:42:26 +0000 (06:42 +0000)]
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
bmeurer@chromium.org [Tue, 29 Apr 2014 06:05:54 +0000 (06:05 +0000)]
Copy the profiler ticks in %SetCode().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
257123005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21034
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 29 Apr 2014 04:59:37 +0000 (04:59 +0000)]
Remove invalid HCheckValue case in check elimination.
Also eliminate a useless copy of the map set in case of
HCheckMaps.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
256593011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21033
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 28 Apr 2014 15:57:25 +0000 (15:57 +0000)]
Revert "PromiseThen should ignore non-function parameters."
Wrong Blink test expectations, need to fix later.
TBR=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
251813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21028
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 28 Apr 2014 15:33:16 +0000 (15:33 +0000)]
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
rossberg@chromium.org [Mon, 28 Apr 2014 15:20:39 +0000 (15:20 +0000)]
Fix promises-aplus testcfg.py
Fix GetSourceForTest which returned an incorrect result.
With this fix promises-aplus shows correct sources when --cat option is specified.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
258763002
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21026
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 28 Apr 2014 15:19:15 +0000 (15:19 +0000)]
PromiseThen should ignore non-function parameters.
When non-function parameters are given, PromiseThen should work as if
undefined parameters were given.
BUG=347455
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
180723011
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21025
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Mon, 28 Apr 2014 15:01:41 +0000 (15:01 +0000)]
MIPS: Revert r20974, r20991: Unify and simplify the FastCloneShallowArrayStub.
Port r21007 (3a5d22d)
Original commit message:
Due to Layout test redness.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
252023002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 28 Apr 2014 14:59:29 +0000 (14:59 +0000)]
Convert array.length to API-style accessor.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
259773009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 28 Apr 2014 13:42:03 +0000 (13:42 +0000)]
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
ulan@chromium.org [Mon, 28 Apr 2014 13:41:12 +0000 (13:41 +0000)]
Convert function.caller to API-style accessor.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
256803010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Mon, 28 Apr 2014 13:33:14 +0000 (13:33 +0000)]
ARM64: Rename TryConvertDoubleToInt64 function
There are two TryConvertDoubleToInt64 functions: one rounds, the other checks
if a double can be exactly represented as an int. This patch renames the second
instance to reflect its purpose more clearly.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
258933008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21020
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 28 Apr 2014 13:20:48 +0000 (13:20 +0000)]
Change concurrent sweeping CHECKs to ASSERTs.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
256983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21019
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 28 Apr 2014 13:02:17 +0000 (13:02 +0000)]
Remove unnecessary includes of v8 headers from platform files
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
251103003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21018
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 28 Apr 2014 12:58:32 +0000 (12:58 +0000)]
Simplify old space allocation strategy.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
258733013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21017
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 28 Apr 2014 12:14:36 +0000 (12:14 +0000)]
Error stack getter should not overwrite itself with a data property.
R=ulan@chromium.org
BUG=v8:3294
LOG=Y
Review URL: https://codereview.chromium.org/
258933007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21016
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 28 Apr 2014 12:08:17 +0000 (12:08 +0000)]
Fix assertion when collecting stack trace from debug break.
R=mstarzinger@chromium.org
BUG=v8:3296
LOG=N
Review URL: https://codereview.chromium.org/
256113003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21015
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 28 Apr 2014 12:02:11 +0000 (12:02 +0000)]
Convert function.arguments to API-style accessor.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
256693007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 28 Apr 2014 11:42:19 +0000 (11:42 +0000)]
Ignore debug stepin in optimized code for array builtins.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
251933004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21013
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 28 Apr 2014 11:09:07 +0000 (11:09 +0000)]
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
bmeurer@chromium.org [Mon, 28 Apr 2014 11:02:12 +0000 (11:02 +0000)]
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
m.m.capewell@googlemail.com [Mon, 28 Apr 2014 10:42:21 +0000 (10:42 +0000)]
ARM: don't use r9 anymore for gap resolution
BUG=
R=bmeurer@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
255883002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21008
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 28 Apr 2014 10:28:15 +0000 (10:28 +0000)]
Revert r20974: Unify and simplify the FastCloneShallowArrayStub
Due to Layout test redness.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
256873007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21007
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 28 Apr 2014 10:19:25 +0000 (10:19 +0000)]
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
jochen@chromium.org [Mon, 28 Apr 2014 09:14:24 +0000 (09:14 +0000)]
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
verwaest@chromium.org [Mon, 28 Apr 2014 08:38:51 +0000 (08:38 +0000)]
Use InitialPropertiesLength to reinitialize rather than local calculation.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
256973003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21004
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 28 Apr 2014 08:33:23 +0000 (08:33 +0000)]
Expose promise value through promise mirror.
R=rossberg@chromium.org, yurys@chromium.org
BUG=v8:3093
LOG=Y
Review URL: https://codereview.chromium.org/
258823012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21003
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 28 Apr 2014 08:26:35 +0000 (08:26 +0000)]
Convert function.name to API-style accessor and make CallApiGetterStub serializable.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
254783003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21002
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 28 Apr 2014 08:18:38 +0000 (08:18 +0000)]
Simplified CPU/CpuFeatures a bit.
This is a necessary intermediate step to disentangle the startup.
In the long run CPU and CpuFeatures should probably be merged,
and Serializer::enabled usage should be radically reduced, but
we're not there yet.
BUG=359977
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
258993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21001
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 28 Apr 2014 06:47:05 +0000 (06:47 +0000)]
Introduce DisallowDeoptimization scope.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
254763007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20998
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 28 Apr 2014 06:31:23 +0000 (06:31 +0000)]
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
Review URL: https://codereview.chromium.org/
257893004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20997
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 28 Apr 2014 05:47:43 +0000 (05:47 +0000)]
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
alph@chromium.org [Fri, 25 Apr 2014 18:53:06 +0000 (18:53 +0000)]
Add timestamps to CPU profile samples.
BUG=363976
LOG=Y
R=bmeurer@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
259803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 16:02:50 +0000 (16:02 +0000)]
Fix for a GC-stress failures after r20987.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
253513004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20992
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 25 Apr 2014 15:44:01 +0000 (15:44 +0000)]
MIPS: Unify and simplify the FastCloneShallowArrayStub.
Port r20974 (5de4367)
Original commit message:
- Don't bake in length/capacity into full codegen calls of stubs,
allowing boilerplates to increase their capacity without regenerating
code.
- Unify all variants of the clone stub into a single,
length-independent version.
- Various tweaks to make sure that the clone stub doesn't spill and
therefore need an eager stack frame.
- Handle all lengths of array literals in the fast case.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
258813002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20991
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 14:14:25 +0000 (14:14 +0000)]
Runtime_KeyedGetProperty handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
253603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20990
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Fri, 25 Apr 2014 14:07:45 +0000 (14:07 +0000)]
ARM64: Fix LCodeGen::ToOperand32.
This fixes the following generated code sequence:
movn w1, #0 // Synthesize -1.
cmp w0, w1
With a properly-constructed Operand, the MacroAssembler can optimize it
as follows:
cmn w0, #1
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
253513003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20989
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 25 Apr 2014 14:01:01 +0000 (14:01 +0000)]
Expose promise status through promise mirror.
R=aandrey@chromium.org, rossberg@chromium.org, yurys@chromium.org
BUG=v8:3093
LOG=Y
Review URL: https://codereview.chromium.org/
257803005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20988
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 13:59:33 +0000 (13:59 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 13:50:19 +0000 (13:50 +0000)]
*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
jochen@chromium.org [Fri, 25 Apr 2014 13:49:22 +0000 (13:49 +0000)]
Remove static CallCompletedCallback handlers
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
249313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20985
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 25 Apr 2014 13:47:01 +0000 (13:47 +0000)]
Enter a description of the change.
Reland 20968 - "Merge v8utils.* and utils.*"
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/
256753002
BUG=none
LOG=n
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
250733004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20984
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 25 Apr 2014 13:43:58 +0000 (13:43 +0000)]
Reland 20962 "Break cyclic reference between utils and platform."
Don't use OS::MemCopy in BitCast. It's crucial that the compiler can
optimize the memcpy away.
> Platform includes utils.h for the definition of Vector<>, so utils.h
> can't include platform.h and has to use memcpy instead of OS::MemCopy.
>
> We split out Vector<> into its own header to break this cycle
> dependency.
>
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/
251753002
TBR=jkummerow@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
252683004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20983
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 13:35:03 +0000 (13:35 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 13:21:16 +0000 (13:21 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 13:06:21 +0000 (13:06 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 12:59:07 +0000 (12:59 +0000)]
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
jarin@chromium.org [Fri, 25 Apr 2014 12:58:15 +0000 (12:58 +0000)]
Fix materialization of accessor frames with captured receivers
I have fixed skipping of the receiver object to materialize captured
objects. This is done with a new DoTranslateSkip method.
We should consider unifying DoTranslateSkip, DoTranslateObject and
DoTranslateCommand as they do the almost the same thing - they only
differ in where they store the result.
The change also turns bunch of ASSERTs into CHECKs.
R=mstarzinger@chromium.org
BUG=359441
TEST=test/mjsunit/regress/regress-359441.js
LOG=N
Review URL: https://codereview.chromium.org/
225283006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20978
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 25 Apr 2014 12:49:55 +0000 (12:49 +0000)]
Move JSON-stringify webkit test to V8.
BUG=367089
LOG=N
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
254673005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 25 Apr 2014 12:23:11 +0000 (12:23 +0000)]
Revert 20962 "Break cyclic reference between utils and platform."
> Platform includes utils.h for the definition of Vector<>, so utils.h
> can't include platform.h and has to use memcpy instead of OS::MemCopy.
>
> We split out Vector<> into its own header to break this cycle
> dependency.
>
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/
251753002
BUG=none
LOG=n
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/
254823002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 25 Apr 2014 12:21:32 +0000 (12:21 +0000)]
Revert 20968 - "Merge v8utils.* and utils.*"
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/
256753002
BUG=none
LOG=n
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/
250823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20975
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 25 Apr 2014 11:54:01 +0000 (11:54 +0000)]
Unify and simplify the FastCloneShallowArrayStub
- Don't bake in length/capacity into full codegen calls of stubs,
allowing boilerplates to increase their capacity without regenerating
code.
- Unify all variants of the clone stub into a single,
length-independent version.
- Various tweaks to make sure that the clone stub doesn't spill and
therefore need an eager stack frame.
- Handle all lengths of array literals in the fast case.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
257563004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20974
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 11:40:17 +0000 (11:40 +0000)]
Fix for potential memory leak after putting to WeakObjectToCodeDependency table.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
254723004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20973
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 25 Apr 2014 11:33:19 +0000 (11:33 +0000)]
Let releases script retrieve information about chromium branches.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
238443005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20972
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Fri, 25 Apr 2014 11:29:02 +0000 (11:29 +0000)]
Preserve Smi representation of non-escaping fields.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
251493004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20971
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 25 Apr 2014 11:13:37 +0000 (11:13 +0000)]
Fix compilation with clang 5.1 on OS X.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
250873003
Patch from Benedikt Meurer <bmeurer@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20970
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 25 Apr 2014 11:00:37 +0000 (11:00 +0000)]
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
jochen@chromium.org [Fri, 25 Apr 2014 10:57:34 +0000 (10:57 +0000)]
Merge v8utils.* and utils.*
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
256753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20968
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 25 Apr 2014 09:52:11 +0000 (09:52 +0000)]
Don't adopt the AST id from previous if id is none, since previous may have mismatching expected stack height.
Additionally, harden merging of simulates after instructions with side effects and ensure there's a simulate before HEnterInlined.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
252583004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20967
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 25 Apr 2014 09:50:42 +0000 (09:50 +0000)]
Remove lazy sweeping.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
254603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20966
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 25 Apr 2014 09:44:20 +0000 (09:44 +0000)]
Parser: Introduce StatementList + NewStatementList()
Adds new Traits::Type::StatementList definitions both for Parser and
PreParser, and the corresponding NewStatementList() factory function.
This is needed to be able to define in ParserBase parsing functions
that return and manipulate lists of statements.
Moving and renaming PreParser::Statement to PreParserStatement is also
needed so its definition is available earlier for PreParserStatementList
to use it.
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
252423007
Patch from Adrian Perez de Castro <aperez@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20965
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Fri, 25 Apr 2014 09:35:41 +0000 (09:35 +0000)]
Add tests for generator/debugger interaction
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
247003004
Review URL: https://codereview.chromium.org/
256733004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20964
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 25 Apr 2014 08:40:23 +0000 (08:40 +0000)]
Added an Isolate* field to NoTrackDoubleFieldsForSerializerScope, PlatformFeatureScope and BinaryOpIC::State.
The serializer state and even the CPU features will be per-Isolate
later. Currently we get away with global state, because mksnapshot
runs single-threaded and has only 1 Isolate, but this will change.
Furthermore, these changes are yet another prerequisite for removing a
catch-22 at initialization time when we try to enable serialization.
This CL is similar in spirit to r20919, BTW.
BUG=359977
LOG=y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
250553005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20963
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 25 Apr 2014 08:37:18 +0000 (08:37 +0000)]
Break cyclic reference between utils and platform.
Platform includes utils.h for the definition of Vector<>, so utils.h
can't include platform.h and has to use memcpy instead of OS::MemCopy.
We split out Vector<> into its own header to break this cycle
dependency.
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
251753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20962
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 08:31:21 +0000 (08:31 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 08:18:24 +0000 (08:18 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 08:10:44 +0000 (08:10 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 08:03:52 +0000 (08:03 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 07:56:13 +0000 (07:56 +0000)]
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
yangguo@chromium.org [Fri, 25 Apr 2014 07:03:05 +0000 (07:03 +0000)]
Trigger debug event on not yet caught exception in promises.
R=aandrey@chromium.org, rossberg@chromium.org, yurys@chromium.org
BUG=v8:3093
LOG=Y
Review URL: https://codereview.chromium.org/
249503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20956
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 25 Apr 2014 06:30:15 +0000 (06:30 +0000)]
Unbreak vtunejit=on.
BUG=v8:3288
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
254793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20955
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Thu, 24 Apr 2014 17:20:34 +0000 (17:20 +0000)]
ARM64: slightly modify weight for profiling counter
BUG=
R=ulan@chromium.org, bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
252443004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20952
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 24 Apr 2014 15:45:44 +0000 (15:45 +0000)]
Fix for build issue on Mac introduced in r20948.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
251363004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20951
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 24 Apr 2014 15:33:40 +0000 (15:33 +0000)]
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
verwaest@chromium.org [Thu, 24 Apr 2014 15:20:53 +0000 (15:20 +0000)]
Mark the simulate before EnterInlined with BailoutId::None(), and set ReturnId on EnterInlined. When merging simulates into the simulate before enter-inlined, adopt the last AST id that gets merged into it.
BUG=v8:3282
LOG=n
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
257583004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20949
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 24 Apr 2014 15:16:26 +0000 (15:16 +0000)]
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
ishell@chromium.org [Thu, 24 Apr 2014 14:59:09 +0000 (14:59 +0000)]
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
Jacob.Bramley@arm.com [Thu, 24 Apr 2014 14:55:28 +0000 (14:55 +0000)]
ARM64: Slightly improve MacroAssembler::Allocate.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
247533005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20946
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 24 Apr 2014 14:51:25 +0000 (14:51 +0000)]
MIPS: CodeStubs contain their corresponding Isolate* now. (part 2)
Port r20940 (a5dde97)
Original commit message:
This CL mechanically removes all useless Isolate* parameters from code
stub functions, making things quite a bit simpler.
BUG=359977
LOG=y
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
251473004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20945
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 24 Apr 2014 14:42:33 +0000 (14:42 +0000)]
MIPS: CodeStubs contain their corresponding Isolate* now. (part 1)
Port r20919 (aa51355)
Original commit message:
This is a purely mechanical change, adding an Isolate* to the CodeStub
constructor and a corresponding field plus a getter. A few methods in
CodeStub and its subclasses can be simplified now, but this is done in
a separate CL.
The underlying reason apart from simplicity is that deep down in the
call chain we need to detect if the serializer is active or not. This
information will be part of the Isolate, not a global variable with
funky synchronization primitives around it (which is fundamentally
wrong and the underlying cause for race conditions and a catch-22
during initialization).
BUG=359977
LOG=y
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
252383005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20944
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 24 Apr 2014 14:23:15 +0000 (14:23 +0000)]
Refactor function.arguments accessor.
This prepares for API-style accessor conversion.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
253453002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20943
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00