dcarney@chromium.org [Mon, 9 Sep 2013 10:10:26 +0000 (10:10 +0000)]
temporarily remove persistent destructor to allow trunk push
TBR=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
24023004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16590
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 9 Sep 2013 09:53:58 +0000 (09:53 +0000)]
Consider out-of-bounds accesses as escaping uses.
R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis
Review URL: https://codereview.chromium.org/
23892007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16589
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 9 Sep 2013 09:25:23 +0000 (09:25 +0000)]
new persistent semantics
adds copying and autodispose as traits
R=marja@chromium.org, mstarzinger@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23401003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16588
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 9 Sep 2013 07:57:23 +0000 (07:57 +0000)]
thread isolate for HConstant::handle
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
24027004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16587
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 9 Sep 2013 07:52:52 +0000 (07:52 +0000)]
add uncached Function::New
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
24071002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16586
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 9 Sep 2013 07:16:24 +0000 (07:16 +0000)]
revert 16584 for breaking build
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23680014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16585
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 9 Sep 2013 07:08:34 +0000 (07:08 +0000)]
add uncached Function::New
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23561007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16584
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 9 Sep 2013 05:44:54 +0000 (05:44 +0000)]
Replace uses of MUST_USE_RESULT by V8_WARN_UNUSED_RESULT in ElapsedTimer.
R=bmeurer@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: https://codereview.chromium.org/
23523034
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16583
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Sun, 8 Sep 2013 19:50:55 +0000 (19:50 +0000)]
Increase test timeout on slow architectures.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
24037002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16582
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
prybin@chromium.org [Sun, 8 Sep 2013 19:05:29 +0000 (19:05 +0000)]
Debug: parameterize 'step over' action with a frame where the step must be performed
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
23533015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16581
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 6 Sep 2013 17:21:27 +0000 (17:21 +0000)]
MIPS: store ics for js api accessors.
Port r16571 (9266312)
BUG=
Review URL: https://codereview.chromium.org/
23780003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16580
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 6 Sep 2013 15:21:38 +0000 (15:21 +0000)]
Fix bitwise negation on x64
BUG=chromium:285355
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
24037003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16579
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 6 Sep 2013 13:52:59 +0000 (13:52 +0000)]
Disable recently added failing InitializeAndDisposeOnce test.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
23542010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16578
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 6 Sep 2013 13:18:26 +0000 (13:18 +0000)]
Some thread data simplifications.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
24036002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16577
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@gmail.com [Fri, 6 Sep 2013 13:12:46 +0000 (13:12 +0000)]
ARM: Improve integer multiplication.
TEST=test/mjsunit/lithium/MulI.js
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23452022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16576
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 6 Sep 2013 13:06:39 +0000 (13:06 +0000)]
Let BuildStore/BuildLoad distinguish between keyed/named load/stores.
R=bmeurer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23537024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16575
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 6 Sep 2013 12:25:46 +0000 (12:25 +0000)]
It should break out while loop once page_has_scan_on_scavenge_flag is found, there is no need check all of the items in the list.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23597017
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16574
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 6 Sep 2013 11:41:02 +0000 (11:41 +0000)]
Fixed 2 space leaks in CreateMemmoveFunction, finally making valgrind happy.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23714007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16573
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 6 Sep 2013 11:32:46 +0000 (11:32 +0000)]
Properly filter types using the initial map from HAllocate.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23615012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16572
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 6 Sep 2013 11:31:25 +0000 (11:31 +0000)]
store ics for js api accessors
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23549019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16571
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 6 Sep 2013 11:29:13 +0000 (11:29 +0000)]
Drop GetCurrentThreadId() and TerminateExecution(int) from the external API.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
23538007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16570
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 6 Sep 2013 11:24:26 +0000 (11:24 +0000)]
Revert "Fix multiple V8::Dispose calls since r16563." and disable test.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23522022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16569
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 6 Sep 2013 11:04:20 +0000 (11:04 +0000)]
Fix polymorphic INTERCEPTOR StoreICs on ARM/MIPS
BUG=chromium:284998
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
23990004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16566
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 6 Sep 2013 11:02:43 +0000 (11:02 +0000)]
Fix multiple V8::Dispose calls since r16563.
R=svenpanne@chromium.org
BUG=v8:2744
TEST=cctest/test-api/InitializeAndDisposeMultiple
Review URL: https://codereview.chromium.org/
23775007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16565
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 6 Sep 2013 06:25:06 +0000 (06:25 +0000)]
Check if timeout has expired after processing each sample
To avoid long intervals between taking samples due to processing all accumulated samples at once, the samples are processed one by one and we check if the sampling interval has elapsed after each step rather than after processing all the samples in the queue.
This is a modified version of r16549 whith a fix for test flakiness. The test flakiness introduced by the previous version of this changed was fixed by changing return type of ProfilerEventsProcessor::ProcessOneSample from bool to enum with 3 options. In the main profiling loop we decide that the next code event should be processed when sample with a greater ordinal number is encountered. When processing remaining samples we shouldn't wait for more samples and if the samples queue is empty we just process next code event.
BUG=v8:2814,v8:2871
R=bmeurer@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
23455036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16564
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 5 Sep 2013 18:53:39 +0000 (18:53 +0000)]
Remove obsolete global V8::has_been_fooed flags.
R=yangguo@chromium.org
BUG=v8:2744
TEST=cctest/test-api/InitializeAndDispose
Review URL: https://codereview.chromium.org/
23453030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16563
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 5 Sep 2013 18:41:20 +0000 (18:41 +0000)]
Consistently use CHECK_ALIVE_OR_RETURN in graph builder.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
23819026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16562
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 5 Sep 2013 16:29:07 +0000 (16:29 +0000)]
Prepare push to trunk. Now working on version 3.21.12.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
23519008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16559
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 5 Sep 2013 16:22:46 +0000 (16:22 +0000)]
Wrap PushLoad and BuildStoreInEffect in CHECK_ALIVE.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23903017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16558
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 5 Sep 2013 16:19:33 +0000 (16:19 +0000)]
MIPS: load ics for js api accessors.
Port r16551 (61ce507)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
23868007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16557
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 5 Sep 2013 14:32:49 +0000 (14:32 +0000)]
Fix bug in regexp result object construction.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23548018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16556
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Thu, 5 Sep 2013 13:20:51 +0000 (13:20 +0000)]
Functions may not be optimized and we would like to know in cpu profiler what was the reason.
Current v8 implementation may disable optimization for a particular function or block it with help of dont_optimize flag.
The patch propagates the reason of that to the SharedFunctionInfo where cpu profiler can get it.
SharedFunctionInfo is a heap object so I extracted 8 bits from OptsCount for handling bailout reason code.
BUG=none
TEST=test-profile-generator/BailoutReason
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
23817003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16555
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 5 Sep 2013 12:33:14 +0000 (12:33 +0000)]
Properly close the CountOperation value/effect context after leaving the store effect context.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23897003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16554
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 5 Sep 2013 12:17:17 +0000 (12:17 +0000)]
Revert r16548 due to cpu profiler test falkiness
The change made cctest/test-cpu-profiler/CollectCpuProfile and cctest/test-cpu-profiler/JsNative1JsNative2JsSample flaky.
BUG=v8:2871
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23615011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16553
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 5 Sep 2013 11:27:22 +0000 (11:27 +0000)]
remove most Isolate::Current asserts
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23493019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16552
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 5 Sep 2013 11:18:52 +0000 (11:18 +0000)]
load ics for js api accessors
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23984002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16551
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 5 Sep 2013 11:14:14 +0000 (11:14 +0000)]
fix mac build after 16548
TBR=bmeurer@chromium.org,yurys@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23452023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16550
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 5 Sep 2013 10:31:18 +0000 (10:31 +0000)]
Rename some of SamplingCircularQueue methods
Renamed StartDequeue -> Peek, FinishDequeue -> Remove.
BUG=None
R=bmeurer@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
23686006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16549
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 5 Sep 2013 10:28:57 +0000 (10:28 +0000)]
Check if timeout has expired after processing each sample
To avoid long intervals between taking samples due to processing all accumulated samples at once, the samples are processed one by one and we check if the sampling interval has elapsed after each step rather than after processing all the samples in the queue.
BUG=v8:2814
R=bmeurer@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
23583036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16548
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 5 Sep 2013 10:21:29 +0000 (10:21 +0000)]
revert 16543 for breaking windows build
load ics for js api accessors
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23819021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16547
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 5 Sep 2013 09:01:28 +0000 (09:01 +0000)]
Prevent representation inference from double-visiting.
This prevents representation inference from pushing the current value
into the worklist while it is still being worked on. This might lead
to having a value in the worklist that isn't flexible anymore.
R=verwaest@chromium.org
TEST=mjsunit/compiler/escape-analysis (+GC-Stress)
Review URL: https://codereview.chromium.org/
23452020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16546
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 5 Sep 2013 08:48:34 +0000 (08:48 +0000)]
add isolate parameter for Execution::Call
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23661004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16545
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 5 Sep 2013 08:36:10 +0000 (08:36 +0000)]
Disable map-check relying on cache behavior sensitive to GC-timing
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23892005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16544
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 5 Sep 2013 08:34:17 +0000 (08:34 +0000)]
load ics for js api accessors
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23699002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16543
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 5 Sep 2013 08:17:57 +0000 (08:17 +0000)]
Drop OS::IsOutsideAllocatedSpace() and move the tracking to the MemoryAllocator.
Instead of globally tracking allocated space limits, which was
not implemented properly anyway (i.e. lack of synchronization
on the reading side), track it per MemoryAllocator (that is
per heap/isolate).
In particular, avoid to call IsBadWritePtr() on Windows, it is
obsolete and Microsoft strongly discourages its usage.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23903008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16542
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 5 Sep 2013 07:31:47 +0000 (07:31 +0000)]
ARM: fix cctest/test-code-stub-arm.cc
TEST=cctest/test-code-stub-arm.cc
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23843003
Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16541
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 4 Sep 2013 20:43:21 +0000 (20:43 +0000)]
Revert "This patch implements optimized objectInfo structure which manages the set of observers associated with an object and the changeRecord types which they accept."
This reverts r16539 as it triggers crashes on the GC stress bot.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16540
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 4 Sep 2013 19:21:30 +0000 (19:21 +0000)]
This patch implements optimized objectInfo structure which manages the set of observers associated with an object and the changeRecord types which they accept.
Observation in the normal case (Object.observe, default accept types, one observer) now allocates fewer objects and unobservation no longer needs to scan and splice an InternalArray -- making the combined speed of observe/unobserve about 200% faster.
This patch implements the following optimizations:
-objectInfo is initially created without any connected objects or arrays. The first observer is referenced directly by objectInfo, and when a second observer is added, changeObservers converts to a mapping of callbackPriority->observer, which allows for constant time registration/de-registration.
-observer.accept and objectInfo.performing are conceptually the same data-structure. This is now directly represented as an abstract "TypeMap" which can later be optimized to be a smi in common cases, (e.g: https://codereview.chromium.org/
19269007/).
-objectInfo observers are only represented by an object with an accept typeMap if the set of accept types is non-default
R=rossberg@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=16343
Review URL: https://codereview.chromium.org/
19541010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16539
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 4 Sep 2013 15:25:13 +0000 (15:25 +0000)]
Ignore use requirement from never run code
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23441046
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16538
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Sep 2013 15:19:21 +0000 (15:19 +0000)]
Add better consistency check and error output to plot script.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23736004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16537
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 4 Sep 2013 15:06:36 +0000 (15:06 +0000)]
Fix compilation with Clang after r16530.
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/
23526015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16534
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 4 Sep 2013 13:55:11 +0000 (13:55 +0000)]
Prepare push to trunk. Now working on version 3.21.11.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23955002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16531
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 4 Sep 2013 13:53:24 +0000 (13:53 +0000)]
Add OptimizedCodeList and DeoptimizedCodeList to native contexts. Both lists are weak. This makes it possible to find optimized code that is not referred to by any function, but still needs to be deoptimized. It obsoletes the weak deoptimizing code list in the deoptimizer data and generally simplifies the process of deoptimizing code.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23444029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16530
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 4 Sep 2013 13:46:12 +0000 (13:46 +0000)]
Disable escape analysis to investigate stability offline.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23898003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16529
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 4 Sep 2013 13:37:39 +0000 (13:37 +0000)]
Remove obsolete V8::IdleNotification dispatch.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
23691035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16528
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Sep 2013 12:55:59 +0000 (12:55 +0000)]
Introduce concurrent on-stack replacement.
Currently disabled behind --concurrent-osr.
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23710014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16527
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 4 Sep 2013 12:38:17 +0000 (12:38 +0000)]
Use 1ms CPU profiler sampling interval on Android by default
This CL changes default sampling interval on Android from 5ms to 1ms so that it is the same on all platforms. All perf tests on modern devices (Galaxy Nexus, Nexus 7) show that 1ms should be long enough for profiling on mobile devices.
BUG=None
R=bmeurer@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
23927005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16526
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 4 Sep 2013 11:55:28 +0000 (11:55 +0000)]
Allow configuring CPU profiler sampling interval using public API
The only way to change it at the moment is using a command line flag. We are going to add a setting to Chrome DevTools which would allow chaning default interval and that requires proper v8 API.
BUG=v8:2814
R=bmeurer@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
23902004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16525
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Sep 2013 11:33:51 +0000 (11:33 +0000)]
Build fix for Win64 after r16521.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
23850003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16524
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 4 Sep 2013 11:09:55 +0000 (11:09 +0000)]
build fix for 16520
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23874010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16523
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Sep 2013 10:47:09 +0000 (10:47 +0000)]
Fix race conditions in cctest/test-debug.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23797003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16522
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Sep 2013 10:41:51 +0000 (10:41 +0000)]
Cleanup Socket class and remove it from the platform files.
Move the Socket class to dedicated platform/socket.{cc,h} files.
Cleaned up the implementation to allow for more code sharing.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
23484014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16521
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 4 Sep 2013 10:34:42 +0000 (10:34 +0000)]
remove Isolate::Current from most files starting with 'j' through 'o'
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23578012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16520
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 4 Sep 2013 09:19:17 +0000 (09:19 +0000)]
Use ast_id (id) instead of return_id (LoadId) in simulates for load instructions.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23889006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16519
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Wed, 4 Sep 2013 08:42:43 +0000 (08:42 +0000)]
Add cvtsd2ss into X64 disassembler
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23894002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16518
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 4 Sep 2013 08:19:14 +0000 (08:19 +0000)]
invert Eternal::IsEmpty logic
R=svenpanne@chromium.org
BUG=v8:2870
Review URL: https://codereview.chromium.org/
23914004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16517
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 4 Sep 2013 08:16:54 +0000 (08:16 +0000)]
Put store of postcrement in EffectContext.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23514034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16516
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 4 Sep 2013 07:45:36 +0000 (07:45 +0000)]
Push SetAccessor to Template
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23182003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16515
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 4 Sep 2013 07:27:10 +0000 (07:27 +0000)]
Cleaned up deopt reason messages a bit.
They are now a bit more consistent, and they don't mention the name of a
flag, which will go out of sync some day. ;-)
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23845003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16514
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 4 Sep 2013 07:05:11 +0000 (07:05 +0000)]
remove Isolate::Current from most files starting with 'o' through 'r'
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23757017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16513
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 3 Sep 2013 15:17:51 +0000 (15:17 +0000)]
Initialize CompareOperation::combined_type to avoid crashes.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23811003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16512
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 3 Sep 2013 14:10:25 +0000 (14:10 +0000)]
Support setter inlining in CountOperation.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23757018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16511
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 3 Sep 2013 14:07:38 +0000 (14:07 +0000)]
Unify all 3 implementations of load handling.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23496031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16510
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 3 Sep 2013 13:33:54 +0000 (13:33 +0000)]
Add premonomorphic store ICs
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23442016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16509
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 3 Sep 2013 12:33:52 +0000 (12:33 +0000)]
build fix for 16507
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23892002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16508
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 3 Sep 2013 11:54:08 +0000 (11:54 +0000)]
remove Isolate::Current from most files starting with 's' through 'v'
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23549011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16507
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 3 Sep 2013 11:47:16 +0000 (11:47 +0000)]
remove Isolate::Current from most files starting with 'f' through 'i'
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23886002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 3 Sep 2013 11:39:19 +0000 (11:39 +0000)]
MIPS: Improve TruncateNumberToI implementation after DoubleToIStub usage (r16461).
Using TruncateHeapNumberToI here simplifies the code and we get rid of ConvertToInt32 and EmitOutOfInt32RangeTruncate macro assembler instructions.
BUG=
Review URL: https://codereview.chromium.org/
23444033
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Sep 2013 11:38:39 +0000 (11:38 +0000)]
We can't use pthread_condattr_setclock() in NaCl.
TEST=cctest/test-condition-variable
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23494020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16504
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Sep 2013 11:27:02 +0000 (11:27 +0000)]
Improve cctest/test-condition-variable.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23604027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16501
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Sep 2013 11:24:43 +0000 (11:24 +0000)]
Prepare push to trunk. Now working on version 3.21.10.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23530013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16500
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Sep 2013 10:58:07 +0000 (10:58 +0000)]
Temporarily skip escape analysis when compiling for OSR.
R=jkummerow@chromium.org
TEST=mjsunit/compiler/escape-analysis --stress-compaction
Review URL: https://codereview.chromium.org/
23480028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16499
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 3 Sep 2013 10:11:10 +0000 (10:11 +0000)]
MIPS: thread isolate for files starting with 'b' and 'c'.
Port r16489 (bde75fe)
BUG=
Review URL: https://codereview.chromium.org/
23814003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16498
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Sep 2013 09:45:55 +0000 (09:45 +0000)]
Make sure the fatal OOM handler never returns.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23731004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16497
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Sep 2013 09:35:26 +0000 (09:35 +0000)]
Move global V8::IsDead() into the Isolate.
R=yangguo@chromium.org
BUG=v8:2744
Review URL: https://codereview.chromium.org/
23549010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16496
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 3 Sep 2013 08:55:52 +0000 (08:55 +0000)]
Fix interceptor handling in crankshaft.
R=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23614011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Sep 2013 08:49:44 +0000 (08:49 +0000)]
Move global V8::UseCrankshaft() into the Isolate.
R=jkummerow@chromium.org
BUG=v8:2744
Review URL: https://codereview.chromium.org/
23441029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16494
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 3 Sep 2013 07:34:34 +0000 (07:34 +0000)]
Deprecate Persistent functions which were marked to be deprecated.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
23707009
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16493
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Sep 2013 07:30:01 +0000 (07:30 +0000)]
Import ConditionVariable class.
Condition variables are synchronization primitives that can be used
to block one or more threads while waiting for condition to become
true.
Right now we have only semaphores, mutexes and atomic operations for
synchronization, which results in quite complex solutions where an
implementation using condition variables and mutexes would be straight
forward.
There's also a performance benefit to condition variables and mutexes
vs semaphores, especially on Windows, where semaphores are kernel
objects, while mutexes are implemented as fast critical sections,
it CAN be beneficial performance-wise to use condition variables
instead of semaphores.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23548007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16492
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 3 Sep 2013 07:19:32 +0000 (07:19 +0000)]
build fix for 16490
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23835003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16491
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 3 Sep 2013 06:59:01 +0000 (06:59 +0000)]
remove Isolate::Current from most files starting with 'd' and 'e'
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23606012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 3 Sep 2013 06:57:16 +0000 (06:57 +0000)]
thread isolate for files starting with 'b' and 'c'
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23729006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16489
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 2 Sep 2013 17:06:08 +0000 (17:06 +0000)]
Remove obsolete global V8::IsRunning() predicate.
R=yangguo@chromium.org
BUG=v8:2744
Review URL: https://codereview.chromium.org/
23597013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 2 Sep 2013 16:53:39 +0000 (16:53 +0000)]
Enable escape analysis for Hydrogen.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23629016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16485
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 2 Sep 2013 16:51:44 +0000 (16:51 +0000)]
Fix OSR to ignore phis without merge index in loop entry.
This fixes a corner case introduced by escape analysis where phis are
introduced in OSR loop entry blocks that don't have a merge index and
hence cannot contain OSR values.
R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis
Review URL: https://codereview.chromium.org/
23503025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16484
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 2 Sep 2013 16:32:11 +0000 (16:32 +0000)]
Allow uncacheable identifiers to go generic.
BUG=v8:2867
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23453019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 2 Sep 2013 13:42:20 +0000 (13:42 +0000)]
Fix ChangeLog entry for 3.20.15
BUG=v8:2845
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23871002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16476
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 2 Sep 2013 13:36:49 +0000 (13:36 +0000)]
Bump MaxRegularSpaceAllocationSize to InitialSemiSpaceSize() * 4/5
to allow allocation of large packed arrays in paged spaces.
BUG=v8:2790
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23604023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16475
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Sep 2013 12:36:08 +0000 (12:36 +0000)]
Fix Mac llvm-gcc42 build after commit r16473.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23437020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16474
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Sep 2013 12:26:06 +0000 (12:26 +0000)]
Cleanup Semaphore class.
Drop the previous Semaphore class from platform files.
Add new Semaphore class using the new TimeDelta class for
the WaitFor() operation. Consistently assert correct behaviour
for the different implementations.
Improve test coverage of the Semaphore class.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23748003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16473
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00