[m-dev.] for review: bootstrap without backwards compatibility

Fergus Henderson fjh at cs.mu.OZ.AU
Tue Sep 21 20:28:05 AEST 1999


On 21-Sep-1999, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> 
> This boring diff is for any masochist out there to review.

That diff looks fine.

> After this change is installed on all systems, we can delete the
> MR_NO_BACKWARDS_COMPAT flag and the backwards compatibility code itself.

The definitions of the list_* macros should stay around for a release
or two, since they were documented in the Mercury 0.8 reference manual.

By the way, there is still a long way to go to make the Mercury runtime
namespace-clean.  There are still about 270 macros and 100 external symbols
that we define which do not start with a mercury-releated prefix such as `MR_'.

I enclose below a list of these macros and external symbols.
The list of macros was produced using the command

	mmake GRADE=none check_headers && sort -u *.macros

The list of external symbols was produced using the command

	nm *.o | grep '........ [TDRCB]' | \
	grep -v -e ' MR_' -e ' mercury' -e ' _entry_mercury' -e ' _entry_MR' |
	awk '{print $3;}' | sort -u

Cheers,
	Fergus.

----------

Macros:
	AND
	ASM_ENTRY
	ASM_FALLTHROUGH
	ASM_LOCAL_ENTRY
	ASM_STATIC_ENTRY
	BOXED_FLOAT
	COMPARE_EQUAL
	COMPARE_GREATER
	COMPARE_LESS
	COMPUTED_GOTO
	FALSE
	FLOAT_WORDS
	HASH_STRING_FUNC_BODY
	HAVE_ASM_SIGCONTEXT
	HAVE_DLCLOSE
	HAVE_DLERROR
	HAVE_DLFCN_H
	HAVE_DLOPEN
	HAVE_DLSYM
	HAVE_GETPAGESIZE
	HAVE_MEMALIGN
	HAVE_MEMMOVE
	HAVE_MPROTECT
	HAVE_READLINE_HISTORY
	HAVE_READLINE_READLINE
	HAVE_SETITIMER
	HAVE_SIGACTION
	HAVE_SIGCONTEXT_STRUCT
	HAVE_SIGCONTEXT_STRUCT_2ARG
	HAVE_SIGINFO
	HAVE_STRERROR
	HAVE_SYSCONF
	HAVE_SYS_PARAM
	HAVE_SYS_TIME
	HAVE_SYS_WAIT
	HAVE_UCONTEXT
	IF
	INLINE_ASM_ENTRY_LABEL
	INLINE_ASM_GLOBALIZE_LABEL
	IO_HAVE_TEMPNAM
	LOW_TAG_BITS
	MAX_FAKE_REG
	MAX_REAL_REG
	MAX_RN
	MAX_VIRTUAL_REG
	NO_REGS_H
	NUM_REAL_REGS
	OFFSET_FOR_ARG_TYPE_INFOS
	OFFSET_FOR_BASE_TYPE_FUNCTORS
	OFFSET_FOR_BASE_TYPE_LAYOUT
	OFFSET_FOR_COMPARE_PRED
	OFFSET_FOR_COUNT
	OFFSET_FOR_INDEX_PRED
	OFFSET_FOR_TYPE_CTOR_REPRESENTATION
	OFFSET_FOR_TYPE_MODULE_NAME
	OFFSET_FOR_TYPE_NAME
	OFFSET_FOR_UNIFY_PRED
	PC_ACCESS
	RETSIGTYPE
	SIGACTION_FIELD
	SUCCESS_INDICATOR
	TRUE
	TYPEINFO_IS_VARIABLE
	TYPEINFO_OFFSET_FOR_PRED_ARGS
	TYPEINFO_OFFSET_FOR_PRED_ARITY
	TYPE_CTOR_LAYOUT_CONST_FUNCTOR_OFFSET
	TYPE_CTOR_LAYOUT_CONST_TAG
	TYPE_CTOR_LAYOUT_ENUM_FUNCTOR_OFFSET
	TYPE_CTOR_LAYOUT_EQUIV_TAG
	TYPE_CTOR_LAYOUT_MAX_VARINT
	TYPE_CTOR_LAYOUT_NO_TAG
	TYPE_CTOR_LAYOUT_SHARED_LOCAL_TAG
	TYPE_CTOR_LAYOUT_SHARED_REMOTE_TAG
	TYPE_CTOR_LAYOUT_UNSHARED_ARGS_OFFSET
	TYPE_CTOR_LAYOUT_UNSHARED_ARITY_OFFSET
	TYPE_CTOR_LAYOUT_UNSHARED_FUNCTOR_OFFSET
	TYPE_CTOR_LAYOUT_UNSHARED_TAG
	UNIV_OFFSET_FOR_DATA
	UNIV_OFFSET_FOR_TYPEINFO
	VIRTUAL_REG_MAP_BODY
	__GNU_LIBRARY__
	addhead
	addtail
	allocate_array
	allocate_object
	bool
	call
	call_localret
	create1
	create2
	create2_bf
	create2_fb
	create3
	debugcall
	debugcr1
	debugcr2
	debugdecrsp
	debugfail
	debugframe
	debuggoto
	debugincrhp
	debugincrsp
	debugmkframe
	debugmsg0
	debugmsg1
	debugmsg2
	debugmsg3
	debugpop
	debugproceed
	debugpush
	debugredo
	debugregs
	debugsreg
	debugsucceed
	debugsucceeddiscard
	debugtailcall
	detstack_overflow_check
	detstack_underflow_check
	do_hash_string
	dump_pop_msg
	dump_push_msg
	end_list
	entry
	first
	first_ptr
	float_const
	float_to_word
	for_2list
	for_list
	for_unlist
	hash_string
	heap_overflow_check
	incr_hp
	incr_hp_atomic
	incr_hp_atomic_msg
	incr_hp_msg
	incr_saved_hp
	incr_saved_hp_atomic
	insert_after
	insert_before
	last
	last_ptr
	ldata
	llength
	load_context
	load_engine_regs
	localcall
	localtailcall
	make
	make_aligned_string
	make_aligned_string_copy
	make_entry_ai
	make_entry_sl
	make_label_ai
	make_label_sl
	make_local_ai
	make_local_sl
	make_many
	make_typelayout_for_all_tags
	makelist
	max
	min
	mr
	mr0
	mr1
	mr10
	mr11
	mr12
	mr13
	mr14
	mr15
	mr16
	mr17
	mr18
	mr19
	mr2
	mr20
	mr21
	mr22
	mr23
	mr24
	mr25
	mr26
	mr27
	mr28
	mr29
	mr3
	mr30
	mr31
	mr32
	mr33
	mr34
	mr35
	mr36
	mr37
	mr4
	mr5
	mr6
	mr7
	mr8
	mr9
	next
	nondstack_overflow_check
	nondstack_underflow_check
	noprof_localcall
	paste
	prev
	proceed
	r
	r1
	r10
	r11
	r12
	r13
	r14
	r15
	r16
	r17
	r18
	r19
	r2
	r20
	r21
	r22
	r23
	r24
	r25
	r26
	r27
	r28
	r29
	r3
	r30
	r31
	r32
	r4
	r5
	r6
	r7
	r8
	r9
	reg
	resize_many
	restore_regs_from_mem
	restore_transient_regs_from_mem
	round_up
	runnext
	save_context
	save_engine_regs
	save_registers
	save_regs_to_mem
	save_transient_registers
	save_transient_regs_to_mem
	saved_reg
	skip
	strdiff
	streq
	string_const
	string_equal
	stringify
	strndiff
	strneq
	strntest
	strtest
	table_copy_bytes
	table_copy_words
	tailcall
	ungetchar
	virtual_reg
	word_to_float

External symbols:
	_entry_do_call_det_class_method
	_entry_do_call_det_closure
	_entry_do_call_nondet_class_method
	_entry_do_call_nondet_closure
	_entry_do_call_old_closure
	_entry_do_call_semidet_class_method
	_entry_do_call_semidet_closure
	_entry_do_fail
	_entry_do_interpreter
	_entry_do_last_succeed
	_entry_do_not_reached
	_entry_do_redo
	_entry_do_runnext
	_entry_do_succeed
	addlist
	addndlist
	address_of_init_gc
	address_of_init_modules
	address_of_mercury_init_io
	agc_deep_copy
	allocate_bytes
	call_engine
	check_space
	checked_malloc
	checked_realloc
	construct_zone
	create_context
	create_engine
	create_zone
	cutstack_size
	cutstack_zone_size
	deallocate_memory
	debug_heap_size
	debug_heap_zone_size
	debug_memory
	deep_copy
	default_handler
	destroy_context
	destroy_engine
	detstack_size
	detstack_zone
	detstack_zone_size
	dlist_delete
	do_init_modules
	dummy_function_call
	dump_prev_locations
	fatal_error
	finalize_engine
	finalize_runqueue
	flounder
	generatorstack_size
	generatorstack_zone_size
	get_reg
	get_used_memory_zones
	global_heap_size
	global_heap_zone_size
	global_pointer
	global_pointer_2
	hash_float
	hash_string
	heap_size
	heap_zone_size
	init_context
	init_engine
	init_memory
	init_thread
	init_thread_stuff
	init_zones
	length
	list_addhead
	list_addtail
	list_insert_after
	list_insert_before
	list_makelist
	makelist0
	newmem
	next_offset
	nondetstack_zone
	nondstack_size
	nondstack_zone_size
	null_handler
	num_uses
	oldlist
	oldmem
	page_size
	pcache_size
	printdetstack
	printlabel
	printnondstack
	progname
	program_entry_point
	reset_redzone
	resizemem
	schedule
	set_reg
	setup_signals
	solutions_heap_size
	solutions_heap_zone_size
	sys_init_unify_univ_module_bootstrap
	terminate_engine
	time_at_last_stat
	time_at_start
	trail_size
	trail_zone_size
	unit
	virtual_reg_map

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3        |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list