Stuff Michael Meeks is doing
|
|
This is my (in)activity log. You might like to visit my employer
Novell which is an amazing company, and also
Dell who in days of yore provided me with a
free laptop for Gnome development / conferences.
Also if you have the time to read this sort of stuff you could enlighten
yourself by going to Unraveling Wittgenstein's net or if
you are feeling objectionable perhaps here.
Older items:
2008: (
J
F
M
A
M
J
J
A
),
2007: (
J
F
M
A
M
J
J
A
S
O
N
D
),
2006,
2005,
2004,
2003,
2002,
2001,
2000,
1999,
legacy html
- Up early, dealt with babes, poked mail.
Experimented trying to construct a const/static string,
which (I guess) should be a simple thing: I want to
go from:
"foo" to:
struct rtl_uString { (1<<31)+1, strlen("foo"), { 'f', 'o', 'o' /* UTF-16 */ } }
Unfortunately, that appears somewhat difficult. It'd be
a great problem to crack though, making it easy to
conditionally (gcc only?) move a ton of strings into
.rodata, save a load of heap, and save doing any
ref-counting on them too).
- Ferried cake to Tim & Coleen's to celebrate
his return from the desert; dropped babes at the doctors,
washed up waiting for Janine.
- Eventually after much fiddling came up with
a nice 'magic' macro:
typedef struct {
int ref;
int len;
const wchar_t buffer[4];
} Str;
#define DECL_STR(a) \
((Str *)(&((const struct { int r; int l; const wchar_t b[strlen(a) + 1]; } ) { (1<<30)+1, strlen(a), L##a })))
...
printStr(DECL_STR("Foo"));
The GCC page on
Compound Literals is quite helpful. Unfortunately gcc
(apparently) doesn't elide duplicate DECL_STR generated output
in .rodata sections (which is interesting in itself perhaps).
(sample).
- Committed the relevant new stuff to CWS salstrintern,
added some regression tests for the string interning logic, that
appears to work (so far). Hacked away fixing various issues.
- Started working all the evil mis-uses of the
RTL_CONSTASCII_USTRINGPARAM macro from around the place, a
good number of places. Re-building laptop, installed lots of
packages, recalled that the moaning about xulrunner-xpcom really
means 'install gecko-sdk' on SLED.
- Ran aground with my CONSTASCII stuff in xmloff -
clearly a heavy string user; lots of cleverness (which should
no longer be necessary) in order to avoid having static
OUString constructors, that breaks my plan a little; bother.
- Income tax fun in the evening.
In case it's not painfully obvious: the reflections reflected here are my
own; mine, all mine ! and don't reflect the views of Novell, The
Lithuanian Gov't or Arnold Schwarzenegger. It's also important to
realise that I'm not in on the Swedish Conspiracy.
Occasionally people ask for formal photos for conferences,
bio.
or fun.
Michael Meeks (michael.meeks@novell.com)