github.com/nicocha30/gvisor-ligolo@v0.0.0-20230726075806-989fa2c0a413/pkg/sentry/mm/mm_state_autogen.go (about)

     1  // automatically generated by stateify.
     2  
     3  package mm
     4  
     5  import (
     6  	"github.com/nicocha30/gvisor-ligolo/pkg/state"
     7  )
     8  
     9  func (a *aioManager) StateTypeName() string {
    10  	return "pkg/sentry/mm.aioManager"
    11  }
    12  
    13  func (a *aioManager) StateFields() []string {
    14  	return []string{
    15  		"contexts",
    16  	}
    17  }
    18  
    19  func (a *aioManager) beforeSave() {}
    20  
    21  // +checklocksignore
    22  func (a *aioManager) StateSave(stateSinkObject state.Sink) {
    23  	a.beforeSave()
    24  	stateSinkObject.Save(0, &a.contexts)
    25  }
    26  
    27  func (a *aioManager) afterLoad() {}
    28  
    29  // +checklocksignore
    30  func (a *aioManager) StateLoad(stateSourceObject state.Source) {
    31  	stateSourceObject.Load(0, &a.contexts)
    32  }
    33  
    34  func (i *ioResult) StateTypeName() string {
    35  	return "pkg/sentry/mm.ioResult"
    36  }
    37  
    38  func (i *ioResult) StateFields() []string {
    39  	return []string{
    40  		"data",
    41  		"ioEntry",
    42  	}
    43  }
    44  
    45  func (i *ioResult) beforeSave() {}
    46  
    47  // +checklocksignore
    48  func (i *ioResult) StateSave(stateSinkObject state.Sink) {
    49  	i.beforeSave()
    50  	stateSinkObject.Save(0, &i.data)
    51  	stateSinkObject.Save(1, &i.ioEntry)
    52  }
    53  
    54  func (i *ioResult) afterLoad() {}
    55  
    56  // +checklocksignore
    57  func (i *ioResult) StateLoad(stateSourceObject state.Source) {
    58  	stateSourceObject.Load(0, &i.data)
    59  	stateSourceObject.Load(1, &i.ioEntry)
    60  }
    61  
    62  func (ctx *AIOContext) StateTypeName() string {
    63  	return "pkg/sentry/mm.AIOContext"
    64  }
    65  
    66  func (ctx *AIOContext) StateFields() []string {
    67  	return []string{
    68  		"results",
    69  		"maxOutstanding",
    70  		"outstanding",
    71  	}
    72  }
    73  
    74  func (ctx *AIOContext) beforeSave() {}
    75  
    76  // +checklocksignore
    77  func (ctx *AIOContext) StateSave(stateSinkObject state.Sink) {
    78  	ctx.beforeSave()
    79  	if !state.IsZeroValue(&ctx.dead) {
    80  		state.Failf("dead is %#v, expected zero", &ctx.dead)
    81  	}
    82  	stateSinkObject.Save(0, &ctx.results)
    83  	stateSinkObject.Save(1, &ctx.maxOutstanding)
    84  	stateSinkObject.Save(2, &ctx.outstanding)
    85  }
    86  
    87  // +checklocksignore
    88  func (ctx *AIOContext) StateLoad(stateSourceObject state.Source) {
    89  	stateSourceObject.Load(0, &ctx.results)
    90  	stateSourceObject.Load(1, &ctx.maxOutstanding)
    91  	stateSourceObject.Load(2, &ctx.outstanding)
    92  	stateSourceObject.AfterLoad(ctx.afterLoad)
    93  }
    94  
    95  func (m *aioMappable) StateTypeName() string {
    96  	return "pkg/sentry/mm.aioMappable"
    97  }
    98  
    99  func (m *aioMappable) StateFields() []string {
   100  	return []string{
   101  		"aioMappableRefs",
   102  		"mfp",
   103  		"fr",
   104  	}
   105  }
   106  
   107  func (m *aioMappable) beforeSave() {}
   108  
   109  // +checklocksignore
   110  func (m *aioMappable) StateSave(stateSinkObject state.Sink) {
   111  	m.beforeSave()
   112  	stateSinkObject.Save(0, &m.aioMappableRefs)
   113  	stateSinkObject.Save(1, &m.mfp)
   114  	stateSinkObject.Save(2, &m.fr)
   115  }
   116  
   117  func (m *aioMappable) afterLoad() {}
   118  
   119  // +checklocksignore
   120  func (m *aioMappable) StateLoad(stateSourceObject state.Source) {
   121  	stateSourceObject.Load(0, &m.aioMappableRefs)
   122  	stateSourceObject.Load(1, &m.mfp)
   123  	stateSourceObject.Load(2, &m.fr)
   124  }
   125  
   126  func (r *aioMappableRefs) StateTypeName() string {
   127  	return "pkg/sentry/mm.aioMappableRefs"
   128  }
   129  
   130  func (r *aioMappableRefs) StateFields() []string {
   131  	return []string{
   132  		"refCount",
   133  	}
   134  }
   135  
   136  func (r *aioMappableRefs) beforeSave() {}
   137  
   138  // +checklocksignore
   139  func (r *aioMappableRefs) StateSave(stateSinkObject state.Sink) {
   140  	r.beforeSave()
   141  	stateSinkObject.Save(0, &r.refCount)
   142  }
   143  
   144  // +checklocksignore
   145  func (r *aioMappableRefs) StateLoad(stateSourceObject state.Source) {
   146  	stateSourceObject.Load(0, &r.refCount)
   147  	stateSourceObject.AfterLoad(r.afterLoad)
   148  }
   149  
   150  func (s *fileRefcountSet) StateTypeName() string {
   151  	return "pkg/sentry/mm.fileRefcountSet"
   152  }
   153  
   154  func (s *fileRefcountSet) StateFields() []string {
   155  	return []string{
   156  		"root",
   157  	}
   158  }
   159  
   160  func (s *fileRefcountSet) beforeSave() {}
   161  
   162  // +checklocksignore
   163  func (s *fileRefcountSet) StateSave(stateSinkObject state.Sink) {
   164  	s.beforeSave()
   165  	var rootValue *fileRefcountSegmentDataSlices
   166  	rootValue = s.saveRoot()
   167  	stateSinkObject.SaveValue(0, rootValue)
   168  }
   169  
   170  func (s *fileRefcountSet) afterLoad() {}
   171  
   172  // +checklocksignore
   173  func (s *fileRefcountSet) StateLoad(stateSourceObject state.Source) {
   174  	stateSourceObject.LoadValue(0, new(*fileRefcountSegmentDataSlices), func(y any) { s.loadRoot(y.(*fileRefcountSegmentDataSlices)) })
   175  }
   176  
   177  func (n *fileRefcountnode) StateTypeName() string {
   178  	return "pkg/sentry/mm.fileRefcountnode"
   179  }
   180  
   181  func (n *fileRefcountnode) StateFields() []string {
   182  	return []string{
   183  		"nrSegments",
   184  		"parent",
   185  		"parentIndex",
   186  		"hasChildren",
   187  		"maxGap",
   188  		"keys",
   189  		"values",
   190  		"children",
   191  	}
   192  }
   193  
   194  func (n *fileRefcountnode) beforeSave() {}
   195  
   196  // +checklocksignore
   197  func (n *fileRefcountnode) StateSave(stateSinkObject state.Sink) {
   198  	n.beforeSave()
   199  	stateSinkObject.Save(0, &n.nrSegments)
   200  	stateSinkObject.Save(1, &n.parent)
   201  	stateSinkObject.Save(2, &n.parentIndex)
   202  	stateSinkObject.Save(3, &n.hasChildren)
   203  	stateSinkObject.Save(4, &n.maxGap)
   204  	stateSinkObject.Save(5, &n.keys)
   205  	stateSinkObject.Save(6, &n.values)
   206  	stateSinkObject.Save(7, &n.children)
   207  }
   208  
   209  func (n *fileRefcountnode) afterLoad() {}
   210  
   211  // +checklocksignore
   212  func (n *fileRefcountnode) StateLoad(stateSourceObject state.Source) {
   213  	stateSourceObject.Load(0, &n.nrSegments)
   214  	stateSourceObject.Load(1, &n.parent)
   215  	stateSourceObject.Load(2, &n.parentIndex)
   216  	stateSourceObject.Load(3, &n.hasChildren)
   217  	stateSourceObject.Load(4, &n.maxGap)
   218  	stateSourceObject.Load(5, &n.keys)
   219  	stateSourceObject.Load(6, &n.values)
   220  	stateSourceObject.Load(7, &n.children)
   221  }
   222  
   223  func (f *fileRefcountSegmentDataSlices) StateTypeName() string {
   224  	return "pkg/sentry/mm.fileRefcountSegmentDataSlices"
   225  }
   226  
   227  func (f *fileRefcountSegmentDataSlices) StateFields() []string {
   228  	return []string{
   229  		"Start",
   230  		"End",
   231  		"Values",
   232  	}
   233  }
   234  
   235  func (f *fileRefcountSegmentDataSlices) beforeSave() {}
   236  
   237  // +checklocksignore
   238  func (f *fileRefcountSegmentDataSlices) StateSave(stateSinkObject state.Sink) {
   239  	f.beforeSave()
   240  	stateSinkObject.Save(0, &f.Start)
   241  	stateSinkObject.Save(1, &f.End)
   242  	stateSinkObject.Save(2, &f.Values)
   243  }
   244  
   245  func (f *fileRefcountSegmentDataSlices) afterLoad() {}
   246  
   247  // +checklocksignore
   248  func (f *fileRefcountSegmentDataSlices) StateLoad(stateSourceObject state.Source) {
   249  	stateSourceObject.Load(0, &f.Start)
   250  	stateSourceObject.Load(1, &f.End)
   251  	stateSourceObject.Load(2, &f.Values)
   252  }
   253  
   254  func (l *ioList) StateTypeName() string {
   255  	return "pkg/sentry/mm.ioList"
   256  }
   257  
   258  func (l *ioList) StateFields() []string {
   259  	return []string{
   260  		"head",
   261  		"tail",
   262  	}
   263  }
   264  
   265  func (l *ioList) beforeSave() {}
   266  
   267  // +checklocksignore
   268  func (l *ioList) StateSave(stateSinkObject state.Sink) {
   269  	l.beforeSave()
   270  	stateSinkObject.Save(0, &l.head)
   271  	stateSinkObject.Save(1, &l.tail)
   272  }
   273  
   274  func (l *ioList) afterLoad() {}
   275  
   276  // +checklocksignore
   277  func (l *ioList) StateLoad(stateSourceObject state.Source) {
   278  	stateSourceObject.Load(0, &l.head)
   279  	stateSourceObject.Load(1, &l.tail)
   280  }
   281  
   282  func (e *ioEntry) StateTypeName() string {
   283  	return "pkg/sentry/mm.ioEntry"
   284  }
   285  
   286  func (e *ioEntry) StateFields() []string {
   287  	return []string{
   288  		"next",
   289  		"prev",
   290  	}
   291  }
   292  
   293  func (e *ioEntry) beforeSave() {}
   294  
   295  // +checklocksignore
   296  func (e *ioEntry) StateSave(stateSinkObject state.Sink) {
   297  	e.beforeSave()
   298  	stateSinkObject.Save(0, &e.next)
   299  	stateSinkObject.Save(1, &e.prev)
   300  }
   301  
   302  func (e *ioEntry) afterLoad() {}
   303  
   304  // +checklocksignore
   305  func (e *ioEntry) StateLoad(stateSourceObject state.Source) {
   306  	stateSourceObject.Load(0, &e.next)
   307  	stateSourceObject.Load(1, &e.prev)
   308  }
   309  
   310  func (mm *MemoryManager) StateTypeName() string {
   311  	return "pkg/sentry/mm.MemoryManager"
   312  }
   313  
   314  func (mm *MemoryManager) StateFields() []string {
   315  	return []string{
   316  		"p",
   317  		"mfp",
   318  		"layout",
   319  		"privateRefs",
   320  		"users",
   321  		"vmas",
   322  		"brk",
   323  		"usageAS",
   324  		"lockedAS",
   325  		"dataAS",
   326  		"defMLockMode",
   327  		"pmas",
   328  		"curRSS",
   329  		"maxRSS",
   330  		"dumpability",
   331  		"argv",
   332  		"envv",
   333  		"auxv",
   334  		"executable",
   335  		"aioManager",
   336  		"sleepForActivation",
   337  		"vdsoSigReturnAddr",
   338  		"membarrierPrivateEnabled",
   339  		"membarrierRSeqEnabled",
   340  	}
   341  }
   342  
   343  // +checklocksignore
   344  func (mm *MemoryManager) StateSave(stateSinkObject state.Sink) {
   345  	mm.beforeSave()
   346  	if !state.IsZeroValue(&mm.active) {
   347  		state.Failf("active is %#v, expected zero", &mm.active)
   348  	}
   349  	if !state.IsZeroValue(&mm.captureInvalidations) {
   350  		state.Failf("captureInvalidations is %#v, expected zero", &mm.captureInvalidations)
   351  	}
   352  	stateSinkObject.Save(0, &mm.p)
   353  	stateSinkObject.Save(1, &mm.mfp)
   354  	stateSinkObject.Save(2, &mm.layout)
   355  	stateSinkObject.Save(3, &mm.privateRefs)
   356  	stateSinkObject.Save(4, &mm.users)
   357  	stateSinkObject.Save(5, &mm.vmas)
   358  	stateSinkObject.Save(6, &mm.brk)
   359  	stateSinkObject.Save(7, &mm.usageAS)
   360  	stateSinkObject.Save(8, &mm.lockedAS)
   361  	stateSinkObject.Save(9, &mm.dataAS)
   362  	stateSinkObject.Save(10, &mm.defMLockMode)
   363  	stateSinkObject.Save(11, &mm.pmas)
   364  	stateSinkObject.Save(12, &mm.curRSS)
   365  	stateSinkObject.Save(13, &mm.maxRSS)
   366  	stateSinkObject.Save(14, &mm.dumpability)
   367  	stateSinkObject.Save(15, &mm.argv)
   368  	stateSinkObject.Save(16, &mm.envv)
   369  	stateSinkObject.Save(17, &mm.auxv)
   370  	stateSinkObject.Save(18, &mm.executable)
   371  	stateSinkObject.Save(19, &mm.aioManager)
   372  	stateSinkObject.Save(20, &mm.sleepForActivation)
   373  	stateSinkObject.Save(21, &mm.vdsoSigReturnAddr)
   374  	stateSinkObject.Save(22, &mm.membarrierPrivateEnabled)
   375  	stateSinkObject.Save(23, &mm.membarrierRSeqEnabled)
   376  }
   377  
   378  // +checklocksignore
   379  func (mm *MemoryManager) StateLoad(stateSourceObject state.Source) {
   380  	stateSourceObject.Load(0, &mm.p)
   381  	stateSourceObject.Load(1, &mm.mfp)
   382  	stateSourceObject.Load(2, &mm.layout)
   383  	stateSourceObject.Load(3, &mm.privateRefs)
   384  	stateSourceObject.Load(4, &mm.users)
   385  	stateSourceObject.Load(5, &mm.vmas)
   386  	stateSourceObject.Load(6, &mm.brk)
   387  	stateSourceObject.Load(7, &mm.usageAS)
   388  	stateSourceObject.Load(8, &mm.lockedAS)
   389  	stateSourceObject.Load(9, &mm.dataAS)
   390  	stateSourceObject.Load(10, &mm.defMLockMode)
   391  	stateSourceObject.Load(11, &mm.pmas)
   392  	stateSourceObject.Load(12, &mm.curRSS)
   393  	stateSourceObject.Load(13, &mm.maxRSS)
   394  	stateSourceObject.Load(14, &mm.dumpability)
   395  	stateSourceObject.Load(15, &mm.argv)
   396  	stateSourceObject.Load(16, &mm.envv)
   397  	stateSourceObject.Load(17, &mm.auxv)
   398  	stateSourceObject.Load(18, &mm.executable)
   399  	stateSourceObject.Load(19, &mm.aioManager)
   400  	stateSourceObject.Load(20, &mm.sleepForActivation)
   401  	stateSourceObject.Load(21, &mm.vdsoSigReturnAddr)
   402  	stateSourceObject.Load(22, &mm.membarrierPrivateEnabled)
   403  	stateSourceObject.Load(23, &mm.membarrierRSeqEnabled)
   404  	stateSourceObject.AfterLoad(mm.afterLoad)
   405  }
   406  
   407  func (v *vma) StateTypeName() string {
   408  	return "pkg/sentry/mm.vma"
   409  }
   410  
   411  func (v *vma) StateFields() []string {
   412  	return []string{
   413  		"mappable",
   414  		"off",
   415  		"realPerms",
   416  		"dontfork",
   417  		"mlockMode",
   418  		"numaPolicy",
   419  		"numaNodemask",
   420  		"id",
   421  		"hint",
   422  		"lastFault",
   423  	}
   424  }
   425  
   426  func (v *vma) beforeSave() {}
   427  
   428  // +checklocksignore
   429  func (v *vma) StateSave(stateSinkObject state.Sink) {
   430  	v.beforeSave()
   431  	var realPermsValue int
   432  	realPermsValue = v.saveRealPerms()
   433  	stateSinkObject.SaveValue(2, realPermsValue)
   434  	stateSinkObject.Save(0, &v.mappable)
   435  	stateSinkObject.Save(1, &v.off)
   436  	stateSinkObject.Save(3, &v.dontfork)
   437  	stateSinkObject.Save(4, &v.mlockMode)
   438  	stateSinkObject.Save(5, &v.numaPolicy)
   439  	stateSinkObject.Save(6, &v.numaNodemask)
   440  	stateSinkObject.Save(7, &v.id)
   441  	stateSinkObject.Save(8, &v.hint)
   442  	stateSinkObject.Save(9, &v.lastFault)
   443  }
   444  
   445  func (v *vma) afterLoad() {}
   446  
   447  // +checklocksignore
   448  func (v *vma) StateLoad(stateSourceObject state.Source) {
   449  	stateSourceObject.Load(0, &v.mappable)
   450  	stateSourceObject.Load(1, &v.off)
   451  	stateSourceObject.Load(3, &v.dontfork)
   452  	stateSourceObject.Load(4, &v.mlockMode)
   453  	stateSourceObject.Load(5, &v.numaPolicy)
   454  	stateSourceObject.Load(6, &v.numaNodemask)
   455  	stateSourceObject.Load(7, &v.id)
   456  	stateSourceObject.Load(8, &v.hint)
   457  	stateSourceObject.Load(9, &v.lastFault)
   458  	stateSourceObject.LoadValue(2, new(int), func(y any) { v.loadRealPerms(y.(int)) })
   459  }
   460  
   461  func (p *pma) StateTypeName() string {
   462  	return "pkg/sentry/mm.pma"
   463  }
   464  
   465  func (p *pma) StateFields() []string {
   466  	return []string{
   467  		"off",
   468  		"translatePerms",
   469  		"effectivePerms",
   470  		"maxPerms",
   471  		"needCOW",
   472  		"private",
   473  	}
   474  }
   475  
   476  func (p *pma) beforeSave() {}
   477  
   478  // +checklocksignore
   479  func (p *pma) StateSave(stateSinkObject state.Sink) {
   480  	p.beforeSave()
   481  	stateSinkObject.Save(0, &p.off)
   482  	stateSinkObject.Save(1, &p.translatePerms)
   483  	stateSinkObject.Save(2, &p.effectivePerms)
   484  	stateSinkObject.Save(3, &p.maxPerms)
   485  	stateSinkObject.Save(4, &p.needCOW)
   486  	stateSinkObject.Save(5, &p.private)
   487  }
   488  
   489  func (p *pma) afterLoad() {}
   490  
   491  // +checklocksignore
   492  func (p *pma) StateLoad(stateSourceObject state.Source) {
   493  	stateSourceObject.Load(0, &p.off)
   494  	stateSourceObject.Load(1, &p.translatePerms)
   495  	stateSourceObject.Load(2, &p.effectivePerms)
   496  	stateSourceObject.Load(3, &p.maxPerms)
   497  	stateSourceObject.Load(4, &p.needCOW)
   498  	stateSourceObject.Load(5, &p.private)
   499  }
   500  
   501  func (p *privateRefs) StateTypeName() string {
   502  	return "pkg/sentry/mm.privateRefs"
   503  }
   504  
   505  func (p *privateRefs) StateFields() []string {
   506  	return []string{
   507  		"refs",
   508  	}
   509  }
   510  
   511  func (p *privateRefs) beforeSave() {}
   512  
   513  // +checklocksignore
   514  func (p *privateRefs) StateSave(stateSinkObject state.Sink) {
   515  	p.beforeSave()
   516  	stateSinkObject.Save(0, &p.refs)
   517  }
   518  
   519  func (p *privateRefs) afterLoad() {}
   520  
   521  // +checklocksignore
   522  func (p *privateRefs) StateLoad(stateSourceObject state.Source) {
   523  	stateSourceObject.Load(0, &p.refs)
   524  }
   525  
   526  func (s *pmaSet) StateTypeName() string {
   527  	return "pkg/sentry/mm.pmaSet"
   528  }
   529  
   530  func (s *pmaSet) StateFields() []string {
   531  	return []string{
   532  		"root",
   533  	}
   534  }
   535  
   536  func (s *pmaSet) beforeSave() {}
   537  
   538  // +checklocksignore
   539  func (s *pmaSet) StateSave(stateSinkObject state.Sink) {
   540  	s.beforeSave()
   541  	var rootValue *pmaSegmentDataSlices
   542  	rootValue = s.saveRoot()
   543  	stateSinkObject.SaveValue(0, rootValue)
   544  }
   545  
   546  func (s *pmaSet) afterLoad() {}
   547  
   548  // +checklocksignore
   549  func (s *pmaSet) StateLoad(stateSourceObject state.Source) {
   550  	stateSourceObject.LoadValue(0, new(*pmaSegmentDataSlices), func(y any) { s.loadRoot(y.(*pmaSegmentDataSlices)) })
   551  }
   552  
   553  func (n *pmanode) StateTypeName() string {
   554  	return "pkg/sentry/mm.pmanode"
   555  }
   556  
   557  func (n *pmanode) StateFields() []string {
   558  	return []string{
   559  		"nrSegments",
   560  		"parent",
   561  		"parentIndex",
   562  		"hasChildren",
   563  		"maxGap",
   564  		"keys",
   565  		"values",
   566  		"children",
   567  	}
   568  }
   569  
   570  func (n *pmanode) beforeSave() {}
   571  
   572  // +checklocksignore
   573  func (n *pmanode) StateSave(stateSinkObject state.Sink) {
   574  	n.beforeSave()
   575  	stateSinkObject.Save(0, &n.nrSegments)
   576  	stateSinkObject.Save(1, &n.parent)
   577  	stateSinkObject.Save(2, &n.parentIndex)
   578  	stateSinkObject.Save(3, &n.hasChildren)
   579  	stateSinkObject.Save(4, &n.maxGap)
   580  	stateSinkObject.Save(5, &n.keys)
   581  	stateSinkObject.Save(6, &n.values)
   582  	stateSinkObject.Save(7, &n.children)
   583  }
   584  
   585  func (n *pmanode) afterLoad() {}
   586  
   587  // +checklocksignore
   588  func (n *pmanode) StateLoad(stateSourceObject state.Source) {
   589  	stateSourceObject.Load(0, &n.nrSegments)
   590  	stateSourceObject.Load(1, &n.parent)
   591  	stateSourceObject.Load(2, &n.parentIndex)
   592  	stateSourceObject.Load(3, &n.hasChildren)
   593  	stateSourceObject.Load(4, &n.maxGap)
   594  	stateSourceObject.Load(5, &n.keys)
   595  	stateSourceObject.Load(6, &n.values)
   596  	stateSourceObject.Load(7, &n.children)
   597  }
   598  
   599  func (p *pmaSegmentDataSlices) StateTypeName() string {
   600  	return "pkg/sentry/mm.pmaSegmentDataSlices"
   601  }
   602  
   603  func (p *pmaSegmentDataSlices) StateFields() []string {
   604  	return []string{
   605  		"Start",
   606  		"End",
   607  		"Values",
   608  	}
   609  }
   610  
   611  func (p *pmaSegmentDataSlices) beforeSave() {}
   612  
   613  // +checklocksignore
   614  func (p *pmaSegmentDataSlices) StateSave(stateSinkObject state.Sink) {
   615  	p.beforeSave()
   616  	stateSinkObject.Save(0, &p.Start)
   617  	stateSinkObject.Save(1, &p.End)
   618  	stateSinkObject.Save(2, &p.Values)
   619  }
   620  
   621  func (p *pmaSegmentDataSlices) afterLoad() {}
   622  
   623  // +checklocksignore
   624  func (p *pmaSegmentDataSlices) StateLoad(stateSourceObject state.Source) {
   625  	stateSourceObject.Load(0, &p.Start)
   626  	stateSourceObject.Load(1, &p.End)
   627  	stateSourceObject.Load(2, &p.Values)
   628  }
   629  
   630  func (m *SpecialMappable) StateTypeName() string {
   631  	return "pkg/sentry/mm.SpecialMappable"
   632  }
   633  
   634  func (m *SpecialMappable) StateFields() []string {
   635  	return []string{
   636  		"SpecialMappableRefs",
   637  		"mfp",
   638  		"fr",
   639  		"name",
   640  	}
   641  }
   642  
   643  func (m *SpecialMappable) beforeSave() {}
   644  
   645  // +checklocksignore
   646  func (m *SpecialMappable) StateSave(stateSinkObject state.Sink) {
   647  	m.beforeSave()
   648  	stateSinkObject.Save(0, &m.SpecialMappableRefs)
   649  	stateSinkObject.Save(1, &m.mfp)
   650  	stateSinkObject.Save(2, &m.fr)
   651  	stateSinkObject.Save(3, &m.name)
   652  }
   653  
   654  func (m *SpecialMappable) afterLoad() {}
   655  
   656  // +checklocksignore
   657  func (m *SpecialMappable) StateLoad(stateSourceObject state.Source) {
   658  	stateSourceObject.Load(0, &m.SpecialMappableRefs)
   659  	stateSourceObject.Load(1, &m.mfp)
   660  	stateSourceObject.Load(2, &m.fr)
   661  	stateSourceObject.Load(3, &m.name)
   662  }
   663  
   664  func (r *SpecialMappableRefs) StateTypeName() string {
   665  	return "pkg/sentry/mm.SpecialMappableRefs"
   666  }
   667  
   668  func (r *SpecialMappableRefs) StateFields() []string {
   669  	return []string{
   670  		"refCount",
   671  	}
   672  }
   673  
   674  func (r *SpecialMappableRefs) beforeSave() {}
   675  
   676  // +checklocksignore
   677  func (r *SpecialMappableRefs) StateSave(stateSinkObject state.Sink) {
   678  	r.beforeSave()
   679  	stateSinkObject.Save(0, &r.refCount)
   680  }
   681  
   682  // +checklocksignore
   683  func (r *SpecialMappableRefs) StateLoad(stateSourceObject state.Source) {
   684  	stateSourceObject.Load(0, &r.refCount)
   685  	stateSourceObject.AfterLoad(r.afterLoad)
   686  }
   687  
   688  func (s *vmaSet) StateTypeName() string {
   689  	return "pkg/sentry/mm.vmaSet"
   690  }
   691  
   692  func (s *vmaSet) StateFields() []string {
   693  	return []string{
   694  		"root",
   695  	}
   696  }
   697  
   698  func (s *vmaSet) beforeSave() {}
   699  
   700  // +checklocksignore
   701  func (s *vmaSet) StateSave(stateSinkObject state.Sink) {
   702  	s.beforeSave()
   703  	var rootValue *vmaSegmentDataSlices
   704  	rootValue = s.saveRoot()
   705  	stateSinkObject.SaveValue(0, rootValue)
   706  }
   707  
   708  func (s *vmaSet) afterLoad() {}
   709  
   710  // +checklocksignore
   711  func (s *vmaSet) StateLoad(stateSourceObject state.Source) {
   712  	stateSourceObject.LoadValue(0, new(*vmaSegmentDataSlices), func(y any) { s.loadRoot(y.(*vmaSegmentDataSlices)) })
   713  }
   714  
   715  func (n *vmanode) StateTypeName() string {
   716  	return "pkg/sentry/mm.vmanode"
   717  }
   718  
   719  func (n *vmanode) StateFields() []string {
   720  	return []string{
   721  		"nrSegments",
   722  		"parent",
   723  		"parentIndex",
   724  		"hasChildren",
   725  		"maxGap",
   726  		"keys",
   727  		"values",
   728  		"children",
   729  	}
   730  }
   731  
   732  func (n *vmanode) beforeSave() {}
   733  
   734  // +checklocksignore
   735  func (n *vmanode) StateSave(stateSinkObject state.Sink) {
   736  	n.beforeSave()
   737  	stateSinkObject.Save(0, &n.nrSegments)
   738  	stateSinkObject.Save(1, &n.parent)
   739  	stateSinkObject.Save(2, &n.parentIndex)
   740  	stateSinkObject.Save(3, &n.hasChildren)
   741  	stateSinkObject.Save(4, &n.maxGap)
   742  	stateSinkObject.Save(5, &n.keys)
   743  	stateSinkObject.Save(6, &n.values)
   744  	stateSinkObject.Save(7, &n.children)
   745  }
   746  
   747  func (n *vmanode) afterLoad() {}
   748  
   749  // +checklocksignore
   750  func (n *vmanode) StateLoad(stateSourceObject state.Source) {
   751  	stateSourceObject.Load(0, &n.nrSegments)
   752  	stateSourceObject.Load(1, &n.parent)
   753  	stateSourceObject.Load(2, &n.parentIndex)
   754  	stateSourceObject.Load(3, &n.hasChildren)
   755  	stateSourceObject.Load(4, &n.maxGap)
   756  	stateSourceObject.Load(5, &n.keys)
   757  	stateSourceObject.Load(6, &n.values)
   758  	stateSourceObject.Load(7, &n.children)
   759  }
   760  
   761  func (v *vmaSegmentDataSlices) StateTypeName() string {
   762  	return "pkg/sentry/mm.vmaSegmentDataSlices"
   763  }
   764  
   765  func (v *vmaSegmentDataSlices) StateFields() []string {
   766  	return []string{
   767  		"Start",
   768  		"End",
   769  		"Values",
   770  	}
   771  }
   772  
   773  func (v *vmaSegmentDataSlices) beforeSave() {}
   774  
   775  // +checklocksignore
   776  func (v *vmaSegmentDataSlices) StateSave(stateSinkObject state.Sink) {
   777  	v.beforeSave()
   778  	stateSinkObject.Save(0, &v.Start)
   779  	stateSinkObject.Save(1, &v.End)
   780  	stateSinkObject.Save(2, &v.Values)
   781  }
   782  
   783  func (v *vmaSegmentDataSlices) afterLoad() {}
   784  
   785  // +checklocksignore
   786  func (v *vmaSegmentDataSlices) StateLoad(stateSourceObject state.Source) {
   787  	stateSourceObject.Load(0, &v.Start)
   788  	stateSourceObject.Load(1, &v.End)
   789  	stateSourceObject.Load(2, &v.Values)
   790  }
   791  
   792  func init() {
   793  	state.Register((*aioManager)(nil))
   794  	state.Register((*ioResult)(nil))
   795  	state.Register((*AIOContext)(nil))
   796  	state.Register((*aioMappable)(nil))
   797  	state.Register((*aioMappableRefs)(nil))
   798  	state.Register((*fileRefcountSet)(nil))
   799  	state.Register((*fileRefcountnode)(nil))
   800  	state.Register((*fileRefcountSegmentDataSlices)(nil))
   801  	state.Register((*ioList)(nil))
   802  	state.Register((*ioEntry)(nil))
   803  	state.Register((*MemoryManager)(nil))
   804  	state.Register((*vma)(nil))
   805  	state.Register((*pma)(nil))
   806  	state.Register((*privateRefs)(nil))
   807  	state.Register((*pmaSet)(nil))
   808  	state.Register((*pmanode)(nil))
   809  	state.Register((*pmaSegmentDataSlices)(nil))
   810  	state.Register((*SpecialMappable)(nil))
   811  	state.Register((*SpecialMappableRefs)(nil))
   812  	state.Register((*vmaSet)(nil))
   813  	state.Register((*vmanode)(nil))
   814  	state.Register((*vmaSegmentDataSlices)(nil))
   815  }