dslomov@chromium.org
deecd576a0
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
2014-04-16 12:24:01 +00:00
yangguo@chromium.org
3b66957602
Move functions from handles.cc to where they belong.
...
R=mvstanton@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/237673014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 12:16:06 +00:00
dslomov@chromium.org
35a30a5a5f
Handlify CodeCache.
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/239203003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 12:10:56 +00:00
svenpanne@chromium.org
7976d95cac
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
2014-04-16 12:01:38 +00:00
ulan@chromium.org
de5f609da4
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
2014-04-16 11:57:23 +00:00
bmeurer@chromium.org
e05b58f0b0
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
2014-04-16 11:56:51 +00:00
yangguo@chromium.org
5e02daca21
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
2014-04-16 11:50:24 +00:00
bmeurer@chromium.org
42c67d5fa2
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
2014-04-16 11:41:09 +00:00
yangguo@chromium.org
17b33fa1da
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
2014-04-16 11:38:56 +00:00
mvstanton@chromium.org
63802cddc1
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
2014-04-16 11:31:39 +00:00
verwaest@chromium.org
9da828a5a5
Move CopyReplaceDescriptors to private
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/239203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 11:25:29 +00:00
verwaest@chromium.org
10714e29fa
Introduce an abstraction to write to a field.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/236063016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 11:11:21 +00:00
verwaest@chromium.org
cf26c1421a
Move property addition code from JSObject to Map
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/238543005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 10:45:57 +00:00
bmeurer@chromium.org
63a477b29b
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
2014-04-16 09:48:32 +00:00
svenpanne@chromium.org
0422c426bf
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
2014-04-16 08:42:08 +00:00
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
haitao.feng@intel.com
7ffbbbef3c
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
2014-04-16 02:06:14 +00:00
palfia@homejinni.com
a2f7637332
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
2014-04-16 01:08:23 +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
jochen@chromium.org
2a974583cd
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
2014-04-15 15:37:42 +00:00
mvstanton@chromium.org
d20bf182dd
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
2014-04-15 15:29:23 +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
plind44@gmail.com
4cbbf0ae83
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
2014-04-15 15:11:36 +00:00
marja@chromium.org
8b9fd69616
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
2014-04-15 14:48:21 +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
Jacob.Bramley@arm.com
b9a7b0bddc
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
2014-04-15 14:03:25 +00:00
yangguo@chromium.org
4e93dfc929
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
2014-04-15 13:56:51 +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
b4932fc2a2
Handlify BasicJsonStringifier.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/238273005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 13:37:15 +00:00
ulan@chromium.org
a650916d3d
Reland r20652 "Handlify and convert string.length to new API-style accessor."
...
BUG=
R=dcarney@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/231973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 13:25:17 +00:00
mstarzinger@chromium.org
e51d6462a7
Fix bogus call to Object.hasOwnProperty in Array builtin.
...
R=mvstanton@chromium.org
TEST=mjsunit/regress/regress-builtinbust-5
Review URL: https://codereview.chromium.org/239033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 12:52: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
machenbach@chromium.org
99fb4fb41a
Reset change log and version to current trunk.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/238993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 12:05:45 +00:00
machenbach@chromium.org
8cab750a81
Let revision script add commit dates.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/238983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 12:00:53 +00:00
ishell@chromium.org
610fcfa916
Function allocators, Heap::ReinitializeJSGlobalProxy() and Heap::ReinitializeJSReceiver() handlified. Factory::New<>() added.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/237093006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 11:51:34 +00:00
yangguo@chromium.org
6376579f4d
Remove direct calls to number-related allocators from runtime.cc.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/238543004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 11:16:02 +00:00
yangguo@chromium.org
1a91d42058
Remove some direct uses of heap allocators from runtime.cc
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/238273006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 10:59:38 +00:00
svenpanne@chromium.org
4d3bd1662c
Removed EnterIsolateIfNeeded and a soon-to-be-useless assertion.
...
BUG=359977
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/238773003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 10:45:34 +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
rmcilroy@chromium.org
6a3e92b9a2
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
Committed: https://code.google.com/p/v8/source/detail?r=20676
Review URL: https://codereview.chromium.org/230473005
Patch from Olli Etuaho <oetuaho@nvidia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 09:58:09 +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
dcarney@chromium.org
21bcc1cde4
remove some isolate::current uses from api.cc
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/238843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:30:42 +00:00
marja@chromium.org
a43a63b110
Refactor ParseFunctionLiteral.
...
It was a pretty monstrous 500 line function.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/237243003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:29:24 +00:00
ulan@chromium.org
a50aca97a2
Reland r20692 "Check stack limit in ArgumentAdaptorTrampoline."
...
BUG=353058
LOG=N
TEST=mjsunit/regress/regress-353058
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/236633006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:26:26 +00:00
mstarzinger@chromium.org
39137c81e6
Fix bogus Object.isSealed check in some Array builtins.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/237253002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:25:42 +00:00