Hello,
This weekend I played a little bit with Parrot, and in order to learn
more about vtables I just implemented Scheme Pairs
Here are the changes:
* MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in
include/parrot/pmc.h:
Added SchemePair as described in
Hello,
some time ago (before I went to holidays) I posted a patch
implementing Schemepairs, but I didn't get any comments about this. I
am wondering what is the reason for this.
Was the patch too long, or too outdated (I can resend a newer version
of the patch agains current anoncvs).
Or is the
Ok, here is the updated schemepair-patch.
The diff is agains a fresh update of anoncvs and should hopefully apply
clean.
A Pair is implemented as an array with exact 2 elements. This elements
may be PMC values, especially other Pairs. The car-element is index 0,
the cdr-element is index 1.
Li
Simon Cozens <[EMAIL PROTECTED]> writes:
> > To implement nested pairs its nessary to introduce 2 new vtable functions
> > and the acompaning core.ops to get and set the PMC value of the indexed
> > element. I choosed set_p_p_i and set_p_i_p. The later one is inconsistent
> > with indexed set op
Dave Mitchell <[EMAIL PROTECTED]> writes:
> Dan Sugalski <[EMAIL PROTECTED]> wrote:
> > That was my biggest objection. I like the thought of having a scheme
> > pair data type. The interpreter should see it, and it should be
> > accessed, as a restricted array, one with only two entries.
>
> I
Uri Guttman <[EMAIL PROTECTED]> writes:
> >> Is this then the same datatype as a Perl6 pair (cf '=>' op in Apo 3) ??
>
> DS> Good point. it probably is, yes. (Though there may be potential
> DS> differences--depends on whether the scheme pair can only have scalars
> DS> on each side, o
Melvin Smith <[EMAIL PROTECTED]> writes:
> At 05:23 PM 1/24/2002 +, Simon Cozens wrote:
> > > * Introduce a new register-type for Keys.
> >
> >No, I don't think this is the right way.
>
> Just a question, what is the status of the Scheme parser. Is it
> even ready to generate code for worki
Simon Cozens <[EMAIL PROTECTED]> writes:
> > According to this document the set_p_n_i notation would be wrong. But
> > I already heard that the index-system is a moving target.
>
> In this case, I'd prefer you trusted the documentation. :)
Which one parrot_assembly.pod or core_ops.pod? They are
Hi there,
I played again a little with the vtables.
I noticed that all *.pmc function implement the methods type and name
are implemented the same way. Then I was wondering if its possible to
autogenerate this functions in the pmc2c.pl
This patch implements autogeneration of this functions, and
h yeah, while I'm trying to confuse you all, sometimes we want to
> assign one PMC to another by a pointer copy, and sometimes we want
> to clone them. Work *that* one out.
We need diffrent operations for diffrent kind of things
* set or set_pointer
* set_value or lets call this one se
ry which are not deleted by make
clean, so the directory survives the update.
For cvs diff the missing directory on the server is not just a warning
but a fatal error.
Solution: rm -rf Parrot (but make sure there is
nothing left in the directory you wanted to keep ;-)).
Bye
boemmels
--
Jue
jryan (via RT) <[EMAIL PROTECTED]> writes:
> --- assemble_old.pl 2002-08-04 21:00:02.0 -0400
> +++ assemble.pl 2002-08-12 00:03:56.0 -0400
> @@ -263,8 +263,8 @@ sub preprocess {
> }
> elsif(/^\.constant \s+
>($label_re) \s+
> - (\"(?:[^\\\"]
rot_PMC of the type C. If C is not a
> case-insensitive match of any type already registered with Parrot, this
> function will throw an exception.
Ok, I think its a good thing to PMC-types in arbitary encodings. But
it would be nice to have a convinience function
Parrot_PMC Parrot
he special cases for MSVC. Unfortunatly the only Visual compiler I've
access too is a russian version, so i can't submit any patches on
this.
> Mike Lambert
bye
jürgen
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-
But this is exactly
what Nicholas Clark proposed just using diffrent names (deterministic
destruction flag and loose object counter(|flag?).
bye
boeboe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiser
seful.
lambda-expression: this may compile just down to a sub.pmc
Functions like map, apply, list?, etc. have to be implemented.
Macros, tail-recursion, eval, and call/cc are also needed to call it
"real".
I hope the next patch will not need another half a year.
juergen
--
Juergen Bo
r that would be to have a single 'SchemeObject',
> which as well as having a vtable implemented in C would first do
> dispatch through its 'scheme_vtable' hash.
The diffrence would be the subtype. But AFAIK there is no way to get
this subtype from the PMC in bytecode. Maybe a su
sting binding).
Is there a possibility to get a pointer to the current pad, to store
it in the closure? (Im not sure, maybe only the top-pad is needed).
There need also be a way to reinstate the saved lexical.
So I think that are enough questions.
juergen
--
Juergen Boemmels[
the end user, the effort in implementing them is
> definitely worth while. And I think the extra code organizing
> capability they give us is really important.
>
> Note too, that it wouldn't be hard to set up SchemeFunc, CompiledSchemeFunc
> and NativeFunc (he said, guessing at names) so that they all looked
> like Sub PMCs when it came to function call time...
>
> NB: I have a proof of concept scheme interpreter running in Perl that
> uses these OO techniques, and it works really neatly, which is why
> I've been thinking of doing the Parrot scheme interpreter in a similar
> fashion.
I would be very intrested to hear more about this interpreter
bye
juergen
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F 23 F6 C7 2F 85 93 DD 47
e to
new P0, .PerlUndef
store_lex 0,"$foo",P0
> > Run the body in this scope. At last set the scope back to the value
> > stored on the stack.
> >
> > The stack can be a dedicated pad_stack, but it can also be the
> > user_stack. Maybe a dedicated stack is better
Index: MANIFEST
===
RCS file: /cvs/public/parrot/MANIFEST,v
retrieving revision 1.223
diff -u -r1.223 MANIFEST
--- MANIFEST 23 Sep 2002 00:11:18 - 1.223
+++ MANIFEST 23 Sep 2002 23:19:34 -
@@ -35,6 +35,7 @@
classes/perlundef.
Ups, something went wrong with my last mail, the explaining text was
chopped off. Ok here its again.
Hi,
I just got functions running in scheme.
It uses a pre-version of Sean O'Rourkes scratchpad.pmc. (Sean, I had to
reimplement some functions to get it compile, did I get them right?)
P31 alwa
cratchpad.pmc for differentating this use cases:
define : P31[-1;S0]
set! : P31[S0]
bye
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F 23 F6 C7 2F 85 93 DD 47
bytecode with the implicit first
argument current_pad.
find_lex P0, S0 => set P0, P31[S0]
store_lex I0, S0, P0 => set P31[I0;S0]
new_pad => save P31 || new P31, .Scratchpad
new P31, .Scratchpadpush_pad P31
(Again this P31
dn't be the only
way to do this)
- get the current scope at creation time and save it
- push the current scope and make the saved on current at invoke
time
- pop the current pad before return
hope that helps
b.
--
Juergen Boemmels[EMAIL PROT
Aldo Calpini <[EMAIL PROTECTED]> writes:
> Jürgen Bömmels wrote:
> > Hi,
> >
> > When you use pdb and hit just you get a segfault. Thats
> > quite anoying especially if you are used to gdbs behaviour.
> >
> > The attached patch fixes this by just ignoring empty lines.
>
> this doesn't seem to m
gets like Windows.
Or just bring the internal data structures from the files in the
parrot/ directory in the pmc files in the classes/ directory.
bye
b.
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiser
to translate the line number
information, so that you can debug a JITed program with gdb.
Comments?
b.
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP
have looked at.
So the reasons for DWARF-2 were: Its standardized, documented,
language independent, and I've already used it once. Ok the last
reason is not valid for a design decision.
Bye
b.
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Te
ump(struct Parrot_Interp *interpreter, opcode_t * code_start,
I had also renamed the function dump_pmc to trace_dump_pmc because all
function in trace.h are prefixed with trace, but I was not clear if
this is necessary.
bye
b.
--
Juergen Boemmels[EMAIL PROTECTED]
total number of vtable-calls
(except for some very special cases) is exactly the same. Remains the
number of opcodes. But as the opcode-table gets smaller so its much more
likely that it fits into the cache. Also no vtable function has to
decide wether its called with 1, 2 or 3 keyed e
play.html?id=17936 >
>
>
> There are again some files missing in MANIFEST.
I just wanted to obsolete this Patch, because the missing files now
have entered the MANIFEST. But bugs6.perl.org only tells me "Permission
denied". Im logged in, and the bugtracker reco
table function to
add (PMC *, PMC *, PMC **lhs) and the call in the op to
$2->vtable->add($2,$3,&$1), then the new is not need. The signature of
the add op could also be changed to add (out PMC, in PMC, in PMC)
> The only difference of my solution is +4 opcode dispatches worst cas
Dan Sugalski <[EMAIL PROTECTED]> writes:
> >The ability to embed arbitrary data in a pbc file under a
> >named section. This data needs to be readable by the program
> >when it runs, but is otherwise ignored by the rest of Parrot.
>
> Right, good call. This'll make perl's named embedded filehand
orms is a matter
of porting ld.so (which is far from simple).
bye
b.
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F 23 F6 C7 2F 85 93 DD 47
varlen_pos
...
SEG1_varlen:
name
type
SEG2_varlen:
name
type
...
bye
b.
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F 23 F6 C7 2F 85 93 DD 47
rce Code"
> DATA: ...
> CHUNK 2:
> SIZE: 524
> NAME: "bc"
> TYPE: "Parrot::Bytecode"
> DATA: ...
I like the first one more: The data necessary to unpack a chunk is
localize
I know. Please fetch the new code from CVS.
>
> When there is no interpreter in PIO_eprint, vfprintf gets called.
As we are in the state of changing packfile.c (at least long term):
Should the packfile functions have an interpreter or should the
packfile stay on its own.
bye
b.
--
Juergen B
with named types if it is a speed issue, but I really dont like
this positional approach. BTW: COFF and ELF use named sections.
bye
b.
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern
ad generates a new one one the pad stack with a size which
is actually smaller than the current one.
Apart from that: Nice patch.
bye
b.
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F 23 F6 C7 2F 85 93 DD 47
bytecode format, and without decreasing
performance.
One side note: It might be nice to have individual version numbers for
each chunk of data. A change of core.ops does not change the packfile
format, only the data in the bytecode section is invalid. But this
might go to far.
Comments?
b.
--
Juergen
rite a Configure test to find bison
(or maybe alternativly yacc). Is there a portable way to do this?
Or is it just
$sep = $^O =~ /Win32/ ? ';' : ':';
@path = split $sep, $ENV{PATH};
$bison_path = grep { -X "$_/bison" } @path;
bye
b.
--
Juergen Boemmels
Jonathan Sillito <[EMAIL PROTECTED]> writes:
> On 2 Nov 2002, Juergen Boemmels wrote:
>
> > Ok, I tested the patch (I tried to use this scratchpads for the scheme
> > compiler)
> > One thing I missed (or at least didn't find): How can I generate a new
> &g
just comes up my mind: Why is the packfile not yet an
other PMC? The memory is simply managed by the interpreter, the
individual chunks/segments/sections are simple keyed access
functions. I must think a little more about this.
bye
b.
--
Juergen Boemmels[EMAIL PROTECTED]
Fac
Jonathan Sillito <[EMAIL PROTECTED]> writes:
> On 2 Nov 2002, Juergen Boemmels wrote:
>
> > Ok, I tested the patch (I tried to use this scratchpads for the scheme
> > compiler)
> > One thing I missed (or at least didn't find): How can I generate a new
> &g
--- sub.c.orig
+++ sub.c Thu Nov 7 23:15:06 2002
@@ -139,7 +139,13 @@
PMC * pad_pmc = pmc_new(interp, enum_class_Scratchpad);
pad_pmc->cache.int_val = 0;
-if ((base && depth > base->cache.int_val) || (!base && depth != 0)) {
+if (base && depth < 0) {
+depth = base->cach
ot; = " type "\n", value);
#else
#define PRINT_DEBUG(args...)
#define PRINT_VALUE(args...)
#endif
Something similar would be possible for internal_exception (depending
on wether compiled with gcc or not)
bye
b.
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich P
(and it isn't too destabilizing), please
> commit them before Saturday.
Is it possible to put patch #18379 in?
This patch brings languages scheme in the direction of a functional
language. It shouldn't break anything, because its only a scheme ->
pasm transla
e what i can to this evening.
bye
b.
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F 23 F6 C7 2F 85 93 DD 47
t; (or jumptable) only neccessary if outgoing jumps;
symbols => all possible incomming branchpoints, optional;
JIT => will be filled when bytecode is invoked;
source=> surely optional;
debuginfo => also optional;
...
}
bye
boe.
--
Juergen Boemm
assembly that we want to compile
> and return a sub ref for we need to do extra in the assembly we pass
> in. Tough, we can deal. If it was dead-simple it wouldn't be
> assembly. :)
The assembler in assembly might be very simple:
open P0, "infile", "r"
read S0, P0,
Dave Mitchell <[EMAIL PROTECTED]> writes:
> On Thu, Jan 23, 2003 at 09:21:45PM +0100, Juergen Boemmels wrote:
> > My current idea for the in memory format of the bytecode is this:
>
> I would strongly urge any file-based byte-code format to arranged
> in such a way tha
e
the startup. Then strip the bytecode to reduce the size of the file
and TADA: Yet another new binary format.
I'm really not sure if I'm serious here
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universit
ess (isn't that the
supposed way of multiple threads) each one has to compile the same
code again?
> I guess in future once the normal JIT works, and we've got the pigs flying
> nicely then it would be possible to write a Not Just In Time compiler that
> saves out assembly co
# doesn't exist, so returns 5
@a[2] = undef; # set to undef, so returns undef
@a[5] = @a.default # if you really want to reset something to
# default. BTW there are now 6 items in
# the array. returns 5
@
backend which generates fast running bytecode or
even native code.
bye
b.
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F 23 F6 C7 2F 85 93 DD 47
ater two the first one is IMHO the more common one so use this with
set_pmc_keyed_int and use set_pmc_keyed for the last one.
bye
boe.
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern
-qual//' languages/imcc/Makefile");
system("$^X -pi -e's/ -Wno-unused/ -Wunused/' languages/imcc/Makefile");
imcc is the only Makefile which does these kind of inplace
changes. This perl -pi seems to fail in your case and only deletes the
newly generate
Leopold Toetsch <[EMAIL PROTECTED]> writes:
> > I just implemented macro expansion in imcc.
[...]
> Here something fishy must happen:
>
> $ cat t/op/arithmetics_22.pasm | imcc -
> error:imcc: file - line 1: unknown macro '.macro'
>
> $ imcc t/op/arithmetics_22.pasm
> ok 1
Very strange. During
>>> I just implemented macro expansion in imcc.
>
> [...]
>
>> Here something fishy must happen:
>>
>> $ cat t/op/arithmetics_22.pasm | imcc -
>> error:imcc: file - line 1: unknown macro '.macro'
Ahh, found it. The macros at the moment only work in assembly-mode
$ cat t/op/arithmetics_22.pasm
educed locality. Its
possible to create a own macro_lex function and take this out of yylex
entirely but I think this is a kind of premature optimization.
> Does the -a flag on imcc mean that we can run without the macros, and hence
> run faster?
No, it turns on assembly mode.
bye
boe
--
Juergen
not change. So assemble.pl is not run, but its still
slower?
bye
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F 23 F6 C7 2F 85 93 DD 47
Nicholas Clark <[EMAIL PROTECTED]> writes:
[...]
> You're going to hate me - I think I've got a source tree somewhere where I
> did get it to run on 5.005. I certainly had a good go at it. If you asked
> about this on list and I missed it, sorry.
I had the much simpler solution of just installin
rc ok" > $BRIEF_LOG
One good idea is to use the -q option to cvs. This will suppress the
unnecessary output
cvs server: Updating parrot/LICENSES
put preserves the output like
C parrot/languages/imcc/imcparser.c
So command would be somthing like
$ cd parrot && cvs -z3 -q update
ed this several days ago, shortly after the
macro-support for imcc went in.
bye
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F 23 F6 C7 2F 85 93 DD 47
Juergen Boemmels <[EMAIL PROTECTED]> writes:
> > we can use imcc rather than assemble.pl as the default assembler for the
> > regression tests? imcc is a lot (>20 times) faster.
>
> make test IMCC=1
> Leo had introduced this several days ago, shortly after the
&g
Leon Brocard (via RT) <[EMAIL PROTECTED]> writes:
> Well, it's more of a new file than a patch. I'm aware that we're in a
> code freeze, so I don't mind if this doesn't get it right now, but
> it'd be nice ;-)
>
> I've attached an example "uniq" implementation in pasm, which takes
> options. It's
Benjamin Goldberg <[EMAIL PROTECTED]> writes:
> "JüRgen BöMmels" wrote:
> [snip]
> > void
> > PIO_unix_flush(theINTERP, ParrotIOLayer *layer, ParrotIO *io)
> > {
> > -# if 0
> > fsync(io->fd);
> > -# endif
> > }
>
> AFAIK, for disk files, fsync has (should have) no visible effect from
Dan Sugalski <[EMAIL PROTECTED]> writes:
> At 12:59 AM + 3/23/03, "Jürgen" "Bömmels" (via RT) wrote:
> >Yet another step in PIO:
> >Enabling read buffering.
>
> A test with this starts throwing errors at t/src/list and goes on from
> there--lots of double free errors. I can let the tests run
PMC)
respectivly the macros
PIO_STDIN(interpreter);
PIO_STDOUT(interpreter);
PIO_STDERR(interpreter);
If communication with external file-descriptors is necessary then the
PIO_fdopen function should be used, and the result is again a
ParrotIO-object.
bye
boe
--
Juergen Boemmels
there)
At the moment the default is to use the buffered IO. The pushing and
popping of IO-Layers did not already made it to io.ops.
> The arbitrary failures come from uninitialized memory.
I try to look into this.
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbe
ew_io_pmc(interpreter, PIO_STDERR(interpreter)));
}
--
Juergen Boemmels [EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F 23 F6 C7 2F 85 93 DD 47
ter, "Parrot VM: Platform " JIT_ARCHNAME
+" is not JIT-capable.\n");
Parrot_exit(1);
}
--
Juergen Boemmels [EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint =
nter to the File from a previous call. So the
garbage-collector marked the File as live. My changes in the
IO-subsystem did not introduce this bug, but only uncovered it. I
thinks this kind of bug will bite us more often.
bye
boe
--
Juergen Boemmels[EMAIL PROTECT
Index: cpu_dep.c
===
RCS file: /cvs/public/parrot/cpu_dep.c,v
retrieving revision 1.7
diff -u -r1.7 cpu_dep.c
--- cpu_dep.c 1 Jun 2003 00:17:43 - 1.7
+++ cpu_dep.c 2 Jul 2003 21:50:53 -
@@ -57,6 +57,9 @@
# ifdef HAS_HEADER_SE
Leopold Toetsch <[EMAIL PROTECTED]> writes:
> Juergen Boemmels <[EMAIL PROTECTED]> wrote:
> > But in t/pmc/io_2.pasm is a more nasty problem. The sweep 0 call does
> > (sometimes) not trigger the destruction of the PMC containing the
> > IO-Object, even though it
T):
>
>INTVAL key = $3;
> $1 = $2->vtable->get_pmc_keyed_int(interpreter, $2, &key);
>
> (setting up a local and passing the address of it)
>
> Just passing the integer key would be shorter and faster.
> leo
This is a good idea, and I support it. (As I alre
-system, but this might have impact on the whole memory subsystem.
It turns out that memory and the IO-system are much more coupled than
it first seems.
bye
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universita
handle for STDIN"
> end
> _READLINE:
> saveall
> restore I0
> find_global P0, "FDS"
> set P0, P0[I0]
> set S0, ""
> read S0, P0, 255
> save S0
> restor
mp;temp);
}
This scheme is exact, works thru longjumps and recursive run_cores and
only the active objects are traced, but it has the problem that it
changes the signatur of every parrot-function.
Comments?
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik
k or so.
Does anybody actually look at the tinderboxens?
bye
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1
;
...
}
return globals;
}
This way there is one and only one global data structure. get_globals
can be called anytime in Parrot_init or make_interpreter.
bye
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F 23 F6 C7 2F 85 93 DD 47
the standard-filedescriptors be timely destructed?
If they are this makes the whole sweep 0/1 thing useless because
there are always timely-destructing objects. Otherwise why are the
standard-filedescriptors special.
Yes I have read docs memory-internals.pod
boe
--
Juer
e-collected memory system. In this area some help
would be welcome.
bye
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54
IO_push_layer(interpreter, io, line_buf_layer);
-> Remove this from API
GetCount
Fill
What should these calls do?
Poll/Select
Some function like this should be entered. But this call needs a
seperate diskussion
Comments?
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich
otIO PMCs point at distinct objects, but I don't have time to
> track this down any further tonight, so I'm posting this to the list
> before I forget...
Thanks for the analysis
bye
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik
2003 15:36:50 - 1.2
+++ languages/imcc/jit.c 24 Jul 2003 18:45:24 -
@@ -17,6 +17,10 @@
*/
#include
#include
+#include "parrot/parrot.h"
+#if EXEC_CAPABLE
+# include "parrot/exec.h"
+#endif /* EXEC_CAPABLE */
#include "imc.h"
#include "pbc.h"
0x0
Size of this header: 52 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 40 (bytes)
Number of section headers: 16
Section header string table index: 13
by
Index: dod.c
===
RCS file: /cvs/public/parrot/dod.c,v
retrieving revision 1.65
diff -u -r1.65 dod.c
--- dod.c 23 Jul 2003 18:09:43 - 1.65
+++ dod.c 25 Jul 2003 12:50:57 -
@@ -31,6 +31,7 @@
#endif
static size_t find_common_m
in dup.
What is the semantics of double close. First close wins or last close
wins.
Comments
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
PGP Key
Leopold Toetsch <[EMAIL PROTECTED]> writes:
> Juergen Boemmels <[EMAIL PROTECTED]> wrote:
> > Hello,
>
> > * How can I alloc a fixed amount of garbage collected memory, which
> > can be shared be more than one PMCs.
> > io = (Buffer*)(pmc->ext-&
Index: t/pmc/io.t
===
RCS file: /cvs/public/parrot/t/pmc/io.t,v
retrieving revision 1.5
diff -u -r1.5 io.t
--- t/pmc/io.t 9 Jul 2003 19:27:05 - 1.5
+++ t/pmc/io.t 28 Jul 2003 17:39:02 -
@@ -100,6 +100,8 @@
ok 6
OUTPUT
+SKIP
thats not
possible just apply them? Its not so simple if my trees diverge from
current CVS.
Thanks
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax: ++49-(0)631-205-3906
This should go to the list also:
"Gregor N. Purdy" <[EMAIL PROTECTED]> writes:
> Juergen --
>
> Juergen Boemmels wrote:
>
> > Write
> > PutS
> > Why are there two diffrent calls to write data to an io, with only a
> > slightly di
got = PIO_buf_fill_readbuf(interpreter, l, io, b);
-len = MIN(len, got);
+len = len < got ? len : got;
}
/* read from the read_buffer */
--
Juergen Boemmels [EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern Fax:
ignature->strstart)));
emitm_pushl_r(pc, emit_EAX);
break;
case 'v':
Index: t/pmc/io.t
===
RCS file: /cvs/public/parrot/t/pmc/io.t,v
retrieving revision 1.7
diff -u -r1.7 io.t
Index: io/io_win32.c
===
RCS file: /cvs/public/parrot/io/io_win32.c,v
retrieving revision 1.24
diff -u -r1.24 io_win32.c
--- io/io_win32.c 21 Jul 2003 18:00:45 - 1.24
+++ io/io_win32.c 31 Jul 2003 11:06:04 -
@@ -97,23 +97,23 @@
which should
assert (interpreter != NULL) and which should just asume a non-NULL
interpreter?
Parrot_sprintf?
PIO_eprintf?
Parrot_warn?
bye
boe
--
Juergen Boemmels[EMAIL PROTECTED]
Fachbereich Physik Tel: ++49-(0)631-205-2817
Universitaet Kaisersla
Leopold Toetsch <[EMAIL PROTECTED]> writes:
[...]
> PIO_eprintf
> PIO_printf
>
> for printing to stderr/stdout during 1st interpreter construction &
> destruction if something goes wrong. In all other cases we have an
> valid interpreter (or an parent interpreter if any).
This means all the Par
Leopold Toetsch <[EMAIL PROTECTED]> writes:
> Juergen Boemmels wrote:
>
> > Leopold Toetsch <[EMAIL PROTECTED]> writes:
> > [...]
>
> >
>
> >>PIO_eprintf
> >>PIO_printf
> >>
> >>for printing to stderr/stdout during
1 - 100 of 228 matches
Mail list logo