odings
> would really only require 4 charsets.
The problem is that there are hundreds of characters sets that
use a single byte encoding so you're going to wind up duplicating
the encoding related actions for all those character sets.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
copy) I seem to remember someone
> scolding me about this, or something like it, ages ago.
The POSIX docs (or rather their successor, the SuS docs) can be
found online - the current version is at:
http://www.opengroup.org/onlinepubs/007904975/toc.htm
Specific documentation the the pthre
ought the answer was to allow support of multi-level keys, but that
doesn't actually seem to be the case. I can only assume that the
original reason was to support multi-level keys though.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
re somewhere... I'll try and dig it out and send it
in a while...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
e
as what glibc does, namely to return the amount of space that would be
needed to avoid truncation if the result is truncated.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
gh you can actually get rid of the cast
once you do that as pmc_val has the right type.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
entry, nextkey);
> + (PMC*)entry, nextkey);
>
> }
> internal_exception(OUT_OF_BOUNDS,
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message [EMAIL PROTECTED]>
Leopold Toetsch <[EMAIL PROTECTED]> wrote:
> Tom Hughes wrote:
>
> > Unfortunately it doesn't test clean afterwards:
> > dunsmere [~/src/parrot] % perl t/harness t/pmc/intlist.t
>
> > t/pmc/intlistNOK 3#
tests, 50.00% okay
Failed Test Stat Wstat Total Fail Failed List of Failed
---
t/pmc/intlist.t2 512 42 50.00% 3-4
Failed 1/1 test scripts, 0.00% okay. 2/4 subtests failed, 50.00% okay.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
stCompiler.pm
Looks good to me, and seems to solve the problem. Applied.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
entry is allocated.
So it's an implementation detail that doesn't need to be exposed
outside of the intlist code and therefore probably shouldn't be ;-)
Seriously, I'd suggest putting the common code into intlist_new_chunk
or something and then have intlist_new call that bef
In message <[EMAIL PROTECTED]>
Andy Dougherty <[EMAIL PROTECTED]> wrote:
> On 26 Sep 2002, Tom Hughes wrote:
>
> > The problem here is that the rule in the Makefile that causes it to
> > rerun Configure.pl if any of the Configure.pl generated files is ou
h a value of 0 to reset the intlist?
I suspect that it might be better to have a separate intlist_reset or
intlist_empty or something to do that rather than a wierd boolean
parameter like that. Not a major issue though.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
op.c in languages/imcc as they are not built, and seem to have
been removed from the MANIFEST but are still in the repository.
Are these now dead? If they are then I'll remove them, otherwise they
need to go back into the manifest.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
e continues to think it needs to rerun
Configure.pl ad infinitum.
I'm not quite sure how to resolve this in the long term as there are
conflicting goals here, but I've committed the patch for now.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
that is a bit of a mystery; I'd have
> to look at the detailed implementation of Sun's qsort to say for sure.)
>
> Here's the patch that fixes it.
Applied.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
o suggestions as they have nasty speed and/or memory
overhead issues. I don't really understand what you mean by the
third one so I can't comment much on that...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
move due to GC while processing one op.
This may be all fine and dandy for the prederef case but it's going to
force the opcode functions to do a lot more work working out where to
get the key from in all the other cases.
It also prevents you using the optimised _int vtable methods for keyed
access using integer keys...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
a";0], P0["%b";"1"], P0["$c"]
>
> This is rather speculative, but if many operations will be on lexicals as
> opposed to registers/temporaries, such hoariness might be worth it.
Except those indexes are key constants which are type kc but Leopold
only wan
In message <[EMAIL PROTECTED]>
Leopold Toetsch <[EMAIL PROTECTED]> wrote:
> Tom Hughes wrote:
>
> > You will still get horrible op explosion for a three argument op as
> > even if you assume that all PMCs are keyed, there are four key types
> > whic
t horrible op explosion for a three argument op as
even if you assume that all PMCs are keyed, there are four key types
which, with three operands, gives you 64 ops in total.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
much else it can do
really - how would it know when to generate a null key for an operand
and when not to?
I believe you could encode a key constant with zero components in the
byte code if you wanted - the first word of the constant is the
component count after all.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
answer to which is of course that a const method can change any
mutable members of the object ;-)
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
In message <[EMAIL PROTECTED]>
Tom Hughes <[EMAIL PROTECTED]> wrote:
> That explains why you are not seeing the last component. You are also
> missing the first one for some reason. The most likely cause would be
> that you have already used key_next to discar
ant
to make the first line into this:
while (key != NULL) {
That explains why you are not seeing the last component. You are also
missing the first one for some reason. The most likely cause would be
that you have already used key_next to discard the first component
before you reached this
e type of an element of course - surely code will normally know the
type of elements in a key it is manipulating?
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
egers can be used to fetch
and set the value of elements in the list.
Does anybody have any objections to this, or any better ideas on how
to handle this?
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
file)
That sounds like a separate bug in the imcc makefile - the main
parrot makefile only links against libdl if Configure.pl discovers
that perl5 does.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message <20020825155505$[EMAIL PROTECTED]>
Tom Hughes (via RT) <[EMAIL PROTECTED]> wrote:
> Recent changes to imcc make it require a working Parrot_dlopen but
> unfortunately as things stand it never does work because Configure.pl
> never sets HAS_DLOPEN so
ax it does make it compile the new keyed syntax correctly.
Not that that is necessarily a reason not to commit it, but I just
thought I'd point it out.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
rest of your patch.
> In my patch, I decided to put all verbs to the infinitive. Being a
> non-english speaker, I may be wrong, but then we are to put all verbs to the
> third person for consistency...
Your grasp of english grammar is certainly better than my grasp of
french grammar ;-)
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
? basic.pbc
? merged_basic.pasm
Index: basicvar.pasm
===
RCS file: /cvs/public/parrot/languages/BASIC/basicvar.pasm,v
retrieving revision 1.10
diff -u -r1.10 basicvar.pasm
--- basicvar.pasm 20 Jun 2002 00:05:09 - 1.10
+++ basicvar
;m not quite sure how it is supposed to work
given that the hash may decide to rearrange itself if it gets too
full.
What the BASIC interpreter probably needs to do is stringify those
keys itself before trying to look them up.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
f we can get these few problems ironed out.
I have a clean version that's up to date, and as everybody seems to
be happy with it I'm going to go ahead and commit it now.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
s having
a private GC so it can cleanup I hadn't managed to come up with a
solution.
What I realised last night however is that there is enough space in
the private flags on the PMC for the type information and I can then
attach the data directly to the cache and do away with key atoms
completely... I shall get on with that now and post a new patch later.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
ere to look? If so then that isn't what integer
keys were doing - it was converting them to strings and then looking
them up in the normal way.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
sn't make much sense to access the 5.2'th element of an array...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
t another is tricky - either get_integer on a Key PMC will work when
the key is a string or it won't.
In fact there isn't a Hash class at the moment, only a PerlHash.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
will handle the type conversion
issues when necessary.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message <[EMAIL PROTECTED]>
Tom Hughes <[EMAIL PROTECTED]> wrote:
> Does anybody know the _keyed_int PMC methods take the key as a pointer
> to an INTVAL instead of a straight INTVAL?
>
> It doesn't seem to make any sense so unless somebody knows o
Does anybody know the _keyed_int PMC methods take the key as a pointer
to an INTVAL instead of a straight INTVAL?
It doesn't seem to make any sense so unless somebody knows of a reason
for it I plan to change it as part of my keyed access patch...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
top, then only match
> against keyed/non-keyed.
That whole if/else is being reordered as well ;-)
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message
Dan Sugalski <[EMAIL PROTECTED]> wrote:
> At 6:58 PM +0100 8/8/02, Tom Hughes wrote:
>
> >Presumably with all keys being PMCs we will just encode the key
> >arguments in the opcode name as a k, and kc for constant keys.
>
> Yep.
>
&g
r option would be to build a key dynamically
and then use that to do the access.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message <[EMAIL PROTECTED]>
"David M. Lloyd" <[EMAIL PROTECTED]> wrote:
> On Sat, 13 Jul 2002, Tom Hughes wrote:
>
> > Of course... The attached patch should handle that I think...
>
> This patch is breaking several Solaris 32-bit test
r enough. I just took what cvs handed me. It was a fresh checkout as
> of yesterday, updated this morning. Whoever removes those files from the
> repository ought to adjust MANIFEST accordingly.
I have removed the files and updated the MANIFEST to reflect that.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message <[EMAIL PROTECTED]>
Melvin Smith <[EMAIL PROTECTED]> wrote:
> At 03:54 PM 7/14/2002 +0100, Tom Hughes wrote:
> >I've been trying to make sense of the current status of keyed access
> >at all levels, from the assembler through the ops to the
kind of vtable explosion that they promote.
Anyhow, that's probably enough for now... If anybody can elighten me
about how all this is supposed to work then I'll try and knock it all
into shape, starting with making sure that PDD 8 is accurate.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
nt strings in the byte code are zero terminated
when they aren't, and it is therefore overrunning and printing bits of
the next string or whatever. I have just committed a fix.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message <20020713174114$[EMAIL PROTECTED]>
brian wheeler <[EMAIL PROTECTED]> wrote:
> On Sat, 2002-07-13 at 12:32, Tom Hughes wrote:
> > In message <20020703012231$[EMAIL PROTECTED]>
> > Here's a patch that will fix this. I havn't co
ttp://bugs6.perl.org/rt2/Ticket/Display.html?id=758 >
>
>
>
> Fixes to various of the PASM examples in light of recent changes in the
> assembler.
Applied. Somebody please update the ticket...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
he same line, ie:
>
>A: print "a" # prints "a"
> end
>
> then it assembles and runs OK.
Here's a patch that will fix this. I havn't committed it because I'm
not sure why the assember wasn't dropping comments that included quotes
so I
ttp://bugs6.perl.org/rt2/Ticket/Display.html?id=788 >
>
>
>
> This patch fixes a number of off-by-one errors in array.pmc, and adds a
> few more tests.
Applied. Somebody please update the ticket...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
ttp://bugs6.perl.org/rt2/Ticket/Display.html?id=790 >
>
>
>
> Self-explanatory.
Applied. Somebody please update the ticket...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
ttp://bugs6.perl.org/rt2/Ticket/Display.html?id=789 >
>
>
>
> stack_chunk is now Stack_Chunk...
Applied. Somebody update the ticket please...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
e a contiguous stack - it's
just RISC OS that uses the chunked stack I believe.
I believe you can always tell by looking at where sl points and seeing
if there is a valid chunk descriptor there and then following it's prev
pointer to get the previous chunk if there is one.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
aw in my logic and points out
that the GC will catch it...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
ck, after patch 0.166938s 0.168390s
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
Index: rxstacks.c
===
RCS file: /cvs/public/parrot/rxstacks.c,v
retrieving revision 1.5
diff -u -r1.5 rxstacks.c
--- rxstacks.c 17 Ma
can just use the same name in all the libraries
and it won't clash.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
hackers
Which is why I mentioned it a week or two ago ;-)
I also ran it over the test suite and fixed the only bug that it found
at that time...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
ys be singlebyte.
You buffer termination code is also wrong - bufused is the end of
the string. You are null terminating the buffer not the string, and
the buffer may have extra space. Plus you have created a buffer
overrun.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message <[EMAIL PROTECTED]>
Tom Hughes <[EMAIL PROTECTED]> wrote:
> I have developed patch for this in the form of a new routine
> which returns a nul terminated C style string given a parrot
> string as argument. It does this by making sure buflen is at
>
some thought though, to determine how best to handle
this issue.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message <[EMAIL PROTECTED]>
Tom Hughes <[EMAIL PROTECTED]> wrote:
> Syscall param open(pathname) contains uninitialised or unaddressable byte(s)
> at 0x403F1892: __libc_open (__libc_open:31)
> by 0x403829C3: _IO_fopen@@GLIBC_2.1 (iofopen.c:67
rors, rerun with: -v
I haven't attempted to look at this and see what is causing it.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
h is the name of the default encoding for the native character type.
I guess string_init could also set up string_native_encoding by looking
up the name of the default encoding for the native character type.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
nning with INT or UINT and ending
with _MAX or _MIN, or macro names beginning with PRI or SCN
followed by any lower case letter or X may be added to the
macros defined in the header.
So struct x_t should be fine because that's a structure tag and
not a type name.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
de typedefs is not a very
good idea, if only because it makes it impossible to const qualify
the pointer without creating a second parallel typedef.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
e byte encoding, but probably
not for the unicode encodings due to canonicalisation issues.
> * Add size of string termination to encodings (i.e., how many 0 bytes)
Certainly.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message <007f01c1930c$9d326220$[EMAIL PROTECTED]>
"Peter Gibbs" <[EMAIL PROTECTED]> wrote:
> 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)
In message <[EMAIL PROTECTED]>
Daniel Grunblatt <[EMAIL PROTECTED]> wrote:
> On Fri, 21 Dec 2001, Tom Hughes wrote:
>
> > I suspect it is also rather questionable to call system calls
> > directly rather than going via their C library veneers - that is
&g
at arbitrary addresses can be loaded using PC relative loads.
I suspect it is also rather questionable to call system calls
directly rather than going via their C library veneers - that is
even more true when you come to things (like socket calls) which
are system calls on some machines and funct
In message <20011210133529.EYKY11472.femail13.sdc1.sfba.home.com@there>
Bryan C. Warnock <[EMAIL PROTECTED]> wrote:
> On Monday 10 December 2001 03:06 am, Tom Hughes wrote:
> > In message <20011210011601$[EMAIL PROTECTED]>
> >
> > Actually VAXes
and
> implementation, however.
Presumably that's G_Floating that you're converting to/from for
the VAX rather than D_Floating?
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message <[EMAIL PROTECTED]>
Bart Lateur <[EMAIL PROTECTED]> wrote:
> On Thu, 06 Dec 2001 00:16:34 GMT, Tom Hughes wrote:
>
> >So far I have added as is_digit() call to the character type layer
> >to replace the existing isdigit() calls.
>
> T
else there will doubtless me many
other is_xxx() routines in due course which will be simple boolean
tests.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
In message <[EMAIL PROTECTED]>
James Mastros <[EMAIL PROTECTED]> wrote:
> On Mon, 3 Dec 2001, Tom Hughes wrote:
> > It's completely wrong I would have thought - the encoding layer
> > cannot know that a given code point is a digit so it can't possib
e encoding layer to fetch each character and
then the character set layer to determine what digit it represents.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
be visible
across more than one file - if it is only needed in the file that is
implrmenting the scalar class then it can be put there.
In fact many compilers will inline small static functions anyway
even without an explicit hint in the source.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
amendment to this to make string_index use
the encoding routines instead of assuming a single byte encoding.
I have also renamed _string_index to string_index as function names
that start with an underscore are reserved to implementors by the C
standard.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
l be and that it can be used directly instead of
calling string_length().
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
akefile.in
I enhanced this to remove object files from all the current
subdirectories rather then just one, and have committed it.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
such
like but if we can avoid having to have it on we should as it will
impact performance.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
-> .c rule and create core.c from core.ops
and so on. If we're worred about basename clashes then we can always
move all the ops files into an ops subdirectory.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
an it does
on the 1.3GHz Athlon ;-) Doubtless a similar effect would be seen
though.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
with some
giving much greater improvements than others.
One other thing that I did notice is that there is quite a bit of
fluctuation between runs on some of the machines, possibly because
we are measuring real time and not CPU time.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
hand without building it
from source so I haven't tried that as yet.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
10.050130
gosford [~/src/parrot-cg] % ./examples/assembly/mops
Iterations:1
Estimated ops: 3
Elapsed time: 4.515596
M op/s:66.436413
So there is a small speed up for the interpreted version, but nothing
like the three times speedup you had. The compiled version has actually
managed to get slower...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
able of
names which it will look up as it is loaded rather than the current
hard coding of name to number mappings in the byte code.
So all I need now to make all this work is hash tables and dynamic
code loading ;-) Any volunteers...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu
In message <[EMAIL PROTECTED]>
Simon Cozens <[EMAIL PROTECTED]> wrote:
> On Sat, Oct 27, 2001 at 04:23:48PM +0100, Tom Hughes wrote:
> > The encoding_lookup() and chartype_lookup() routines will obviously
> > need to load the relevant libraries on the fly w
In message <[EMAIL PROTECTED]>
Tom Hughes <[EMAIL PROTECTED]> wrote:
> In message <[EMAIL PROTECTED]>
> Dan Sugalski <[EMAIL PROTECTED]> wrote:
>
> > At 04:23 PM 10/27/2001 +0100, Tom Hughes wrote:
> >
> > >Attached i
In message <[EMAIL PROTECTED]>
James Mastros <[EMAIL PROTECTED]> wrote:
> On Mon, Oct 29, 2001 at 11:20:47PM +0000, Tom Hughes wrote:
>
> > I suspect that the encode and decode methods in the encoding vtable
> > are enough for doing chr/ord aren't t
st encoding the argument in the chosen encoding (which
can be the default encoding for the char type if you want) and then setting
the type and encoding of the resulting string appropriately.
Equally ord() is decoding the first character of the string to get a
number.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
ding from ASCII to
Latin-1? and back again? If we're not careful both ends will implement
both translations and we will have effective duplication.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message <[EMAIL PROTECTED]>
Dan Sugalski <[EMAIL PROTECTED]> wrote:
> At 04:23 PM 10/27/2001 +0100, Tom Hughes wrote:
>
> >Attached is my first pass at this - it's not fully ready yet but
> >is something for people to cast an eye over before I s
once we get
> PMCs.
Both string and numeric versions of the comparison ops exist...
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
In message <[EMAIL PROTECTED]>
Tom Hughes <[EMAIL PROTECTED]> wrote:
> Attached is my first pass at this - it's not fully ready yet but
> is something for people to cast an eye over before I spend lots of
> time going down the wrong path ;-)
Before anybody e
In message <[EMAIL PROTECTED]>
Tom Hughes <[EMAIL PROTECTED]> wrote:
> Other than that it looked quite good and I'll probably start looking at
> bending the existing code into the new model over the weekend.
Attached is my first pass at this - it's not full
e the algorithm used and the logic behind it on the
list when I implemented it.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
coding
tasks) will be character set based rather than encoding based.
Other than that it looked quite good and I'll probably start looking at
bending the existing code into the new model over the weekend.
Tom
--
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
1 - 100 of 149 matches
Mail list logo