CPAN Upload: A/AB/ABERGMAN/ponie-2.tar.gz - Ponie Development Release 2

0 views
Skip to first unread message

Leopold Toetsch

unread,
Mar 14, 2004, 7:14:16 AM3/14/04
to Marcus Holland-Moritz, perl6-i...@perl.org
Marcus Holland-Moritz <mhx-...@gmx.net> wrote:

> One of my modules embeds the ucpp preprocessor, which has a
> function init_tables(). The same function exists in parrot.

Renamed.

thanks for testing,
leo

Mitchell N Charity

unread,
Mar 14, 2004, 12:11:38 PM3/14/04
to perl6-i...@perl.org
Leopold Toetsch <l...@toetsch.at> wrote:

Marcus Holland-Moritz <mhx-...@gmx.net> wrote:

> One of my modules embeds the ucpp preprocessor, which has a
> function init_tables(). The same function exists in parrot.

Renamed.

Another item for the embedding/extending todo list: namespace hygiene.

Some thought perhaps needs to go into creating a family of prefixes,
and documenting their roles.

Mitchell
(nipped by mark_hash last week)

$ nm ./blib/lib/libparrot.a |egrep ' [TDRC] |\.o:'|grep -v Parrot_
exceptions.o:
00000920 T do_exception
00000034 T do_panic
0000086c T handle_exception
00000000 T internal_exception
00000498 T new_c_exception_handler
0000089c T new_internal_exception
00000448 T pop_exception
00000220 T push_exception
000004d4 T push_new_c_exception_handler
00000974 T real_exception
0000064c T rethrow_c_exception
000005d8 T rethrow_exception
000004fc T throw_exception
global_setup.o:
00000018 C class_count_mutex
00000004 C class_table_size
00000000 R data_types
00000004 C enum_class_max
00000000 T init_world
00000004 C interpreter_array
00000018 C interpreter_array_mutex
00000004 C n_interpreters
00000004 C run_native
interpreter.o:
00002c4c T disable_event_checking
00000330 T do_prederef
0000256c T dynop_register
00002c70 T enable_event_checking
00002c94 T enter_nci_method
00000898 T exec_init_prederef
00000910 T init_jit
000021f0 T interpinfo
00000388 C interpre
00001ae4 T make_interpreter
000009bc T prepare_for_run
00001008 T runops
00000c64 T runops_int
000024cc T sysinfo_i
00002514 T sysinfo_s
register.o:
000000cc T mark_pmc_register_stack
0000007c T mark_register_stack
00000194 T mark_string_register_stack
00000000 T setup_register_stacks
memory.o:
000000dc T mem_setup_allocator
00000000 T mem_sys_allocate
00000040 T mem_sys_allocate_zeroed
000000c4 T mem_sys_free
00000080 T mem_sys_realloc
objects.o:
packfile.o:
00002d28 T PackFile_ConstTable_clear
00002dac T PackFile_ConstTable_unpack
00002f58 T PackFile_Constant_destroy
00002f30 T PackFile_Constant_new
00002f70 T PackFile_Constant_pack_size
000030a0 T PackFile_Constant_unpack
00003584 T PackFile_Constant_unpack_key
000033c8 T PackFile_Constant_unpack_pmc
000025c4 T PackFile_FixupTable_clear
00002a2c T PackFile_FixupTable_new_entry
0000127c T PackFile_Segment_destroy
00001514 T PackFile_Segment_dump
00001f44 T PackFile_Segment_new
000011fc T PackFile_Segment_new_seg
0000136c T PackFile_Segment_pack
000012c8 T PackFile_Segment_packed_size
0000144c T PackFile_Segment_unpack
000009c4 T PackFile_add_segment
00000000 T PackFile_destroy
00002ca4 T PackFile_find_fixup_entry
00000a20 T PackFile_find_segment
0000394c T PackFile_fixup_subs
00000d40 T PackFile_funcs_register
00000964 T PackFile_map_segments
00000bfc T PackFile_new
00000ac8 T PackFile_remove_segment_by_name
000006a8 T PackFile_unpack
00000f50 T default_dump_header
00000004 C exec_const_table
000003f4 T mark_const_subs
stacks.o:
000006bc T get_entry_type
0000003c T mark_stack
00000018 T new_stack
0000062c T pop_dest
0000028c T rotate_entries
00000144 T stack_destroy
000001c8 T stack_entry
0000014c T stack_height
00000654 T stack_peek
00000540 T stack_pop
000004a0 T stack_push
00000000 T stack_system_init
stack_common.o:
00000000 T cst_new_stack
00000088 T stack_copy
00000288 T stack_prepare_pop
00000130 T stack_prepare_push
000000cc T stack_unmake_COW
string.o:
00000444 T const_string
000016bc T hash_string_equal
0000028c T string_append
00001918 T string_bitwise_and
00001ae8 T string_bitwise_or
00001d94 T string_bitwise_xor
00002040 T string_bool
000013cc T string_chopn
0000145c T string_compare
00000c7c T string_compute_strlen
00000cc8 T string_concat
00000a68 T string_copy
00002520 T string_cstring_free
000026d4 T string_downcase
000026f4 T string_downcase_inplace
0000179c T string_equal
000003ec T string_from_cstring
0000246c T string_from_int
00002498 T string_from_num
000005a0 T string_grow
00000610 T string_index
0000024c T string_init
00002658 T string_iterator_init
000005ec T string_length
00000480 T string_make
00000cb4 T string_max_bytes
000020ec T string_nprintf
000009b0 T string_ord
00002538 T string_pin
00000e6c T string_repeat
000010e8 T string_replace
000001f4 T string_set
000008dc T string_str_index
00000f2c T string_substr
00002710 T string_titlecase
00002730 T string_titlecase_inplace
000024c8 T string_to_cstring
000021ac T string_to_int
000021dc T string_to_num
00000a88 T string_transcode
000025b0 T string_unpin
00002698 T string_upcase
000026b8 T string_upcase_inplace
sub.o:
00000024 T cow_copy_context
00000ea0 T lexicals_mark
00000168 T mark_context
0000071c T new_closure
00000790 T new_continuation
000007f8 T new_coroutine
000007c4 T new_ret_continuation
000008d4 T new_ret_continuation_pmc
000006a0 T new_sub
00000144 T restore_context
00000000 T save_context
00000ee0 T scratchpad_delete
00000d78 T scratchpad_get
00000968 T scratchpad_get_current
00000e00 T scratchpad_get_index
00000aa0 T scratchpad_new
00000c20 T scratchpad_store
00000cc0 T scratchpad_store_index
000004f0 T swap_context
encoding.o:
00000070 T encoding_destroy
00000134 T encoding_find_encoding
00000000 T encoding_init
0000011c T encoding_lookup_index
chartype.o:
000000ec T chartype_destroy
00000710 T chartype_find_chartype
00000824 T chartype_get_digit_map1
000008bc T chartype_get_digit_mapn
0000009c T chartype_init
000007f0 T chartype_is_digit_map1
00000864 T chartype_is_digit_mapn
000006f8 T chartype_lookup_index
00000740 T chartype_lookup_transcoder
00000914 T chartype_transcode_nop
00000010 D default_digit_map
runops_cores.o:
00000044 T runops_cgoto_core
00000000 T runops_fast_core
000001e8 T runops_profile_core
00000068 T runops_slow_core
trace.o:
000001d0 T trace_key_dump
000009d8 T trace_op
00000434 T trace_op_dump
00000000 T trace_pmc_dump
pmc.o:
00000004 C PMCNULL
000003b0 T constant_pmc_new
00000440 T constant_pmc_new_init
00000374 T constant_pmc_new_noinit
00001280 T dod_register_pmc
000013cc T dod_unregister_pmc
00000018 C init_null_mutex
00000874 T mmd_fallback_add_pmc
00000b2c T mmd_fallback_band_pmc
00000b88 T mmd_fallback_bor_pmc
00000c40 T mmd_fallback_bsl_pmc
00000ca0 T mmd_fallback_bsr_pmc
00000be4 T mmd_fallback_bxor_pmc
00000a54 T mmd_fallback_cmod_pmc
00000d00 T mmd_fallback_concat_pmc
000009dc T mmd_fallback_divide_pmc
00000d7c T mmd_fallback_land_pmc
00000dd4 T mmd_fallback_lor_pmc
00000e2c T mmd_fallback_lxor_pmc
00000ac0 T mmd_fallback_mod_pmc
00000964 T mmd_fallback_multiply_pmc
00001024 T mmd_fallback_numcmp_pmc
00000f54 T mmd_fallback_numeq_pmc
00000ed8 T mmd_fallback_repeat_pmc
000010ac T mmd_fallback_strcmp_pmc
00000fc4 T mmd_fallback_streq_pmc
00001170 T mmd_fallback_stringand_pmc
00001100 T mmd_fallback_stringor_pmc
000011e0 T mmd_fallback_stringxor_pmc
000008ec T mmd_fallback_subtract_pmc
00000000 T pmc_init_null
00000070 T pmc_new
00000400 T pmc_new_init
0000022c T pmc_new_noinit
00000494 T pmc_register
000005fc T pmc_type
00000674 T register_fallback_methods
pmc_freeze.o:
key.o:
00000540 T key_append
00000258 T key_integer
00000580 T key_mark
00000000 T key_new
000000e8 T key_new_cstring
00000024 T key_new_integer
00000060 T key_new_number
00000118 T key_new_pmc
000000ac T key_new_string
00000530 T key_next
0000032c T key_number
000004cc T key_pmc
00000154 T key_set_integer
000001b0 T key_set_number
0000021c T key_set_pmc
00000180 T key_set_register
000001f0 T key_set_string
000003e8 T key_string
00000248 T key_type
hash.o:
00000000 R NULLBucketIndex
00000004 R NULLHashIndex
0000033c T dump_hash
000010bc T hash_clone
00000f4c T hash_delete
00000e08 T hash_exists
00000dcc T hash_get
00000d5c T hash_get_bucket
00000c60 T hash_get_idx
00000e38 T hash_put
00000c28 T hash_size
00000638 T hash_visit
000004c0 T mark_hash
00000b40 T new_cstring_hash
00000b14 T new_hash
00000b68 T new_hash_x
core_pmcs.o:
platform.o:
000002cc T get_sys_timer_ms
0000032c T new_sys_timer_ms
000001fc T start_sys_timer_ms
000002b4 T stop_sys_timer_ms
jit.o:
00001bc8 T build_asm
00000005 D floatval_map
00000000 D intval_map
jit_cpu.o:
00029d00 T jit_op_count
00000060 D op_jit
jit_debug.o:
jit_debug_xcoff.o:
rx.o:
00000000 R RX_MARK
0000000c D RX_NEWLINES
00000004 D RX_NUMCHARS
00000008 D RX_SPACECHARS
00000000 D RX_WORDCHARS
000002dc T bitmap_add
000003e4 T bitmap_destroy
000000ec T bitmap_make
0000020c T bitmap_make_cstr
00000360 T bitmap_match
000000a8 T rx_is_newline
00000044 T rx_is_number_character
00000064 T rx_is_whitespace_character
00000000 T rx_is_word_character
rxstacks.o:
0000003c T intstack_depth
000001ac T intstack_free
00000000 T intstack_new
00000118 T intstack_pop
00000080 T intstack_push
intlist.o:
0000006c T intlist_assign
0000001c T intlist_clone
00000198 T intlist_dump
00000154 T intlist_get
00000058 T intlist_length
00000000 T intlist_mark
0000003c T intlist_new
000000cc T intlist_pop
00000090 T intlist_push
00000110 T intlist_shift
000000ac T intlist_unshift
list.o:
00000ae4 T ld
000020dc T list_assign
00001580 T list_clone
00001c5c T list_delete
00002170 T list_get
00001a54 T list_insert
00001974 T list_length
000017c4 T list_mark
0000120c T list_new
000012bc T list_new_init
00001f1c T list_pop
00001e80 T list_push
00001988 T list_set_length
00001ff0 T list_shift
000021d0 T list_splice
00001eb4 T list_unshift
0000189c T list_visit
embed.o:
warnings.o:
000000dc T print_pbc_location
00000148 T print_pbc_location_stdio
packout.o:
0000017c T PackFile_ConstTable_pack
00000120 T PackFile_ConstTable_pack_size
0000029c T PackFile_Constant_pack
0000004c T PackFile_pack
00000000 T PackFile_pack_size
byteorder.o:
00000190 T fetch_buf_be_12
00000268 T fetch_buf_be_16
00000084 T fetch_buf_be_4
000000dc T fetch_buf_be_8
00000174 T fetch_buf_le_12
0000024c T fetch_buf_le_16
000000c0 T fetch_buf_le_4
00000158 T fetch_buf_le_8
0000000c T fetch_iv_be
00000000 T fetch_iv_le
00000040 T fetch_op_be
00000078 T fetch_op_le
debug.o:
00003068 T PDB_add_label
00002094 T PDB_break
00001cc0 T PDB_check_condition
000038dc T PDB_compile
00000cb4 T PDB_cond
00001854 T PDB_continue
00001a44 T PDB_delete_breakpoint
00001b68 T PDB_delete_condition
000019dc T PDB_disable_breakpoint
00002dd4 T PDB_disassemble
00002460 T PDB_disassemble_op
00001a0c T PDB_enable_breakpoint
000021e0 T PDB_escape
00003850 T PDB_eval
000039d4 T PDB_extend_const_table
0000190c T PDB_find_breakpoint
00003138 T PDB_free_file
0000036c T PDB_get_command
00003508 T PDB_hasinstruction
00004f90 T PDB_help
00004e0c T PDB_info
00001640 T PDB_init
00003578 T PDB_list
00003228 T PDB_load_source
00000a80 T PDB_next
00004484 T PDB_print
000046b4 T PDB_print_int
00004778 T PDB_print_int_frame
0000483c T PDB_print_num
00004900 T PDB_print_num_frame
00004bd4 T PDB_print_pmc
00004cf0 T PDB_print_pmc_frame
00003a60 T PDB_print_stack
00003d4c T PDB_print_stack_int
00003e98 T PDB_print_stack_num
00004130 T PDB_print_stack_pmc
00003fe4 T PDB_print_stack_string
000049c4 T PDB_print_string
00004a80 T PDB_print_string_frame
00004328 T PDB_print_user_stack
00001c84 T PDB_program_end
0000056c T PDB_run_command
0000136c T PDB_set_break
00001c54 T PDB_skip_breakpoint
00000b70 T PDB_trace
00002394 T PDB_unescape
0000131c T PDB_watchpoint
smallobject.o:
000001b0 T add_free_object
000003bc T alloc_objects
00000000 T contained_in_pool
000001cc T get_free_object
0000014c T more_non_traceable_objects
000000dc T more_traceable_objects
000005e4 T new_small_object_pool
headers.o:
000007cc T add_extra_buffer_header
00000340 T add_pmc_ext
000004e4 T buffer_copy_if_diff
00000460 T buffer_mark_COW
00000478 T buffer_unmake_COW
000002ec T get_bufferlike_pool
00000038 T get_free_buffer
00000000 T get_free_pmc
00000580 T get_max_buffer_address
000006c8 T get_max_pmc_address
00000614 T get_min_buffer_address
000006e0 T get_min_pmc_address
000006f8 T is_buffer_ptr
000007a0 T is_pmc_ptr
00000210 T make_bufferlike_pool
00000438 T new_buffer_header
00000164 T new_buffer_pool
0000054c T new_bufferlike_header
000000dc T new_bufferlike_pool
00000318 T new_pmc_header
00000070 T new_pmc_pool
000003d8 T new_string_header
00000180 T new_string_pool
dod.o:
00000000 D CONSERVATIVE_POINTER_CHASING
00000628 T free_unused_pobjects
00000000 T pobject_lives
00000918 T trace_mem_block
method_util.o:
exit.o:
misc.o:
spf_render.o:
000000dc T int_to_str
spf_vtable.o:
00000020 D pmc_core
00000000 D va_core
datatypes.o:
fingerprint.o:
00000000 T PackFile_check_fingerprint
00000034 T PackFile_write_fingerprint
nci.o:
00003e54 T build_call_func
cpu_dep.o:
00000000 T trace_system_areas
tsq.o:
000002bc T insert_entry
000001d0 T nosync_insert_entry
00000048 T nosync_pop_entry
0000003c T peek_entry
00000000 T pop_entry
00000104 T push_entry
00000338 T queue_broadcast
0000041c T queue_destroy
000003b8 T queue_init
00000300 T queue_lock
00000354 T queue_signal
00000394 T queue_timedwait
0000031c T queue_unlock
00000370 T queue_wait
00000168 T unshift_entry
000000ac T wait_for_entry
longopt.o:
00000000 T longopt_get
events.o:
thread.o:
00000a4c T pt_DOD_mark_root_finished
00000a38 T pt_DOD_start_mark
00000a60 T pt_DOD_stop_mark
00000838 T pt_add_to_interpreters
00000120 T pt_clone_code
000005e8 T pt_join_threads
000007f0 T pt_thread_detach
000003d0 T pt_thread_join
00000808 T pt_thread_kill
00000150 T pt_thread_prepare_for_run
0000018c T pt_thread_run
00000254 T pt_thread_run_1
0000028c T pt_thread_run_2
000002c4 T pt_thread_run_3
000002fc T pt_thread_yield
dynext.o:
utils.o:
000000b4 T floatval_mod
0000011c T foldup
00000000 T intval_mod
00000774 T tm_to_array
vtables.o:
mmd.o:
00000868 T mmd_add_by_class
00000390 T mmd_add_function
000009a4 T mmd_destroy
000002b0 T mmd_dispatch_floatval
000001cc T mmd_dispatch_intval
00000000 T mmd_dispatch_pmc
000000e8 T mmd_dispatch_string
000008f0 T mmd_register
extend.o:
pf_items.o:
0000078c T PF_fetch_cstring
00000398 T PF_fetch_integer
00000438 T PF_fetch_number
00000314 T PF_fetch_opcode
00000534 T PF_fetch_string
00000854 T PF_size_cstring
00000410 T PF_size_integer
00000528 T PF_size_number
0000038c T PF_size_opcode
00000750 T PF_size_string
00000820 T PF_store_cstring
000003f8 T PF_store_integer
000004f4 T PF_store_number
00000374 T PF_store_opcode
00000638 T PF_store_string
0000089c T PackFile_assign_transforms
core_ops.o:
00000000 D core_numops
core_ops_prederef.o:
00000000 D core_prederef_numops_prederef
core_ops_switch.o:
00000048 T switch_core
core_ops_cg.o:
00000038 T cg_core
core_ops_cgp.o:
00000038 T cgp_core
exec.o:
exec_cpu.o:
00000040 D op_exec
exec_save.o:
resources.o:
io.o:
00000ff4 T PIO_STDERR
00000fc8 T PIO_STDIN
00000fdc T PIO_STDOUT
00000374 T PIO_atexit
000004f8 T PIO_base_delete_layer
0000045c T PIO_base_init
00000470 T PIO_base_new_layer
00000bf0 T PIO_close
000011d0 T PIO_connect
000007a8 T PIO_copy_stack
00000114 T PIO_destroy
00000dcc T PIO_eof
00000f1c T PIO_eprintf
00000b80 T PIO_fdopen
000002d4 T PIO_finish
00000c5c T PIO_flush
00000e58 T PIO_fprintf
00000f9c T PIO_getfd
0000019c T PIO_init
00000380 T PIO_init_stacks
00001214 T PIO_isatty
0000107c T PIO_make_offset
00001088 T PIO_make_offset32
0000109c T PIO_make_offset_pmc
0000008c T PIO_new
00000b10 T PIO_open
00000814 T PIO_parse_open_flags
000008f0 T PIO_peek
00000934 T PIO_pioctl
000010c0 T PIO_poll
000006a4 T PIO_pop_layer
00000e9c T PIO_printf
00000514 T PIO_push_layer
00000e30 T PIO_putps
00000e00 T PIO_puts
00000c98 T PIO_read
00001148 T PIO_recv
00000d40 T PIO_seek
0000118c T PIO_send
00000a78 T PIO_setbuf
00000acc T PIO_setlinebuf
000010fc T PIO_socket
00000d88 T PIO_tell
00000ce0 T PIO_write
0000004c T alloc_pio_array
00000000 T new_io_pmc
00000004 C pio_registered_layers
00000004 C piooffsetzero
00000078 T realloc_pio_array
io_buf.o:
00000000 D pio_buf_layer
00000020 D pio_buf_layer_api
io_unix.o:
00000678 T PIO_sockaddr_in
000004a8 T PIO_unix_getblksize
00000000 D pio_unix_layer
00000020 D pio_unix_layer_api
io_win32.o:
io_stdio.o:
00000260 T PIO_stdio_getblksize
00000000 D pio_stdio_layer
00000020 D pio_stdio_layer_api
io_passdown.o:
00000148 T PIO_close_down
0000063c T PIO_connect_down
00000498 T PIO_eof_down
000000a8 T PIO_fdopen_down
00000300 T PIO_flush_down
00000050 T PIO_open_async_down
00000000 T PIO_open_down
000000f8 T PIO_peek_down
000004e8 T PIO_poll_down
000002a4 T PIO_read_async_down
0000024c T PIO_read_down
0000059c T PIO_recv_down
00000350 T PIO_seek_down
000005ec T PIO_send_down
000003f8 T PIO_setbuf_down
00000448 T PIO_setlinebuf_down
00000544 T PIO_socket_down
000003a8 T PIO_tell_down
000001f0 T PIO_write_async_down
00000198 T PIO_write_down
array.o:
boolean.o:
closure.o:
compiler.o:
continuation.o:
coroutine.o:
csub.o:
default.o:
delegate.o:
env.o:
eval.o:
exception.o:
exception_handler.o:
float.o:
integer.o:
intlist.o:
iterator.o:
key.o:
managedstruct.o:
mmd_default.o:
multiarray.o:
nci.o:
null.o:
orderedhash.o:
parrotclass.o:
parrotinterpreter.o:
00000340 T clone_interpreter
parrotio.o:
parrotlibrary.o:
parrotobject.o:
parrotthread.o:
perlarray.o:
perlenv.o:
perlhash.o:
perlint.o:
perlnum.o:
perlscalar.o:
perlstring.o:
perlundef.o:
pointer.o:
random.o:
ref.o:
retcontinuation.o:
sarray.o:
scalar.o:
scratchpad.o:
sharedref.o:
sub.o:
timer.o:
tqueue.o:
unmanagedstruct.o:
000000c8 T key_2_idx
version.o:
vtablecache.o:
singlebyte.o:
00000040 R singlebyte_encoding
utf8.o:
000001a0 R utf8_encoding
utf16.o:
00000080 R utf16_encoding
utf32.o:
00000040 R utf32_encoding
dbcs.o:
00000080 R dbcs_encoding
unicode.o:
00002340 D unicode_chartype
00000000 D unicode_digit_map
usascii.o:
00000020 D usascii_chartype
00000000 D usascii_digit_map
imcparser.o:
00000004 C IMCC_DEBUG
000001c0 T INS_LABEL
00000004 C allocated
00000004 C block_enum_flags
00000004 C cur_namespace
00000004 C cur_unit
00000004 C dont_optimize
00000004 C enum_opt
00000004 C expect_pasm
00000004 C function
00000004 C gc_off
00001154 C ghash
000001b8 C global_sym_tab
00000004 C has_compile
00000004 C is_def
00000004 C line
00000004 C namespace
00000004 C optimizer_level
00000018 C ostat
00000004 C output
00000004 C pasm_file
00000008 C pragmas
00000004 C sourcefile
00000004 C yydebug
00003d00 T yyerror
0000061c T yyparse
imclexer.o:
00004414 T compile_file
0000001c D frames
00005000 C macros
00000018 D num_macros
0000449c T print_inc
00001000 C temp_buffer
00003410 T yy_create_buffer
000034a0 T yy_delete_buffer
00003524 T yy_flush_buffer
000034f0 T yy_init_buffer
000033d4 T yy_load_buffer_state
00003584 T yy_scan_buffer
00003698 T yy_scan_bytes
00003658 T yy_scan_string
00003374 T yy_switch_to_buffer
00000010 D yyin
00000004 C yyleng
00000000 T yylex
00000014 D yyout
0000332c T yyrestart
00000004 C yytext
000038ec T yywrap
imc.o:
00000000 T imc_check_units
000000fc T imc_cleanup
000001ec T imc_close_unit
00000010 T imc_compile_all_units
000000d8 T imc_compile_unit
00000204 T imc_free_unit
00000110 T imc_new_unit
00000158 T imc_open_unit
00000268 T imc_pragma
stacks.o:
00000040 T imcstack_depth
00000084 T imcstack_free
00000000 T imcstack_new
0000014c T imcstack_pop
000000d0 T imcstack_push
symbol.o:
00000178 T lookup_symbol
0000004c T new_symbol
000000d8 T new_symbol_list
000000a8 T new_symbol_table
000001f8 T push_symbol
00000108 T store_symbol
00000224 T symtab_to_symlist
class.o:
000000d8 T lookup_field_symbol
0000011c T lookup_method_symbol
00000000 T new_class
00000040 T new_method
00000088 T store_field_symbol
000000b0 T store_method_symbol
symreg.o:
00001480 T _delete_sym
00001384 T _find_sym
000012e4 T _get_sym
00000c44 T _mk_address
00000ac8 T _mk_const
00000938 T _mk_fullname
00000104 T _mk_symreg
00001274 T _store_symreg
00000478 T add_namespace
00000528 T add_pcc_arg
00000840 T add_pcc_cc
000006d8 T add_pcc_param
000006f4 T add_pcc_result
000007e4 T add_pcc_return
00000800 T add_pcc_sub
00001654 T clear_globals
000015bc T clear_locals
0000154c T clear_sym_hash
00000e84 T dup_sym
00001444 T find_sym
00001134 T free_sym
00001360 T get_sym
000016f8 T hash_str
00000eec T link_keys
00000d6c T mk_address
00000b00 T mk_const
00000a6c T mk_const_ident
000009b8 T mk_fullname
000009d8 T mk_ident
00000e60 T mk_label_address
00000e3c T mk_local_label
00000880 T mk_pasm_reg
00000428 T mk_pcc_sub
00000e04 T mk_sub_address
00000dcc T mk_sub_label
000001d4 T mk_symreg
000003d4 T mk_temp_reg
00000040 T pop_namespace
00000000 T push_namespace
000012c4 T store_symreg
000001fc T symreg_to_str
instructions.o:
00000000 T _mk_instruction
000005dc T delete_ins
000011a0 T emit_close
000010f4 T emit_flush
000010ac T emit_open
0000081c T emitb
00000000 D emitters
00000888 T free_ins
00000598 T get_branch_reg
00000534 T get_branch_regno
000000c8 T imcc_init_tables
000008c0 T ins_print
00000208 T ins_reads2
0000029c T ins_writes2
00000648 T insert_ins
00000330 T instruction_reads
00000434 T instruction_writes
000007e0 T move_ins
000006d4 T prepend_ins
00000760 T subst_ins
cfg.o:
00000bc8 T blocks_are_connected
00000634 T build_cfg
00001cdc T clear_basic_blocks
000012e8 T compute_dominators
00000d10 T edge_count
0000006c T find_basic_blocks
00001838 T find_loops
00001034 T free_life_info
00000eac T life_analysis
00001e8c T make_life_range
00001c0c T search_predecessors_not_in
reg_alloc.o:
00000398 T free_reglist
00000000 T imc_reg_alloc
sets.o:
000002bc T set_add
00000144 T set_clear
000002f8 T set_contains
0000017c T set_copy
000001d0 T set_equal
0000011c T set_free
000003c0 T set_intersec
00000460 T set_intersec_inplace
00000000 T set_make
00000094 T set_make_full
00000320 T set_union
debug.o:
00000134 T debug
000002ac T dump_cfg
00000abc T dump_dominators
00000170 T dump_instructions
0000098c T dump_interference_graph
000004f4 T dump_labels
00000738 T dump_liveness_status
000007c0 T dump_liveness_status_var
000003dc T dump_loops
000005e8 T dump_symreg
00000000 T fatal
0000004c T fataly
000000f8 T info
000000a8 T warning
optimizer.o:
000000b0 T cfg_optimize
000001c4 T get_neg_op
00000158 T optimize
00000000 T pre_optimize
pbc.o:
0000201c T e_pbc_close
00001a88 T e_pbc_emit
00001a54 T e_pbc_new_sub
000001ec T e_pbc_open
00000bc4 T fixup_bsrs
00000318 T make_jit_info
parser_util.o:
000007a0 T INS
000006fc T check_op
00000628 T get_keyvec
00000000 T iNEW
000001dc T iNEWSUB
00001a4c T imcc_fprintf
00001e58 T imcc_init
00001a78 T imcc_vfprintf
00000744 T is_op
000016a0 T multi_keyed
000004d8 T op_fullname
0000120c T register_compilers
00001dc8 T str_cat
00001d6c T str_dup
000012b4 T try_find_op
jit.o:
00000174 T allocate_jit
sub.o:
00000000 T expand_sub
00000080 T expand_sub_call
00000040 T expand_sub_ret
000000c0 T sub_optimize
fastcall.o:
00000044 T expand_fast_sub
00000124 T expand_fast_sub_call
000000b8 T expand_fast_sub_ret
pcc.o:
00000970 T expand_pcc_sub
0000189c T expand_pcc_sub_call
00000d74 T expand_pcc_sub_ret
00002264 T pcc_sub_optimize
00002688 T pcc_sub_reads
00002628 T pcc_sub_writes
$

