yangguo@chromium.org
139be49fcf
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
2014-04-16 07:26:34 +00:00
yangguo@chromium.org
9a71bc722d
Remove further unhandlified call sites of number allocations.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/239143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 06:18:37 +00:00
adamk@chromium.org
a44e10cad6
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
2014-04-16 01:03:56 +00:00
adamk@chromium.org
a1af5a2a2f
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
2014-04-16 00:40:03 +00:00
plind44@gmail.com
5a016958c6
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
2014-04-15 16:39:21 +00:00
ishell@chromium.org
cc5c454573
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
2014-04-15 15:17:04 +00:00
ishell@chromium.org
be29476f64
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
2014-04-15 14:20:59 +00:00
yangguo@chromium.org
6ff4f1d361
Use a wrapper for copying object.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/238113003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 13:42:41 +00:00
yangguo@chromium.org
1a44233cef
Handlify JSObject::FastPropertyAt.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/238583004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 12:11:39 +00:00
dslomov@chromium.org
5ab9c55ae3
First round of runtime.cc handlification.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/238933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 10:37:12 +00:00
yangguo@chromium.org
134c2e75ad
Handlify PrepareSlowElementsForSort and JSArrayUpdateLengthFromIndex.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/238713003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 10:29:56 +00:00
bmeurer@chromium.org
b5cec2b72f
Handlify AddDependentCode(), AddDependentCompilationInfo() and AddDependentIC().
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/236193014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 10:14:50 +00:00
verwaest@chromium.org
76e1386acb
Bump kMaxFastProperties (non-keyed assignments) to 128.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/238683004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:59:51 +00:00
yangguo@chromium.org
a54d24a1d6
Handlify TypedArray setters.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/235923013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:15:33 +00:00
bmeurer@chromium.org
6b4d4b7287
Reland "Track field types.".
...
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
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/238773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 07:36:47 +00:00
yangguo@chromium.org
123a271e72
Reland "Handlify Runtime::InitializeIntrinsicFunctionNames."
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/236823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 19:37:51 +00:00
verwaest@chromium.org
494bf01e53
Initial steps for moving code onto Map
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/237143004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 16:21:38 +00:00
ishell@chromium.org
4792f61042
Reland "HashTable::Shrink() handlified and derived template parameter added to HashTable hierarchy."
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/227423004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 15:56:57 +00:00
ishell@chromium.org
f4dc0ee882
Revert "Reland "HashTable::Shrink() handlified and derived template parameter added to HashTable hierarchy.""
...
This reverts r20724.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/237043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 13:25:16 +00:00
ishell@chromium.org
72e2d5b3c8
Reland "HashTable::Shrink() handlified and derived template parameter added to HashTable hierarchy."
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/235643002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 12:50:04 +00:00
yangguo@chromium.org
0b20d13b40
Handlify AddToOptimizedCodeMap.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/236963002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:46:35 +00:00
yangguo@chromium.org
8eaff70bed
Revert "Handlify Runtime::InitializeIntrinsicFunctionNames."
...
This reverts r20718.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/236343005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:43:40 +00:00
yangguo@chromium.org
3a12bbe0fa
Handlify Runtime::InitializeIntrinsicFunctionNames.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/236133005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:32:12 +00:00
verwaest@chromium.org
de50f63f16
Clean up the public interface of Map.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/234573005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:19:37 +00:00
yangguo@chromium.org
b44598b387
Handlify Object::ToObject.
...
R=bmeurer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/235943007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 09:19:09 +00:00
jarin@chromium.org
c1a3ab6b4f
Revert "Track field types."
...
Revert r20701.
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/236843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 08:24:15 +00:00
bmeurer@chromium.org
9cf3909975
Track field types.
...
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.
TEST=mjsunit/field-type-tracking
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/167303005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 06:29:15 +00:00
ishell@chromium.org
13a3a00102
Revert "HashTable::Shrink() handlified and derived template parameter added to HashTable hierarchy."
...
This reverts commit r20697 for breaking ASAN build.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/235353003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 17:55:52 +00:00
ishell@chromium.org
be3df6164b
HashTable::Shrink() handlified and derived template parameter added to HashTable hierarchy.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/234663004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 17:44:58 +00:00
verwaest@chromium.org
ac659f3882
Handlify Map::RawCopy
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/235183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 13:48:52 +00:00
ulan@chromium.org
49d951d043
Do not call user defined getter of Error.stackTraceLimit.
...
Handlify GetNormalizedProperty.
BUG=360733
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/233243005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 13:16:36 +00:00
yangguo@chromium.org
80a974ba00
Reland "Handlify GetProperty."
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/235083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 12:47:34 +00:00
mvstanton@chromium.org
c5eaf80707
Handlify Map::CopyDropDescriptors().
...
* And contain knowledge better in TransitionArray and DescriptorArray (for example WhitenessWitness is now private to DescriptorArray).
* And remove some factory methods
* And handlify some other things.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/234783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 12:13:53 +00:00
yangguo@chromium.org
93c9717473
Revert "Handlify GetProperty."
...
This reverts r20682.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/234893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:56:54 +00:00
yangguo@chromium.org
a3d68ca64d
Handlify GetProperty.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/233233004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:26:22 +00:00
yangguo@chromium.org
380ae9810e
Return MaybeHandle from Invoke.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/231883007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 10:41:09 +00:00
ulan@chromium.org
ff953ac055
Make maps in monomorphic IC stubs weak.
...
Maps in monomorphic Load, KeyedLoad, Store, KeyedStore, and CompareNil IC
stubs are treated as weak references by the marking visitor.
During generation of an IC stub with a weak map, the stub is appended to the
dependent code array of the map. When the map dies, all stubs in its dependent
code array are invalidated by setting embedded maps to undefined.
BUG=v8:2073
LOG=Y
TEST=cctest/test-heap/WeakMapInMonomorphic*IC
R=mstarzinger@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/188783003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 10:36:09 +00:00
rmcilroy@chromium.org
2754ab2689
Revert "ARM: Do not set FPSCR when converting to clamped uint8"
...
This reverts commit r20676.
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/233013005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 10:04:25 +00:00
rmcilroy@chromium.org
b61696dd95
ARM: Do not set FPSCR when converting to clamped uint8
...
Setting the FPSCR flags is expensive on some CPUs. Get rid of repeated
setting of the FPSCR by relying on the correct default flags being set
when doing uint8 clamping. Also use vcvt_u32_f64 instead of vcvt_s32_f64,
which enables removing the check against zero (vcvt_u32_f64 will clamp to
zero).
To be on the safe side, add asserts to check that the VFP rounding mode
flags are set to default as expected.
This increases performance of a hot loop repeatedly setting
Uint8ClampedArray values on some CPUs by as much as a factor of 12.
BUG=v8:3253
LOG=N
R=jacob.bramley@arm.com , rmcilroy@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/230473005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 09:22:14 +00:00
yangguo@chromium.org
a640707213
Implement handlified String::Equals and Name::Equals.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/225823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 07:27:25 +00:00
mvstanton@chromium.org
8aa93f2443
Bugfix: A TransitionArray can disappear during copy.
...
During handlification of TransitionArray code, an error was introduced
in TransitionArray::CopyInsert because after creating a copy of a
TransitionArray, it may be that the array disappears during GC
because it is modified during the marking of the owning map.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/228483005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 13:06:52 +00:00
verwaest@chromium.org
dcc142d547
Work towards unifying descriptor array handling.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/231283006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 11:59:10 +00:00
ishell@chromium.org
32735ae3a9
Object::GetElements() and friends maybehandlification.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/231103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 09:20:11 +00:00
ishell@chromium.org
7135c9fde2
ElementsAccessor::Delete() maybehandlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/230733003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 15:45:12 +00:00
mvstanton@chromium.org
41b6c8a0f1
Handlefy Descriptor and other code in objects.cc
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/228333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 14:26:32 +00:00
ishell@chromium.org
74e7a4ad07
ElementsAccessor::SetLength() maybehandlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/229943006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 13:16:19 +00:00
yangguo@chromium.org
ea1dc8eeef
Remove uses of non-handlified GetProperty.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/229373007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 13:05:56 +00:00
yangguo@chromium.org
aee76a059a
Remove calls to non-handlified version of GetProperty(name).
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/229973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 12:21:47 +00:00
palfia@homejinni.com
a0355e3745
Fix build with gcc 4.8 on Linux.
...
This fixes a build failure on Linux with gcc 4.8, after r20581.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/229683003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 11:01:58 +00:00
adamk@chromium.org
902ad4a17a
Use OrderedHashTables as the backing store of JSSet and JSMap
...
This also deletes ObjectHashSet as it's no longer used.
BUG=v8:1793
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/225183009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 20:06:35 +00:00
hpayer@chromium.org
930ca1b52a
Synchronize store buffer processing and concurrent sweeping.
...
BUG=
R=jarin@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/227533006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 16:31:57 +00:00
ishell@chromium.org
df4ee49348
Further ElementsAccessor handlification (Get(), AddElementsToFixedArray() and HasElement()).
...
R=verwaest@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/227713003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 14:20:29 +00:00
ulan@chromium.org
226c1d25f3
Handlify CompilationCache.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/224733022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 12:33:08 +00:00
rmcilroy@chromium.org
21155c1581
Ensure that we don't mark weak heap references in the constant pool array.
...
Some heap pointer's embedded in optimized code are considered weak. Ensure
that we don't mark them during GC of the ConstantPoolArray. Also, embed
length metadata in a bitfield, reducing the ConstantPoolArray header size from
five words to two.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/209473006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 10:00:57 +00:00
yangguo@chromium.org
ed9f1af2fc
Implement handlified String::Flatten.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/228093004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 09:49:49 +00:00
yangguo@chromium.org
9ed8c39cac
Return MaybeHandle from SetElement and DeleteElement.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/227573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 07:04:13 +00:00
svenpanne@chromium.org
c0301105d8
Revert "Handlify deoptimization data allocators."
...
This reverts r20552, it breaks with snapshot=off.
TBR=mstarzinger@chromium.org
BUG=cctest/test-lockers/ExtensionsRegistration
LOG=n
Review URL: https://codereview.chromium.org/228103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 06:15:20 +00:00
mstarzinger@chromium.org
2e98bda0c0
Handlify deoptimization data allocators.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/227603004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 14:27:48 +00:00
ishell@chromium.org
c9b0492bf5
Callers of ElementsAccessor::Validate() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/226153002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 10:00:14 +00:00
ishell@chromium.org
7a3703db64
ElementsAccessor::GetAccessorPair() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/225683003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 09:20:44 +00:00
adamk@chromium.org
8e9eebeba1
OrderedHashTable implementation with Set and Map interfaces
...
OrderedHashTable is an insertion-ordered HashTable based on
Jason Orendorff's writeup of a data structure attributed to Tyler Close:
https://wiki.mozilla.org/User:Jorend/Deterministic_hash_tables
It is intended as the new backing store for JSSet/JSMap, as ES6 requires
insertion-order-based iteration. Note, however, that in the interest of
keeping the initial check-in small this patch does not yet include any
iteration support.
This change also doesn't yet touch any existing behavior, but in
a branch I've verified that these structures pass the existing
JSSet/JSMap mjsunit tests.
BUG=v8:1793
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/220293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 20:41:57 +00:00
mvstanton@chromium.org
9e5757abee
Revert "Reland of https://codereview.chromium.org/172523002/ "
...
This reverts commit r20516 due to a Sunspider performance issue.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/226233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 16:18:59 +00:00
jkummerow@chromium.org
1c31f5d99a
Revert "Compare external pixel data length against Smi::kMaxValue"
...
This reverts r20519. Reason: wrong fix.
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/226063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 16:05:29 +00:00
jkummerow@chromium.org
cd81065745
Compare external pixel data length against Smi::kMaxValue
...
BUG=chromium:359802
LOG=n
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/226133002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 15:25:37 +00:00
mvstanton@chromium.org
f9a8425cd2
Reland of https://codereview.chromium.org/172523002/
...
Fixed
1) Missing line in x64 port.
2) GcStress found a logic error in the IC miss handler.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/224903005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 13:57:53 +00:00
ishell@chromium.org
dd891816d4
Callers of ElementsAccessor::AddElementsToFixedArray(), ElementsAccessor::HasElement() and ElementsAccessor::GetKeyForIndex() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/225623004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 13:05:37 +00:00
yangguo@chromium.org
b0def354bc
Return MaybeHandle from GetProperty.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/225673003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:25:45 +00:00
yangguo@chromium.org
dd7bb01688
Return MaybeHandle from SetProperty.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/225283005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:06:11 +00:00
hpayer@chromium.org
8072cd2935
Don't overwrite transition array map while iterating over the transition tree.
...
Instread of using the transition array map to store the iteration index, we are using the constructor field of the map. Moreover, I removed the unchecked transition array accessors.
BUG=
R=mstarzinger@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/223533002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 09:25:36 +00:00
bmeurer@chromium.org
e26ff6c45f
Get rid of the TRANSITION PropertyType and consistently use CanHoldValue().
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/223193005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 04:49:07 +00:00
mvstanton@chromium.org
5c0d85163c
Revert r20474
...
This reverts commit r20474 due to an x64 release issue.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/223823002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:27:24 +00:00
mvstanton@chromium.org
c21cf2d334
Function calls are handled with a LoadIC and a FunctionCallStub. This works well, but we can create a platform to gather custom feedback by inventing a CallIC. CallIC takes a JSFunction as input, maintains UNINIT/MONO/MEGA state in a feedback slot, and engages in limited patching for the most efficient code.
...
The change creates a degrade in NBody tests, but a follow-on CL addresses it by using this custom feedback platform to give a 45% improvement.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/172523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 11:41:03 +00:00
yangguo@chromium.org
dc20bb49b0
Introduce MaybeHandle to police exception checking in handlified code.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/222163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 05:57:43 +00:00
mstarzinger@chromium.org
0f52462e10
Remove dead Object::GetPropertyOrFail.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/215973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 16:36:16 +00:00
verwaest@chromium.org
ca6b727665
Replace CopyMap(constructor->initial_map()) by Map::Create(constructor)
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/218633014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 13:30:36 +00:00
ulan@chromium.org
65bae6c652
Lazily initialize the target map list in IC.
...
This makes sure that we keep the target map list alive in the handle scope during IC computation.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/220923003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 07:59:54 +00:00
yangguo@chromium.org
10abff3498
Remove internalized cons string types.
...
Currently, internalizing a cons string could result in either an
in-place converted internalized cons string or a newly created
internalized sequential string, depending on allocation success.
The former could end up being embedded into an IC, which is not
supported.
R=mstarzinger@chromium.org
BUG=357103
LOG=N
Review URL: https://codereview.chromium.org/218993011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:30:31 +00:00
svenpanne@chromium.org
4da732e321
Fixed power-of-2 predicates, excluding 0.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/219213003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 09:20:28 +00:00
yangguo@chromium.org
4a5bccfc61
Tighten object verification.
...
Often, when we call MaybeObject::Verify, what we want is Object::ObjectVerify.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/218993005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 08:57:48 +00:00
verwaest@chromium.org
47e660a2e1
Replace set_map_and_elements by MigrateToMap-based SetMapAndElements
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/218753005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 15:30:13 +00:00
hpayer@chromium.org
702ba5a0e9
Make sure when we shrink an object that we store a filler first into the free memory before updating the map or size.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/219103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 14:29:01 +00:00
verwaest@chromium.org
019e27d8db
Reland and fix "Fix LoadFieldByIndex to take mutable heap-numbers into account.""
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/218663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 14:21:04 +00:00
alexandre.rames@arm.com
989683d479
ARM64: Optimize AllocateHeapNumber to use STP.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/216933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 14:06:42 +00:00
jochen@chromium.org
163044e7ba
Revert 20348 - "Fix LoadFieldByIndex to take mutable heap-numbers into account."
...
Reason for revert: crashes benchmarks/sunspider/string-fasta on ia32.debug
This also reverts r20350 and r20352
> Fix LoadFieldByIndex to take mutable heap-numbers into account.
>
> BUG=
> R=ishell@chromium.org
>
> Review URL: https://codereview.chromium.org/213213002
BUG=none
LOG=n
TBR=verwaest@chromium.org
Revert "Use sarq on x64"
This reverts commit e2a8ef9321345c6bc091054443bf2b9535ff6b1c.
Revert "Don't | int and bool"
This reverts commit c90d713d3a8ceba4fec41933a63beb6e50a3d7c0.
Review URL: https://codereview.chromium.org/219393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 13:23:32 +00:00
verwaest@chromium.org
55a6318560
Fix LoadFieldByIndex to take mutable heap-numbers into account.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/213213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 11:59:29 +00:00
bmeurer@chromium.org
49961d11a6
Handlify DescriptorArray::Merge().
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/169363002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 07:48:13 +00:00
hpayer@chromium.org
a2212066da
Move FillWithHoles FixedArray and FixedDoubleArray functions to the given classes.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/216873004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 13:05:23 +00:00
yangguo@chromium.org
1037a883de
Clean up some "GetProperty" methods/functions.
...
Runtime::GetObjectProperty:
- handled string.charAt, element access and property access
- now handlified
GetProperty in handles.cc:
- called to Runtime::GetObjectProperty
- now removed
Object::GetProperty (handlified version):
- handled element access and property access
- now changed to only do property access
New: Object::GetPropertyOrElement:
- handles element access and property access
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/210953005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 09:49:27 +00:00
ishell@chromium.org
a887597e20
ElementsAccessor::CopyElements() and its callers handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/212573007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:41:09 +00:00
ulan@chromium.org
a7d1b658fc
Reland r19897 "Fix memory leak caused by treating Code::next_code_link as strong in marker.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/212553003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:14:51 +00:00
dslomov@chromium.org
76b8f25edb
This implements allocating small typed arrays in heap.
...
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/150813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 12:50:13 +00:00
ishell@chromium.org
f306341b46
TransitionElementsKind() and its recursive call chain handlified.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/207553005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 15:33:22 +00:00
dslomov@chromium.org
cdc9812756
Revert "This implements allocating small typed arrays in heap."
...
This reverts commit r20244 for breaking Win64 build and webkit tests.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/208503007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 14:12:58 +00:00
dslomov@chromium.org
654b6a27d1
This implements allocating small typed arrays in heap.
...
R=mvstanton@chromium.org , verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=20240
Review URL: https://codereview.chromium.org/150813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 13:21:58 +00:00
dslomov@chromium.org
727bc2153e
Revert "This implements allocating small typed arrays in heap."
...
This reverts commit r20240 for breaking Windows build.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/211003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:58:22 +00:00
dslomov@chromium.org
322a474bf2
This implements allocating small typed arrays in heap.
...
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/150813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:51:49 +00:00
yangguo@chromium.org
4ca46f3c3f
Handlify GetElementWithReceiver and GetElementWithInterceptor.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/210763003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 10:15:12 +00:00
ishell@chromium.org
0d7bdc0fd6
Callers of ElementsAccessor::SetCapacityAndLength() handlified.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/210063004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:51:13 +00:00
yangguo@chromium.org
8b8fb30e7f
Reland "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/209903003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 10:07:15 +00:00
yangguo@chromium.org
03866841aa
Revert "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
...
This reverts r20179.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/201573007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 09:17:18 +00:00