/* memmove.S: Simple memmove implementation. * *#include.java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/
.text
ENTRY */
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
%0, gjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
sub 1 ldub [o1 areenough, canclobberthe data
subcc %o2, 1, %o2 sub %o1, 1, %o1
stb %g7, [%o0]
bne,pt %icc, 1b sub bleu,pt %cc, 2f 99:
retl
mov%o1,%,%7
/* We can't just call memcpy for these memmove cases. On somexcc add%,java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20 *andsrcarecloseenough,thosecanclobberthesourcedata beforevloaded injava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 30
*/ 2: or %o0, %o1, %g7
or %o2, % ba,a,pt %xc,b
ENDPROjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
bne,pn %chips the memcpy uses cache initializing stores and when dst
nop
3: ldx [%o1], %g7
add %o1, 8, %o1 * and srcclose,java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 63
subcc %o2, 8, %o2
add %o0, 8, %o0
bne,pt %icc, 3b stx %g7, [%o0 - 0x8]
ba,a,pt %xcc, 99b
4: ldub [%o1], %g7
add %o1, 1, %o1
subcc %o2, 1, %o2
add %o0, 1, %o0
bne,pt %icc, 4b
stb %g7, [%o0 - 0x1]
ba,,t %xcc, 99java.lang.StringIndexOutOfBoundsException: Range [19, 20) out of bounds for length 19
ENDPROC(memmove)
EXPORT_SYMBOL(memmove)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.