Arthur Bergman

unread,
Mar 15, 2004, 7:03:09 AM3/15/04
to perl6-i...@perl.org
In article <200403141711...@vendian.org>,

mcha...@vendian.org (Mitchell N Charity) wrote:

> Leopold Toetsch <l...@toetsch.at> wrote:
>
> Marcus Holland-Moritz <mhx-...@gmx.net> wrote:
>
> > One of my modules embeds the ucpp preprocessor, which has a
> > function init_tables(). The same function exists in parrot.
>
> Renamed.
>
> Another item for the embedding/extending todo list: namespace hygiene.
>
> Some thought perhaps needs to go into creating a family of prefixes,
> and documenting their roles.
>
> Mitchell
> (nipped by mark_hash last week)

I agree that this is rather important.

I think all parrot externally visible macros, types and all functions
should be prefixed Parrot_ as a start.

Are patches welcome that change this? Changing one at a time is not
going to be really helpful. All it does is make following CVS changes a
bit painful.

Arthur

Leopold Toetsch

unread,
Mar 15, 2004, 7:54:15 AM3/15/04
to Arthur Bergman, perl6-i...@perl.org
Arthur Bergman <s...@nanisky.com> wrote:

> I think all parrot externally visible macros, types and all functions
> should be prefixed Parrot_ as a start.

