[Wisp-cvs] wisp/src/native boxes.s,1.12,1.13 boxes.wth,1.8,1.9 misc.s,1.12,1.13 misc.wth,1.12,1.13 r
Status: Alpha
Brought to you by:
digg
Update of /cvsroot/wisp/wisp/src/native In directory usw-pr-cvs1:/tmp/cvs-serv2384/src/native Modified Files: boxes.s boxes.wth misc.s misc.wth records.nasm vectors.s vectors.wth wstrings.s wstrings.wth Log Message: Created the beginnings of port wrapping. Index: boxes.s =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/boxes.s,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- boxes.s 18 Sep 2002 21:16:50 -0000 1.12 +++ boxes.s 18 Sep 2002 21:18:04 -0000 1.13 @@ -69,5 +69,5 @@ .long NN_box_ref .byte 19,0,0,0 .long NN_make_box -.byte 19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0 +.byte 19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0 .global RT_box Index: boxes.wth =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/boxes.wth,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- boxes.wth 18 Sep 2002 21:16:50 -0000 1.8 +++ boxes.wth 18 Sep 2002 21:18:04 -0000 1.9 @@ -19,6 +19,8 @@ (tetra 19) ; FALSE (tetra 19) ; FALSE (tetra 19) ; FALSE + (tetra 19) ; FALSE + (tetra 19) ; FALSE (tetra 19)) ; FALSE (extern RT_box) Index: misc.s =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/misc.s,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- misc.s 18 Sep 2002 21:16:50 -0000 1.12 +++ misc.s 18 Sep 2002 21:18:04 -0000 1.13 @@ -81,6 +81,24 @@ .equiv NN_record_type_length, N_record_type_length + 1 .section .text .align 16 +N_pr_record_type_confess_slot: +.byte 144,187,12,0,0,0,186 +.long RT_record_type +.byte 233 +.long slot_accessor_body - (.+4) +.global N_pr_record_type_confess_slot,NN_pr_record_type_confess_slot +.equiv NN_pr_record_type_confess_slot, N_pr_record_type_confess_slot + 1 +.section .text +.align 16 +N_pr_record_type_aux_slot: +.byte 144,187,11,0,0,0,186 +.long RT_record_type +.byte 233 +.long slot_accessor_body - (.+4) +.global N_pr_record_type_aux_slot,NN_pr_record_type_aux_slot +.equiv NN_pr_record_type_aux_slot, N_pr_record_type_aux_slot + 1 +.section .text +.align 16 N_pr_record_type_close_port_slot: .byte 144,187,10,0,0,0,186 .long RT_record_type @@ -164,11 +182,12 @@ .align 16 RT_record_type: .long RT_record_type -.byte 10,0,0,0 +.byte 12,0,0,0 .long NN_record_type_huh .byte 19,0,0,0 .long NN_record_type_length -.byte 19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0 +.byte 19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19 +.byte 0,0,0 .global RT_record_type .section .text .align 16 Index: misc.wth =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/misc.wth,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- misc.wth 18 Sep 2002 21:16:50 -0000 1.12 +++ misc.wth 18 Sep 2002 21:18:04 -0000 1.13 @@ -41,9 +41,11 @@ (native rvec_set dup 2 = argc drop swap RVEC_LEN rdecui cells 'rvec + cell! VOID) +; The |confess| slot is meant for communicating between Wisp and +; the object--it is not generally accessible by the user code. (assemble RT_record_type (tetra RT_record_type) ; type pointer - (tetra 10) ; slot count + (tetra 12) ; slot count (tetra NN_record_type_huh) ; discriminator (tetra 19) ; FALSE ; |ref| (tetra NN_record_type_length) ; |length| @@ -52,7 +54,9 @@ (tetra 19) ; FALSE ; |write-char| (tetra 19) ; FALSE ; |read-string| (tetra 19) ; FALSE ; |write-string| - (tetra 19)) ; FALSE ; |close-port| + (tetra 19) ; FALSE ; |close-port| + (tetra 19) ; FALSE ; |aux| + (tetra 19)) ; FALSE ; |confess| (native record_type_huh 'RT_record_type go-discriminate) @@ -84,6 +88,12 @@ (native pr_record_type_close_port_slot 'RT_record_type 10 go-access-slot) + +(native pr_record_type_aux_slot + 'RT_record_type 11 go-access-slot) + +(native pr_record_type_confess_slot + 'RT_record_type 12 go-access-slot) (native record_type_length dup 1 = argc drop dup get-type 'RT_record_type = if Index: records.nasm =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/records.nasm,v retrieving revision 1.36 retrieving revision 1.37 diff -u -d -r1.36 -r1.37 --- records.nasm 18 Sep 2002 21:16:50 -0000 1.36 +++ records.nasm 18 Sep 2002 21:18:04 -0000 1.37 @@ -28,7 +28,7 @@ mov [esp], eax mov edx, RT_record_type ; we don't have a discriminator yet - gcall record_constructor_body, eax, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE + gcall record_constructor_body, eax, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE push eax ; stack: (slot-count record-type) valloc 6 Index: vectors.s =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/vectors.s,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- vectors.s 18 Sep 2002 21:16:50 -0000 1.3 +++ vectors.s 18 Sep 2002 21:18:04 -0000 1.4 @@ -125,7 +125,7 @@ .long NN_u8vector_ref .long NN_u8vector_length .long NN_make_u8vector -.byte 19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0 +.byte 19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0 .global RT_u8vector .section .text .align 16 @@ -334,5 +334,5 @@ .long NN_vector_ref .long NN_vector_length .long NN_make_vector -.byte 19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0 +.byte 19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0 .global RT_vector Index: vectors.wth =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/vectors.wth,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- vectors.wth 18 Sep 2002 21:16:50 -0000 1.3 +++ vectors.wth 18 Sep 2002 21:18:04 -0000 1.4 @@ -42,6 +42,8 @@ (tetra 19) ; FALSE (tetra 19) ; FALSE (tetra 19) ; FALSE + (tetra 19) ; FALSE + (tetra 19) ; FALSE (tetra 19)) ; FALSE (native vector_huh @@ -113,6 +115,8 @@ (tetra NN_u8vector_ref) (tetra NN_u8vector_length) (tetra NN_make_u8vector) + (tetra 19) ; FALSE + (tetra 19) ; FALSE (tetra 19) ; FALSE (tetra 19) ; FALSE (tetra 19) ; FALSE Index: wstrings.s =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/wstrings.s,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- wstrings.s 18 Sep 2002 21:16:50 -0000 1.7 +++ wstrings.s 18 Sep 2002 21:18:04 -0000 1.8 @@ -35,5 +35,5 @@ .long NN_c16string_ref .byte 19,0,0,0 .long NN_make_c16string -.byte 19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0 +.byte 19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0 .global RT_c16string Index: wstrings.wth =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/wstrings.wth,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- wstrings.wth 18 Sep 2002 21:16:50 -0000 1.7 +++ wstrings.wth 18 Sep 2002 21:18:04 -0000 1.8 @@ -19,6 +19,8 @@ (tetra 19) ; FALSE (tetra 19) ; FALSE (tetra 19) ; FALSE + (tetra 19) ; FALSE + (tetra 19) ; FALSE (tetra 19)) ; FALSE (extern RT_c16string) |