mstarzinger@chromium.org
3eded2c06c
Fix %NeverOptimizeFunction runtime call.
...
The current usage of this runtime function is broken as it does not
prevent inlining of the affected function but rather bails out from the
whole unit of compilation after trying to inline affected functions.
This simplifies said runtime function to avoid accidental misuse.
R=titzer@chromium.org
TEST=mjsunit/never-optimize
Review URL: https://codereview.chromium.org/19776006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-19 08:25:44 +00:00
danno@chromium.org
76cbaf407f
x64 support for d-to-i (truncated)
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/18333012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-19 08:21:41 +00:00
loislo@chromium.org
ea97288e64
Logger: remove dependency between Logger and LogMessageBuilder.
...
LogMessageBuilder is a helper class for Log.
So I made it a nested class and removed the dependency from Logger.
BUG=none
TEST=no changes in the logic
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/19768003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 17:19:31 +00:00
svenpanne@chromium.org
607a531435
Do not inline printing functions typically used via GDB.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/19722005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 14:40:59 +00:00
yurys@chromium.org
eeb7452a44
One more Windows compilation fix after r15750
...
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19471006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 14:32:06 +00:00
yurys@chromium.org
56cc999f93
Fix Windows compilation after r15750
...
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19778003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 14:28:00 +00:00
alph@chromium.org
b5fa92eb0a
Add named links to dependent_code in Map objects in heap snapshot.
...
R=loislo@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/19631003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 14:14:56 +00:00
mstarzinger@chromium.org
2165d4008d
Handlify Accessors::FunctionGetArguments method.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19638003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 14:00:53 +00:00
yurys@chromium.org
97681be4e5
Fix data race in SamplingCircularQueue
...
This change fixes data race described in the bug by adding Acquire_Load to SamplingCircularQueue::StartDequeue and Acquire_Store to SamplingCircularQueue::Enqueue.
Also the queue implementation imposed a constraint on the records it stored: the first AtomicWord in each record was a marker. For that purpose TickSampleEventRecord had filter field of type int. This approach is error prone, e.g. on x64 sizeof(AtomicWord) is 8 while sizeof(int) is 4. Moreover the queue needs such marker only at the beginning of chunk. I changed the queue so that it stores the marker explicitly as the first Cell in chunk and removed the filter field.
BUG=251218
R=loislo@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/19642002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 13:42:04 +00:00
loislo@chromium.org
693354a621
Extract JitLogger from Logger class.
...
Second patch from the set.
BUG=260203
TEST=logic wasn't changed
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/19761003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 13:18:46 +00:00
danno@chromium.org
05ec5921be
Fix --track_gc_object_stats option.
...
- Update ObjectStatsVisitTracker::Visit function to check if CodeCache is of
CodeCache type, and extract the FixedArray from the struct if so
- Fix typo in v8-counters.h where count_of_FIXED_ARRAY_XXX fields weren't being
initialized.
BUG=v8:2780
R=danno@chromium.org , hpayer@chromium.org
Review URL: https://codereview.chromium.org/19257002
Patch from Ross McIlroy <mcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 13:00:40 +00:00
yangguo@chromium.org
c86ad36304
Fix GC issue in Runtime_DebugEvaluate.
...
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/19520006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 12:25:22 +00:00
machenbach@chromium.org
608fb980e3
Update blink test expectations.
...
The original expectations from blink contain crash expectations for these three tests. We overwrote those by adding timeout.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/19753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 12:22:23 +00:00
machenbach@chromium.org
0288214530
Disable some tests for nacl runs.
...
These tests fail with the nacl/v8 builders.
Patch from bradchen@chromium.org .
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/19769002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 12:21:46 +00:00
machenbach@chromium.org
01c39159f3
Fix NaCl regression caused by pepper revision 28.
...
Patch from bradchen@chromium.org .
Prevents use of PROT_EXEC for NaCl builds
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/19729003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 12:18:35 +00:00
jkummerow@chromium.org
2c7b8cf5c1
Hydrogen array accesses: switch from elements_kind to map based polymorphism
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/18209023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 09:46:56 +00:00
bmeurer@chromium.org
4abd57dc2d
Use C++11 deleted functions feature if available.
...
Implement DISALLOW_COPY_AND_ASSIGN and DISALLOW_IMPLICIT_CONSTRUCTORS
using C++11 deleted functions if possible.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/19728003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 09:25:54 +00:00
svenpanne@chromium.org
b951f03cee
Fixed type feedback in presence of negative lookups.
...
To fix the issue at hand regarding constant function calls and perhaps
other hidden issues regarding negative lookups, we basically add a
"marker instruction", just for harvesting purposes. Our type feedback
oracle is really, really fragile, we should better switch to some more
explicit and robust scheme soon.
BUG=chromium:252797
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/19588002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 09:12:44 +00:00
hpayer@chromium.org
ced115b6ae
Double align fast literals of fast double elements kind.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/19603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 08:42:03 +00:00
machenbach@chromium.org
f24997c1c7
Make deoptimization stress count global.
...
Store the deopt stress counter per isolate instead of per shared function info. The old field is removed.
Enable output of the counter value with a new flag.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/19383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 08:12:01 +00:00
mstarzinger@chromium.org
13f7c56e05
Handlify JSFunction::SetPrototype method.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/19594002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 07:59:48 +00:00
bmeurer@chromium.org
31eeeab30d
Just check for C++ version.
...
This fixes build breakage introduced with r15736.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/19671009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 07:50:33 +00:00
bmeurer@chromium.org
aaad82db0e
Use C++11 static_assert() if available.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/19684009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 07:43:41 +00:00
yurys@chromium.org
a7d1cb3f2a
Revert "Deprecate some debugger methods"
...
This reverts commit 69957c36edaebe0b9b614099eb1b067fb0208671. Blink roll this patch depends on was reverted for some reason.
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19483003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 07:34:19 +00:00
yurys@chromium.org
9f65cf6bff
Deprecate some debugger methods
...
These methods have been superceeded by equivalents accepting object arguments exposing more details.
This is exactly the same change as r15708 which was reverted in r15710 due to pending Blink changes.
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19542003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 06:51:03 +00:00
palfia@homejinni.com
4e0e41871a
MIPS: Improve code aging sequence.
...
Port r15697 (61d56196)
Original commit message:
The code aging sequence contains a load which is unecessary for optimised
function. This has been replaced by a nop.
BUG=
Review URL: https://codereview.chromium.org/19683005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 23:57:32 +00:00
palfia@homejinni.com
462f6be930
MIPS: The gc should be able to traverse all AllocationSites for decision making.
...
Port r15715 (2e830d4)
Original commit message:
The gc should be able to traverse all AllocationSites for decision making. The sites are threaded into a weak list. Special problems include:
* Allocations of AllocationSites occur in generated code, so generated code needs to be able to add to the list. For now I have a special hydrogen instruction, though it would be nice to use general purpose instructions.
* The snapshot contains AllocationSites, and these need to be re-threaded into the list on deserialization.
Something nice is that the AllocationSites are only created in old space, so a special new space visitor isn't required.
BUG=
Review URL: https://codereview.chromium.org/19635002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 18:39:34 +00:00
alph@chromium.org
86bfd87fa6
Do not report unessential weak references in heap snapshot.
...
R=verwaest@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/19267023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 18:23:16 +00:00
mstarzinger@chromium.org
dfc945d594
Handlify JSReceiver/JSObject::DeleteProperty method.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/18774002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 16:38:49 +00:00
titzer@chromium.org
b1373531ba
Add support for empty hydrogen filter that matches only the top-level JSFunction.
...
BUG=
Review URL: https://codereview.chromium.org/19590002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 16:21:03 +00:00
jkummerow@chromium.org
9ed1fe1ac4
Better fix for LiteralCompareTypeof
...
This reverts r15725 and replaces it with the following one-liner
in hydrogen.cc's HandleLiteralCompareTypeof:
- CHECK_ALIVE(VisitForValue(sub_expr));
+ CHECK_ALIVE(VisitForTypeOf(sub_expr));
R=danno@chromium.org
Review URL: https://codereview.chromium.org/19523005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 15:58:59 +00:00
yangguo@chromium.org
9d6445cf32
Do not materialize context-allocated values for debug-evaluate.
...
BUG=259300
R=ulan@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/19569003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 15:29:00 +00:00
hpayer@chromium.org
f980ce0352
Fix gc stress builder.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/19507004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 15:21:22 +00:00
jkummerow@chromium.org
f5cae51e20
Fix LiteralCompareTypeof breakage introduced in r15723
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/19556003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 14:58:00 +00:00
olivf@chromium.org
d75b34db33
There is no undefined Literal.
...
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/18429005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 14:10:38 +00:00
jkummerow@chromium.org
22f2fd8397
Synchronize Compare-Literal behavior in FullCodegen and Hydrogen
...
BUG=chromium:260345
R=danno@chromium.org
Review URL: https://codereview.chromium.org/19582002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 13:13:38 +00:00
alph@chromium.org
eafc8c971a
Provide named links to code objects in heap snapshot.
...
R=loislo@chromium.org , verwaest@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/19397002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 13:12:48 +00:00
bmeurer@chromium.org
871dacd415
Enable compiled transitions by default.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/19568002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 12:19:40 +00:00
yurys@chromium.org
2e218fe862
Remove V8_DISABLE_DEPRECATIONS=1 from test-cpu-profiler.cc
...
BUG=None
R=loislo@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/19554002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 12:16:16 +00:00
mvstanton@chromium.org
b9f0c06ab2
The gc should be able to traverse all AllocationSites for decision making. The sites are threaded into a weak list. Special problems include:
...
* Allocations of AllocationSites occur in generated code, so generated code needs to be able to add to the list. For now I have a special hydrogen instruction, though it would be nice to use general purpose instructions.
* The snapshot contains AllocationSites, and these need to be re-threaded into the list on deserialization.
Something nice is that the AllocationSites are only created in old space, so a special new space visitor isn't required.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/18173013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 11:50:24 +00:00
mvstanton@chromium.org
7632a311aa
Some tests involving AllocationSites are failing in GcStress test mode.
...
The reason is that an AllocationMemento associated with an array only
lives for one gc (it is unrooted). So an excess of garbage collections
in these tests cause the Memento to be lost, and expected behavior
can't be guaranteed.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/19544002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 11:42:32 +00:00
bmeurer@chromium.org
410b4b2db4
Reland "Turn ElementsTransitionAndStore stub into a HydrogenCodeStub".
...
Fix the invalid array length check, replacing it with a check of
the elements pointer similar to TransitionElementsKindStub.
Refactor common code from ElementsTransitionAndStoreStub and TransitionElementsKindStub into BuildTransitionElementsKind() helper method.
Add test case for the MD5 computation that used to crash before,
and a small test case for the specific issue.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/19367003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 11:37:20 +00:00
dslomov@chromium.org
517cbe4dd3
Add BYTES_PER_ELEMENT property to constructors of typed arrays.
...
ES6 does not prescribe it, but both Blink and Firefox have it.
Also does a small rename of parameter in test.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/19562002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 11:16:07 +00:00
alph@chromium.org
a6087dae80
Report initial_map field of JSFunction in heap snapshot.
...
R=verwaest@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/19256020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 10:16:40 +00:00
yurys@chromium.org
9a51aa2197
Revert "Deprecate some debugger methods"
...
This reverts commit r15708 to make WebKit bots happy while Blink change https://src.chromium.org/viewvc/blink?view=rev&revision=154386 is not rolled into Chromium.
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19557002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 10:03:49 +00:00
hpayer@chromium.org
a3b856008b
Use private field chunk_
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/19495002
Patch from HaiTao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 09:57:56 +00:00
yurys@chromium.org
16bb1dc210
Deprecate some debugger methods
...
These methods have been superceeded by equivalents accepting object arguments exposing more details.
BUG=None
R=loislo@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/19549002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 09:20:16 +00:00
ulan@chromium.org
b75063bea8
Do not call reinterpret_cast when converting from NULL.
...
If NULL is a nullptr (such as on my FreeBSD system), it is not possible to
use reinterpret_cast to convert it to another pointer. Plus, just using NULL
directly achieves the same effect.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/19388005
Patch from Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 08:46:44 +00:00
mvstanton@chromium.org
4465c83104
Calls to HCheckFunction can be eliminated if the value is an HConstant.
...
Reland "Calls to HCheckFunction can be eliminated if the value is an HConstant"
(https://codereview.chromium.org/18751003/ ).
The CL failed because of heap snapshot issues. alph@chromium.org just checked in
a fix for that (https://code.google.com/p/v8/source/detail?r=15694 ).
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/19504007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 08:46:01 +00:00
hpayer@chromium.org
29ad06f684
More aggressively inline optimized code.
...
BUG=
R=danno@chromium.org , mstarzinger@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/19504006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 08:44:10 +00:00