> Are patches welcome that change this?

Sure. But we should allow some already used prefixes too, beside Parrot_.
We have:
- Parrot_ API
- PDB_ Parrot Debugger
- PF_ PackFile
- PackFile_ PackFile
- PIO_ Parrot IO

> ... Changing one at a time is not


> going to be really helpful. All it does is make following CVS changes a
> bit painful.

Yep

> Arthur

leo

Arthur Bergman

unread,
Mar 15, 2004, 8:20:45 AM3/15/04
to l...@toetsch.at, perl6-i...@perl.org

On 15 Mar 2004, at 12:54, Leopold Toetsch wrote:

>
>> I think all parrot externally visible macros, types and all functions
>> should be prefixed Parrot_ as a start.
>
>> Are patches welcome that change this?
>
> Sure. But we should allow some already used prefixes too, beside
> Parrot_.
> We have:

Cool, I still thing everything should be prefixed Parrot since we are
the first and the only project named parrot

> - Parrot_ API
> - PDB_ Parrot Debugger

PDB is too generic ParrotDB_

> - PF_ PackFile

ParrotPF , PF alone is already a taken prefix for Packet Filter if I
don't recall wrong, not to mention the ancient define of PF_

> - PackFile_ PackFile

PackFile_ is too generic IMO too, and why PF and PackFile?

