dcarney@chromium.org
33fbaaf772
put js accessor ics behind a flags until fixed
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23816009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 15:03:03 +00:00
palfia@homejinni.com
e5eaef56d2
MIPS: thread isolate for HConstant::handle.
...
Port r16587 (45fc067)
BUG=
Review URL: https://codereview.chromium.org/23444041
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 15:02:41 +00:00
mstarzinger@chromium.org
1a26455d22
Handlify JSObject::EnsureCanContainHeapObjectElements method.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23818005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 14:29:47 +00:00
dslomov@chromium.org
a649a3a254
Prepare push to trunk. Now working on version 3.21.13.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/23684035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 11:50:28 +00:00
mstarzinger@chromium.org
ba48f3bd8c
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
2013-09-09 09:53:58 +00:00
dcarney@chromium.org
66c8b527e8
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
2013-09-09 09:25:23 +00:00
dcarney@chromium.org
7983023682
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
2013-09-09 07:57:23 +00:00
dcarney@chromium.org
c20f87a654
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
2013-09-09 07:52:52 +00:00
dcarney@chromium.org
5b0a281604
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
2013-09-09 07:16:24 +00:00
dcarney@chromium.org
ddc5d437bb
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
2013-09-09 07:08:34 +00:00
bmeurer@chromium.org
d4d66a712e
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
2013-09-09 05:44:54 +00:00
prybin@chromium.org
48cae75df8
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
2013-09-08 19:05:29 +00:00
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
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
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
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
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
bmeurer@chromium.org
8f8222e9ad
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
2013-09-04 10:41:51 +00:00
dcarney@chromium.org
2b7efe05ae
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
2013-09-04 10:34:42 +00:00
verwaest@chromium.org
924463984c
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
2013-09-04 09:19:17 +00:00
haitao.feng@intel.com
a6f162de91
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
2013-09-04 08:42:43 +00:00
verwaest@chromium.org
6f8713e25b
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
2013-09-04 08:16:54 +00:00
dcarney@chromium.org
615c34869c
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
2013-09-04 07:45:36 +00:00
svenpanne@chromium.org
75763061e7
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
2013-09-04 07:27:10 +00:00
dcarney@chromium.org
3e76d8b870
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
2013-09-04 07:05:11 +00:00
rossberg@chromium.org
314fc254ad
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
2013-09-03 15:17:51 +00:00
verwaest@chromium.org
26dc6c6e19
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
2013-09-03 14:10:25 +00:00
verwaest@chromium.org
80dda72f4b
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
2013-09-03 14:07:38 +00:00
verwaest@chromium.org
56d554588f
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
2013-09-03 13:33:54 +00:00
dcarney@chromium.org
bb01557abf
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
2013-09-03 11:54:08 +00:00
dcarney@chromium.org
4f5ef30280
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
2013-09-03 11:47:16 +00:00
palfia@homejinni.com
0e29b3d237
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
2013-09-03 11:39:19 +00:00
bmeurer@chromium.org
d9052d41f3
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
2013-09-03 11:38:39 +00:00
mstarzinger@chromium.org
b200ba4ab4
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
2013-09-03 11:24:43 +00:00
mstarzinger@chromium.org
037ef1132f
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
2013-09-03 10:58:07 +00:00
palfia@homejinni.com
1749bb620f
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
2013-09-03 10:11:10 +00:00
mstarzinger@chromium.org
fdb5b9241c
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
2013-09-03 09:45:55 +00:00
mstarzinger@chromium.org
cd44f0dac7
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
2013-09-03 09:35:26 +00:00
verwaest@chromium.org
c41cb4be44
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
2013-09-03 08:55:52 +00:00
mstarzinger@chromium.org
d1c0d6b3cd
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
2013-09-03 08:49:44 +00:00
svenpanne@chromium.org
625874a48c
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
2013-09-03 07:34:34 +00:00
bmeurer@chromium.org
281de965a4
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
2013-09-03 07:30:01 +00:00
dcarney@chromium.org
366efa2ee3
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
2013-09-03 07:19:32 +00:00
dcarney@chromium.org
0157c9f9e1
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
2013-09-03 06:59:01 +00:00
dcarney@chromium.org
675ac2660d
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
2013-09-03 06:57:16 +00:00
mstarzinger@chromium.org
42598f962c
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
2013-09-02 17:06:08 +00:00
mstarzinger@chromium.org
29d2fd6bba
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
2013-09-02 16:53:39 +00:00
mstarzinger@chromium.org
fa8a182208
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
2013-09-02 16:51:44 +00:00
verwaest@chromium.org
3f70c3b07b
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
2013-09-02 16:32:11 +00:00
jkummerow@chromium.org
6e4bec8f88
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
2013-09-02 13:36:49 +00:00
bmeurer@chromium.org
fead0d0600
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
2013-09-02 12:26:06 +00:00
prybin@chromium.org
1e44c36cdc
In reporting step-in positions be more accurate with a position the debugger paused at
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23264015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 12:24:41 +00:00
verwaest@chromium.org
335b9a7d0d
Representation of interceptor / handler properties are tagged.
...
Otherwise store ICs will never be initialized, due to lookup->CanHoldValue(value);
BUG=chromium:256330
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23533012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 12:16:02 +00:00
dcarney@chromium.org
918a2f97fe
revert thread isolate in PreallocatedStorageAllocationPolicy
...
This reverts 16467 for breaking windows build
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23824005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 11:39:23 +00:00
dcarney@chromium.org
9ee801627b
thread isolate in PreallocatedStorageAllocationPolicy
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23479015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 11:20:42 +00:00
jkummerow@chromium.org
95d0ec62aa
Prepare push to trunk. Now working on version 3.21.9.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23620015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 11:01:06 +00:00
titzer@chromium.org
7bd61f8ca4
Remove OptimizedCodeEntry *sigh*.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23584004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 10:35:34 +00:00
olivf@chromium.org
78df13d0d5
Move ToI conversions to the MacroAssembler
...
+ Replace DeferredTaggedToINoSSE2 by DoubleToIStub and a fpu version.
+ Prevent truncating TaggedToI from bailing out.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/22290005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 09:30:54 +00:00
dcarney@chromium.org
f4e16f24ec
remove Isolate::Current from most files starting with 'a'
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23859002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 09:27:27 +00:00
dcarney@chromium.org
f119b0eaa1
thread isolate in accessors.cc
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23824002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 09:25:20 +00:00
gergely@homejinni.com
a8e5dd5169
MIPS: Support for DoubleToIStub (truncating).
...
Port r16322 (8a03070)
Original commit message:
Added support for truncating DoubleToIStub and reorganize the macro-assembler
dToI operations to do the fast-path inline and the slow path by calling the
stub.
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/23694014
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-01 17:22:08 +00:00
yurys@chromium.org
1379f4efeb
Add scriptId to StackTrace frames.
...
BUG=v8:2865
R=verwaest@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/23536007
Patch from Vsevolod Vlasov <vsevik@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 14:54:59 +00:00
bmeurer@chromium.org
68488915c7
Work-around missing librt for cross-compiling Chrome for Android in AOSP.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23819005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 14:10:13 +00:00
mstarzinger@chromium.org
28fbc630d3
Handlify JSObject::SetAccessor method.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23819003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 14:08:15 +00:00
mstarzinger@chromium.org
756a99bdba
Handlify JSObject::SetIdentityHash method.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23495011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 13:42:16 +00:00
mstarzinger@chromium.org
5d87a6c8e0
Handlify JSObject::DeleteHiddenProperty method.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23600011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 13:28:52 +00:00
verwaest@chromium.org
8b97a1c5d2
Handlify JSProxy::Fix
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23707007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 12:52:25 +00:00
olivf@chromium.org
7669decc41
Reland "Fix missing x87 tracking for deferred code."
...
Fixed mac build.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23490022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 11:58:50 +00:00
mstarzinger@chromium.org
25d86eacbd
Handlify JSReceiver::SetElement method.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/23541006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 11:44:39 +00:00
jkummerow@chromium.org
4cf77d7748
Prepare push to trunk. Now working on version 3.21.8.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23460012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 11:31:06 +00:00
yangguo@chromium.org
ecbfcd7e06
Turn interrupt and stack check into builtins.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23480013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 11:24:58 +00:00
jkummerow@chromium.org
9efb5cd23b
Make VisitStatements() consistent among all AstVisitor implementations
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23441018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 10:51:37 +00:00
bmeurer@chromium.org
609ed28111
Revert "ConstantPoolSizeAt() should return number of Instructions instead, otherwise, some of the code will be treated as constant pool when printing code in ARM disassembler."
...
This reverts commit r16419 for breaking the ARM simulator tests.
TEST=mjsunit/regress/regress-2624
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23531013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 08:16:04 +00:00
yangguo@chromium.org
0f6f621522
Assert external strings in external string table. Remove TODOs.
...
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23567002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 07:48:04 +00:00
mstarzinger@chromium.org
72826fc892
Simplify object printer declarations.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23619010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 07:41:24 +00:00
mstarzinger@chromium.org
5e5ea8d494
Handlify JSObject::DeleteElement method.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23766003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 18:01:45 +00:00
mstarzinger@chromium.org
b0ac323ec7
Make implicit HandleScope of AssertNoContextChange explicit.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23694011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 17:13:57 +00:00
olivf@chromium.org
0c64d5e988
Revert "Fix missing x87 tracking for deferred code."
...
Mac builder has some problems compiling.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/23496020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 16:30:47 +00:00
olivf@chromium.org
ee37db140a
Fix missing x87 tracking for deferred code.
...
When compiling deferred code we have to remember the corresponding stack state and ensure that the deferred code does not manipulate the order of elements.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23135018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 15:59:40 +00:00
dcarney@chromium.org
799df7c4ed
turn on global handle zapping
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/22909051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 15:03:37 +00:00
jkummerow@chromium.org
2c9ac9c7e1
Always visit branches during HGraph building
...
even if constant values indicate that they are unreachable.
BUG=chromium:280333
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23623009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 14:55:45 +00:00
yurys@chromium.org
7fc915b701
Do not start sampler thread when CpuProfiler is active
...
Now that CpuProfiler sends does sampling on the profile event processing thread there is no need to launch sampler thread. The latter is used only for --prof profiler.
BUG=v8:2814
R=bmeurer@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23011029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 14:03:38 +00:00
mstarzinger@chromium.org
dc14d6f435
Implement materialization support for JSArray types.
...
R=hpayer@chromium.org
TEST=mjsunit/regress/regress-crbug-150729 (+FastLiteral)
Review URL: https://codereview.chromium.org/23502004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 13:56:08 +00:00
yurys@chromium.org
75e5a5a1a6
Support higher CPU profiler sampling rate on Windows
...
This change moves sampling from SamplerThread to the profiler events processing thread and allows to configure sampling interval on Windows.
Custom tick counter is used instead of OS::Ticks as the latter has maximum presicion of 1ms while we need 100us. QueryPerformanceCounter is used to retrieve high-precision time as described in http://msdn.microsoft.com/en-us/library/ee417693(VS.85).aspx
BUG=v8:2814
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23271003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 13:44:25 +00:00
yangguo@chromium.org
b3cbe51f1c
Refactor interrupt check patching for OSR.
...
This is to prepare for speculative concurrent OSR. I'm planning to add
another builtin to patch to, to indicate a concurrent OSR.
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23608004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 13:06:04 +00:00
hpayer@chromium.org
95c7ae8149
Simplified BuildFastLiteral by eliminating manual allocation folding.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23030002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 12:06:45 +00:00
hpayer@chromium.org
bac73f2982
Disabling escape analysis.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23455012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 11:58:08 +00:00
mstarzinger@chromium.org
86e82dbbb6
Fix escape analysis for redefining operators.
...
This recognizes escape paths that flow through informative definitions
as an escaping use. This only applies to HCheckMaps so far.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/23514009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 11:55:31 +00:00
bmeurer@chromium.org
899ec323af
ConstantPoolSizeAt() should return number of Instructions instead, otherwise, some of the code will be treated as constant pool when printing code in ARM disassembler.
...
BUG=none
TEST=none
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23654005
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 11:49:46 +00:00
haitao.feng@intel.com
94621761b8
Consolidate SMI functions into one area for X64
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23665002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 11:41:14 +00:00
yurys@chromium.org
1083d1f817
Remove deprecated profiler API
...
This change removes --prof-lazy command line flag that was introduced for the old CPU profiler implementation in Chrome DevTools. DevTools now use profiler API defined in v8-profiler.h
This change also removes methods for pausing resuming --prof profiler. These methods were deprecated in v.3.20 (https://code.google.com/p/v8/source/browse/branches/3.20/include/v8.h#4629 )
After this change the profiler will always start if --prof option is passed and can be stopped either in the tests or if write to log file fails.
BUG=None
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/23478010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 10:42:55 +00:00
bmeurer@chromium.org
e76482f2da
Cleanup Mutex and related classes.
...
Drop the previous Mutex and ScopedLock classes from platform files.
Add new Mutex, RecursiveMutex and LockGuard classes, which are
designed after their C++11 counterparts, so that at some point
we can simply drop our custom code and switch to the C++11
classes. We distinguish regular and recursive mutexes, as the
latter don't work well with condition variables, which will be
introduced by a followup CL.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23625003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 09:58:30 +00:00
yurys@chromium.org
82590dd542
Use V8_OS_* variables for platform detection in the sampler code
...
BUG=None
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23591006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 09:56:30 +00:00
olivf@chromium.org
5659e7c84e
Fix assert triggered by constant folding.
...
Add<> asserts the return type, which might not be an HAdd in this case
because of constant folding.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23754002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 09:54:52 +00:00
bmeurer@chromium.org
b320dfcf58
Reland^2 "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."
...
These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(),
which are broken in several ways. The ElapsedTimer class implements a
stopwatch using TimeTicks::HighResNow() for high resolution, monotonic
timing.
Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime()
methods to actually return the time relative to the unix epoch as stated
in the documentation (previously that was relative to some arbitrary
point in time, i.e. boot time).
The previous Windows issues have been resolved, and we now use GetTickCount64()
on Windows Vista and later, falling back to timeGetTime() with rollover
protection for earlier Windows versions.
BUG=v8:2853
R=machenbach@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/23490015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 09:15:13 +00:00
mstarzinger@chromium.org
39c3a63a84
Enable escape analysis for Hydrogen.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/23475006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 08:39:59 +00:00
mstarzinger@chromium.org
9ed8f18376
Prepare push to trunk. Now working on version 3.21.7.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23583010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 08:09:40 +00:00
plind44@gmail.com
e0428617fe
MIPS: Sync structure to r14382.
...
Port r14382 (5ef0d87)
Original commit message:
ARM: VFP cleanup now that VFP2 is the baseline
BUG=none
TEST=none
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/23534011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 03:29:24 +00:00
titzer@chromium.org
22b70b0508
Add OptimizedCodeEntry as a new heap object type. An optimized code entry represents an association between the native context, a function, optimized code, and the literals. Such associations are needed by the deoptimizer and optimized code cache to efficiently find related optimized code and functions for a given context or shared function info.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23691002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 16:48:40 +00:00
jkummerow@chromium.org
3747b5bc6d
Delete HAbnormalExit. It does more harm than good.
...
BUG=v8:2843
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23462007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 15:00:30 +00:00
bmeurer@chromium.org
adab11d0f9
Revert "Cross-compiling from Linux to Android requires -lrt for the host toolset.", "Fix Visual Studio debug build after r16398." and "Reland "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class.""
...
This reverts commit r16398, r16399 and r16402 for breaking the Windows
WebKit tests. Will reland fix which doesn't use High Resolution Timer
for ElapsedTimer (we suspect QueryPerformanceCounter overhead is
responsible for test breakage).
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23710002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 14:32:08 +00:00
mstarzinger@chromium.org
3fb53cf83a
Remove obsolete Oddball setters in FixedArray.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23705002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 14:26:22 +00:00
mstarzinger@chromium.org
57ac971a78
Implement proper map checks of captured objects.
...
R=verwaest@chromium.org
TEST=mjsunit/compiler/escape-analysis
Review URL: https://codereview.chromium.org/23697002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 14:16:57 +00:00
bmeurer@chromium.org
a1bf044838
Fix Visual Studio debug build after r16398.
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23624006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 13:36:28 +00:00
bmeurer@chromium.org
e2b4525397
Reland "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."
...
These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(),
which are broken in several ways. The ElapsedTimer class implements a
stopwatch using TimeTicks::HighResNow() for high resolution, monotonic
timing.
Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime()
methods to actually return the time relative to the unix epoch as stated
in the documentation (previously that was relative to some arbitrary
point in time, i.e. boot time).
BUG=v8:2853
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23469013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 13:03:06 +00:00
verwaest@chromium.org
9d0b1590a5
Reuse AddFastPropertyUsingMap in AddFastProperty
...
R=bmeurer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23465008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 13:01:53 +00:00
verwaest@chromium.org
652b174cfc
Merge verbatim descriptors from other (the descriptor of the map being updated) rather than this (descriptors of the most updated map found in the transition tree).
...
BUG=v8:2863
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23676003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 12:37:14 +00:00
verwaest@chromium.org
24bbfdfa53
Simplify logic by extracting local lookup before the switch.
...
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22901034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 12:36:46 +00:00
mstarzinger@chromium.org
3b616a74ea
Fix lost store side effects with escape analysis.
...
This preserves side effects from stores in HCapturedObject markers so
that simulates following these markers are not merged away.
R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis --deopt-every-n-times [3,6,9]
Review URL: https://codereview.chromium.org/23554003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 12:36:32 +00:00
hpayer@chromium.org
65843dbf3a
Insert allocation memento clear instructions after the dominating allocate instruction.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23672004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 12:35:07 +00:00
bmeurer@chromium.org
caca2b32cf
Replace OS::NumberOfCores() with CPU::NumberOfProcessorsOnline().
...
The name NumberOfCores is misleading, as it does not return the
actual number of cores. While NumberOfProcessorsOnline is also
not a great name, it's at least consistent with the operating
system terminology.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23655004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 12:32:56 +00:00
bmeurer@chromium.org
1d3f6815e3
Revert "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."
...
This reverts commit r16390 for breaking the Windows build. Will
reland fixed version, which also uses the platform/ folder instead
of time/ folder as per offline discussion.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23690003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 11:38:20 +00:00
bmeurer@chromium.org
fa5216a145
Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class.
...
These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(),
which are broken in several ways. The ElapsedTimer class implements a
stopwatch using TimeTicks::HighResNow() for high resolution, monotonic
timing.
Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime()
methods to actually return the time relative to the unix epoch as stated
in the documentation (previously that was relative to some arbitrary
point in time, i.e. boot time).
BUG=v8:2853
R=machenbach@chromium.org , yurys@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=16388
Review URL: https://codereview.chromium.org/23295034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 11:06:11 +00:00
bmeurer@chromium.org
cfb126c52a
Revert "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."
...
This reverts commit r16388 for breaking build due to merge typo,
will reland with typo fixed.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23698002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 11:04:40 +00:00
bmeurer@chromium.org
8faf4d4291
Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class.
...
These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(),
which are broken in several ways. The ElapsedTimer class implements a
stopwatch using TimeTicks::HighResNow() for high resolution, monotonic
timing.
Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime()
methods to actually return the time relative to the unix epoch as stated
in the documentation (previously that was relative to some arbitrary
point in time, i.e. boot time).
BUG=v8:2853
R=machenbach@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/23295034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 10:59:07 +00:00
bmeurer@chromium.org
bc4129c705
Fix accidential inclusion of <intrin.h> into namespace v8::internal.
...
Also cleanup the fallback __cpuid() implementation, and add
a comment about preserving the GOT pointer in case of PIC.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/23464014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 09:53:13 +00:00
bmeurer@chromium.org
f60defde22
Drop unused and undocumented dummy_ from SaveContext.
...
Also remove the obsolte __GNUC_VERSION__ #define.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23522003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 09:40:47 +00:00
verwaest@chromium.org
f23e30494d
Prepare push to trunk. Now working on version 3.21.6.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/23494008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 08:40:30 +00:00
hpayer@chromium.org
4d7375ca98
Clear next map word when folding allocations into js arrays.
...
BUG=
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/22915007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 08:39:43 +00:00
bmeurer@chromium.org
50f3a993e7
Fix compilation with recent MinGW64 versions.
...
Don't check for WIN32 define. Use V8_OS_* macros whenever
possible, and if not use _WIN32.
BUG=v8:2300
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23687003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 08:35:04 +00:00
yurys@chromium.org
4f60ee6bd7
Remove deprecated methods from debugger API
...
Deleting SetDebugEventListener and SetMessageHandler from v8::Debug. this methods were deprecated in 3.20
https://code.google.com/p/v8/source/browse/branches/3.20/include/v8-debug.h but in fact they have been superseded by SetDebugEventListener2 and SetMessageHandler2 long ago.
BUG=None
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/23576002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 07:11:37 +00:00
bmeurer@chromium.org
eb64758d08
Cosmetic fix wrt to V8_INLINE usage in cpu.cc.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23535003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 07:08:32 +00:00
plind44@gmail.com
b45fa06231
MIPS: Fix return-value from Array.push stub when pushing non-SMI value
...
Load and update the arrays length in v0 to make sure the length gets
returned correctly when leaving the function.
Add new testcase.
TEST=mjsunit/array-push-non-smi-value
BUG=130022
R=jkummerow@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/23589002
Patch from fs <fs@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 05:23:51 +00:00
haitao.feng@intel.com
1e4f40775f
Introduce PushInt64AsTwoSmis and PopInt64AsTwoSmis macro instructions for X64
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/22348005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 01:07:31 +00:00
palfia@homejinni.com
6d1f0cc285
MIPS: Eliminate Smi check when changing from Smi to Integer32
...
Port r16362 (6dd68a5c)
BUG=
Review URL: https://codereview.chromium.org/23462004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 23:07:03 +00:00
palfia@homejinni.com
8a277a790e
MIPS: Eliminate intentional conversion from Smi to Int32 in HMul
...
Port r16361 (b41ab14c)
Original commit message:
If not all uses of arithmetic binary operation can be truncated to Smi, check if they can be truncated to Int32 which could avoid minus zero check
Fixed DoMulI on X64 to adopt correct operand size when the representation is Smi
Fixed DoMulI on ARM. Constant right operand optimization is based on Integer 32 instead of its representation.
BUG=
Review URL: https://codereview.chromium.org/23644002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 23:05:07 +00:00
palfia@homejinni.com
03644ab8df
MIPS: cleanup api callbacks now that handles are never returned directly
...
Port r16360 (72401868)
BUG=
Review URL: https://codereview.chromium.org/23604004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 23:02:35 +00:00
palfia@homejinni.com
42b63dcbcb
MIPS: Fix Cluster Fuzz stack frame corruption bug.
...
Port r16358 (a8a679b9)
BUG=
Review URL: https://codereview.chromium.org/23583004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 22:55:30 +00:00
palfia@homejinni.com
44ab0e15fa
MIPS: Convert FastNewClosureStub into hydrogen.
...
Port r16356 (0a0ea300)
BUG=
Review URL: https://codereview.chromium.org/23618007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 22:53:25 +00:00
palfia@homejinni.com
a7be047223
MIPS: remove old style callbacks
...
Port r16354 (559bc02d)
BUG=
Review URL: https://codereview.chromium.org/23479007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 22:51:37 +00:00
yurys@chromium.org
dc670f4412
Remove implementation of CpuProfileNode methods deprecated in v8 3.20
...
GetTotalTime, GetSelfTime and GetTotalSamplesCount were deprecated in 3.20 (https://code.google.com/p/v8/source/browse/branches/3.20/include/v8-profiler.h ) and can be safely removed.
BUG=None
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/23554002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 15:12:04 +00:00
bmeurer@chromium.org
5857d951dd
Fix definition of V8_*_C() macros.
...
Make V8_INT64_C() and V8_UINT64_C() available in 32-bit mode as well,
so we can write readable constants (base 10) instead of having to
obfuscate them using V8_2PART_UINT64_C().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23557002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:16:34 +00:00
haitao.feng@intel.com
b2ca7e0b0a
Introduce SmiValuesAre31Bits and SmiValuesAre32Bits global predicate functions
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/22350005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:13:40 +00:00
jkummerow@chromium.org
6be4e9455e
Fixed HMul::Canonicalize() to support SMI
...
Same idea for HDiv when the right oeprand is 1
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23176002
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:09:26 +00:00
bmeurer@chromium.org
6b760b92a3
Drop platform-nullos stuff, which was already horribly out-of-date for a long time.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23434004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:04:49 +00:00
verwaest@chromium.org
6479ea3379
Eliminate Smi check when changing from Smi to Integer32
...
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22824003
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:02:08 +00:00
verwaest@chromium.org
788811244e
Eliminate intentional conversion from Smi to Int32 in HMul
...
If not all uses of arithmetic binary operation can be truncated to Smi, check if they can be truncated to Int32 which could avoid minus zero check
Fixed DoMulI on X64 to adopt correct operand size when the representation is Smi
Fixed DoMulI on ARM. Constant right operand optimization is based on Integer 32 instead of its representation.
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22600005
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 13:55:00 +00:00
dcarney@chromium.org
f55ba6b70a
cleanup api callbacks now that handles are never returned directly
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23588002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 13:41:44 +00:00
hpayer@chromium.org
6379e5dc41
Eliminated manual allocation folding in BuildCloneShallowArray.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23038003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 13:39:52 +00:00
hpayer@chromium.org
9d8684f8de
Fix Cluster Fuzz stack frame corruption bug.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23596002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 13:31:15 +00:00
hpayer@chromium.org
9f8f0c6d45
Prefill allocated objects with one word fillers if we do not use allocation folding.
...
BUG=
R=mstarzinger@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/22903027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 12:03:56 +00:00
mvstanton@chromium.org
7fea193609
Convert FastNewClosureStub into hydrogen.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22562002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:55:08 +00:00
hpayer@chromium.org
dc6a16d6e0
Filler sizes have to be Smis, fix x64 breakage.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23577002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:51:03 +00:00
dcarney@chromium.org
166b6d0747
remove old style callbacks
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23513004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:47:52 +00:00
jkummerow@chromium.org
da037f9872
H-BuildIncrement should make use of available type feedback
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/22611009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:44:45 +00:00
bmeurer@chromium.org
09f5042adf
Add V8_NOINLINE() and define INLINE()/NO_INLINE() in terms of their V8_*() counterparts.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23414003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 09:21:16 +00:00
mstarzinger@chromium.org
93ff0d164f
Fix --trace-hydrogen --enable-slow-asserts combination.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23295035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 08:49:27 +00:00
svenpanne@chromium.org
db3d56e029
Minor cleanups, hopefully fixing an issue with VC's /Ze option on the way.
...
BUG=2859
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/23553002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 08:47:05 +00:00
bmeurer@chromium.org
2f10268045
Fix test for warn_unused_result and move it to v8config.h.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23546002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 08:27:42 +00:00
hpayer@chromium.org
3ed8601860
Added allocation folding support for old space allocations.
...
BUG=
R=mstarzinger@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/22378003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 07:42:23 +00:00
haitao.feng@intel.com
a6d17b4fb5
Introduce StackArgumentsAccessor class for X64
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/21123008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 01:21:39 +00:00
adamk@chromium.org
432faaefb7
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 r16343 due to mjsunit object-observe failures on several bots:
- V8 Linux nosse2
- V8 GC stress 2
TBR=rossberg
Review URL: https://codereview.chromium.org/23491002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 22:45:10 +00:00
adamk@chromium.org
bf42ded40d
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
Review URL: https://codereview.chromium.org/19541010
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 21:37:21 +00:00
palfia@homejinni.com
b2c931d093
MIPS: Add a trap_on_abort flag.
...
Port r16319 (22e0380)
Original commit message:
By setting this flag assertions behind --debug-code will trigger a
breakpoint instead of a call into Abort. This eases debugging, as the
call site is less cluttered and the backtrace starts where it should.
BUG=
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 20:29:54 +00:00
mstarzinger@chromium.org
fc68cb74e5
Add RemovePrototype to FunctionTemplate
...
This allows functions created from a FunctionTemplate to not have a
prototype property, which is required by DOM methods.
R=mstarzinger@chromium.org
BUG=chromium:272440
Review URL: https://codereview.chromium.org/22990003
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 17:40:03 +00:00
mstarzinger@chromium.org
fcdf3bdb77
Factor out HSimulate::ReplayEnvironment.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/23005027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 17:30:41 +00:00
jkummerow@chromium.org
c7e262dc63
Prepare push to trunk. Now working on version 3.21.5.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/23205034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 17:11:27 +00:00
jkummerow@chromium.org
caba24c813
Revert "Snapshot i18n Javascript code" and "Fix mjsunit/debug-script after r16298".
...
This reverts r16298 and r16303 due to ChromeOS browser_tests failures ("Uncaught ReferenceError: Boolean is not defined" in --gtest_filter="FileDisplay/FileManagerBrowserTest.Test/0" and others)
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23414008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 17:00:58 +00:00
jkummerow@chromium.org
b071f9884d
Smaller instruction to test negative number on ia32
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23361030
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 16:48:23 +00:00
mstarzinger@chromium.org
e146b6e148
Fix replaying of captured objects during chunk building.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/22819011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 16:43:19 +00:00
verwaest@chromium.org
67b6605c5e
Get rid of ConvertFieldToDescriptor.
...
This CL additionally fixes up the attributes for FIELD and CONSTANT in SetLocalPropertyIgnoreAttributes.
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23252008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 15:30:30 +00:00
yurys@chromium.org
3a7cf7eb1a
Make sure semaphore used in Profiler is deleted
...
BUG=None
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23420004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 14:52:26 +00:00
yangguo@chromium.org
b2621dbd71
Port CompileMathFloorCall from ia32 to x64
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23264022
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 14:51:51 +00:00
yangguo@chromium.org
6aa8a73031
Remove flag aliases for parallel recompilation.
...
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23125027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 14:50:12 +00:00
jkummerow@chromium.org
11fd577261
Lower kInitialMaxFastElementArray constant to 95K
...
to work around erroneous "illegal access" error on x64.
BUG=v8:2790
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/22877039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 13:04:05 +00:00
mvstanton@chromium.org
c9591f005e
Store mode for keyed stores should be passed in from type feedback
...
regardless of the map used in polymorphic stores.
BUG=
R=jkummerow@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/21058003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 12:28:08 +00:00
bmeurer@chromium.org
04da3331d2
Arm support for DoubleToIStub (truncating).
...
Added support for truncating DoubleToIStub and reorganize the macro-assembler
dToI operations to do the fast-path inline and the slow path by calling the
stub.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23129003
Patch from Ross McIlroy <rmcilroy@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 12:24:03 +00:00
dcarney@chromium.org
ad9cc8e716
js accessor creation on Template
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/22903012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 11:59:14 +00:00
yurys@chromium.org
a29ceb7b27
Use signals for cpu profiling on Mac OS X
...
A while ago in r2315 Mac OS X cpu profiler implementation was changed to pause sampled thread instead of sending SIGPROF signal. That was done because at that point profiler send the signal to the whole process and it was handled on a random thread. Now that signal-based implementation uses pthread_kill it may well be used on Mac OS X too.
BUG=v8:2814
R=bmeurer@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23115005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 11:53:29 +00:00
olivf@chromium.org
c8bdc10646
Add a trap_on_abort flag
...
By setting this flag assertions behind --debug-code will trigger a
breakpoint instead of a call into Abort. This eases debugging, as the
call site is less cluttered and the backtrace starts where it should.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23352004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 11:22:39 +00:00
bmeurer@chromium.org
10a4570282
Add V8_ALIGNAS() and V8_ALIGNOF() and use that in lazy-instance.h.
...
This renames the existing V8_ALIGNAS() to V8_ALIGNED(), and introduces
V8_ALIGNAS(type, alignment) which aligns according to the type and falls
back to aligning according to alignment.
Also use __attribute__((aligned(n))) instead of __attribute__((__aligned__(n))).
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22999052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 11:18:28 +00:00
dcarney@chromium.org
b1bc71a510
abstract eternal into class
...
R=rossberg@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/22795004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 09:41:22 +00:00
bmeurer@chromium.org
5768fcf12c
Fix the CPU feature detection.
...
Move all of the CPU detection logic to the CPU class, and make
all other code use the CPU class for feature detection.
This also fixes the ARM CPU feature detection logic, which was
based on fragile string search in /proc/cpuinfo. Now we use
ELF hwcaps if available, falling back to sane(!!) parsing of
/proc/cpuinfo for CPU features.
The ia32 and x64 code was also cleaned up to make it usable
outside the assembler.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23401002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 09:37:39 +00:00
bmeurer@chromium.org
f9f11f9142
Further cleanup of test for V8_INFINITY.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23202017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 08:17:38 +00:00
bmeurer@chromium.org
bcb064459e
Revert "Add V8_ALIGNOF() and use that in lazy-instance.h."
...
This reverts commit r16311 for breaking build with certain compilers.
Will reland once sorted out.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22979004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 08:12:08 +00:00
bmeurer@chromium.org
fb190fb6ae
Add V8_ALIGNOF() and use that in lazy-instance.h.
...
Also fix the inconsistent attribute naming, and make V8_GNUC_PREREQ() test work for GCC compatible compilers.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22888008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 08:06:15 +00:00
yurys@chromium.org
4db1f475ec
Support higher CPU profiler sampling rate on posix systems
...
New flag is added that allows to specify CPU profiler sampling rate in microseconds as command line argument. It was tested to work fine with 100us interval(currently it is 1ms). Default values are kept the same as in the current implementation. The new implementation is enabled only on POSIX platforms which use signals to collect samples. Other platforms that pause thread being sampled are to follow.
SIGPROF signals are now sent on the profiler event processor thread to make sure that the processing thread does fall far behind the sampling.
The patch is based on the previous one that was rolled out in r13851. The main difference is that the circular queue is not modified for now.
On Linux sampling for CPU profiler is initiated on the profiler event processor thread, other platforms to follow.
CPU profiler continues to use SamplingCircularQueue, we will probably replace it with a single sample buffer when Mac and Win ports support profiling on the event processing thread.
When --prof option is specified profiling is initiated either on the profiler event processor thread if CPU profiler is on or on the SignalSender thread as it used to be if no CPU profiles are being collected.
ProfilerEventsProcessor::ProcessEventsAndDoSample now waits in a tight loop, processing collected samples until sampling interval expires. To save CPU resources I'm planning to change that to use nanosleep as only one sample is expected in the queue at any point.
BUG=v8:2814
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/21101002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 07:17:12 +00:00
verwaest@chromium.org
e7b3bb3c81
Replace mapcheck dependency on HStoreNamedField with object.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23402005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 17:55:22 +00:00
jkummerow@chromium.org
43bf8f9754
Add source map support to tick processor.
...
Added a console parameter for source map to the tick processor.
The tickprocesspor reads in the source maps and uses it to output the original filename, line number and column in the profile.
Modified d8 to output column numbers into the log, since this is needed to do source mapping.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/22897021
Patch from Daniel Kurka <dankurka@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 17:20:54 +00:00
verwaest@chromium.org
3837ef57d0
Fix dependency of loading the heap-number for a double-field store to be the mapcheck.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22926027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 16:31:31 +00:00
jkummerow@chromium.org
7557ca80ba
Add --trace-hydrogen-filter flag.
...
The flag restricts hydrogen.cfg output to functions passing the filter,
similar to what --hydrogen-filter does for optimization in general.
This is useful for investigating large repro cases where tracing all
functions would lead to an impractically large hydrogen.cfg file, but
restricting optimization using --hydrogen-filter is undesirable
(e.g. because it might cause the issue to no longer reproduce).
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22926025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 13:30:02 +00:00
rossberg@chromium.org
dbbbaa3a38
Prepare push to trunk. Now working on version 3.21.4.
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23232008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 13:27:24 +00:00
jochen@chromium.org
064c91be57
Snapshot i18n Javascript code
...
BUG=v8:2745
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23304005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 13:24:48 +00:00
verwaest@chromium.org
cd9be4139c
Revert "Get rid of ConvertFieldToDescriptor and simplify related code."
...
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22999048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 13:21:01 +00:00
verwaest@chromium.org
f457809c08
Get rid of ConvertFieldToDescriptor and simplify related code.
...
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22861025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 11:52:59 +00:00
bmeurer@chromium.org
abb83a6b81
Add comment about avoiding VS runtime support to OS::DebugBreak.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23090004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 11:51:34 +00:00
bmeurer@chromium.org
c769647995
Get rid of duplicated CPU::DebugBreak() method.
...
We already have OS::DebugBreak(), which does the right thing.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/22893050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 11:43:30 +00:00
jochen@chromium.org
de7352db92
Temporarily disable optimization for StringWrappers to use native valueOf
...
V8 stores this information directly in the map of the wrapper, however,
it is not invalidated when the prototype of the wrapper is changed, so
once the bit is set, it is no longer possible to override valueOf.
This bug is currently hidden in Chrome since the i18n extension always
modifies the String.prototype, and so the optimization never kicks in.
Disabling the optimization temporarily allows for snapshotting i18n now.
BUG=v8:2855
R=yangguo@chromium.org
TEST=mjsunit/regress/regress-2855.js
Review URL: https://codereview.chromium.org/23060030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 11:31:18 +00:00
jkummerow@chromium.org
88e74d525a
Delete dead FloatingPointHelper functions
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22914034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 11:06:49 +00:00
bmeurer@chromium.org
17ec357ac7
Fix crash due RegExpAtom method called on RegExpCharacterClass object.
...
In the RegExpUnparser::VisitText(RegExpText* that, void* data) function always RegExpUnparser::VisitAtom function called via that->elements()->at(i).data.u_atom->Accept(this, data); even if the type of the object is RegExpCharacterClass.
The problem shows using g++ 4.7(.2, .3) since r16232, since GCC optimizes virtual method calls to direct calls based on __final/final hints. Tested on MIPS and x64:
Program received signal SIGSEGV, Segmentation fault.
0x0000000000588928 in v8::internal::RegExpUnparser::VisitAtom(v8::internal::RegExpAtom*, void*) ()
This cleans up the TextElement class to avoid the unsafe+unchecked union access, that caused the crash.
TEST=cctest/test-regexp/ParserRegression
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/22815033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 11:06:16 +00:00
rossberg@chromium.org
971df386b3
Fix scoping of function declarations in eval inside non-trivial local scope
...
R=mstarzinger@chromium.org
BUG=v8:2594
Review URL: https://codereview.chromium.org/22901010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 09:25:37 +00:00
yurys@chromium.org
47c77181e3
Fix compilation on Windows after r16284
...
BUG=None
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23361023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 08:43:57 +00:00
yurys@chromium.org
969aba8fc0
Rewrite SamplingCircularQueue
...
The new implementation:
* uses MemoryBarriers to make sure up-to-date data is accessed on both producer and consumer threads
* will not allow to overwrite records
* doesn't have notion of chunks, instead each entry is aligned on the cache line boundaries
BUG=v8:2814
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/22849002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 08:22:07 +00:00
jkummerow@chromium.org
183090464d
Clean up the redundant Int32Constant check which is covered by double case
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/22815032
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 08:11:12 +00:00
bmeurer@chromium.org
7a2c253e24
Move OS/compiler/feature detection to public v8config.h header.
...
From now on the v8config.h header should be the one and
only file where we do (freaky) checks to detect OS, C++
compiler or certain compiler features. Since we need that
both internally and for the public API, the new v8config.h
is the proper place to add (everything is prefixed with V8_
so we are safe).
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23248006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 07:32:25 +00:00
yangguo@chromium.org
be48c5ae26
Rename "parallel recompilation" to "concurrent recompilation".
...
Also introduced macros for flag aliases for temporary backwards compatibility.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23014007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 16:14:37 +00:00
mstarzinger@chromium.org
a8e5b658fc
Make HConstant::InstanceOf less ambiguous.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 14:22:55 +00:00
mstarzinger@chromium.org
0ecd03ab4c
Fix hidden properties on object with frozen prototype.
...
This fixes a corner-case where a frozen prototype with existing hidden
properties might prevent setting hidden properties on another object.
R=rossberg@chromium.org
BUG=v8:2829
Review URL: https://codereview.chromium.org/22799021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 13:51:32 +00:00
verwaest@chromium.org
22942716db
Remove special case code for generalizing constants to fields.
...
R=bmeurer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22911018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 13:43:06 +00:00
titzer@chromium.org
e886eff3bf
Remove dead methods related to InformativeDefinitions.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/22914029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 13:21:53 +00:00
titzer@chromium.org
6f3169e571
Fix deoptimization bug, where recursive call can frighten and confuse the unwitting, simple, poor caveman that is Runtime_NotifyDeoptimized.
...
BUG=274164
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23201016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 13:03:40 +00:00
verwaest@chromium.org
6d137c3f50
Prepare push to trunk. Now working on version 3.21.3.
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/22801011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 12:26:30 +00:00
verwaest@chromium.org
eb6cbe1486
Never clear debug-stub call ICs. Make a clear distinction between is_debug_stub
...
used everywhere but the debugger, and IsDebugBreak, used by the debugger.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23361014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 12:16:00 +00:00
bmeurer@chromium.org
ee718489fe
Drop unused rdtsc instruction.
...
We do not use rdtsc anywhere and we won't ever use that in the
future, as it is totally unusable with multicore and out of
order execution.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23112016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 11:58:20 +00:00
svenpanne@chromium.org
40f81949d3
Cleaned up nil comparisons in Hydrogen.
...
This consists basically of 2 parts:
* Restructured BuildCompareNil to make the logic behind it clearer.
Note that it is intentionally written in a quite stylized way.
* Replaced a usesless IfBuilder by a plain HInstruction, removing
some empty blocks.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/22305004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 06:44:34 +00:00
mstarzinger@chromium.org
3e8effb0bd
Fix migration checks and extend them to the Scavenger.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/23060018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-21 18:31:13 +00:00
jkummerow@chromium.org
e814a9b96b
Fix "Hole" leak in TryBuildConsolidatedElementLoad
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23361007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-21 15:31:03 +00:00
yangguo@chromium.org
0cc3a7fde9
Allow both "--no<flag>" and "--no-<flag>" to disable <flag>.
...
We shouldn't need to know whether to use --no or --no- as prefix.
The latter is more intuitive and also what chromium uses.
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/22851009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-21 15:17:23 +00:00
verwaest@chromium.org
6337281204
Pass checked values to HLoadNamedField, removing the need for extra type-check field.
...
R=titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22831003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-21 14:49:56 +00:00