Re: GC design

2002-05-26 Thread Peter Gibbs
esolved, albeit not optimally, in the current version. -- Peter Gibbs EmKel Systems Index: include/parrot/interpreter.h === RCS file: /home/perlcvs/parrot/include/parrot/interpreter.h,v retrieving revision 1.45 diff -u -r1.45 interpreter.h -

[netlabs #628] [PATCH] Make hash.c depend on parrot headers

2002-05-27 Thread Peter Gibbs
# New Ticket Created by "Peter Gibbs" # Please include the string: [netlabs #628] # in the subject line of all future correspondence about this issue. # http://bugs6.perl.org/rt2/Ticket/Display.html?id=628 > Following patch adds dependencies entry for hash.c to Makefile. Stop

[netlabs #629] [PATCH] Memory manager/garbage collector - major revision

2002-05-27 Thread Peter Gibbs
# New Ticket Created by "Peter Gibbs" # Please include the string: [netlabs #629] # in the subject line of all future correspondence about this issue. # http://bugs6.perl.org/rt2/Ticket/Display.html?id=629 > Attached patch does some fairly radical things to the memory manag

[netlabs #691] [PATCH] Documentation update

2002-06-07 Thread Peter Gibbs
# New Ticket Created by "Peter Gibbs" # Please include the string: [netlabs #691] # in the subject line of all future correspondence about this issue. # http://bugs6.perl.org/rt2/Ticket/Display.html?id=691 > Index: RESPON

Re: [COMMIT] GC Speedup

2002-07-24 Thread Peter Gibbs
aster machine and see what happens. -- Peter Gibbs EmKel Systems

Re: [COMMIT] GC Speedup

2002-07-24 Thread Peter Gibbs
doesn't want to use them due to the problems that occur when we > start using exceptions (and longjmp, etc). If performance has to halve in order to implement such features, I hope somebody plans to write Parrot::Lite! -- Peter Gibbs EmKel Systems

Re: Unifying PMCs and Buffers for GC

2002-08-04 Thread Peter Gibbs
> Finallythe unification of buffers and PMCs means that buffers can now > point to things of their own accord, without requiring that they be > surrounded by an accompanying PMC type. How about the other way round? If the one-size-fits-all PMCs were to be replaced by custom structures, then everything could be a PMC, and buffer headers as a separate resource could just disappear! -- Peter Gibbs EmKel Systems

Re: Unifying PMCs and Buffers for GC

2002-08-04 Thread Peter Gibbs
ed block, first allocate 16K, discard the amount before the alignment point, and dish out the rest as 15 (or 16 if you're really lucky) 1K aligned pages. I seriously considered this when I changed my buffer memory to be paged instead of a single allocation per memory pool; but I haven't act

Re: [perl #16085] [PATCH] perlundef.pmc

2002-08-08 Thread Peter Gibbs
and perlstring that I also left out originally. -- Peter Gibbs EmKel Systems

Request for behaviour definition for assignment to PerlScalar

2002-08-08 Thread Peter Gibbs
ontext and act accordingly. If context was an enumeration, a simple switch statement would suffice. In this case, it might be interesting to benchmark the consequences of replacing some of the other get_X vtable functions. e.g. get_integer(pmc) -> get_value(pmc, CONTEXT_INTEGER) Comments, any

Re: Request for behaviour definition for assignment to PerlScalar

2002-08-09 Thread Peter Gibbs
Peter Gibbs wrote: > vtable method get_scalar(pmc) > vtable method get_value(pmc, context) Having broken the rule of posting before drinking coffee in the morning, this is obviously nonsense - neither of these will work, because we don't know the return type of these fu

Re: Request for behaviour definition for assignment to PerlScalar

2002-08-10 Thread Peter Gibbs
t) { case CONTEXT_SCALAR: return BASETYPE_INTVAL; } } void set_pmc(PMC* value) { switch (value->get_preferred_type(INTERP, value, CONTEXT_SCALAR)) { case BASETYPE_INTVAL: set_integer(INTERP, SELF, value); break; } } -- Peter Gibbs EmKel Systems

Re: set Boolean to 2

2002-08-15 Thread Peter Gibbs
C in any way. The future 'assign Px, Py' will call a vtable function (set_pmc); however, in the quoted example, the pure register level behaviour is all that is intended. -- Peter Gibbs EmKel Systems

Re: set Boolean to 2

2002-08-15 Thread Peter Gibbs
PerlInt - in future, the perl compiler will have to create a PMC with the correct type initially, and this morphing will be removed for typed variables. -- Peter Gibbs EmKel Systems

[INFO] The first pirate parrot takes to the air

2002-08-16 Thread Peter Gibbs
to somewhere close to that again. -- Peter Gibbs EmKel Systems

Re: [INFO] The first pirate parrot takes to the air

2002-08-16 Thread Peter Gibbs
to the Buffer header structure arose in a thread started by Dan himself, with contributions from Mike Lambert and myself: http:[EMAIL PROTECTED]/msg11424.html The specific message from Dan prohibiting it was: http:[EMAIL PROTECTED]/msg11570.html -- Peter Gibbs EmKel Systems

Re: [INFO] The first pirate parrot takes to the air

2002-08-16 Thread Peter Gibbs
both fields to determine if transcoding is required. I do not believe that the two fields are orthogonal, and therefore the number of charsets would be less than #chartypes * #encodings. b) some alterations to the single vtable thus created, in particular the addition of a find_substring method. --

Re: [INFO] The first pirate parrot takes to the air

2002-08-16 Thread Peter Gibbs
sed on point 2. I will be sending my patch to Mike so he can see if there is anything he can use. -- Peter Gibbs EmKel Systems

Re: [INFO] The first pirate parrot takes to the air

2002-08-17 Thread Peter Gibbs
to do a diff) is an experimental version of string_repeat that tries to reduce the number of calls to memcpy. I can't find my notes at the moment as to what benefit it gave - perhaps you might like to try it sometime. (Note that the string_make call will need to be changed to the split chartype/encodin

Re: [perl #16269] [PATCH] COW...Again and Again

2002-08-17 Thread Peter Gibbs
an improvement on Hanoi of about 15% using your COW patch, and your COW is better on both tests than mine. -- Peter Gibbs EmKel Systems

Re: Stack Walk Speedups?

2002-08-17 Thread Peter Gibbs
of the loop. (patch attached, but not fully tested) On my machine, that changes 5000 lives from 168 seconds to 133 (tested for one run each only) I'm sure there is more that can be done, but that may help for now. -- Peter Gibbs EmKel Systems dod.patch Description: Binary data

Re: Stack Walk Speedups?

2002-08-17 Thread Peter Gibbs
(and hence PARROT_PTR_ALIGNMENT = 1), but IIRC a push or pop will always change the SP by 2 or 4, therefore the stack walk code can do the same. In a quick test, using a hardcoded value of 2 in the stack walk code, 5000 lives dropped down to 112 seconds. -- Peter Gibbs EmKel Systems

Re: [perl #16269] [PATCH] COW...Again and Again

2002-08-18 Thread Peter Gibbs
ns somewhere. I am still trying to track it down further - there is definitely something very strange happening here somewhere. I suspect a combination of slower and fatter may make it hard to persuade Dan that we need cows? -- Peter Gibbs EmKel Systems

Re: [perl #16269] [PATCH] COW...Again and Again

2002-08-18 Thread Peter Gibbs
ocation here, rather than excess usage? If so, grey will fix it in the next release with paged memory allocation; and I'm sure you'll think of a solution also. -- Peter Gibbs EmKel Systems

Re: [perl #16269] [PATCH] COW...Again and Again

2002-08-19 Thread Peter Gibbs
with the addition of strstart also. -- Peter Gibbs EmKel Systems

Re: [perl #16269] [PATCH] COW...Again and Again

2002-08-21 Thread Peter Gibbs
overhead. The next item on the list for grey was paged memory allocation - this may be usable to some extent without the buffer linked lists; so I will probably give that a spin anyway. -- Peter Gibbs EmKel Systems main() { void * a; void * b; char c; void * d; struct { void * a;

Possible bug in new string COW code

2002-08-21 Thread Peter Gibbs
s, and strlen as being in encoding-defined characters. Did something change when I wasn't looking, or is this a bug just waiting for somebody to actually implement Unicode? -- Peter Gibbs EmKel Systems

Re: [perl #16269] [PATCH] COW...Again and Again

2002-08-22 Thread Peter Gibbs
zen ideas that caused performance to deteriorate and were discarded. Only changes that improved performance (or had a very small detrimental effect but were required for subsequent changes) survived. -- Peter Gibbs EmKel Systems

[INFO] African Grey, version 3

2002-08-27 Thread Peter Gibbs
All tests pass with GC_DEBUG=0; three fail with GC_DEBUG=1, due to bugs in the index op in core.ops (string_to_cstring returns highly volatile pointers) I have not done a full audit for cycle counter wrap problems yet, so long-running programs may experience difficulties. -- Peter Gibbs EmKel Sy

Re: [perl #16874] [BUG] Concatenation failing

2002-08-30 Thread Peter Gibbs
d doesn't output quux. Patch below should fix the problem. This is not an optimal solution, as the unmake_COW is probably not required if the string_grow is going to happen anyway, but it seems to follow the general spirit of the current code.

Re: [BUG] GC collects argv aka P0

2002-08-30 Thread Peter Gibbs
ll fix the problem, but I have been leaving those for Mike to look at. In the meantime, a temporary quick-fix patch is included below. -- Peter Gibbs EmKel Systems Index: string.c === RCS file: /cvs/public/parrot/string.c,v retr

Re: [perl #16874] [BUG] Concatenation failing

2002-08-31 Thread Peter Gibbs
d pass, and hence string_grow not be called, but then unmake_COW could shrink the destination buffer before the memcopy happens. -- Peter Gibbs EmKel Systems

Re: [perl #16859] [PATCH] Fix BUFFER_external_FLAG for strings

2002-08-31 Thread Peter Gibbs
scrap selfpoolptr, and instead set the external flag where you currently clear selfpoolptr. -- Peter Gibbs EmKel Systems

Re: IRIX64 alignment problem

2002-09-01 Thread Peter Gibbs
is not adjusted to the desired alignment. -- Peter Gibbs EmKel Systems

[Info] African Grey update

2002-09-04 Thread Peter Gibbs
structs The 'total bytes allocated' for grey refers to the aligned page allocator, and therefore now includes headers. 72k patch not attached. -- Peter Gibbs EmKel Systems

Re: [Info] African Grey update

2002-09-05 Thread Peter Gibbs
that could have been collected, or some sort of statistic that > indicates how often the paged collections kick in? I'll take a look at this tomorrow. Thanks for your interest -- Peter Gibbs EmKel Systems

Re: [perl #17035] [PATCH] chr support => strange behavior

2002-09-08 Thread Peter Gibbs
doesn't work when I try to change S0 from the test > set. But when I try to put a > set S0, "v" > > just before using the ord instruction, then I get the good behavior. > Of course, I can't use the set, since the char in S0 can be anything in a > real

Re: chr, ord etc

2002-09-10 Thread Peter Gibbs
string Sy per type Iz Currently supported types are: 0 = 8-bit 1 = 16-bit little-endian 2 = 16-bit big-endian 3 = 32-bit little-endian 4 = 32-bit big-endian -- Peter Gibbs EmKel Systems convert.t Description: Binary data convert.h Description: Binary data

Re: chr, ord etc

2002-09-10 Thread Peter Gibbs
t the platform's size and byteorder. If the concept gets accepted, then we can start extending. -- Peter Gibbs EmKel Systems

Re: [INFO] African Grey array speedup

2002-10-03 Thread Peter Gibbs
ell with the current CVS DOD code; the above tests were done with appropriate fixes. -- Peter Gibbs EmKel Systems

Re: [INFO] news about Lea allocator

2002-10-02 Thread Peter Gibbs
dy to check. -- Peter Gibbs EmKel Systems

[INFO] African Grey array speedup

2002-10-02 Thread Peter Gibbs
y is only freed when the header is freed, and such embedded headers are not known to the dod system, memory allocated to these embedded headers would stick around forever?? -- Peter Gibbs EmKel Systems

Re: [INFO] African Grey array speedup

2002-10-02 Thread Peter Gibbs
ey = 30 seconds Doing any more iterations than that will take far too long, we already know that CVS will always win when access happens a lot more often than creation. -- Peter Gibbs EmKel Systems

Re: [INFO] African Grey array speedup

2002-10-02 Thread Peter Gibbs
Leopold Toetsch wrote: > Peter Gibbs wrote: > Did you look at indexed access, shift, unshift, splice ;-) I have simply modified classes/array.pmc, which does not yet implement shift or unshift; grey aims to provide alternative implementations, rather than add new functionality. However,

Re: [perl #17739] [PATCH] Tests for assign ops

2002-10-03 Thread Peter Gibbs
value of a PMC was being updated, rather than the PMC register being changed. There are a lot of changes needed to existing code (e.g. most of the tests) before the 'set' versions can be deleted. -- Peter Gibbs EmKel Systems

Re: [perl #17739] [PATCH] Tests for assign ops

2002-10-04 Thread Peter Gibbs
7;assign P0, P1' which would, somehow, cause the existing PMC referenced by P0 to acquire the value of the PMC referenced by P1 (via the vtable method set_pmc). How to achieve this has never been resolved. The changes of the other 'set P0, xxx' opcodes to 'assign' are basically for consistency. -- Peter Gibbs EmKel Systems

Re: Help! Bugs! Crawling all over!

2002-10-21 Thread Peter Gibbs
wo can be fixed by the patch below. The last one looks like a fundamental problem in MultiArray. The line b->cell_buffer = new_buffer_header(interpreter); in function new_marray is creating a new buffer header, overwriting the new_bufferlike_header created earlier. -- Peter Gibbs EmKel Sy

Re: [CVS ci] string_str_index

2002-10-30 Thread Peter Gibbs
do is try to keep the overall noise level as low as possible. -- Peter Gibbs EmKel Systems

Re: Questions about Px registers and memory usage [PATCH]

2002-11-03 Thread Peter Gibbs
;t (and I can expect it to vanish eventually)? This is simply a long-standing GC bug. Try the attached patch and see if it helps. -- Peter Gibbs EmKel Systems dod.patch Description: Binary data

Should memory be washed?

2002-11-04 Thread Peter Gibbs
ybody else, but with a potential performance cost. -- Peter Gibbs EmKel Systems

Re: [CVS ci] string_set is back for a faster live - not only

2002-11-06 Thread Peter Gibbs
set S1, S0 set S2, "another" substr S0, S2, 1, 3 print S1 print "\n" end -- Peter Gibbs EmKel Systems

Re: [CVS ci] string_set is back for a faster live - not only

2002-11-06 Thread Peter Gibbs
revious example follows, as it points out some more inconsistent behaviour. -- Peter Gibbs EmKel Systems set S0, "test" set S1, S0 set S2, "another" substr S0, S2, 1, 3 print S1 print "\n" set S0, "test" new P1, .PerlString set P1, S0 set S2, &q

Re: String API

2003-08-21 Thread Peter Gibbs
nt *length); }; -- -- Peter Gibbs EmKel Systems

Error in UTF8 encoding (Committed)

2003-08-20 Thread Peter Gibbs
ever seems to have cancelled my privileges :-) -- Peter Gibbs EmKel Systems Index: include/parrot/unicode.h === RCS file: /cvs/public/parrot/include/parrot/unicode.h,v retrieving revision 1.5 diff -u -r1.5 unicode.h --- include/parrot

Re: Error in UTF8 encoding (Committed)

2003-08-20 Thread Peter Gibbs
I I 040 i s t h e s a m e a s U 060 T F 8 \n [EMAIL PROTECTED] parrot]$ uname -a Linux linux01.emkel.co.za 2.2.23 #2 Sun Apr 20 12:00:21 SAST 2003 i586 unknown -- Peter Gibbs EmKel Systems

Compound strings - demo model

2003-08-23 Thread Peter Gibbs
turn the concatenation of the elements. Iterator code has been amended to iterate into the elements. Work is ongoing to handle substr, etc. Comments welcome. -- Peter Gibbs EmKel Systems

Proposed amendment to chartype structure, is_digit and get_digit

2003-09-05 Thread Peter Gibbs
values to digit values 3) Add a pointer to the above struct to the CHARTYPE structure Any comments on the above before I go ahead? -- Peter Gibbs EmKel Systems

Re: Proposed amendment to chartype structure, is_digit and get_digit

2003-09-05 Thread Peter Gibbs
or the less simple ones. The current methods for both digit handling and transcoding are context-free, which I suspect may become a problem later; if so, some form of iterator with context information will be required. -- Peter Gibbs EmKel Systems

Re: cvs commit: parrot/chartypes usascii.c

2003-09-05 Thread Peter Gibbs
Leopold Toetsch wrote: > Peter Gibbs <[EMAIL PROTECTED]> wrote: > > +if (!chartype_array) > >chartype_init(); > > +if (!encoding_array) > >encoding_init(); > > T think, both should be done at interpreter startup, called

First draft of dynamic chartype loading

2003-09-06 Thread Peter Gibbs
her development. All feedback welcome -- Peter Gibbs EmKel Systems

Questions on string-to-number conversion in Parrot

2003-09-07 Thread Peter Gibbs
e sequence 'DIGIT ONE' 'DIGIT TWO' 'TAMIL DIGIT THREE' result in twelve or one hundred and twenty three? 3) What should 'DIGIT ONE' 'VULGAR FRACTION ONE QUARTER' produce? Any thoughts regarding signs, decimal points, exponent indicators etc. are also welcome -- Peter Gibbs EmKel Systems

Re: One more test failure on Windows

2003-09-17 Thread Peter Gibbs
_unicode, /* from_unicode() */ Incorrect prototype for this function, now fixed - please try again. Thanks Peter Gibbs

DBCS versus skip_backward

2003-11-03 Thread Peter Gibbs
Peter Gibbs EmKel Systems

Character classification functions

2003-11-01 Thread Peter Gibbs
switch statement, versus individual wrappers for each class. I prefer the single function approach, so that is what I will start implementing if there are no timeous objections. Regards Peter Gibbs EmKel Systems

Re: Character classification functions

2003-11-01 Thread Peter Gibbs
"Michael Scott" <[EMAIL PROTECTED]> wrote: > Since the enum will specify what you yourself call character classes > can't we call the function is_charclass() instead? The isascii etc macros have been defined in a header called ctype.h for some time, and glibc actually has a macro 'isctype' whic

[Commit] Character classification functions

2003-11-04 Thread Peter Gibbs
check to see if I've broken anything too badly. Regards Peter Gibbs EmKel Systems

Re: [CVS ci] hash compare

2003-11-12 Thread Peter Gibbs
eturn 1; } return 0; For the hash_utf8 benchmark with the current code I get numbers like: 3.758691 5.535916 With the above iterator code (and the UTF8 decode_and_advance function implemented) I get: 3.757812 4.844776 Does anybody think this is worth implementing? Regards Peter Gibbs EmKel Systems

[Commit] String iterator

2003-11-14 Thread Peter Gibbs
benchmark went from approx. 4.01/5.88 seconds to 3.97/5.31 seconds on my system. The behaviour of the decode_and_advance functions in the various encodings still needs proper testing; this will follow during the weekend. Regards Peter Gibbs EmKel Systems

JIT failure with Fedora

2003-12-11 Thread Peter Gibbs
2.4.22-1.2115.nptlsmp #1 SMP Wed Oct 29 15:30:09 EST 2003 i686 i686 i386 GNU/Linux gcc --version gcc (GCC) 3.3.2 20031022 (Red Hat Linux 3.3.2-1) Please let me know if there is any further testing that would help. Regards Peter Gibbs EmKel Systems

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Peter Gibbs
alized function, e.g.: > - mem_alloc_executable > - mem_realloc_executable > - mem_flush_executable > - mem_free_executable Note that JIT already fails under Fedora Core 1 because of 'Exec-Shield' , which is the Linux equivalent of the functionality described by Jonathan. Regards Peter Gibbs EmKel Systems

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Peter Gibbs
hether exec-shield is active, only that there is an mprotect function with the appropriate attribute constants. Regards Peter Gibbs EmKel Systems

mem_alloc_executable

2004-01-03 Thread Peter Gibbs
n32 is now just plain broken, as I do not have facilities to test it) Regards Peter Gibbs EmKel Systems

Re: [perl #24799] [PATCH] bug in find_chartype's chartype_create_from_mapping()

2004-01-03 Thread Peter Gibbs
> +if (p && *p != '#') { Patch applied. Many thanks Peter Gibbs EmKel Systems

Correction to string patch

2001-12-30 Thread Peter Gibbs
David In your last change (splitting buffer allocation from string) I assume you also intended to shorten the initial allocation. Peter Gibbs EmKel Systems Index: string.c === RCS file: /home/perlcvs/parrot/string.c,v retrieving

Another correction to string patch

2001-12-31 Thread Peter Gibbs
free() calls should go in free_string() rather than one in string_destroy() but I don't know exactly what you and/or Dan intended here. Peter Gibbs EmKel Systems Index: resources.c === RCS file: /home/perlcvs/parrot/res

Re: Another correction to string patch

2001-12-31 Thread Peter Gibbs
to COW strings - would the buffer-related parameters (eg bufstart, buflen, bufused) then not be linked to the buffer rather than the string? ie should we have two structs (STRING & BUFFER) rather than one combined one, with STRING pointing to BUFFER rather than directly to memory? Peter Gibbs

[PATCH] string_transcode

2002-01-01 Thread Peter Gibbs
I suspect that the length of the output buffer for string_transcode should be based on the output encoding, not on the input encoding. Peter Gibbs EmKel Systems Index: string.c === RCS file: /home/perlcvs/parrot/string.c,v

[PATCH] string_transcode

2002-01-01 Thread Peter Gibbs
Another correction to string_transcode; this function now seems to work okay (tested using a dummy 'encode' op added to my local copy of core.ops) Peter Gibbs EmKel Systems Index: string.c === RCS file: /home/perl

Re: TODOs for STRINGs

2002-01-01 Thread Peter Gibbs
udes buffer re-use (copy-on-write) for substrings. On the other hand, passing strings to native C library routines requires the termination. One compromise would be for 'unique' strings to be terminated, and do 'copy-on-read' if a non-unique string (i.e. one borrowing a buffer)

Possible error in key_hash

2002-01-08 Thread Peter Gibbs
Jeff If I understand the STRING struct correctly, buflen is the physical allocation of the buffer, and bufused is the number of bytes actually used by the string; therefore the latter would be correct for key_hash? Peter Gibbs EmKel Systems Index: key.c

Re: [PATCH] Minor fixes to rx.c

2002-01-10 Thread Peter Gibbs
ion will be happening on fixed boundaries, it may make sense to round the buffer length up to match. -- Peter Gibbs EmKel Systems Index: include/parrot/string.h === RCS file: /home/perlcvs/parrot/include/parrot/string.h,v retrieving

GC discarding free pmc pool?

2002-03-18 Thread Peter Gibbs
t" to life.pasm in the middle of the stats output lines, and on my linux x86 system this gives a segfault, which seems to confirm that something has gone awry somewhere. -- Peter Gibbs EmKel Systems

Re: Anyone using the current regex ops?

2002-03-18 Thread Peter Gibbs
Dan I assume you meant pmc_pool not buffer_header_pool ?? -- Peter Gibbs EmKel Systems Index: resources.c === RCS file: /home/perlcvs/parrot/resources.c,v retrieving revision 1.30 diff -c -r1.30 resources.c *** resources.c 18 Mar

Re: [PATCH] Stack bugfix

2002-03-26 Thread Peter Gibbs
low fixes it by clearing the buffer pointer on allocation of a new header; it could alternatively be done when the header is added to the free list. -- Peter Gibbs EmKel Systems Index: resources.c === RCS file: /home/perlcvs/parrot/r

GC bugs

2002-03-28 Thread Peter Gibbs
nce both these problems involve design considerations, I am leaving it to Dan to fix them. Quick hacks to bypass the problems show that the pushp/popp test then works fine. -- Peter Gibbs EmKel Systems

Re: Strings/Stack access hanging (small version)

2002-03-28 Thread Peter Gibbs
Clinton The following patch seems to fix both these problems. It makes some slight changes to the logic, so should be considered a temporary fix until Dan has time to take a look at the code. -- Peter Gibbs EmKel Systems Index: resources.c

Re: Memory Corruption Bug

2002-03-29 Thread Peter Gibbs
again. Since the free pools are not compressed by go_collect, perhaps they should be allocated independently and not copied around all the time?? After fixing the above, the test program still abends, this time with "subend somehow is less than substart" - I have not yet followed

Re: Bugfix release?

2002-03-30 Thread Peter Gibbs
reallocate. A patch to create such a function and use it within add_pmc_to_free and add_header_to_free follows; since all uses of mem_realloc are potentially at risk, it might be a good idea to change any such places also. -- Peter Gibbs EmKel Systems Index: incl

Re: PMCs requiring a 'set' dest register?

2002-03-31 Thread Peter Gibbs
bc3, as the reference stays intact following the re-assignment to $foo. Assuming that this will stay the same for perl 6, we must either keep the original PMC address, or find and correct all references to it. -- Peter Gibbs EmKel Systems

Re: PMCs requiring a 'set' dest register?

2002-04-01 Thread Peter Gibbs
n the same place as only creating a new string if the final parameter is NULL; the implementations again differ. I agree that the whole issue of garbage collection relating to newborns and temporaries is problematic. One option might be to always flag newly-created objects in some way, then have a single function call to release them; at least this means just one function call at the end of each procedure. This still leaves a problem with nested procedures. -- Peter Gibbs EmKel Systems

COW strings

2002-04-02 Thread Peter Gibbs
as discussed above, so "once a cow, always a cow", which will have some negative impact. -- Peter Gibbs EmKel Systems

Definition of a null string?

2002-04-02 Thread Peter Gibbs
f useless blocks, or should we just let them be created and discarded? -- Peter Gibbs EmKel Systems

Re: COW strings

2002-04-02 Thread Peter Gibbs
epeat; this could be modified to do a simple string_copy if the repeat count was one, and to act in-place if possible Since then, string_replace has been added; for now, I will just change this to do a straight un-cow (i.e. make a copy of the buffer if it is marked as COW) > Mike Lambert > -- Peter Gibbs EmKel Systems

[PATCH] Re: Definition of a null string?

2002-04-02 Thread Peter Gibbs
>> On Tuesday 02 April 2002 04:36, Peter Gibbs wrote: >"Bryan C. Warnock" <[EMAIL PROTECTED]> wrote: > buflen should be 16, not 0. bufused should be 0. Currently, string_make sets the value of buflen. It does not know about Parrot_allocate's rounding rule,

Re: [PATCH] Re: Definition of a null string?

2002-04-02 Thread Peter Gibbs
on; since this is only for a mode string, the chances are very small, but not zero. Why are we passing a C-style string around inside parrot anyway? -- Peter Gibbs EmKel Systems

Re: [PATCH] Parrot_(re)allocate_buffer

2002-04-03 Thread Peter Gibbs
uch), which would then be called by both Parrot_allocate and Parrot_reallocate. The alignment/padding rules would then be implemented in _allocate and _reallocate, but nowhere else. Of course, putting the 'correct' buflen into the string header messes up my evil use of the last byte for

Re: Worst-case GC Behavior?

2002-04-09 Thread Peter Gibbs
, after the DOD run, there is still less than N headers available, allocate more even though we can satisfy the immediate requirement. This would improve performance by reducing the number of DOD runs, but at the cost of additional memory - a classic tradeoff! -- Peter Gibbs EmKel Systems

Re: COW for strings

2002-04-09 Thread Peter Gibbs
2412 collection runs were made Copying a total of 0 bytes There are 81 active Buffer structs There are 256 total Buffer structs -- Peter Gibbs EmKel Systems

[PATCH] string_grow doesn't allocate new buffer if nothing to copy

2002-04-12 Thread Peter Gibbs
The string_grow function (currently used only by string_replace) does not allocate a new buffer if there are no bytes to be copied from old buffer to new buffer. Patch below fixes this. -- Peter Gibbs EmKel Systems Index: string.c

Re: [PATCH] Disable GC at startup

2002-04-12 Thread Peter Gibbs
al of 57801936 bytes so a 97% decrease in the number of collection runs only turns into an 11% improvement in total performance. [166MHz Pentium; linux 2.2.18] -- Peter Gibbs EmKel Systems

  1   2   >