> - PIO_ Parrot IO
>

ParrotIO_

Cheers
Arthur

Leopold Toetsch

unread,
Mar 15, 2004, 10:36:05 AM3/15/04
to Arthur Bergman, perl6-i...@perl.org
Arthur Bergman <s...@nanisky.com> wrote:

> PDB is too generic ParrotDB_

>> - PF_ PackFile

> ParrotPF , PF alone is already a taken prefix for Packet Filter if I
> don't recall wrong, not to mention the ancient define of PF_

>> - PackFile_ PackFile

> PackFile_ is too generic IMO too, and why PF and PackFile?

The PF_ functions are low-level. I'd started to separate packfile.c and
during that used the PF_ prefix. Anyway "ParrotPF_" is good for both.

>> - PIO_ Parrot IO
>>

> ParrotIO_

Ok. Thanks.

> Cheers
> Arthur

May be its best if someone who has commit privs just changes the globals
and puts it in - its of not much help to send around huge patches.

And finally:

$ perl tools/dev/nm.pl --code --global parrot | grep -v ^Parrot

leo

Jeff Clites

unread,
Mar 15, 2004, 12:20:54 PM3/15/04
to l...@toetsch.at, Arthur Bergman, perl6-i...@perl.org
On Mar 15, 2004, at 7:36 AM, Leopold Toetsch wrote:

