Simplify awk scripts, fix comments and signatures.

master
KC Sivaramakrishnan 2019-08-01 13:51:52 +05:30
parent 29b53b1fad
commit e96220a96f
8 changed files with 49 additions and 62 deletions

View File

@ -129,7 +129,7 @@ ENDIF
pop r10 pop r10
pop r11 pop r11
pop rbp pop rbp
; Restore Caml_state_young_ptr, caml_exception_pointer ; Restore Caml_state(young_ptr)
Load_young_ptr r15 Load_young_ptr r15
; Return to caller ; Return to caller
ret ret
@ -310,7 +310,7 @@ IFDEF WITH_SPACETIME
pop rbx pop rbx
pop rax pop rax
ENDIF ENDIF
; Setup alloc ptr and exception ptr ; Setup alloc ptr
Load_young_ptr r15 Load_young_ptr r15
; Build an exception handler ; Build an exception handler
lea r13, L108 lea r13, L108

View File

@ -394,7 +394,7 @@ FUNCTION(caml_raise_exception)
mov domain_state_ptr, r0 mov domain_state_ptr, r0
/* Load exception bucket */ /* Load exception bucket */
mov r0, r1 mov r0, r1
/* Reload trap ptr, alloc ptr and alloc limit */ /* Reload trap ptr and alloc ptr */
ldr trap_ptr, Caml_state(exception_pointer) ldr trap_ptr, Caml_state(exception_pointer)
ldr alloc_ptr, Caml_state(young_ptr) ldr alloc_ptr, Caml_state(young_ptr)
/* Test if backtrace is active */ /* Test if backtrace is active */

View File

