[svn:parrot] r40376 - in branches/keys_cleanup: include/parrot src
bacek at svn.parrot.org
bacek at svn.parrot.org
Sun Aug 2 11:26:41 UTC 2009
Author: bacek
Date: Sun Aug 2 11:26:40 2009
New Revision: 40376
URL: https://trac.parrot.org/parrot/changeset/40376
Log:
[cage] Drop KEY_iterator_FLAGS. It's not used anymore
Modified:
branches/keys_cleanup/include/parrot/key.h
branches/keys_cleanup/src/key.c
Modified: branches/keys_cleanup/include/parrot/key.h
==============================================================================
--- branches/keys_cleanup/include/parrot/key.h Sun Aug 2 11:26:16 2009 (r40375)
+++ branches/keys_cleanup/include/parrot/key.h Sun Aug 2 11:26:40 2009 (r40376)
@@ -18,7 +18,6 @@
typedef enum {
KEY_integer_FLAG = PObj_private0_FLAG,
KEY_number_FLAG = PObj_private1_FLAG,
- KEY_hash_iterator_FLAGS = PObj_private0_FLAG | PObj_private1_FLAG,
KEY_string_FLAG = PObj_private2_FLAG,
KEY_pmc_FLAG = PObj_private3_FLAG,
KEY_register_FLAG = PObj_private4_FLAG,
@@ -27,14 +26,10 @@
KEY_number_FLAG |
KEY_string_FLAG |
KEY_pmc_FLAG |
- KEY_register_FLAG |
- KEY_hash_iterator_FLAGS
+ KEY_register_FLAG
} KEY_flags;
-#define KEY_IS_HASH_ITERATOR(k) \
- ((PObj_get_FLAGS((k)) & KEY_type_FLAGS) == KEY_hash_iterator_FLAGS)
-
/* HEADERIZER BEGIN: src/key.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
Modified: branches/keys_cleanup/src/key.c
==============================================================================
--- branches/keys_cleanup/src/key.c Sun Aug 2 11:26:16 2009 (r40375)
+++ branches/keys_cleanup/src/key.c Sun Aug 2 11:26:40 2009 (r40376)
@@ -332,8 +332,6 @@
FLOATVAL num_key;
switch (PObj_get_FLAGS(key) & KEY_type_FLAGS) {
- case KEY_hash_iterator_FLAGS:
-
case KEY_integer_FLAG:
GETATTR_Key_int_key(interp, key, int_key);
return int_key;
@@ -619,16 +617,11 @@
Parrot_gc_mark_PObj_alive(interp, (PObj *)str_key);
}
- /*
- * KEY_hash_iterator_FLAGS denote a hash key iteration, PMC_data() is
- * the bucket_index and not the next key component
- * Note to self: shoot whoever thought this was a good idea.
- */
- if (flags != KEY_hash_iterator_FLAGS) {
+ if (flags == KEY_pmc_FLAG || flags == KEY_string_FLAG) {
PMC *next_key;
/* if iteration hasn't started, above flag isn't set yet */
GETATTR_Key_next_key(interp, key, next_key);
- if (next_key && (void *)next_key != (void *)INITBucketIndex)
+ if (next_key)
Parrot_gc_mark_PObj_alive(interp, (PObj *)next_key);
}
More information about the parrot-commits
mailing list