element 't_edit' small speed optimize

git-svn-id: svn://kolibrios.org@2809 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA 2012-06-20 10:05:50 +00:00
parent 195ca78286
commit b409bc1b4a

View File

@ -1,6 +1,6 @@
; ¬ ªà®á ¤«ï á¨á⥬­®© ¡¨¡«¨®â¥ª¨ box_lib.obj ; ¬ ªà®á ¤«ï á¨á⥬­®© ¡¨¡«¨®â¥ª¨ box_lib.obj
; í«¥¬¥­â TextEditor ¤«ï Kolibri OS ; í«¥¬¥­â TextEditor ¤«ï Kolibri OS
; ä ©« ¯®á«¥¤­¨© à § ¨§¬¥­ï«áï 19.06.2012 IgorA ; ä ©« ¯®á«¥¤­¨© à § ¨§¬¥­ï«áï 20.06.2012 IgorA
; ­  ª®¤ ¯à¨¬¥­¥­  GPL2 «¨æ¥­§¨ï ; ­  ª®¤ ¯à¨¬¥­¥­  GPL2 «¨æ¥­§¨ï
;input: ;input:
@ -849,31 +849,40 @@ endp
; edx = pointer to 'perv' visible symbol struct ; edx = pointer to 'perv' visible symbol struct
align 4 align 4
ted_iterat_perv: ted_iterat_perv:
cmp ted_tim_undo,0 cmp ted_tim_undo,0
je .else je .else
push ebx push ebx
@@: @@:
call ted_get_text_perv_pos mov edx,dword[edx+2]
cmp edx,ted_tex cmp edx,0
je @f je @f
call ted_symbol_not_vis imul edx,sizeof.symbol
cmp bl,1 add edx,ted_tex
je @b call ted_symbol_not_vis
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10 cmp bl,1
je @b je @b
@@: cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10
pop ebx je @b
ret pop ebx
.else: ret
call ted_get_text_perv_pos @@:
cmp edx,ted_tex mov edx,ted_tex ;­ ç «® ä ©« 
je .endif pop ebx
cmp dword [edx+14],0 ret
jne .else .else:
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10 mov edx,dword[edx+2]
je .else cmp edx,0
.endif: je @f
ret imul edx,sizeof.symbol
add edx,ted_tex
cmp dword [edx+14],0
jne .else
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10
je .else
ret
@@:
mov edx,ted_tex ;­ ç «® ä ©« 
ret
;input: ;input:
@ -883,31 +892,42 @@ ted_iterat_perv:
; edx = pointer to 'next' visible symbol struct ; edx = pointer to 'next' visible symbol struct
align 4 align 4
ted_iterat_next: ted_iterat_next:
cmp ted_tim_undo,0 cmp ted_tim_undo,0
je .else je .else
push ebx push ebx
@@: @@:
call ted_get_text_next_pos mov edx,dword[edx+6]
cmp edx,ted_tex_1 cmp edx,1
jle @f jle @f
call ted_symbol_not_vis imul edx,sizeof.symbol
cmp bl,1 add edx,ted_tex
je @b
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10 call ted_symbol_not_vis
je @b cmp bl,1
@@: je @b
pop ebx cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10
ret je @b
.else: pop ebx
call ted_get_text_next_pos ret
cmp edx,ted_tex_1 @@:
jle .endif mov edx,ted_tex_1 ;ª®­¥æ ä ©« 
cmp dword [edx+14],0 pop ebx
jne .else ret
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10 .else:
je .else mov edx,dword[edx+6]
.endif: cmp edx,1
ret jle @f
imul edx,sizeof.symbol
add edx,ted_tex
cmp dword [edx+14],0
jne .else
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10
je .else
ret
@@:
mov edx,ted_tex_1 ;ª®­¥æ ä ©« 
ret
;input: ;input:
; bl = symbol end of select ; bl = symbol end of select