Commit Graph

15942 Commits

Author SHA1 Message Date
bmeurer@chromium.org
a0ac88db82 Fix various bugs in the type systems, and improve test coverage.
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/230463003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 11:12:15 +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
ishell@chromium.org
d49e3fa75a Revert "Further ElementsAccessor handlification (GetKeyForIndex(), GetCapacity(), GetType() and GetAttributes())."
This reverts commit r20606 for breaking tests on windows.

TBR=dcarney@chromium.org

Review URL: https://codereview.chromium.org/230603002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 10:58:17 +00:00
ishell@chromium.org
773738d4d1 Further ElementsAccessor handlification (GetKeyForIndex(), GetCapacity(), GetType() and GetAttributes()).
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/228643003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 09:58:26 +00:00
jochen@chromium.org
d426cd1012 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
2014-04-09 09:54:49 +00:00
hpayer@chromium.org
728614daf9 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
2014-04-09 09:50:25 +00:00
jarin@chromium.org
69d5b3c155 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
2014-04-09 09:50:08 +00:00
mstarzinger@chromium.org
e3aec7a587 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
2014-04-09 09:14:56 +00:00
yangguo@chromium.org
a8ad1390e7 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
2014-04-09 09:01:38 +00:00
mstarzinger@chromium.org
f1a22a0fd2 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
2014-04-09 08:51:46 +00:00
hpayer@chromium.org
c85cc472e7 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
2014-04-09 08:20:10 +00:00
jarin@chromium.org
05670b63bf 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
2014-04-09 07:35:12 +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
jochen@chromium.org
60422b4541 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
2014-04-08 18:12:00 +00:00
jochen@chromium.org
a9d9b72989 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
2014-04-08 17:19:15 +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
Jacob.Bramley@arm.com
e93599c502 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
2014-04-08 13:23:04 +00:00
ulan@chromium.org
4b5f38ef0c 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
2014-04-08 13:14:03 +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
c8df5f42a2 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
2014-04-08 12:28:28 +00:00
machenbach@chromium.org
c9d8b90f1b 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
2014-04-08 12:07:49 +00:00
rossberg@chromium.org
91dec1adfe 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
2014-04-08 11:13:26 +00:00
rossberg@chromium.org
19f924a2ae 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
2014-04-08 10:50:56 +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
3726ba90a7 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
2014-04-08 09:44:24 +00:00
bmeurer@chromium.org
48e0d81205 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
2014-04-08 09:36:04 +00:00
bmeurer@chromium.org
91bc885f88 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
2014-04-08 08:26:40 +00:00
bmeurer@chromium.org
b40c837e44 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
2014-04-08 08:07:50 +00:00
yangguo@chromium.org
23dbc85bd7 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
2014-04-08 07:54:27 +00:00
dcarney@chromium.org
1d138ecdd5 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
2014-04-08 07:48:47 +00:00
yangguo@chromium.org
f7bb456035 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
2014-04-08 07:43:46 +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
yangguo@chromium.org
4fcc06685f 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
2014-04-08 06:45:53 +00:00
yangguo@chromium.org
3d0c96f881 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
2014-04-08 06:38:19 +00:00
bmeurer@chromium.org
ec56870d80 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
2014-04-08 06:19:05 +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
plind44@gmail.com
fcdb87f829 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
2014-04-07 16:37:30 +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
yangguo@chromium.org
8d3bd70292 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
2014-04-07 14:22:57 +00:00
hpayer@chromium.org
7f54e1999c 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
2014-04-07 14:22:32 +00:00
yangguo@chromium.org
e2c11311f6 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
2014-04-07 13:40:03 +00:00
yangguo@chromium.org
97a223e569 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
2014-04-07 13:36:43 +00:00
yangguo@chromium.org
385cc59c52 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
2014-04-07 12:55:06 +00:00
mstarzinger@chromium.org
0a11d550c7 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
2014-04-07 12:43:35 +00:00
alexandre.rames@arm.com
622ddd3495 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
2014-04-07 12:33:03 +00:00
svenpanne@chromium.org
341ec1b50e 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
2014-04-07 12:08:40 +00:00
alexandre.rames@arm.com
20461079e9 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
2014-04-07 12:06:54 +00:00
yangguo@chromium.org
638a53ec15 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
2014-04-07 12:00:53 +00:00