jochen@chromium.org [Wed, 9 Apr 2014 09:54:49 +0000 (09:54 +0000)]
Use abstract configurations to switch between opt debug settings
The problem is that conditions are evaluated before configuration inheritance is resolved, so we can't just define a configuration like this:
'Optdebug': {
'inherits_from': ['Debug'],
'variables': {
'v8_optimized_debug': 2,
}
}
Instead, we have to put the different settings depending on the optimization level into separate configurations, and use conditions inside the concrete configurations to inherit from the correct base class.
Common settings go in the base configuration DebugBaseCommon, and v8_optimized_debug dependent settings go into DebugBase{0,1,2}
The new Debug configuration inherits from DebugBaseCommon and DebugBase<(v8_optimized_debug), while the new configuration Optdebug inherits from DebugBaseCommon and DebugBase2.
BUG=v8:3252
R=machenbach@chromium.org, jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
224443003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20605
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 9 Apr 2014 09:50:25 +0000 (09:50 +0000)]
Allow race-full access of map instance size when sweeping concurrently.
BUG=
R=jarin@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
227133007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20604
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 9 Apr 2014 09:50:08 +0000 (09:50 +0000)]
Make new space iterable when transitioning double array to objects
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
228643002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20603
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 9 Apr 2014 09:14:56 +0000 (09:14 +0000)]
Fix return value of push() and unshift() on Array.prototype.
R=ulan@chromium.org
TEST=mjsunit/regress/regress-builtinbust-3
Review URL: https://codereview.chromium.org/
230453002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20602
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 9 Apr 2014 09:01:38 +0000 (09:01 +0000)]
Fix regexp compilation cache.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
230283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20601
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 9 Apr 2014 08:51:46 +0000 (08:51 +0000)]
Handlify all context allocators from the Heap.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
230393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20600
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 9 Apr 2014 08:20:10 +0000 (08:20 +0000)]
Introduced Atomic8 and added no-barrier Atomic8 accessors.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
228613005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20598
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 9 Apr 2014 07:35:12 +0000 (07:35 +0000)]
Add stack overflow check for inlined property getter
We should check for overflow for each inlined property getter;
otherwise, we can get an overflow from inlining property getter while
still having pending overflow exception from some previous inlined
getter (in the same polymorphic access).
R=verwaest@chromium.org
TEST=test/mjsunit/regress/regress-inline-getter-near-stack-limit.js
Review URL: https://codereview.chromium.org/
220813003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20588
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 8 Apr 2014 20:06:35 +0000 (20:06 +0000)]
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
jochen@chromium.org [Tue, 8 Apr 2014 18:12:00 +0000 (18:12 +0000)]
Compile fix for NaCL
TBR=mstarzinger@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
228953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20584
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 8 Apr 2014 17:19:15 +0000 (17:19 +0000)]
Return 0 as maximal amount of physical memory if there is no limit.
That's what the comment says should happen, and what Heap's ctor
expects.
BUG=none
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
226113006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20583
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 8 Apr 2014 16:31:57 +0000 (16:31 +0000)]
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
ishell@chromium.org [Tue, 8 Apr 2014 14:20:29 +0000 (14:20 +0000)]
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
Jacob.Bramley@arm.com [Tue, 8 Apr 2014 13:23:04 +0000 (13:23 +0000)]
ARM64: Put all simulator trace on the same stream.
The simulator can trace to a specified stream, typically stderr or
stdout. However, several messages (such as ASM_LOCATIONs) were printed
only to stdout. As a result, they often ended up out of order with
respect to the instruction trace. This patch causes all simulator output
to go to the same stream.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
226503004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20580
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 8 Apr 2014 13:14:03 +0000 (13:14 +0000)]
Handlify RegExpKey.
This fixed mjsunit/unicode-case-overoptimization after r20578.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
228483004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20579
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 8 Apr 2014 12:33:08 +0000 (12:33 +0000)]
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
rmcilroy@chromium.org [Tue, 8 Apr 2014 12:28:28 +0000 (12:28 +0000)]
Use correct call size for PredictableCodeSizeScopes.
If out-of-line constant pool is enabled, then calls can be 3 instructions
rather than 2. Fix the hard-coded PredictableCodeSizeScopes values with values
based on CallSize instead.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
226503003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20577
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 8 Apr 2014 12:07:49 +0000 (12:07 +0000)]
Automatically determine current V8 sheriff in chromium-roll script.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
225283007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20576
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 8 Apr 2014 11:13:26 +0000 (11:13 +0000)]
Shut up Windows and ASAN
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
226883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20575
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 8 Apr 2014 10:50:56 +0000 (10:50 +0000)]
Reland "Refactoring to allow adding new structured types"
Same as before, except that it's now using a void array instead of a struct, to shut up Clang warnings.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
224733023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20574
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Tue, 8 Apr 2014 10:00:57 +0000 (10:00 +0000)]
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
yangguo@chromium.org [Tue, 8 Apr 2014 09:49:49 +0000 (09:49 +0000)]
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
yangguo@chromium.org [Tue, 8 Apr 2014 09:44:24 +0000 (09:44 +0000)]
Change exception type to Object.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
227163008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20571
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 8 Apr 2014 09:36:04 +0000 (09:36 +0000)]
Fix invalid local property lookup for transitions.
BUG=361025
LOG=y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
224903023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20570
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 8 Apr 2014 08:26:40 +0000 (08:26 +0000)]
Add proper dependencies for the GNU GLOBAL tags db.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
228293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20565
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 8 Apr 2014 08:07:50 +0000 (08:07 +0000)]
Work-around for GNU GLOBAL on 64-bit Ubuntu.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
228263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20564
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 8 Apr 2014 07:54:27 +0000 (07:54 +0000)]
Fix more MUST_USE_RESULT warnings.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
228233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20563
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 8 Apr 2014 07:48:47 +0000 (07:48 +0000)]
Revert "Refactoring to allow adding new structured types"
This reverts commit r20538 for breaking gcmole.
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
228223002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20562
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 8 Apr 2014 07:43:46 +0000 (07:43 +0000)]
Fix MUST_USE_RESULT warning.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
228203003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20561
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 8 Apr 2014 07:04:13 +0000 (07:04 +0000)]
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
yangguo@chromium.org [Tue, 8 Apr 2014 06:45:53 +0000 (06:45 +0000)]
Handlify LookupSingleCharacterStringFromCode.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
227593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20559
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 8 Apr 2014 06:38:19 +0000 (06:38 +0000)]
Handlify RuntimeHidden_RegExpConstructResult.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
227593003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20558
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 8 Apr 2014 06:19:05 +0000 (06:19 +0000)]
Add support for GNU GLOBAL.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
225183015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20557
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 8 Apr 2014 06:15:20 +0000 (06:15 +0000)]
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
plind44@gmail.com [Mon, 7 Apr 2014 16:37:30 +0000 (16:37 +0000)]
MIPS: Fixed flooring division by -1.
Port r20544 (a64196c)
Original commit message:
We should avoid ASR #0 on ARM. Simplified and improved code a bit
while we're there on all platforms. Human brains are very bad at
understanding nested structures...
BUG=v8:3259
LOG=y
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
227583003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20553
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 7 Apr 2014 14:27:48 +0000 (14:27 +0000)]
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
yangguo@chromium.org [Mon, 7 Apr 2014 14:22:57 +0000 (14:22 +0000)]
Handlify TransitionElements in runtime.cc.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
227113007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20551
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 7 Apr 2014 14:22:32 +0000 (14:22 +0000)]
Remove gc greedy mode.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
227553005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20550
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 7 Apr 2014 13:40:03 +0000 (13:40 +0000)]
Fix build.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
227653003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20549
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 7 Apr 2014 13:36:43 +0000 (13:36 +0000)]
Do not greedy GC if no allocation is expected/allowed.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
227513003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20548
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 7 Apr 2014 12:55:06 +0000 (12:55 +0000)]
Handlify TypeFeedbackOracle::SetInfo.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
226623007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20547
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 7 Apr 2014 12:43:35 +0000 (12:43 +0000)]
Handlify ten allocator functions from the Heap.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
227623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20546
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Mon, 7 Apr 2014 12:33:03 +0000 (12:33 +0000)]
ARM64: Introduce a version of ADR handling distant targets.
This fixes an out-of-range label error for an ADR instruction in the
mozilla/data/js1_5/Regress/regress-280769-2.js test.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
222433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20545
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 7 Apr 2014 12:08:40 +0000 (12:08 +0000)]
Fixed flooring division by -1 on ARM.
We should avoid ASR #0 on ARM. Simplified and improved code a bit
while we're there on all platforms. Human brains are very bad at
understanding nested structures...
BUG=v8:3259
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
227553003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20544
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Mon, 7 Apr 2014 12:06:54 +0000 (12:06 +0000)]
ARM64: Fix disassembly of branch targets.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
225743004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20543
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 7 Apr 2014 12:00:53 +0000 (12:00 +0000)]
Add missing runtime assert for LiveEdit.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
227043009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20542
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 7 Apr 2014 11:36:33 +0000 (11:36 +0000)]
Handlify i18n.cc.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
226543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20541
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 7 Apr 2014 11:32:32 +0000 (11:32 +0000)]
Handlify LiveEdit.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
227483007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20540
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 7 Apr 2014 11:11:25 +0000 (11:11 +0000)]
Deprecate Context::HasOutOfMemoryException.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
225723004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20539
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 7 Apr 2014 11:00:41 +0000 (11:00 +0000)]
Refactoring to allow adding new structured types
Also, simplfy representation of zone types, using a simple struct.
R=bmeurer@chromium.org
BUG=
LOG=N
Review URL: https://codereview.chromium.org/
225923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20538
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 7 Apr 2014 10:44:48 +0000 (10:44 +0000)]
Skip a bunch of new failing nacl tests
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
227133006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20535
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 7 Apr 2014 10:24:01 +0000 (10:24 +0000)]
Make `String.prototype.contains` throw when passing a regular expression
Contributed by Mathias Bynens <mathiasb@opera.com>.
TEST=mjsunit/harmony
BUG=v8:3261
LOG=Y
R=yangguo@chromium.org, arv@chromium.org, ishell@chromium.org
Review URL: https://codereview.chromium.org/
227113005
Patch from Mathias Bynens <mathiasb@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20534
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 7 Apr 2014 10:12:54 +0000 (10:12 +0000)]
Handlify six allocator functions from the Heap.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
227533002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20533
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 7 Apr 2014 10:00:14 +0000 (10:00 +0000)]
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
bmeurer@chromium.org [Mon, 7 Apr 2014 09:41:13 +0000 (09:41 +0000)]
Use distinct maps for oddballs with special handling in the type system.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
227473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20531
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 7 Apr 2014 09:20:44 +0000 (09:20 +0000)]
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
jarin@chromium.org [Mon, 7 Apr 2014 08:42:34 +0000 (08:42 +0000)]
Dead code elimination of inlined arguments objects causes wrong deopt info to be generated - instead of materializing the arguments, we get 'undefined'.
Golem says the change is perf-neutral.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
208683006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20529
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 7 Apr 2014 08:04:25 +0000 (08:04 +0000)]
Yet another regression test for range analysis.
BUG=v8:3204
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
224723016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20528
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 7 Apr 2014 07:52:24 +0000 (07:52 +0000)]
Fix for v8:3255 Grow KeyedStoreIC doesn't respect String value wrappers
BUG=v8:3255
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
226053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20527
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Mon, 7 Apr 2014 07:40:18 +0000 (07:40 +0000)]
compiler.cc: Remove a comment which is no longer true.
We don't do any automatic PreParsing in Compiler::Compile any more (it was
removed by r10066, > 2 years ago).
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
225993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20526
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 7 Apr 2014 05:54:32 +0000 (05:54 +0000)]
Make TypedArray::New fucntions crash on wrong lengths.
R=jkummerow@chromium.org
BUG=359802
LOG=N
Review URL: https://codereview.chromium.org/
225983005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20525
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Fri, 4 Apr 2014 20:41:57 +0000 (20:41 +0000)]
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
mvstanton@chromium.org [Fri, 4 Apr 2014 16:18:59 +0000 (16:18 +0000)]
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
jkummerow@chromium.org [Fri, 4 Apr 2014 16:05:29 +0000 (16:05 +0000)]
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
jkummerow@chromium.org [Fri, 4 Apr 2014 15:25:37 +0000 (15:25 +0000)]
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
palfia@homejinni.com [Fri, 4 Apr 2014 15:17:37 +0000 (15:17 +0000)]
MIPS: Reland "Fixed environment assignment for LCheckNonSmi."
Port r20495 (
705b65bc)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
225023007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20518
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@arm.com [Fri, 4 Apr 2014 15:02:39 +0000 (15:02 +0000)]
ARM64: fix simulator constructor
BUG=
R=ulan@chromium.org, bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
226023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20517
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 4 Apr 2014 13:57:53 +0000 (13:57 +0000)]
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
alexandre.rames@arm.com [Fri, 4 Apr 2014 13:41:12 +0000 (13:41 +0000)]
ARM64: Use direct deoptimization exits.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
225703002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20515
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 4 Apr 2014 13:20:24 +0000 (13:20 +0000)]
ElementsAccessor's public interface handlification.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
225933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20514
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 4 Apr 2014 13:05:37 +0000 (13:05 +0000)]
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
rodolph.perfetta@arm.com [Fri, 4 Apr 2014 12:54:12 +0000 (12:54 +0000)]
ARM64: fix constant pool size used by disassembler
BUG=
R=ulan@chromium.org, bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
225403005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20512
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 4 Apr 2014 12:36:23 +0000 (12:36 +0000)]
Update tests to use the new compilation API + related fixes.
Esp. get rid of PreCompile in tests, as it's going to be removed.
Notes:
- The new compilation API doesn't have a separate precompilation phase, so there
is no separate way to check for errors except checking the compilation
errors. Removed some tests which don't make sense any more.
- test-api/Regress31661 didn't make sense as a regression test even before the
compilation API changes, because Blink doesn't precompile this short scripts. So
detecting this kind of errors (see crbug.com/31661 for more information) cannot rely
on precompilation errors.
- test-parsing/PreParserStrictOctal has nothing to do with PreParser, and the comment
about "forcing preparsing" was just wrong.
- test-api/PreCompile was supposed to test that "pre-compilation (aka
preparsing) can be called without initializing the whole VM"; that's no longer
true, since there's no separate precompilation step in the new compile
API. There are other tests (test-parsing/DontRegressPreParserDataSizes) which
ensure that we produce cached data.
- Updated tests which test preparsing to use PreParser directly (not via the
preparsing API).
- In the new compilation API, the user doesn't need to deal with ScriptData
ever. It's only used internally, and needed in tests that test internal aspects
(e.g., modify the cached data before passing it back).
- Some tests which used to test preparse + parse now test first time parse +
second time parse, and had to be modified to ensure we don't hit the
compilation cache.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
225743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20511
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 4 Apr 2014 12:25:45 +0000 (12:25 +0000)]
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
yangguo@chromium.org [Fri, 4 Apr 2014 12:06:11 +0000 (12:06 +0000)]
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
rmcilroy@chromium.org [Fri, 4 Apr 2014 11:12:40 +0000 (11:12 +0000)]
Fix fixed-point vcvt_f64_s32 immediate value encoding
The (32 - fraction_bits) value should be encoded so that the least
significant bit is set to bit 5 and the four next bits to bits 0-3. Fix
the previously incorrect encoding. This bug did not cause behavioral
issues before, since in existing uses of the function the order of the
bits in the immediate value does not matter, as they are all 1.
BUG=3256
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
223623003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20508
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 4 Apr 2014 09:25:36 +0000 (09:25 +0000)]
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
bmeurer@chromium.org [Fri, 4 Apr 2014 09:00:30 +0000 (09:00 +0000)]
Properly pass dim to recursive calls in TypePrint().
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
224723007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20502
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 4 Apr 2014 08:46:49 +0000 (08:46 +0000)]
Make sure value is a heap number when reusing the double box in BinaryOpICStub.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
216823005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20501
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 4 Apr 2014 08:17:23 +0000 (08:17 +0000)]
Maybehandlification of EnsureJSArrayWithWritableFastElements().
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
223743003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20498
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 4 Apr 2014 07:23:45 +0000 (07:23 +0000)]
Make auto-roll script also roll patched trunk revisions.
This will allow the auto-roll bot to roll the last trunk patches, e.g. "Version 3.4.5.1 ...".
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
223863003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20497
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 4 Apr 2014 07:21:59 +0000 (07:21 +0000)]
TypePrint() does not depend on Object::Print().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
225353004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20496
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 4 Apr 2014 07:07:34 +0000 (07:07 +0000)]
Reland "Fixed environment assignment for LCheckNonSmi."
Now with (hopefully correct) ARM64 part... :-}
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
225313003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 4 Apr 2014 04:49:07 +0000 (04:49 +0000)]
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
palfia@homejinni.com [Thu, 3 Apr 2014 23:34:28 +0000 (23:34 +0000)]
MIPS: Check in Lithium that allocation size in Smi range.
Port r20458 (
984d99c9)
Oirginal commit message:
This is to avoid triggering an assertion from Smi::FromInt. The
generated code is unreachable, so it is not a real bug.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
224583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20491
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alph@chromium.org [Thu, 3 Apr 2014 16:32:59 +0000 (16:32 +0000)]
Do not mark prototype transitions link as weak in heap snapshot.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
223643004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 3 Apr 2014 16:25:05 +0000 (16:25 +0000)]
Harden IsMoreGeneralElementsKindTransition.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
213783004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20489
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 3 Apr 2014 14:42:56 +0000 (14:42 +0000)]
Further Kraken regression recover due to handlification.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
223873004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Thu, 3 Apr 2014 14:30:44 +0000 (14:30 +0000)]
ARM64: Fixes and more support for FRINT<X> instructions.
Fix simulation and tests for the [-0.5, -0.0[ range for FRINTA and FRINTN, and
add support for FRINTM.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
223843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20487
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Thu, 3 Apr 2014 14:28:40 +0000 (14:28 +0000)]
ARM64: Fix the atomic type width in the 64bit Acquire_Load().
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
220203012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20486
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 3 Apr 2014 14:25:59 +0000 (14:25 +0000)]
Return MaybeHandle from JsonParser.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
223553003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20485
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Thu, 3 Apr 2014 14:04:05 +0000 (14:04 +0000)]
Revert r20476.
Reason for revert: crashes arm64.debug cctest
Fatal error in ../src/hydrogen-instructions.h, line 2968
CHECK(value->IsCheckHeapObject()) failed
Fixed environment assignment for LCheckNonSmi.
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
223873003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20484
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 3 Apr 2014 13:01:22 +0000 (13:01 +0000)]
Fix bug entry and quotation marks in merge-to-branch.
This fixes usage of quotation marks inside titles of merged patches.
This also fixes aggregation of empty or "none" BUG entries.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
223463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20483
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 3 Apr 2014 12:57:33 +0000 (12:57 +0000)]
Add merged patches to commit title in merge-to-branch.
This makes it easier to grep for patches in title in the revision history.
This also removes the redundant information into which branch was merged, as this can be derived from the version number in the title now.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
223753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20482
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 3 Apr 2014 12:41:37 +0000 (12:41 +0000)]
Return MaybeHandle from NewExternalStringFrom*.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
223653003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 3 Apr 2014 12:30:37 +0000 (12:30 +0000)]
Reland "Return MaybeHandle from NewConsString."
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
223813002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20480
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 3 Apr 2014 12:30:08 +0000 (12:30 +0000)]
Return MaybeHandle from NewRaw???String.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
223573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20479
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 3 Apr 2014 12:27:24 +0000 (12:27 +0000)]
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
mstarzinger@chromium.org [Thu, 3 Apr 2014 12:23:35 +0000 (12:23 +0000)]
Use premordial Object.isSealed/isFrozen in builtins.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
223473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20477
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 3 Apr 2014 12:12:28 +0000 (12:12 +0000)]
Fixed environment assignment for LCheckNonSmi.
This fixes browsing facebook.com with a debug version of Chrome.
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
223763003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20476
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00