cvsuser 03/11/19 09:08:01
Modified: src hash.c pmc_freeze.c
t/pmc freeze.t
Log:
cleanup; remove ascii tests
Revision Changes Path
1.60 +7 -6 parrot/src/hash.c
Index: hash.c
===================================================================
RCS file: /cvs/public/parrot/src/hash.c,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -w -r1.59 -r1.60
--- hash.c 14 Nov 2003 14:33:24 -0000 1.59
+++ hash.c 19 Nov 2003 17:07:57 -0000 1.60
@@ -1,7 +1,7 @@
/* hash.c
* Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
* CVS Info
- * $Id: hash.c,v 1.59 2003/11/14 14:33:24 leo Exp $
+ * $Id: hash.c,v 1.60 2003/11/19 17:07:57 leo Exp $
* Overview:
* Data Structure and Algorithms:
* A hashtable contains an array of bucket indexes. Buckets
@@ -661,17 +661,18 @@
void *key = b->key;
void *valtmp;
switch (hash->entry_type) {
- case enum_hash_undef:
- case enum_hash_int:
- case enum_hash_num: /* TODO use value_size */
+ case enum_type_undef:
+ case enum_type_ptr:
+ case enum_type_INTVAL:
+ /* case enum_type_FLOATVAL: TODO use value_size */
valtmp = b->value;
break;
- case enum_hash_string:
+ case enum_type_STRING:
valtmp = string_copy(interp, b->value);
break;
- case enum_hash_pmc:
+ case enum_type_PMC:
valtmp = pmc_new_noinit(interp,
((PMC*)b->value)->vtable->base_type);
VTABLE_clone(interp, (PMC*)b->value, valtmp);
1.3 +5 -4 parrot/src/pmc_freeze.c
Index: pmc_freeze.c
===================================================================
RCS file: /cvs/public/parrot/src/pmc_freeze.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- pmc_freeze.c 19 Nov 2003 16:32:31 -0000 1.2
+++ pmc_freeze.c 19 Nov 2003 17:07:57 -0000 1.3
@@ -1,7 +1,7 @@
/* pmc_freeze.c
* Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
* CVS Info
- * $Id: pmc_freeze.c,v 1.2 2003/11/19 16:32:31 dan Exp $
+ * $Id: pmc_freeze.c,v 1.3 2003/11/19 17:07:57 leo Exp $
* Overview:
* Freeze and thaw functionality
* Data Structure and Algorithms:
@@ -202,8 +202,10 @@
* custom key_hash and compare functions
*/
static size_t
-key_hash_int(Interp *interpreter, void *value)
+key_hash_int(Interp *interp, Hash *hash, void *value)
{
+ UNUSED(interp);
+ UNUSED(hash);
return (size_t) value;
}
@@ -296,9 +298,8 @@
/* we must use PMCs here, so that they get marked properly */
info->todo = pmc_new(interpreter, enum_class_Array);
info->seen = pmc_new_noinit(interpreter, enum_class_PerlHash);
- hash = new_hash_x(interpreter, enum_type_INTVAL, 0, Hash_key_type_int,
int_compare, key_hash_int,
- (hash_mark_key_fn) NULL);
- hash->entry_type = enum_type_int;
+ hash = new_hash_x(interpreter, enum_type_ptr, 0, Hash_key_type_int,
+ int_compare, key_hash_int, (hash_mark_key_fn) NULL);
PObj_custom_mark_SET(info->seen);
PMC_ptr1v(info->seen) = hash;
1.2 +4 -10 parrot/t/pmc/freeze.t
Index: freeze.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/freeze.t,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- freeze.t 19 Nov 2003 15:44:06 -0000 1.1
+++ freeze.t 19 Nov 2003 17:08:01 -0000 1.2
@@ -3,12 +3,10 @@
use Parrot::Test tests => 5;
use Test::More;
-output_like(<<'CODE', <<'OUTPUT', "freeze/thaw a PerlInt");
+output_is(<<'CODE', <<'OUTPUT', "freeze/thaw a PerlInt");
new P1, .PerlInt
set P1, 777
freeze S0, P1
- print S0
- print ":\n"
thaw P10, S0
typeof S10, P10
@@ -18,9 +16,7 @@
print "\n"
end
CODE
-/0x[0-9a-f]+ \d+ 777 :
PerlInt 777
-/
OUTPUT
output_is(<<'CODE', <<'OUTPUT', "freeze/thaw a PerlArray");
@@ -53,19 +49,17 @@
777
OUTPUT
-output_like(<<'CODE', <<'OUTPUT', "freeze PerlArray self-ref");
+output_is(<<'CODE', <<'OUTPUT', "freeze PerlArray self-ref");
new P0, .PerlArray
new P1, .PerlInt
set P1, 666
push P0, P1
push P0, P0
freeze S0, P0
- print S0
- print ":\n"
+ print "ok\n"
end
CODE
-/(0x[0-9a-f]*)[048c] \d+ 2 0x[0-9a-f]+ \d+ 666 \1[159d] :
-/
+ok
OUTPUT
output_is(<<'CODE', <<'OUTPUT', "freeze/thaw PerlArray self-ref");