palfia@homejinni.com
070d18f9ca
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
2013-09-06 17:21:27 +00:00
jkummerow@chromium.org
daee0d83db
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
2013-09-06 15:21:38 +00:00
mstarzinger@chromium.org
d4e60458a9
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
2013-09-06 13:52:59 +00:00
svenpanne@chromium.org
e43e483143
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
2013-09-06 13:18:26 +00:00
rodolph.perfetta@gmail.com
82f0649c76
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
2013-09-06 13:12:46 +00:00
verwaest@chromium.org
e25e6ab25d
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
2013-09-06 13:06:39 +00:00
bmeurer@chromium.org
b256475512
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
2013-09-06 12:25:46 +00:00
svenpanne@chromium.org
f5f47208b1
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
2013-09-06 11:41:02 +00:00
verwaest@chromium.org
18f6577bad
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
2013-09-06 11:32:46 +00:00
dcarney@chromium.org
3a3a27b2ee
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
2013-09-06 11:31:25 +00:00
bmeurer@chromium.org
63c817cc55
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
2013-09-06 11:29:13 +00:00
mstarzinger@chromium.org
405ddeb30c
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
2013-09-06 11:24:26 +00:00
jkummerow@chromium.org
917356285a
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
2013-09-06 11:04:20 +00:00
mstarzinger@chromium.org
15f6fdeb3e
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
2013-09-06 11:02:43 +00:00
yurys@chromium.org
43780dbdc9
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
2013-09-06 06:25:06 +00:00
mstarzinger@chromium.org
d1cfe6c8dd
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
2013-09-05 18:53:39 +00:00
mstarzinger@chromium.org
9b1ab75c51
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
2013-09-05 18:41:20 +00:00
jkummerow@chromium.org
44e5982243
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
2013-09-05 16:29:07 +00:00
verwaest@chromium.org
79a5834cd0
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
2013-09-05 16:22:46 +00:00
jkummerow@chromium.org
9c21e6b7d2
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
2013-09-05 16:19:33 +00:00
yangguo@chromium.org
d9659da6f4
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
2013-09-05 14:32:49 +00:00
loislo@chromium.org
bbd26abedb
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
2013-09-05 13:20:51 +00:00
verwaest@chromium.org
b41a7b9cea
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
2013-09-05 12:33:14 +00:00
yurys@chromium.org
3ea3308e04
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
2013-09-05 12:17:17 +00:00
dcarney@chromium.org
d208d048ac
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
2013-09-05 11:27:22 +00:00
dcarney@chromium.org
04c1b38d84
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
2013-09-05 11:18:52 +00:00
dcarney@chromium.org
6e40b4250c
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
2013-09-05 11:14:14 +00:00
yurys@chromium.org
e9c47357e6
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
2013-09-05 10:31:18 +00:00
yurys@chromium.org
8d6a096c42
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
2013-09-05 10:28:57 +00:00
dcarney@chromium.org
215ae8aa6d
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
2013-09-05 10:21:29 +00:00
mstarzinger@chromium.org
f670b2af85
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
2013-09-05 09:01:28 +00:00
dcarney@chromium.org
88910423c2
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
2013-09-05 08:48:34 +00:00
verwaest@chromium.org
6f358946ac
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
2013-09-05 08:36:10 +00:00
dcarney@chromium.org
11af95d749
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
2013-09-05 08:34:17 +00:00
bmeurer@chromium.org
2fdadd7794
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
2013-09-05 08:17:57 +00:00
bmeurer@chromium.org
03e8c9d015
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
2013-09-05 07:31:47 +00:00
adamk@chromium.org
a6a8455fdb
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
2013-09-04 20:43:21 +00:00
adamk@chromium.org
b26d28d964
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
2013-09-04 19:21:30 +00:00
verwaest@chromium.org
50ae7dbe31
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
2013-09-04 15:25:13 +00:00
yangguo@chromium.org
96d85bb89b
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
2013-09-04 15:19:21 +00:00
mstarzinger@chromium.org
17d21a5119
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
2013-09-04 15:06:36 +00:00
jkummerow@chromium.org
f5ec7c5835
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
2013-09-04 13:55:11 +00:00
titzer@chromium.org
35490d82a9
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
2013-09-04 13:53:24 +00:00
mstarzinger@chromium.org
66b5a247bc
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
2013-09-04 13:46:12 +00:00
mstarzinger@chromium.org
eab9665f34
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
2013-09-04 13:37:39 +00:00
yangguo@chromium.org
070e3b0af4
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
2013-09-04 12:55:59 +00:00
yurys@chromium.org
45d6ef065e
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
2013-09-04 12:38:17 +00:00
yurys@chromium.org
c034bb48b5
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
2013-09-04 11:55:28 +00:00
bmeurer@chromium.org
9bc6052790
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
2013-09-04 11:33:51 +00:00
dcarney@chromium.org
7dcc12abf6
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
2013-09-04 11:09:55 +00:00