@ -354,11 +354,10 @@ struct caml__roots_block {
#define CAMLxparam1(x) \ #define CAMLxparam1(x) \
struct caml__roots_block caml__roots_##x; \ struct caml__roots_block caml__roots_##x; \
caml_domain_state* domain_state_##x = Caml_state; \
CAMLunused_start int caml__dummy_##x = ( \ CAMLunused_start int caml__dummy_##x = ( \
(void) caml__frame, \ (void) caml__frame, \
(caml__roots_##x.next = domain_state_##x->local_roots), \ (caml__roots_##x.next = Caml_state->local_roots), \
(domain_state_##x->local_roots = &caml__roots_##x), \ (Caml_state->local_roots = &caml__roots_##x), \
(caml__roots_##x.nitems = 1), \ (caml__roots_##x.nitems = 1), \
(caml__roots_##x.ntables = 1), \ (caml__roots_##x.ntables = 1), \
(caml__roots_##x.tables [0] = &x), \ (caml__roots_##x.tables [0] = &x), \
@ -367,11 +366,10 @@ struct caml__roots_block {
#define CAMLxparam2(x, y) \ #define CAMLxparam2(x, y) \
struct caml__roots_block caml__roots_##x; \ struct caml__roots_block caml__roots_##x; \
caml_domain_state* domain_state_##x = Caml_state; \
CAMLunused_start int caml__dummy_##x = ( \ CAMLunused_start int caml__dummy_##x = ( \
(void) caml__frame, \ (void) caml__frame, \
(caml__roots_##x.next = domain_state_##x->local_roots), \ (caml__roots_##x.next = Caml_state->local_roots), \
(domain_state_##x->local_roots = &caml__roots_##x), \ (Caml_state->local_roots = &caml__roots_##x), \
(caml__roots_##x.nitems = 1), \ (caml__roots_##x.nitems = 1), \
(caml__roots_##x.ntables = 2), \ (caml__roots_##x.ntables = 2), \
(caml__roots_##x.tables [0] = &x), \ (caml__roots_##x.tables [0] = &x), \
@ -381,11 +379,10 @@ struct caml__roots_block {
#define CAMLxparam3(x, y, z) \ #define CAMLxparam3(x, y, z) \
struct caml__roots_block caml__roots_##x; \ struct caml__roots_block caml__roots_##x; \
caml_domain_state* domain_state_##x = Caml_state; \
CAMLunused_start int caml__dummy_##x = ( \ CAMLunused_start int caml__dummy_##x = ( \
(void) caml__frame, \ (void) caml__frame, \
(caml__roots_##x.next = domain_state_##x->local_roots), \ (caml__roots_##x.next = Caml_state->local_roots), \
(domain_state_##x->local_roots = &caml__roots_##x), \ (Caml_state->local_roots = &caml__roots_##x), \
(caml__roots_##x.nitems = 1), \ (caml__roots_##x.nitems = 1), \
(caml__roots_##x.ntables = 3), \ (caml__roots_##x.ntables = 3), \
(caml__roots_##x.tables [0] = &x), \ (caml__roots_##x.tables [0] = &x), \
@ -396,11 +393,10 @@ struct caml__roots_block {
#define CAMLxparam4(x, y, z, t) \ #define CAMLxparam4(x, y, z, t) \
struct caml__roots_block caml__roots_##x; \ struct caml__roots_block caml__roots_##x; \
caml_domain_state* domain_state_##x = Caml_state; \
CAMLunused_start int caml__dummy_##x = ( \ CAMLunused_start int caml__dummy_##x = ( \
(void) caml__frame, \ (void) caml__frame, \
(caml__roots_##x.next = domain_state_##x->local_roots), \ (caml__roots_##x.next = Caml_state->local_roots), \
(domain_state_##x->local_roots = &caml__roots_##x), \ (Caml_state->local_roots = &caml__roots_##x), \
(caml__roots_##x.nitems = 1), \ (caml__roots_##x.nitems = 1), \
(caml__roots_##x.ntables = 4), \ (caml__roots_##x.ntables = 4), \
(caml__roots_##x.tables [0] = &x), \ (caml__roots_##x.tables [0] = &x), \
@ -412,11 +408,10 @@ struct caml__roots_block {
#define CAMLxparam5(x, y, z, t, u) \ #define CAMLxparam5(x, y, z, t, u) \
struct caml__roots_block caml__roots_##x; \ struct caml__roots_block caml__roots_##x; \
caml_domain_state* domain_state_##x = Caml_state; \
CAMLunused_start int caml__dummy_##x = ( \ CAMLunused_start int caml__dummy_##x = ( \
(void) caml__frame, \ (void) caml__frame, \
(caml__roots_##x.next = domain_state_##x->local_roots), \ (caml__roots_##x.next = Caml_state->local_roots), \
(domain_state_##x->local_roots = &caml__roots_##x), \ (Caml_state->local_roots = &caml__roots_##x), \
(caml__roots_##x.nitems = 1), \ (caml__roots_##x.nitems = 1), \
(caml__roots_##x.ntables = 5), \ (caml__roots_##x.ntables = 5), \
(caml__roots_##x.tables [0] = &x), \ (caml__roots_##x.tables [0] = &x), \
@ -429,11 +424,10 @@ struct caml__roots_block {
#define CAMLxparamN(x, size) \ #define CAMLxparamN(x, size) \
struct caml__roots_block caml__roots_##x; \ struct caml__roots_block caml__roots_##x; \
caml_domain_state* domain_state_##x = Caml_state; \
CAMLunused_start int caml__dummy_##x = ( \ CAMLunused_start int caml__dummy_##x = ( \
(void) caml__frame, \ (void) caml__frame, \
(caml__roots_##x.next = domain_state_##x->local_roots), \ (caml__roots_##x.next = Caml_state->local_roots), \
(domain_state_##x->local_roots = &caml__roots_##x), \ (Caml_state->local_roots = &caml__roots_##x), \
(caml__roots_##x.nitems = (size)), \ (caml__roots_##x.nitems = (size)), \
(caml__roots_##x.ntables = 1), \ (caml__roots_##x.ntables = 1), \
(caml__roots_##x.tables[0] = &(x[0])), \ (caml__roots_##x.tables[0] = &(x[0])), \
@ -518,18 +512,16 @@ struct caml__roots_block {
#define Begin_roots1(r0) { \ #define Begin_roots1(r0) { \
struct caml__roots_block caml__roots_block; \ struct caml__roots_block caml__roots_block; \
caml_domain_state* domain_state = Caml_state; \ caml__roots_block.next = Caml_state->local_roots; \
caml__roots_block.next = domain_state->local_roots; \ Caml_state->local_roots = &caml__roots_block; \
domain_state->local_roots = &caml__roots_block; \
caml__roots_block.nitems = 1; \ caml__roots_block.nitems = 1; \
caml__roots_block.ntables = 1; \ caml__roots_block.ntables = 1; \
caml__roots_block.tables[0] = &(r0); caml__roots_block.tables[0] = &(r0);
#define Begin_roots2(r0, r1) { \ #define Begin_roots2(r0, r1) { \
struct caml__roots_block caml__roots_block; \ struct caml__roots_block caml__roots_block; \
caml_domain_state* domain_state = Caml_state; \ caml__roots_block.next = Caml_state->local_roots; \
caml__roots_block.next = domain_state->local_roots; \ Caml_state->local_roots = &caml__roots_block; \
domain_state->local_roots = &caml__roots_block; \
caml__roots_block.nitems = 1; \ caml__roots_block.nitems = 1; \
caml__roots_block.ntables = 2; \ caml__roots_block.ntables = 2; \
caml__roots_block.tables[0] = &(r0); \ caml__roots_block.tables[0] = &(r0); \
@ -537,9 +529,8 @@ struct caml__roots_block {
#define Begin_roots3(r0, r1, r2) { \ #define Begin_roots3(r0, r1, r2) { \
struct caml__roots_block caml__roots_block; \ struct caml__roots_block caml__roots_block; \
caml_domain_state* domain_state = Caml_state; \ caml__roots_block.next = Caml_state->local_roots; \
caml__roots_block.next = domain_state->local_roots; \ Caml_state->local_roots = &caml__roots_block; \
domain_state->local_roots = &caml__roots_block; \
caml__roots_block.nitems = 1; \ caml__roots_block.nitems = 1; \
caml__roots_block.ntables = 3; \ caml__roots_block.ntables = 3; \
caml__roots_block.tables[0] = &(r0); \ caml__roots_block.tables[0] = &(r0); \
@ -548,9 +539,8 @@ struct caml__roots_block {
#define Begin_roots4(r0, r1, r2, r3) { \ #define Begin_roots4(r0, r1, r2, r3) { \
struct caml__roots_block caml__roots_block; \ struct caml__roots_block caml__roots_block; \
caml_domain_state* domain_state = Caml_state; \ caml__roots_block.next = Caml_state->local_roots; \
caml__roots_block.next = domain_state->local_roots; \ Caml_state->local_roots = &caml__roots_block; \
domain_state->local_roots = &caml__roots_block; \
caml__roots_block.nitems = 1; \ caml__roots_block.nitems = 1; \
caml__roots_block.ntables = 4; \ caml__roots_block.ntables = 4; \
caml__roots_block.tables[0] = &(r0); \ caml__roots_block.tables[0] = &(r0); \
@ -560,9 +550,8 @@ struct caml__roots_block {
#define Begin_roots5(r0, r1, r2, r3, r4) { \ #define Begin_roots5(r0, r1, r2, r3, r4) { \
struct caml__roots_block caml__roots_block; \ struct caml__roots_block caml__roots_block; \
caml_domain_state* domain_state = Caml_state; \ caml__roots_block.next = Caml_state->local_roots; \
caml__roots_block.next = domain_state->local_roots; \ Caml_state->local_roots = &caml__roots_block; \
domain_state->local_roots = &caml__roots_block; \
caml__roots_block.nitems = 1; \ caml__roots_block.nitems = 1; \
caml__roots_block.ntables = 5; \ caml__roots_block.ntables = 5; \
caml__roots_block.tables[0] = &(r0); \ caml__roots_block.tables[0] = &(r0); \
@ -573,9 +562,8 @@ struct caml__roots_block {
#define Begin_roots_block(table, size) { \ #define Begin_roots_block(table, size) { \
struct caml__roots_block caml__roots_block; \ struct caml__roots_block caml__roots_block; \
caml_domain_state* domain_state = Caml_state; \ caml__roots_block.next = Caml_state->local_roots; \
caml__roots_block.next = domain_state->local_roots; \ Caml_state->local_roots = &caml__roots_block; \
domain_state->local_roots = &caml__roots_block; \
caml__roots_block.nitems = (size); \ caml__roots_block.nitems = (size); \
caml__roots_block.ntables = 1; \ caml__roots_block.ntables = 1; \
caml__roots_block.tables[0] = (table); caml__roots_block.tables[0] = (table);

View File

@ -510,7 +510,7 @@ int caml_find_code_fragment(char *pc, int *index, struct code_fragment **cf);
* [caml_backtrace_buffer]. In bytecode, it is the same as a * [caml_backtrace_buffer]. In bytecode, it is the same as a
* [code_t], in native code it as a [frame_descr *]. The difference * [code_t], in native code it as a [frame_descr *]. The difference
* doesn't matter for code outside [backtrace_{byt,nat}.c], * doesn't matter for code outside [backtrace_{byt,nat}.c],
* so it is just exposed as a [backtrace_slot]. * so it is just exposed as a [void *].
*/ */
typedef void * backtrace_slot; typedef void * backtrace_slot;

View File

@ -12,25 +12,25 @@
#* * #* *
#************************************************************************** #**************************************************************************
BEGIN{FS=",";count=0}; BEGIN{FS="[,)] *";count=0};
/DOMAIN_STATE/{ /DOMAIN_STATE/{
print "Store_" substr($2,2,length($2)-2) " MACRO reg1, reg2"; print "Store_" $2 " MACRO reg1, reg2";
print " mov [reg1+" count "], reg2"; print " mov [reg1+" count "], reg2";
print "ENDM"; print "ENDM";
print "Load_" substr($2,2,length($2)-2) " MACRO reg1, reg2"; print "Load_" $2 " MACRO reg1, reg2";
print " mov reg2, [reg1+" count "]"; print " mov reg2, [reg1+" count "]";
print "ENDM"; print "ENDM";
print "Push_" substr($2,2, length($2)-2) " MACRO reg1"; print "Push_" $2 " MACRO reg1";
print " push [reg1+ " count "]"; print " push [reg1+" count "]";
print "ENDM"; print "ENDM";
print "Pop_" substr($2, 2, length($2)-2) " MACRO reg1"; print "Pop_" $2 " MACRO reg1";
print " pop [reg1+ " count "]"; print " pop [reg1+" count "]";
print "ENDM"; print "ENDM";
print "Cmp_" substr($2, 2, length($2)-2) " MACRO reg1, reg2"; print "Cmp_" $2 " MACRO reg1, reg2";
print " cmp reg2, [reg1+ " count "]"; print " cmp reg2, [reg1+" count "]";
print "ENDM"; print "ENDM";
print "Sub_" substr($2, 2, length($2)-2) " MACRO reg1, reg2"; print "Sub_" $2 " MACRO reg1, reg2";
print " sub reg2, [reg1+ " count "]"; print " sub reg2, [reg1+" count "]";
print "ENDM"; print "ENDM";
count+=8 count+=8
} }

View File

@ -12,22 +12,22 @@
#* * #* *
#************************************************************************** #**************************************************************************
BEGIN{FS=",";count=0}; BEGIN{FS="[,)] *";count=0};
/DOMAIN_STATE/{ /DOMAIN_STATE/{
print "Store_" substr($2,2,length($2)-2) " MACRO reg"; print "Store_" $2 " MACRO reg";
print " mov [r14+" count "], reg"; print " mov [r14+" count "], reg";
print "ENDM"; print "ENDM";
print "Load_" substr($2,2,length($2)-2) " MACRO reg"; print "Load_" $2 " MACRO reg";
print " mov reg, [r14+" count "]"; print " mov reg, [r14+" count "]";
print "ENDM"; print "ENDM";
print "Push_" substr($2,2, length($2)-2) " MACRO"; print "Push_" $2 " MACRO";
print " push [r14 + " count "]"; print " push [r14+" count "]";
print "ENDM"; print "ENDM";
print "Pop_" substr($2, 2, length($2)-2) " MACRO"; print "Pop_" $2 " MACRO";
print " pop [r14 + " count "]"; print " pop [r14+" count "]";
print "ENDM"; print "ENDM";
print "Cmp_" substr($2, 2, length($2)-2) " MACRO reg"; print "Cmp_" $2 " MACRO reg";
print " cmp reg, [r14 + " count "]"; print " cmp reg, [r14+" count "]";
print "ENDM"; print "ENDM";
count+=8 count+=8
} }

View File

@ -273,7 +273,6 @@ value caml_static_release_bytecode(value prog, value len)
return Val_unit; /* not reached */ return Val_unit; /* not reached */
} }
int volatile caml_something_to_do;
void (* volatile caml_async_action_hook)(void); void (* volatile caml_async_action_hook)(void);
#endif #endif

View File

@ -207,7 +207,7 @@ static char sig_alt_stack[SIGSTKSZ];
#endif #endif
#ifdef RETURN_AFTER_STACK_OVERFLOW #ifdef RETURN_AFTER_STACK_OVERFLOW
extern void caml_stack_overflow(void); extern void caml_stack_overflow(caml_domain_state*);
#endif #endif
DECLARE_SIGNAL_HANDLER(segv_handler) DECLARE_SIGNAL_HANDLER(segv_handler)