Jacob.Bramley@arm.com [Thu, 10 Apr 2014 15:47:45 +0000 (15:47 +0000)]
ARM64: Preserve x8 and x9 when necessary.
Fix a couple of places were x8 and x9 are excluded from lists of saved
registers. These are caller-saved registers, so C code can corrupt them.
x8 and x9 were originally reserved for debug code in the ARM64 port, so
we didn't bother preserving them, but they are now normal allocatable
registers.
BUG=v8:3263
LOG=N
R=rmcilroy@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
233373002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20658
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vogelheim@chromium.org [Thu, 10 Apr 2014 14:53:32 +0000 (14:53 +0000)]
Add support for --raw and --omit to js2c.
--raw writes the raw source data to a separate file
--omit allows omitting the source data from the generated files.
The intention is (future) support for having the embedder optionally
store the source data 'blob' and handling it to V8::Initialize, with
the goal of reducing the binary size of V8.
The patch also contains numerous unrelated changes/refactorings in the hope of increasing maintainability. Let me know whether you agree. In particular:
- Remove some unused code.
- Do not overwrite Python built-ins (e.g. the type() function)
- Do not use a string as exception object (no longer supported in python 2.7)
- Add command line argument handling + help text.
- Split logic into:
- PrepareSources - which reads + preprocesses the source files
- BuildMetadata - which takes the prepared sources and generates the data the code template needs.
BUG=355539
LOG=N
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
225723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20657
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vogelheim@chromium.org [Thu, 10 Apr 2014 13:51:30 +0000 (13:51 +0000)]
Remove V8_ALLOW_ACCESS_TO_RAW_HANDLE_CONSTRUCTOR.
The usage of this define has been obsoleted by removal of UnsafePersistent
from Chromium.
Depends on https://codereview.chromium.org/
230613005
R=dcarney@chromium.org
BUG=276323
LOG=N
Review URL: https://codereview.chromium.org/
230443004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20656
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 10 Apr 2014 13:17:48 +0000 (13:17 +0000)]
Partially fix semantics of Array.push()
Semantics of elements accessors are now preserved in all optimized code paths
through Array.push(). Previously it was possible to have inconsistent behavior
between optimized and unoptimized code, and there were cases where element
accessors were completely ingored.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
232873002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20655
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 10 Apr 2014 13:06:52 +0000 (13:06 +0000)]
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
ulan@chromium.org [Thu, 10 Apr 2014 12:40:55 +0000 (12:40 +0000)]
Revert r20652 "Handlify and convert string.length to new API-style accessor."
Reason: test failure with --noenable-sse3.
R=dcarney@chromium.org
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
232933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20653
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 10 Apr 2014 12:00:36 +0000 (12:00 +0000)]
Handlify and convert string.length to new API-style accessor.
BUG=
R=dcarney@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
230693003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20652
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 10 Apr 2014 11:59:10 +0000 (11:59 +0000)]
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
bmeurer@chromium.org [Thu, 10 Apr 2014 11:51:03 +0000 (11:51 +0000)]
Treat uninitialized as internal type.
TEST=cctest/test-types
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
232913002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20650
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 10 Apr 2014 11:49:18 +0000 (11:49 +0000)]
Yet more type system tests
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
232843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20649
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 10 Apr 2014 11:01:09 +0000 (11:01 +0000)]
Revert "Populate receiver types when there is no type feedback"
This reverts r20646.
TBR=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
232903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20648
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 10 Apr 2014 10:43:13 +0000 (10:43 +0000)]
Add random_seed parameter to run-deopt-fuzzer.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
226843003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20647
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 10 Apr 2014 09:49:53 +0000 (09:49 +0000)]
Populate receiver types when there is no type feedback
When there is no type feedback yet, ComputeReceiverTypes
should still populate the SmallMapList when the receiver
is a HConstant.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
230363003
Patch from Petka Antonov <p.antonov@partner.samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20646
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 10 Apr 2014 09:40:17 +0000 (09:40 +0000)]
Do not use ranges after range analysis.
Due to the SSA vs. SSI difference, we are only allowed to use the
flags computed during range analysis, not the ranges themselves. For
the case at hand, there is no such flag, so the condition is simply
remvoed.
BUG=361608
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
232553004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20645
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 10 Apr 2014 09:20:11 +0000 (09:20 +0000)]
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
bmeurer@chromium.org [Thu, 10 Apr 2014 09:14:46 +0000 (09:14 +0000)]
Fix compiler warnings on Win64.
TEST=cctest/test-types
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
232773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20643
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 10 Apr 2014 08:32:36 +0000 (08:32 +0000)]
Grow small old generation faster.
BUG=
R=bmeurer@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
232593003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20640
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 10 Apr 2014 08:04:50 +0000 (08:04 +0000)]
Fix symmetry of Maybe() predicate. Fix bug in NowContains() predicate.
Add tests for TypeImpl::Of(), TypeImpl::NowOf() and
TypeImpl::NowContains(). Improves the implementation of
TypeImpl::NowIs() to match that of TypeImpl::NowContains().
Mark test-types with NO_VARIANTS to speedup testing, since
the variants do not affect the type system at all.
Also improve test coverage for types.
TEST=cctest/test-types
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
230673002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20639
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 10 Apr 2014 07:56:40 +0000 (07:56 +0000)]
Disable concurrent sweeping.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
232413003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20638
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 10 Apr 2014 07:25:49 +0000 (07:25 +0000)]
Improve reproducibility of test runs.
Add random seed to run-tests.py, using either a user supplied
value or a random number generated by random.SystemRandom().
This same random seed is passed to all test cases, making sure
that we can easily reproduce test failures that depend on
random numbers (i.e. bugs related to our handwritten ASLR).
Also fix all uses of rand() to make use of our RNG class
instead.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
231443002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20637
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Thu, 10 Apr 2014 02:11:43 +0000 (02:11 +0000)]
Introduce LoadSharedFunctionInfoSpecialField for x64 port.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
231013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20636
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Thu, 10 Apr 2014 01:25:28 +0000 (01:25 +0000)]
Update Integer32ToSmiField, SmiToInteger32, and SmiComprare to support 31-bit SMI for x32 port
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
222133003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20635
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Thu, 10 Apr 2014 00:32:19 +0000 (00:32 +0000)]
Guard 32-bit SMI load/store optimization with SmiValuesAre32Bits predicate.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
228073004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20634
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 9 Apr 2014 15:45:12 +0000 (15:45 +0000)]
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
yangguo@chromium.org [Wed, 9 Apr 2014 15:38:45 +0000 (15:38 +0000)]
Remove unused function typedefs.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
230833002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20630
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 9 Apr 2014 14:30:02 +0000 (14:30 +0000)]
Add V8 releases script.
This script retrieves the history of all V8 branches and trunk revisions and their corresponding Chromium revisions.
TEST=tools/push-to-trunk/releases.py -c <chrome path> --csv test.csv
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
227583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20629
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 9 Apr 2014 14:26:32 +0000 (14:26 +0000)]
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
machenbach@chromium.org [Wed, 9 Apr 2014 14:01:03 +0000 (14:01 +0000)]
Fix test expectations for nosnap windows.
BUG=v8:3216
LOG=n
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
230913002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20627
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 9 Apr 2014 13:39:03 +0000 (13:39 +0000)]
Revert "Make new space iterable when transitioning double array to objects"
This reverts r20603.
BUG=
Review URL: https://codereview.chromium.org/
230863003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20626
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 9 Apr 2014 13:16:19 +0000 (13:16 +0000)]
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
jarin@chromium.org [Wed, 9 Apr 2014 13:08:28 +0000 (13:08 +0000)]
Avoid hydrogen compare-objects-equal assertions in dead code
ClusterFuzz test is triggering assertions for dead code. This fix issues
HDeoptimize instruction when it finds out that the compare instruction
is dead (because of previous checks).
R=yangguo@chromium.org
BUG=359491
LOG=N
Review URL: https://codereview.chromium.org/
228883005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20620
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 9 Apr 2014 13:05:56 +0000 (13:05 +0000)]
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
machenbach@chromium.org [Wed, 9 Apr 2014 13:01:54 +0000 (13:01 +0000)]
Skip tests in nosnap mode.
Depends on https://codereview.chromium.org/
230743002/.
BUG=v8:3216
LOG=n
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
230583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20618
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 9 Apr 2014 12:57:43 +0000 (12:57 +0000)]
Add the ability to disable tests in nosnap mode.
BUG=v8:3216
LOG=n
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
230743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20617
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 9 Apr 2014 12:56:24 +0000 (12:56 +0000)]
Reland of r20606: Further ElementsAccessor handlification (GetKeyForIndex(), GetCapacity(), GetType() and GetAttributes()).
It was not related to test failures.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
230373007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20616
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 9 Apr 2014 12:45:56 +0000 (12:45 +0000)]
Allow the embedder to pass the virtual memory limit to v8
The getrlimit() call might be sandboxed, so it's not safe to use it.
BUG=none
R=mstarzinger@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
228923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20615
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 9 Apr 2014 12:33:51 +0000 (12:33 +0000)]
Fix argument expectation Runtime_StringParseInt.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
230693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20614
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Wed, 9 Apr 2014 12:27:51 +0000 (12:27 +0000)]
ARM64: Use pair memory access in deoptimizer entry
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
228573003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20613
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 9 Apr 2014 12:27:20 +0000 (12:27 +0000)]
Turn on concurrent sweeping.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
230733002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20612
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 9 Apr 2014 12:21:47 +0000 (12:21 +0000)]
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
hpayer@chromium.org [Wed, 9 Apr 2014 12:21:20 +0000 (12:21 +0000)]
Use no barrier size accessor in FreeListCategory::SumFreeList.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
230613002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20610
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 9 Apr 2014 11:12:15 +0000 (11:12 +0000)]
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
palfia@homejinni.com [Wed, 9 Apr 2014 11:01:58 +0000 (11:01 +0000)]
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
ishell@chromium.org [Wed, 9 Apr 2014 10:58:17 +0000 (10:58 +0000)]
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
ishell@chromium.org [Wed, 9 Apr 2014 09:58:26 +0000 (09:58 +0000)]
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
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