> Arthur Bergman <s...@nanisky.com> wrote:
>
>> PDB is too generic ParrotDB_

Of course, "ParrotDB" sounds like "Parrot database"....

> May be its best if someone who has commit privs just changes the
> globals
> and puts it in - its of not much help to send around huge patches.

We should be able to get the linker to only expose our external entry
points from libparrot. That way, we don't have to worry about the
naming of API which isn't supposed to be called from outside. (If it
works, it's simpler and safer than relying on a prefix.)

JEff

Arthur Bergman

unread,
Mar 15, 2004, 12:22:56 PM3/15/04
to Jeff Clites, perl6-i...@perl.org, l...@toetsch.at

And how would this be done across platforms, if this works I am happy
with it, but I don't know how.

Arthur

Mitchell N Charity

unread,
Mar 16, 2004, 12:36:38 AM3/16/04
to perl6-i...@perl.org
> We should be able to get the linker to only expose our external entry
> points from libparrot. That way, we don't have to worry about the
> naming of API which isn't supposed to be called from outside. (If it
> works, it's simpler and safer than relying on a prefix.)
>
> JEff

And how would this be done across platforms, if this works I am happy
with it, but I don't know how.

Arthur

We could always use a source preprocessor to add a uN1qUePr1VaTe_ prefix
to a list of unprefixed global symbols... ;)

