Age | Commit message (Collapse) | Author |
|
m_pImpl was removed in commit cb0991e32987108d900ec7e8fcd4ce477ebc9fb4
Change-Id: I9ca0cdbca97242ace5243f140ac2e17055b3f718
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129685
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
It looks like this in libstdc++:
<BigPtrArray> = {
m_ppInf = {
_M_t = {
<std::__uniq_ptr_impl<BlockInfo*, std::default_delete<BlockInfo* []> >> = {
_M_t = {
<std::_Tuple_impl<0, BlockInfo**, std::default_delete<BlockInfo* []> >> = {
<std::_Tuple_impl<1, std::default_delete<BlockInfo* []> >> = {
<std::_Head_base<1, std::default_delete<BlockInfo* []>, true>> = {
_M_head_impl = {<No data fields>}
}, <No data fields>},
<std::_Head_base<0, BlockInfo**, false>> = {
_M_head_impl = 0x567fd20
}, <No data fields>}, <No data fields>}
}, <No data fields>}
},
Note there are 2 _M_head_impl members, and somehow gdb 11.1-2.fc34 picks
the wrong one.
A manual cast to std::_Head_base<0, BlockInfo**, false> seems to help.
Change-Id: I1332c2fc6eb2661d417fd92a73aed977bbb1dcea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126220
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
DefaultProperties::SetObjectItemSet is very hot when loading
shapes, and a large chunk of that cost is allocating the pool item
array.
So use a template class to allocate the array in-line to the class,
which means it can be allocated on-stack.
Change-Id: Ic53b41f35784726362de38fceb35f8634cddf0a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122310
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
because this is often on a hot path, and we can avoid the splitting and
joining of strings like this.
Change-Id: Ia36047209368ca53431178c2e8723a18cfe8260a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119220
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
SfxItemSet shows up in perf profiles frequently,
and the hottest part is the malloc of the two arrays we need.
But most of the time, one of those arrays is a compile-time
constant.
So this change introduces
(*) WhichRangesContainer, which manages whether the SfxItemSet
owns the array it points at or not.
(*) a static const member in svl::Items (idea from mkaganski)
to store the data.
Change-Id: Icb8cdbc4d54fd76739565c575e16a744515e5355
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118703
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
... and hopefully make it python2.7 compatible... definitly a
"brown paperbag" fix... well it did work locally ;-)
I just noticed, because Jenkins spilled some errors from GDB on
hang with:
Traceback (most recent call last):
File "/.../instdir/program/libvcllo.so-gdb.py", line 23, in <module>
module = importlib.import_module('libreoffice.' + mod)
File "/.../python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/.../solenv/gdb/libreoffice/vcl.py", line 101
print('STACK', end =", ")
Change-Id: I500e8fea07e9865235e37673dee6374108fefbf2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118237
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Adds a pretty printer for the whole Scheduler context and fixes an
off-by-one error when dumping the ImplSchedulerData singly-linked
list.
Change-Id: I94129fc164986b379f33854651ff6df766eff97f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118075
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
because it's actually transparency, not alpha, and having proper naming
helps my limited brain keep track of stuff better when debugging
And have both the stream operator and the debugging printer print out
alpha values, for consistency.
Change-Id: I9bc9ffcb71d554603591935e4043a3fb14646ebd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114886
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
After 4a899a5f8a72ea29a6919316afe3627de9f33e95 "Fix Python deprecation warnings"e.g. <https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/70542/console>
started to complain
> Traceback (most recent call last):
> File "/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/instdir/program/libuno_sal.so.3-gdb.py", line 23, in <module>
> module = importlib.import_module('libreoffice.' + mod)
> File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
> __import__(name)
> File "/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/solenv/gdb/libreoffice/sal.py", line 14, in <module>
> from libreoffice.util import printing
> File "/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/solenv/gdb/libreoffice/util/printing.py", line 10, in <module>
> from collections.abc import Mapping
> ImportError: No module named abc
etc. when lode's bin/kill-wrapper calls gdb to obtain backtraces of hung
processes.
Change-Id: I4fe6c6fa97bbb455a071dd28e5c1ab33f2337a0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104119
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
I noticed these "DeprecationWarning: Using or importing the ABCs from
'collections' instead of from 'collections.abc' is deprecated since Python 3.3,
and in 3.9 it will stop working" now when running tests with
CPPUNITTRACE='gdb --args' on Fedora 32.
Change-Id: If263dacb9df5c1fffd2be2418e13e69b96070c77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103294
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
+ remove sal_Char check on compilerplugins
Change-Id: I0f7da14e620f0c3d031d038aa8345ba4080fb3e9
Change-Id: Ia6dba4f27b47bc9e0c89159182ad80a5aee17166
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102499
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
According to [1]:
> Changed in version 3.6: Unrecognized escape sequences produce a DeprecationWarning.
> In a future Python version they will be a SyntaxWarning and eventually a SyntaxError.
[1] https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals
Change-Id: Ia4f79f17ccb121f423f35b1e1306d5ae285e8762
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98321
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
no longer necessary after
commit 31589bf0239679d73417902655045c48c4868016
Date: Mon Jun 24 15:02:55 2019 +0200
tdf#94677 Calc is slow opening large CSV, improve tools::Fraction
Change-Id: I1c9ee043a51216f7005bf8a4bf60bb4b4e39ab61
|
|
after
commit d487d6e082bc7ce652217578ffd37397a59cc3ca
Date: Sat Apr 20 11:06:11 2019 +0900
rework Color to have R,G,B,A public variables
Change-Id: I0ebbb071d2fad43bd49ef8421804657dfdfc446d
Reviewed-on: https://gerrit.libreoffice.org/71041
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Add single quotes around the namespace::class construct, when calling
gdb.parse_and_eval(), otherwise this exception is thrown:
"Python Exception <class 'gdb.error'> A syntax error in expression, near `)xxx)->count($'.:"
The reason is a possible conflict with '::' referring a static variable
(https://sourceware.org/gdb/onlinedocs/gdb/Variables.html).
Also improved the B2DPolyPolygonPrinter::children method to avoid a
segmentation fault, when accessing member m_value.
Change-Id: I1c15a4b786e1e374c67ace445d28c1ce210a4c04
Reviewed-on: https://gerrit.libreoffice.org/70537
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
revert part of
commit 6f50961e69406a17d6ec998956a6b33208b1001b
remove more rtl::OUString and OString prefixes
Change-Id: I026f8175c855a20bab54940f6235bca5c91ddbab
|
|
which seem to have snuck back in since the great rounds of removals.
Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1
Reviewed-on: https://gerrit.libreoffice.org/62229
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
just whyyyyyyy are you people doing this, why do you gratuitously
break things others rely upon for productivity?!?? I don't give
a F about uniqueptrs, all I want is to be able to print this bloody
SfxItemSet. It's frustrating AF
Change-Id: I0b6110c1806c31a3c098fb9dc73883047191c7f9
Reviewed-on: https://gerrit.libreoffice.org/52362
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
work-around gdb bug, and deal with different representations of
std::unique_ptr in different versions of libc++.
Change-Id: I02a1f49c07dbcd70e13ef6be48e20b510bf5e3fa
|
|
...to 048a32d903c8cc81a8836c7c7209b92e0bfd6cd7 "use unique_ptr for pImpl in
tools/", exploiting intimate knowledge of libstdc++ internals as was already
done in 51bb68928933bf5d72efb9193f1be6af6e72c80f "fix BigPtrArray pretty
printer".
Due to <https://sourceware.org/bugzilla/show_bug.cgi?id=22968> "ptype does not
find inner C++ class type without -readnow", at least for me only works when gdb
is invoked with -readnow.
Change-Id: I365733f3c661eea2f19a9b85015aa5d50e63e6a4
|
|
gdb 8.0.1 tends to sefault while evaluating the getB2DPoint()
calls; it passes some obviously wrong index instead of 0.
Also, add a children method to B2DPolyPolygonPrinter.
Change-Id: Ifbf52ad384d1f60b26ee95f87405eff2c6f2388a
|
|
Latest gdb release "lazy_string" validates the array size:
Traceback (most recent call last):
File "/work/lo/master/solenv/gdb/libreoffice/util/string.py", line
29, in to_string
return self.make_string(data, self.encoding, len)
File "/work/lo/master/solenv/gdb/libreoffice/util/string.py", line
66, in make_string
return data.lazy_string(encoding, length)
gdb.error: Length is larger than array size.
rtl_uString has "sal_Unicode buffer[1];", which is a lie
as the real size is the same as "length".
Taking the address of "buffer" appears to avoid the exception.
Change-Id: I85710b1adfae584ba09c8d517e9b49b290e79d8a
|
|
Change-Id: I1eb1efedb98979b692874ae0ec48120cb5a38188
|
|
This was changed in d72aad218c9737fb19d1a835b03c13b7107a96c0
Change-Id: Ie93f603c82669ca612fbf9635a62c50e63702a85
|
|
mbDelete is gone, as we simply check for mpTask.
Change-Id: I9d451f2445fb6b978d177b45d75abde2595c5fac
|
|
after commit 64079184cc06444e9dfdb55a5c66829e929d4a59
"improve useuniqueptr loplugin to find arrays"
Change-Id: I29841af65fcb0c1f92e52d9aeee164328bbb4663
|
|
There is really no reason to wait a millisecond for an idle.
Change-Id: I7665d5f2e7d6ba3e01290a692bbc8e42c36b9986
|
|
While the stack removes all invoked tasks from the queue, which
actively removes it from scheduling, it also helps to faster handle
nested calls, as we don't have to look for the previous position
to move the task to the end of the queue for the round robin.
Change-Id: I358cf2492e9630f67685a2b780509edb56691830
|
|
After commit c6902761d797253cda8b3f71f102c66108585e24
"Revert "use std::vector in BigPtrArray""
<mst_> noelgrandin: you reverted both gdb changes but only one sw
change?
<noelgrandin> mst_, I thought your gdb change only appliled to the
std::vector?
<mst_> noelgrandin: there was another std::something or other change
there, one was mvInfo and the other mvData
<noelgrandin> mst_, sigh, will fix that
Change-Id: I3059d29b1a559eb3077f5d713be011e15e887ee0
|
|
which is causing crashes in the crashtesting in
ooo119635-3.docx and ooo119568-2.docx
It is definitely some kind of use-after-free error, but the
compress and delete logic for BigPtrArray is too hairy for me
to debug right now.
This reverts commit 1eee0abd459a508a6dcf9e71cbf2c1be3725faa7.
Also revert commit 4f743419a04375160437a910254c45dea396f70d
"gdb pretty-printers: fix BigPtrArrayPrinter after recent std::isation"
Change-Id: Id870876432a060f9347aafb43bf0df692ea24464
Reviewed-on: https://gerrit.libreoffice.org/39684
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ie98f080fbb0efb807dcb2fb7893811f68e831a8f
|
|
Change-Id: I54529e7086014a2feba89eb73f3b368d36f758b8
|
|
This reverts commit 2757ee9fe610e253e4ccc37423fa420004d0f388.
Besides causing a performance regression, I now notice that
there is code in SW that relies on iterating over two different
SfxItemSet's in parallel, and assumes that missing items are
returned as nullptr, which is not the case for my std::map based
change.
Change-Id: I2b1110350fe4c4b74e5508558e9661ef1e1a103e
|
|
Drops a lot of duplicated code, as Idle is just a convenience
class for instant, mostly low priority timers.
Change-Id: I847592e92e86d15ab1cab168bf0e667322e48048
|
|
Moves all the "task-specific" stuff into a Task class and just
keeps the "real" static Scheduler functions in the original
Scheduler class.
Change-Id: I9eb02d46e2bcf1abb06af5bab1fa0ee734d1984c
|
|
In addition to the GDB pretty printer, this annotates a lot more
Timers and Idles.
Change-Id: I5b93fab02161b23bb753e65ef92643a04fb0789c
|
|
instead of naked array
SfxItemIter ended up needing to take copies of stuff because various
code likes to iterate over the items and delete items inside the loop.
The gdb pretty printer is no longer quite as pretty as it was before,
but it still prints useful info.
Change-Id: I59b07ea42f6b1c74798a15402970b9dbd8233dbe
|
|
Turns out that commit 30f3315d52df22716c086836c41465a6c4cb98b5 has
removed the SwClient there a long time ago, and the SwUnoCrsr was also
renamed...
Change-Id: I92932130c5adbea530c39557932efce70c9f75e7
|
|
Change-Id: Ia9da0c0931a01b2c99c24420a9ba603b47a711c1
|
|
Change-Id: Ief136f57ce60bde1faa0603961aa775967621fbf
|
|
Change-Id: I605e4e972468165e7f5d21681b6e7eeb228dfdc9
|
|
Change-Id: I096211333c563b501627fef0dbdec8c3c98d501a
|
|
Change-Id: Ib7b17f85c7b6a1937c3f6e1617ceec58074643b4
Reviewed-on: https://gerrit.libreoffice.org/30040
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
|
|
... implementing signed years with year 0 gap.
Date(31,12,-1) last day BCE
Date(1,1,1) first day CE
New class Date member functions:
* AddYears(sal_Int16) to be used instead of
aDate.SetYear(aDate.GetYear()+sal_Int16) to handle year 0 gap.
* convenience GetNextYear() to be used insted of GetYear()+1
* convenience GetPrevYear() to be used insted of GetYear()-1
* AddMonths(sal_Int32)
* operator=(const css::util::Date&)
New class DateTime member functions:
* operator=(const css::util::DateTime&)
Made some conversion ctors explicit, specifically Date(sal_Int32)
Adapted hopefully all places that used a sal_uInt16 year to use
sal_Int16 where appropriate.
Eliminated some quirks in date handling found on the fly.
Added era handling to i18npool icu calendar setting interface, which
missing was responsible for 0001-01-01 entered in Calc being set as
-0001-01-01, hence subtracting one day resulted in -0002-12-31.
Change-Id: I77b39fba9599ebd5067d7864f6c9ebe01f6f578f
Reviewed-on: https://gerrit.libreoffice.org/27049
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
|
|
Change-Id: I1461264fe7f951c9ecec777c6217d0acfb7e4254
|
|
Generalize the UnoMark pretty printer to actually print many
objects inheriting from sw::mark::MarkBase.
Also adds the mark name to the output.
Change-Id: Idaec06ba448702ee3a47b474736df954646c0300
|
|
Change-Id: I1447cfc76c529332450c90a21b6525d3103fe852
|
|
Change-Id: I73eb7e664c0a53f135c06c3d8ea450bd9493c780
|
|
Change-Id: I8e4983a91d4f97a2a20fbeed89d4e0f186c35fad
|
|
Change-Id: Ia31c7a91bf78b967e70d288374d9e21439c99221
|