fix go:noinlines in volatile package
Этот коммит содержится в:
родитель
b7b23ace3f
коммит
bcdb3fc681
3 изменённых файлов: 8 добавлений и 8 удалений
|
@ -83,7 +83,7 @@ func in_ram() uintptr {
|
|||
return device.AsmFull("MOV {}, PC", nil)
|
||||
}
|
||||
|
||||
// go:noinline used here to prevent function being 'inlined' into main()
|
||||
// 'go:noinline' used here to prevent function being 'inlined' into main()
|
||||
// so it appears in objdump output. In normal use, go:inline is not
|
||||
// required for functions running from flash (flash is the default).
|
||||
//
|
||||
|
|
|
@ -51,7 +51,7 @@ func (r *BitRegister) Set(v bool) {
|
|||
// if R is not an AIPS or GPIO register or if N is out of range (greater than
|
||||
// the number of bits in a register minus one).
|
||||
//
|
||||
// go:inline
|
||||
//go:inline
|
||||
func (r *Register8) Bit(bit uint8) *BitRegister {
|
||||
ptr := bitbandAddress(uintptr(unsafe.Pointer(&r.Reg)), bit)
|
||||
return (*BitRegister)(unsafe.Pointer(ptr))
|
||||
|
@ -61,7 +61,7 @@ func (r *Register8) Bit(bit uint8) *BitRegister {
|
|||
// if R is not an AIPS or GPIO register or if N is out of range (greater than
|
||||
// the number of bits in a register minus one).
|
||||
//
|
||||
// go:inline
|
||||
//go:inline
|
||||
func (r *Register16) Bit(bit uint8) *BitRegister {
|
||||
ptr := bitbandAddress(uintptr(unsafe.Pointer(&r.Reg)), bit)
|
||||
return (*BitRegister)(unsafe.Pointer(ptr))
|
||||
|
@ -71,7 +71,7 @@ func (r *Register16) Bit(bit uint8) *BitRegister {
|
|||
// if R is not an AIPS or GPIO register or if N is out of range (greater than
|
||||
// the number of bits in a register minus one).
|
||||
//
|
||||
// go:inline
|
||||
//go:inline
|
||||
func (r *Register32) Bit(bit uint8) *BitRegister {
|
||||
ptr := bitbandAddress(uintptr(unsafe.Pointer(&r.Reg)), bit)
|
||||
return (*BitRegister)(unsafe.Pointer(ptr))
|
||||
|
|
|
@ -62,7 +62,7 @@ func (r *Register8) HasBits(value uint8) bool {
|
|||
//
|
||||
// r.Reg = (r.Reg & ^(mask << pos)) | value << pos
|
||||
//
|
||||
// go:inline
|
||||
//go:inline
|
||||
func (r *Register8) ReplaceBits(value uint8, mask uint8, pos uint8) {
|
||||
StoreUint8(&r.Reg, LoadUint8(&r.Reg)&^(mask<<pos)|value<<pos)
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ func (r *Register16) HasBits(value uint16) bool {
|
|||
//
|
||||
// r.Reg = (r.Reg & ^(mask << pos)) | value << pos
|
||||
//
|
||||
// go:inline
|
||||
//go:inline
|
||||
func (r *Register16) ReplaceBits(value uint16, mask uint16, pos uint8) {
|
||||
StoreUint16(&r.Reg, LoadUint16(&r.Reg)&^(mask<<pos)|value<<pos)
|
||||
}
|
||||
|
@ -186,7 +186,7 @@ func (r *Register32) HasBits(value uint32) bool {
|
|||
//
|
||||
// r.Reg = (r.Reg & ^(mask << pos)) | value << pos
|
||||
//
|
||||
// go:inline
|
||||
//go:inline
|
||||
func (r *Register32) ReplaceBits(value uint32, mask uint32, pos uint8) {
|
||||
StoreUint32(&r.Reg, LoadUint32(&r.Reg)&^(mask<<pos)|value<<pos)
|
||||
}
|
||||
|
@ -248,7 +248,7 @@ func (r *Register64) HasBits(value uint64) bool {
|
|||
//
|
||||
// r.Reg = (r.Reg & ^(mask << pos)) | value << pos
|
||||
//
|
||||
// go:inline
|
||||
//go:inline
|
||||
func (r *Register64) ReplaceBits(value uint64, mask uint64, pos uint8) {
|
||||
StoreUint64(&r.Reg, LoadUint64(&r.Reg)&^(mask<<pos)|value<<pos)
|
||||
}
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче