Bounds check elimination

This commit is contained in:
Andy Wang 2020-04-17 01:03:36 +01:00
parent 32ef6b65f6
commit 70aa04354a
1 changed files with 4 additions and 3 deletions

View File

@ -19,11 +19,12 @@ const (
func AddRecordLayer(input []byte, typ byte, ver uint16) []byte {
msgLen := len(input)
retLen := msgLen + recordLayerLength
var ret []byte
if cap(input) > msgLen+recordLayerLength {
ret = input[:msgLen+recordLayerLength]
if cap(input) >= retLen {
ret = input[:retLen]
} else {
ret = make([]byte, msgLen+recordLayerLength)
ret = make([]byte, retLen)
}
copy(ret[recordLayerLength:], input)
ret[0] = typ