Mitchell
(not entirely in jest -- robust prefixing so clutters code:)

Jeff Clites

unread,
Mar 16, 2004, 1:30:54 AM3/16/04
to Arthur Bergman, perl6-i...@perl.org, l...@toetsch.at
On Mar 15, 2004, at 9:22 AM, Arthur Bergman wrote:

> On 15 Mar 2004, at 17:20, Jeff Clites wrote:
>
>> We should be able to get the linker to only expose our external entry
>> points from libparrot. That way, we don't have to worry about the
>> naming of API which isn't supposed to be called from outside. (If it
>> works, it's simpler and safer than relying on a prefix.)
>

> And how would this be done across platforms, if this works I am happy
> with it, but I don't know how.

On Mac OS X and Linux at least, as I understand it this can be done
with either 'ld' or 'strip'. (The 'ld' argument for this on Mac OS X is
-exported_symbols_list, and on Linux it's --retain-symbols-file, each
taking the name of a file containing the list of symbols to retain.)
I'd imagine that other Unices have similar linker options, and I'd
think that Windows would have an equivalent also.

I haven't actually tried this, but the tools seem to be there.

JEff

Dan Sugalski

unread,
Mar 16, 2004, 9:59:17 AM3/16/04
to perl6-i...@perl.org
At 12:11 PM -0500 3/14/04, Mitchell N Charity wrote:
>Leopold Toetsch <l...@toetsch.at> wrote:
>
> Marcus Holland-Moritz <mhx-...@gmx.net> wrote:
>
> > One of my modules embeds the ucpp preprocessor, which has a
> > function init_tables(). The same function exists in parrot.
>
> Renamed.
>
>Another item for the embedding/extending todo list: namespace hygiene.

Ultimately the linker needs to expose only those symbols which we
want exposed, and those symbols need a unique prefix. Yeah, it'll be
a cross-platform pain, but it needs doing, and it is doable.
--
Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
d...@sidhe.org have teddy bears and even
teddy bears get drunk

Jarkko Hietaniemi

unread,
Mar 17, 2004, 1:36:36 AM3/17/04
to perl6-i...@perl.org, mcha...@vendian.org, perl6-i...@perl.org
One could also take a look at tools/dev/nm.pl, something I submitted to
Leo a few days back. Basically, it tries to be a portable nm frontend.
nm.pl -g -o libparrot.a does more or less the same what you did.
Reply all
Reply to author
Forward
0 new messages