func (p *Process) splitMappingsAt(a Address) {
	for _, m := range p.memory.mappings {
		if a < m.min || a > m.max {
			continue
		}
		if a == m.min || a == m.max {
			return
		}
		// Split this mapping at a.
		m2 := new(Mapping)
		*m2 = *m
		m.max = a
		m2.min = a
		if m2.f != nil {
			m2.off += m.Size()
		}
		if m2.origF != nil {
			m2.origOff += m.Size()
		}
		p.memory.mappings = append(p.memory.mappings, m2)
		return
	}
}
func (p *Process) splitMappingsAt(a Address) {
	for _, m := range p.memory.mappings {
		if a < m.min || a > m.max {
			continue
		}
		if a == m.min || a == m.max {
			return
		}
		
		m2 := new(Mapping)
		*m2 = *m
		m.max = a
		m2.min = a
		if m2.f != nil {
			m2.off += m.Size()
		}
		if m2.origF != nil {
			m2.origOff += m.Size()
		}
		p.memory.mappings = append(p.memory.mappings, m2)
		return
	}
}
func ( p * Process ) splitMappingsAt ( a Address ) { for _ , m := range p . memory . mappings { if a < m . min || a > m . max { continue } if a == m . min || a == m . max { return } // Split this mapping at a. m2 := new ( Mapping ) * m2 = * m m . max = a m2 . min = a if m2 . f != nil { m2 . off += m . Size ( ) } if m2 . origF != nil { m2 . origOff += m . Size ( ) } p . memory . mappings = append ( p . memory . mappings , m2 ) return } }
// splitMappingsAt ensures that a is not in the middle of any mapping.
// Splits mappings as necessary.
splitMappingsAt ensures that a is not in the middle of any mapping . Splits mappings as necessary .