Implementing COW is a bit harder, although now that we have a DOD pass, a
lot easier. We can update counts in there...it's just not very easy to see
how we're going to keep track of refcounts.
I made two assumptions for my test implementation of COW strings:
1) we need to be able to share
Currently, calling string_make(interp, NULL,0,NULL,0,NULL), as is done by,
for example new P0, PerlString, calls Parrot_allocate with a required
allocation of zero, which gets converted to 16; a 16-byte buffer is hence
allocated, and its address placed in bufstart. However, buflen will still be
# New Ticket Created by Robert
# Please include the string: [netlabs #482]
# in the subject line of all future correspondence about this issue.
sigh.
ignore me.
I made two assumptions for my test implementation of COW strings:
Wow, you already have a COW implementation? Great to hear!
1) we need to be able to share substrings as well as complete strings
2) COW must survive garbage collection
Without these two, I believe the overhead probably
2) COW must survive garbage collection
COW can in certain cases, *not* survive garbage collection, specifically
The simplest possible implementation of COW strings would be to let the
garbage collector 'undo' the COW nature i.e. make multiple copies of all
shared buffers. All I meant was
On Tuesday 02 April 2002 04:36, Peter Gibbs wrote:
Currently, calling string_make(interp, NULL,0,NULL,0,NULL), as is done by,
for example new P0, PerlString, calls Parrot_allocate with a required
allocation of zero, which gets converted to 16; a 16-byte buffer is hence
allocated, and its
On Tuesday 02 April 2002 01:48, Josh Wilmes wrote:
(apparently the enum type is signed by default).
Implementation defined.
--
Bryan C. Warnock
[EMAIL PROTECTED]
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, so it uses the supplied size. The patch
below
On Tue, Apr 02, 2002 at 01:33:59AM -0500, Michel J Lambert wrote:
If instead, registers are aliased onto traditional memory variables, such
that a PMC pointed to by a register is *also* pointed to by a stash
somewhere, then it's a bit harder.
I believe this is the desired scheme.
Blocking
Ok -
New tickets created in the parrot queue on bugs6.perl.org are now
automagically sent to p6i. You can just reply to them and the right
thing will happen -- the messages will get tracked. Just keep the
[netlabs #foo] string in the header.
If the tickets don't show up
could the http://bugs6.perl.org/rt2/Ticket/Display.html?id=XX link be
posted in the messages?
Robert wrote:
Ok -
New tickets created in the parrot queue on bugs6.perl.org are now
automagically sent to p6i. You can just reply to them and the right
thing will happen -- the messages
With the following comment:
- Changes KEY to contain a KEY_PAIR* instead of a KEY_PAIR**
- Changes the MAKE_KEY macro to work within an expression
- Changes the MAKE_KEY macro to not return NULL if the value is 0 or
NULL. This is needed because an enum_int_val key, for example, will
On Sat, Mar 30, 2002 at 09:38:31AM -0500, Dan Sugalski wrote:
With the recent stack and GC patches, are we pretty much solid now?
If so, a 0.0.5 bugfix release may well be in order.
--
Everything I wanted to get in to a 0.0.5 release is there now.
On Tuesday 02 April 2002 08:30, Peter Gibbs wrote:
Currently, string_make sets the value of buflen. It does not know about
Parrot_allocate's rounding rule, so it uses the supplied size. The patch
below changes string_make to set the allocation request (and hence buflen)
to one less than the
Dennis Haney wrote:
could the http://bugs6.perl.org/rt2/Ticket/Display.html?id=XX link be
posted in the messages?
Yes. It should be in all future ones.
-R
On 03 April 2002 05:09 Bryan C. Warnock wrote:
We should probably have Parrot_allocate (and realloc) actually pass back
how much it *really* allocated, as opposed to having to guess and/or
reimplement the rounding algorithm everywhere.
Either
buflen = Parrot_allocate(interpreter,
At 08:05 AM 4/3/2002 +0200, Peter Gibbs wrote:
chances are very small, but not zero. Why are we passing a C-style string
around inside parrot anyway?
The IO layer is going to be stringified soon.
-Melvin
Cola now supports conditional expressions in the C#/Java form.
See cola/examples/expressions.cola
-Melvin
18 matches
Mail list logo