[Wisp-cvs] wisp/src/native boxes.s,1.11,1.12 boxes.wth,1.7,1.8 misc.s,1.11,1.12 misc.wth,1.11,1.12 r
Status: Alpha
Brought to you by:
digg
Update of /cvsroot/wisp/wisp/src/native In directory usw-pr-cvs1:/tmp/cvs-serv2015/src/native Modified Files: boxes.s boxes.wth misc.s misc.wth records.nasm vectors.s vectors.wth wstrings.s wstrings.wth Log Message: Introduced the new, more polymorphic port mechanism. Index: boxes.s =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/boxes.s,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- boxes.s 18 Sep 2002 21:10:03 -0000 1.11 +++ boxes.s 18 Sep 2002 21:16:50 -0000 1.12 @@ -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 +.byte 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.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- boxes.wth 18 Sep 2002 21:10:03 -0000 1.7 +++ boxes.wth 18 Sep 2002 21:16:50 -0000 1.8 @@ -16,6 +16,9 @@ (tetra 19) ; FALSE (tetra NN_make_box) (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.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- misc.s 18 Sep 2002 21:14:09 -0000 1.11 +++ misc.s 18 Sep 2002 21:16:50 -0000 1.12 @@ -81,6 +81,33 @@ .equiv NN_record_type_length, N_record_type_length + 1 .section .text .align 16 +N_pr_record_type_close_port_slot: +.byte 144,187,10,0,0,0,186 +.long RT_record_type +.byte 233 +.long slot_accessor_body - (.+4) +.global N_pr_record_type_close_port_slot,NN_pr_record_type_close_port_slot +.equiv NN_pr_record_type_close_port_slot, N_pr_record_type_close_port_slot + 1 +.section .text +.align 16 +N_pr_record_type_write_string_slot: +.byte 144,187,9,0,0,0,186 +.long RT_record_type +.byte 233 +.long slot_accessor_body - (.+4) +.global N_pr_record_type_write_string_slot,NN_pr_record_type_write_string_slot +.equiv NN_pr_record_type_write_string_slot, N_pr_record_type_write_string_slot + 1 +.section .text +.align 16 +N_pr_record_type_read_string_slot: +.byte 144,187,8,0,0,0,186 +.long RT_record_type +.byte 233 +.long slot_accessor_body - (.+4) +.global N_pr_record_type_read_string_slot,NN_pr_record_type_read_string_slot +.equiv NN_pr_record_type_read_string_slot, N_pr_record_type_read_string_slot + 1 +.section .text +.align 16 N_pr_record_type_write_char_slot: .byte 144,187,7,0,0,0,186 .long RT_record_type @@ -137,11 +164,11 @@ .align 16 RT_record_type: .long RT_record_type -.byte 7,0,0,0 +.byte 10,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 +.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 .global RT_record_type .section .text .align 16 Index: misc.wth =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/misc.wth,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- misc.wth 18 Sep 2002 21:14:09 -0000 1.11 +++ misc.wth 18 Sep 2002 21:16:50 -0000 1.12 @@ -43,13 +43,16 @@ (assemble RT_record_type (tetra RT_record_type) ; type pointer - (tetra 7) ; slot count + (tetra 10) ; slot count (tetra NN_record_type_huh) ; discriminator (tetra 19) ; FALSE ; |ref| (tetra NN_record_type_length) ; |length| (tetra 19) ; FALSE ; |new| (tetra 19) ; FALSE ; |read-char| - (tetra 19)) ; FALSE ; |write-char| + (tetra 19) ; FALSE ; |write-char| + (tetra 19) ; FALSE ; |read-string| + (tetra 19) ; FALSE ; |write-string| + (tetra 19)) ; FALSE ; |close-port| (native record_type_huh 'RT_record_type go-discriminate) @@ -72,6 +75,15 @@ (native pr_record_type_write_char_slot 'RT_record_type 7 go-access-slot) + +(native pr_record_type_read_string_slot + 'RT_record_type 8 go-access-slot) + +(native pr_record_type_write_string_slot + 'RT_record_type 9 go-access-slot) + +(native pr_record_type_close_port_slot + 'RT_record_type 10 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.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- records.nasm 18 Sep 2002 21:10:03 -0000 1.35 +++ records.nasm 18 Sep 2002 21:16:50 -0000 1.36 @@ -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 + gcall record_constructor_body, eax, 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.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- vectors.s 18 Sep 2002 21:15:23 -0000 1.2 +++ vectors.s 18 Sep 2002 21:16:50 -0000 1.3 @@ -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 +.byte 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 +.byte 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.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- vectors.wth 18 Sep 2002 21:15:23 -0000 1.2 +++ vectors.wth 18 Sep 2002 21:16:50 -0000 1.3 @@ -39,6 +39,9 @@ (tetra NN_vector_length) (tetra NN_make_vector) (tetra 19) ; FALSE + (tetra 19) ; FALSE + (tetra 19) ; FALSE + (tetra 19) ; FALSE (tetra 19)) ; FALSE (native vector_huh @@ -110,6 +113,9 @@ (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.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- wstrings.s 18 Sep 2002 21:10:03 -0000 1.6 +++ wstrings.s 18 Sep 2002 21:16:50 -0000 1.7 @@ -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 +.byte 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.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- wstrings.wth 18 Sep 2002 21:10:03 -0000 1.6 +++ wstrings.wth 18 Sep 2002 21:16:50 -0000 1.7 @@ -16,6 +16,9 @@ (tetra 19) ; FALSE (tetra NN_make_c16string) ; FALSE (tetra 19) ; FALSE + (tetra 19) ; FALSE + (tetra 19) ; FALSE + (tetra 19) ; FALSE (tetra 19)) ; FALSE (extern RT_c16string) |