summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/memmap/memmap_impl_state_autogen.go
blob: 02c96e66df979bb4694cda6e982442820295fad9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
// automatically generated by stateify.

package memmap

import (
	"gvisor.dev/gvisor/pkg/state"
)

func (s *MappingSet) StateTypeName() string {
	return "pkg/sentry/memmap.MappingSet"
}

func (s *MappingSet) StateFields() []string {
	return []string{
		"root",
	}
}

func (s *MappingSet) beforeSave() {}

// +checklocksignore
func (s *MappingSet) StateSave(stateSinkObject state.Sink) {
	s.beforeSave()
	var rootValue *MappingSegmentDataSlices
	rootValue = s.saveRoot()
	stateSinkObject.SaveValue(0, rootValue)
}

func (s *MappingSet) afterLoad() {}

// +checklocksignore
func (s *MappingSet) StateLoad(stateSourceObject state.Source) {
	stateSourceObject.LoadValue(0, new(*MappingSegmentDataSlices), func(y interface{}) { s.loadRoot(y.(*MappingSegmentDataSlices)) })
}

func (n *Mappingnode) StateTypeName() string {
	return "pkg/sentry/memmap.Mappingnode"
}

func (n *Mappingnode) StateFields() []string {
	return []string{
		"nrSegments",
		"parent",
		"parentIndex",
		"hasChildren",
		"maxGap",
		"keys",
		"values",
		"children",
	}
}

func (n *Mappingnode) beforeSave() {}

// +checklocksignore
func (n *Mappingnode) StateSave(stateSinkObject state.Sink) {
	n.beforeSave()
	stateSinkObject.Save(0, &n.nrSegments)
	stateSinkObject.Save(1, &n.parent)
	stateSinkObject.Save(2, &n.parentIndex)
	stateSinkObject.Save(3, &n.hasChildren)
	stateSinkObject.Save(4, &n.maxGap)
	stateSinkObject.Save(5, &n.keys)
	stateSinkObject.Save(6, &n.values)
	stateSinkObject.Save(7, &n.children)
}

func (n *Mappingnode) afterLoad() {}

// +checklocksignore
func (n *Mappingnode) StateLoad(stateSourceObject state.Source) {
	stateSourceObject.Load(0, &n.nrSegments)
	stateSourceObject.Load(1, &n.parent)
	stateSourceObject.Load(2, &n.parentIndex)
	stateSourceObject.Load(3, &n.hasChildren)
	stateSourceObject.Load(4, &n.maxGap)
	stateSourceObject.Load(5, &n.keys)
	stateSourceObject.Load(6, &n.values)
	stateSourceObject.Load(7, &n.children)
}

func (m *MappingSegmentDataSlices) StateTypeName() string {
	return "pkg/sentry/memmap.MappingSegmentDataSlices"
}

func (m *MappingSegmentDataSlices) StateFields() []string {
	return []string{
		"Start",
		"End",
		"Values",
	}
}

func (m *MappingSegmentDataSlices) beforeSave() {}

// +checklocksignore
func (m *MappingSegmentDataSlices) StateSave(stateSinkObject state.Sink) {
	m.beforeSave()
	stateSinkObject.Save(0, &m.Start)
	stateSinkObject.Save(1, &m.End)
	stateSinkObject.Save(2, &m.Values)
}

func (m *MappingSegmentDataSlices) afterLoad() {}

// +checklocksignore
func (m *MappingSegmentDataSlices) StateLoad(stateSourceObject state.Source) {
	stateSourceObject.Load(0, &m.Start)
	stateSourceObject.Load(1, &m.End)
	stateSourceObject.Load(2, &m.Values)
}

func init() {
	state.Register((*MappingSet)(nil))
	state.Register((*Mappingnode)(nil))
	state.Register((*MappingSegmentDataSlices)(nil))
}