danno@chromium.org
be8e8f7528
Improve the JitCodeEventHandler API to add support for line position information.
...
This includes:
* adding the CODE_ADD_LINE_POS_INFO, CODE_START_LINE_INFO_RECORDING, CODE_END_LINE_INFO_RECORDING event and the corresponding functionality.
* adding the JITCodeLineInfo struct to record the code line info. I added this definition because Danno mentioned that "we'd like to cleanup and decouple the external debugging functionality"
* some other small changes.
Review URL: https://chromiumcodereview.appspot.com/12223027
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 18:06:12 +00:00
palfia@homejinni.com
261def53c4
MIPS: Split AccessorInfo into DeclaredAccessorInfo and ExecutableAccessorInfo
...
Port r13649 (0a9e0bf0)
BUG=
Review URL: https://codereview.chromium.org/12253005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 17:08:19 +00:00
yangguo@chromium.org
488b19701a
Fix bogus assertion.
...
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12296008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 13:01:00 +00:00
yangguo@chromium.org
77bc99c0b1
Fix bogus assertion.
...
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12303006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 12:22:04 +00:00
yangguo@chromium.org
072bad2ed5
Enable Latin-1
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12039038
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 10:27:46 +00:00
yangguo@chromium.org
da3e335280
Revert part of r13678 (InternalPackedArray).
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12304004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 10:25:21 +00:00
mstarzinger@chromium.org
a3723243b0
Change and disable global handle zapping.
...
R=yangguo@chromium.org
BUG=chromium:176056
TEST=webkit:storage/indexeddb/create-and-remove-object-store.html
Review URL: https://codereview.chromium.org/12300009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 10:20:58 +00:00
yangguo@chromium.org
d7999dc42e
Remove wrong uses of InternalPackedArray.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12284002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 16:21:03 +00:00
yangguo@chromium.org
01f4cb0951
Introduce InternalPackedArray.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12255049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 15:20:05 +00:00
palfia@homejinni.com
7349746b22
ARM: Remove unused flag in lithium-codegen.
...
This flag was added by commit r13585.
BUG=
Review URL: https://codereview.chromium.org/12258013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 13:01:28 +00:00
hpayer@chromium.org
c1eabf2523
Determine number of available cores on all platforms.
...
BUG=
Review URL: https://codereview.chromium.org/12089107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 12:38:59 +00:00
mstarzinger@chromium.org
7767a08683
Add zapping of disposed persistent handles.
...
R=svenpanne@chromium.org
BUG=chromium:176056
Review URL: https://codereview.chromium.org/12260060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 12:18:24 +00:00
svenpanne@chromium.org
71a26c928a
Make the Isolate parameter mandatory for internal HandleScopes.
...
Improved Frames and their iterators on the way, too.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12254007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 09:27:10 +00:00
mstarzinger@chromium.org
300413b5a9
Fix f.apply() optimization when declared arguments are mutated.
...
R=verwaest@chromium.org
BUG=v8:2539
TEST=mjsunit/regress/regress-2539
Review URL: https://codereview.chromium.org/12255033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 15:12:49 +00:00
ulan@chromium.org
c77e538e4b
Prepare push to trunk. Now working on version 3.17.2.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12261036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 14:54:27 +00:00
ulan@chromium.org
817ce7285f
Register dependent codes before populating deoptimization data, which can cause GC.
...
R=mstarzinger@chromium.org
BUG=crash on nosnap-debug with stress-compaction
Review URL: https://chromiumcodereview.appspot.com/12256038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 13:48:20 +00:00
ulan@chromium.org
250ebdc2be
ARM: Change signature for vmov.32 function in the assembler
...
The assembler has 8 different vmov variants. The one for vmov.32 and for moving
an immediate into a double reg only differs in the type of the second
paremeter: vmov.32 takes an int, the other takes a double.
The situation is dangerous because C++ will happily implicitly convert between
int and double.
This patch changes the signature of the vmov.32 assembler function so that it
cannot be confused with the other vmovs.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12255031
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 12:28:02 +00:00
mstarzinger@chromium.org
3d81dec91d
Unflakify SetJitCodeEventHandler test case.
...
R=ulan@chromium.org
TEST=cctest/test-api/SetJitCodeEventHandler
Review URL: https://codereview.chromium.org/12263035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 11:59:04 +00:00
ulan@chromium.org
417765cb08
Enable weak embedded maps in optimized code by default.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12263031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 10:07:01 +00:00
mstarzinger@chromium.org
05e95eee0e
Allow full inlining of f.apply(this, arguments) calls.
...
This allows Crankshaft to completely inline a f.apply() dispatch if the
exact number of arguments is known and the function is constant. The
deoptimizer doesn't generate the f.apply() frame during deoptimization,
so the materialized frames look like f.apply() did a tailcall.
R=jkummerow@chromium.org
TEST=mjsunit/compiler/inline-function-apply
Review URL: https://codereview.chromium.org/12263004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 09:55:50 +00:00
hpayer@chromium.org
1a36799422
Prepare push to trunk. Now working on version 3.17.1.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12252009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 17:24:10 +00:00
hpayer@chromium.org
37d88cca4e
Move sweeping pending status field of concurrent sweepers to MarkCompactCollector.
...
BUG=
Review URL: https://codereview.chromium.org/12261011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 15:21:08 +00:00
dcarney@chromium.org
5db57ed97c
Drop latin-1 check from BasicJsonStringifier::DoNotEscape
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12207153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:55:33 +00:00
jkummerow@chromium.org
a7cc374b38
Properly support undefined->0 conversion in ia32 bitwise BinaryOpStubs (regression fix for r13624)
...
Review URL: https://codereview.chromium.org/12212162
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:37:09 +00:00
jkummerow@chromium.org
19dab057b4
Fix NegateCompareOp and InvertCompareOp
...
BUG=v8:2537
Review URL: https://codereview.chromium.org/12217136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:36:19 +00:00
palfia@homejinni.com
a475fbb21e
MIPS: Support pass-through of stub caller arguments
...
Port r13593 (ae4edde7)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12217079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:35:05 +00:00
mmassi@chromium.org
a5c6716cf5
Infrastructure classes for evaluating numeric relations between values.
...
Review URL: https://codereview.chromium.org/12226112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:16:15 +00:00
palfia@homejinni.com
eb573e1122
MIPS: Generate the TransitionElementsStub using Crankshaft
...
Port r13585 (4174b9d2)
Original commit message:
This includes:
* Adding support for saving callee-clobbered double registers in Crankshaft code.
* Adding a new "HTrapAllocationMemento" hydrogen instruction to handle AllocationSiteInfo data in crankshafted stubs.
* Adding a new "HAllocate" hydrogen instruction that can allocate raw memory from the GC in crankshafted code.
* Support for manipulation of the hole in HChange instructions for Crankshafted stubs.
* Utility routines to manually build loops and if statements containing hydrogen code.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12212080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:01:22 +00:00
palfia@homejinni.com
1d33c7721d
MIPS: Add separate flag for --trace-stub-failures
...
Port r13598 (79a374cf)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12211088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 13:45:26 +00:00
hpayer@chromium.org
aa8f47d9ba
Limit stack size of sweeper threads.
...
BUG=
Review URL: https://codereview.chromium.org/12256006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 13:19:38 +00:00
hpayer@chromium.org
b9af1ef185
Reduces memory consumption for parallel sweeping.
...
BUG=
Review URL: https://codereview.chromium.org/12177011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 12:46:06 +00:00
hpayer@chromium.org
5f1a4e3fa1
Fix verify heap problem when parallel sweeping is enabled.
...
BUG=
Review URL: https://codereview.chromium.org/12260004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 11:02:39 +00:00
hpayer@chromium.org
ae37a51334
Enable parallel sweeping.
...
BUG=
Review URL: https://codereview.chromium.org/12255002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 09:23:30 +00:00
dcarney@chromium.org
0da6e525b7
Split AccessorInfo into DeclaredAccessorInfo and ExecutableAccessorInfo
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12213012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 14:33:08 +00:00
svenpanne@chromium.org
e108d2a87c
Don't try to unlink instructions twice during GVN
...
BUG=chrome:175141
Review URL: https://codereview.chromium.org/12211128
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 14:00:39 +00:00
mmassi@chromium.org
6333383ceb
Remove instructions properly (stack check elimination was leaving "dangling uses" around).
...
BUG=
Review URL: https://codereview.chromium.org/12224090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 12:04:29 +00:00
svenpanne@chromium.org
9eec096914
Fixed a memory leak in v8 and another one in d8.
...
Cleaned up a few tests on the way. This CL brings us down to 5 leaks for d8.
Review URL: https://codereview.chromium.org/12223089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 11:57:51 +00:00
mmassi@chromium.org
2fb5064487
Separated smi check from HBoundsCheck.
...
Review URL: https://codereview.chromium.org/12208013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 11:44:08 +00:00
verwaest@chromium.org
394cf5111d
Calculate proper receiver map for monomorphic transitioning ICs.
...
This fixes a regression caused by
https://chromiumcodereview.appspot.com/11953025/
Review URL: https://chromiumcodereview.appspot.com/12217131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 10:56:04 +00:00
mstarzinger@chromium.org
25f9eaeae8
MIPS: Fix bugs in DeoptimizeIf when lazy deopt is requested.
...
Port r13633 (9e314349)
BUG=
TEST=
Review URL: https://codereview.chromium.org/12220105
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 09:34:40 +00:00
svenpanne@chromium.org
abeed3d055
Don't use local variable after its scoped has been left.
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/12224118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 08:59:53 +00:00
mstarzinger@chromium.org
9bb68394a0
Fix code flusher disabling while marking incrementally.
...
This fixes a corner case where the code flusher is disabled while the
incremental marker is still running. This can happen when the debugger
is loaded and a scavenge is triggered. Make sure that all flushing
decisions are revisited after the candidates lists are evicted.
R=hpayer@chromium.org
BUG=chromium:173458,chromium:168582
TEST=cctest/test-heap/Regress173458
Review URL: https://codereview.chromium.org/12217108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-11 15:11:00 +00:00
svenpanne@chromium.org
d55650164c
Get rid of x87 in ia32 LCodeGen::DoBranch
...
Review URL: https://codereview.chromium.org/12208044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-11 14:44:25 +00:00
vegorov@chromium.org
5aafde9285
Print deoptimization index when printing lithium environment.
...
Output of --trace-deopt --code-comments does not always allow to reliably match deoptimization to the lithium instruction (and it is actually never accurate on x64 due to one level of indirection). This change allows to reliably figure out which instruction deoptimized just by looking up bailout id in the hydrogen.cfg.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12217103
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-11 14:12:13 +00:00
svenpanne@chromium.org
7b45ab9501
Don't use TLS for space iterators.
...
This is not only inherently slow, but it also forces the caller to enter an
Isolate before. Both is bad, so we have to do some heap plumbing.
BUG=v8:2531
Review URL: https://codereview.chromium.org/12217106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-11 13:02:20 +00:00
rossberg@chromium.org
ec0b001543
Work around nifty VS10 compiler bug
...
VS10 generates bogus code for specific arguments to the Number::New function when invoked in specific places of an ExpectRecords array definition, passing a garbage value to the function (as printf debugging reveals). Changing the argument from 1 to 7 apparently circumvents the problem.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12212108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-11 12:28:22 +00:00
mstarzinger@chromium.org
89474cdede
Fix bugs in DeoptimizeIf when lazy deopt is requested.
...
This also implements --trap-on-deopt on x64 and simplifies the
implementation of this flag on all architectures.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/12223053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-08 17:32:47 +00:00
danno@chromium.org
a77daae9f8
Add additional flags to control array abuse tracing
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12211095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-08 14:32:38 +00:00
svenpanne@chromium.org
3b08a1f82c
Added new GetHeapStatistics API entry and deprecated old one.
...
Simplified the HeapStatistics class a bit, following Uncle Bob's advice that
adding accessors to DTOs only satisfies some design fundamentalists, but serves
no other purpose. :-)
Review URL: https://codereview.chromium.org/12207076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-08 12:41:55 +00:00
mstarzinger@chromium.org
7a1edfd9a5
Improve tracing of hydrogen stub compilation.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/12208088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-08 11:56:15 +00:00