/* Initializes the representations registry, building up all of the various * representations. */ void REPR_initialize_registry(PARROT_INTERP) { PMC *dyn_reg_func; /* Allocate name to ID map, and anchor it with the GC. */ repr_name_to_id_map = Parrot_pmc_new(interp, enum_class_Hash); Parrot_pmc_gc_register(interp, repr_name_to_id_map); /* Add all core representations. */ register_repr(interp, Parrot_str_new_constant(interp, "KnowHOWREPR"), KnowHOWREPR_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "P6opaque"), P6opaque_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "P6int"), P6int_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "P6num"), P6num_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "P6str"), P6str_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "HashAttrStore"), HashAttrStore_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "Uninstantiable"), Uninstantiable_initialize(interp)); /* Set up object for dynamically registering extra representations. */ dyn_reg_func = Parrot_pmc_new(interp, enum_class_Pointer); VTABLE_set_pointer(interp, dyn_reg_func, REPR_register_dynamic); VTABLE_set_pmc_keyed_str(interp, interp->root_namespace, Parrot_str_new_constant(interp, "_REGISTER_REPR"), dyn_reg_func); }
/* Initializes the representations registry, building up all of the various * representations. */ void REPR_initialize_registry(PARROT_INTERP) { /* Allocate name to ID map, and anchor it with the GC. */ repr_name_to_id_map = pmc_new(interp, enum_class_Hash); Parrot_pmc_gc_register(interp, repr_name_to_id_map); /* Add all representations. */ register_repr(interp, Parrot_str_new_constant(interp, "KnowHOWREPR"), KnowHOWREPR_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "P6opaque"), P6opaque_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "P6int"), P6int_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "P6num"), P6num_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "P6str"), P6str_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "HashAttrStore"), HashAttrStore_initialize(interp)); register_repr(interp, Parrot_str_new_constant(interp, "Uninstantiable"), Uninstantiable_initialize(interp)); }