mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 09:32:25 -05:00 
			
		
		
		
	[chore]: Bump github.com/gin-contrib/cors from 1.4.0 to 1.5.0 (#2388)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
		
					parent
					
						
							
								e4e0a5e3f6
							
						
					
				
			
			
				commit
				
					
						66b77acb1c
					
				
			
		
					 169 changed files with 173005 additions and 56262 deletions
				
			
		
							
								
								
									
										160
									
								
								vendor/github.com/bytedance/sonic/loader/funcdata_go116.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										160
									
								
								vendor/github.com/bytedance/sonic/loader/funcdata_go116.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -20,9 +20,9 @@ | |||
| package loader | ||||
| 
 | ||||
| import ( | ||||
|    `encoding` | ||||
|    `os` | ||||
|    `unsafe` | ||||
|    `sort` | ||||
| 
 | ||||
|    `github.com/bytedance/sonic/internal/rt` | ||||
| ) | ||||
|  | @ -171,99 +171,7 @@ type compilationUnit struct { | |||
|     fileNames []string | ||||
| } | ||||
| 
 | ||||
| // func name table format:  | ||||
| //   nameOff[0] -> namePartA namePartB namePartC \x00  | ||||
| //   nameOff[1] -> namePartA namePartB namePartC \x00 | ||||
| //  ... | ||||
| func makeFuncnameTab(funcs []Func) (tab []byte, offs []int32) { | ||||
|     offs = make([]int32, len(funcs)) | ||||
|     offset := 0 | ||||
| 
 | ||||
|     for i, f := range funcs { | ||||
|         offs[i] = int32(offset) | ||||
| 
 | ||||
|         a, b, c := funcNameParts(f.Name) | ||||
|         tab = append(tab, a...) | ||||
|         tab = append(tab, b...) | ||||
|         tab = append(tab, c...) | ||||
|         tab = append(tab, 0) | ||||
|         offset += len(a) + len(b) + len(c) + 1 | ||||
|     } | ||||
| 
 | ||||
|     return | ||||
| } | ||||
| 
 | ||||
| // CU table format: | ||||
| //  cuOffsets[0] -> filetabOffset[0] filetabOffset[1] ... filetabOffset[len(CUs[0].fileNames)-1] | ||||
| //  cuOffsets[1] -> filetabOffset[len(CUs[0].fileNames)] ... filetabOffset[len(CUs[0].fileNames) + len(CUs[1].fileNames)-1] | ||||
| //  ... | ||||
| // | ||||
| // file name table format: | ||||
| //  filetabOffset[0] -> CUs[0].fileNames[0] \x00 | ||||
| //  ... | ||||
| //  filetabOffset[len(CUs[0]-1)] -> CUs[0].fileNames[len(CUs[0].fileNames)-1] \x00 | ||||
| //  ... | ||||
| //  filetabOffset[SUM(CUs,fileNames)-1] -> CUs[len(CU)-1].fileNames[len(CUs[len(CU)-1].fileNames)-1] \x00 | ||||
| func makeFilenametab(cus []compilationUnit) (cutab []uint32, filetab []byte, cuOffsets []uint32) { | ||||
|     cuOffsets = make([]uint32, len(cus)) | ||||
|     cuOffset := 0 | ||||
|     fileOffset := 0 | ||||
| 
 | ||||
|     for i, cu := range cus { | ||||
|         cuOffsets[i] = uint32(cuOffset) | ||||
| 
 | ||||
|         for _, name := range cu.fileNames { | ||||
|             cutab = append(cutab, uint32(fileOffset)) | ||||
| 
 | ||||
|             fileOffset += len(name) + 1 | ||||
|             filetab = append(filetab, name...) | ||||
|             filetab = append(filetab, 0) | ||||
|         } | ||||
| 
 | ||||
|         cuOffset += len(cu.fileNames) | ||||
|     } | ||||
| 
 | ||||
|     return | ||||
| } | ||||
| 
 | ||||
| func writeFuncdata(out *[]byte, funcs []Func) (fstart int, funcdataOffs [][]uint32) { | ||||
|     fstart = len(*out) | ||||
|     *out = append(*out, byte(0)) | ||||
|     offs := uint32(1) | ||||
| 
 | ||||
|     funcdataOffs = make([][]uint32, len(funcs)) | ||||
|     for i, f := range funcs { | ||||
| 
 | ||||
|         var writer = func(fd encoding.BinaryMarshaler) { | ||||
|             var ab []byte | ||||
|             var err error | ||||
|             if fd != nil { | ||||
|                 ab, err = fd.MarshalBinary() | ||||
|                 if err != nil { | ||||
|                     panic(err) | ||||
|                 } | ||||
|                 funcdataOffs[i] = append(funcdataOffs[i], offs) | ||||
|             } else { | ||||
|                 ab = []byte{0} | ||||
|                 funcdataOffs[i] = append(funcdataOffs[i], _INVALID_FUNCDATA_OFFSET) | ||||
|             } | ||||
|             *out = append(*out, ab...) | ||||
|             offs += uint32(len(ab)) | ||||
|         } | ||||
| 
 | ||||
|         writer(f.ArgsPointerMaps) | ||||
|         writer(f.LocalsPointerMaps) | ||||
|         writer(f.StackObjects) | ||||
|         writer(f.InlTree) | ||||
|         writer(f.OpenCodedDeferInfo) | ||||
|         writer(f.ArgInfo) | ||||
|         writer(f.ArgLiveInfo) | ||||
|         writer(f.WrapInfo) | ||||
|     } | ||||
|     return  | ||||
| } | ||||
| 
 | ||||
| func makeFtab(funcs []_func, lastFuncSize uint32) (ftab []funcTab, pclntabSize int64, startLocations []uint32) { | ||||
| func makeFtab(funcs []_func, maxpc uintptr) (ftab []funcTab, pclntabSize int64, startLocations []uint32) { | ||||
|     // Allocate space for the pc->func table. This structure consists of a pc offset | ||||
|     // and an offset to the func structure. After that, we have a single pc | ||||
|     // value that marks the end of the last function in the binary. | ||||
|  | @ -283,14 +191,13 @@ func makeFtab(funcs []_func, lastFuncSize uint32) (ftab []funcTab, pclntabSize i | |||
|     } | ||||
| 
 | ||||
|     // Final entry of table is just end pc offset. | ||||
|     lastFunc := funcs[len(funcs)-1] | ||||
|     ftab = append(ftab, funcTab{lastFunc.entry + uintptr(lastFuncSize), 0}) | ||||
|     ftab = append(ftab, funcTab{maxpc, 0}) | ||||
| 
 | ||||
|     return | ||||
| } | ||||
| 
 | ||||
| // Pcln table format: [...]funcTab + [...]_Func | ||||
| func makePclntable(size int64, startLocations []uint32, funcs []_func, lastFuncSize uint32, pcdataOffs [][]uint32, funcdataAddr uintptr, funcdataOffs [][]uint32) (pclntab []byte) { | ||||
| func makePclntable(size int64, startLocations []uint32, funcs []_func, maxpc uintptr, pcdataOffs [][]uint32, funcdataAddr uintptr, funcdataOffs [][]uint32) (pclntab []byte) { | ||||
|     pclntab = make([]byte, size, size) | ||||
| 
 | ||||
|     // write a map of pc->func info offsets  | ||||
|  | @ -301,8 +208,7 @@ func makePclntable(size int64, startLocations []uint32, funcs []_func, lastFuncS | |||
|         offs += 16 | ||||
|     } | ||||
|     // Final entry of table is just end pc offset. | ||||
|     lastFunc := funcs[len(funcs)-1] | ||||
|     byteOrder.PutUint64(pclntab[offs:offs+8], uint64(lastFunc.entry)+uint64(lastFuncSize)) | ||||
|     byteOrder.PutUint64(pclntab[offs:offs+8], uint64(maxpc)) | ||||
|     offs += 8 | ||||
| 
 | ||||
|     // write func info table | ||||
|  | @ -374,21 +280,22 @@ func writeFindfunctab(out *[]byte, ftab []funcTab) (start int) { | |||
|     tab := make([]findfuncbucket, 0, nbuckets) | ||||
|     var s, e = 0, 0 | ||||
|     for i := 0; i<int(nbuckets); i++ { | ||||
|         var pc = min + uintptr((i+1)*_BUCKETSIZE) | ||||
|         // find the end func of the bucket | ||||
|         for ; e < len(ftab)-1 && ftab[e+1].entry <= pc; e++ {} | ||||
|         // store the start func of the bucket | ||||
|         var fb = findfuncbucket{idx: uint32(s)} | ||||
| 
 | ||||
|         // find the last e-th func of the bucket | ||||
|         var pc = min + uintptr((i+1)*_BUCKETSIZE) | ||||
|         for ; e < len(ftab)-1 && ftab[e+1].entry <= pc; e++ {} | ||||
|          | ||||
|         for j := 0; j<_SUBBUCKETS && (i*_SUBBUCKETS+j)<int(n); j++ { | ||||
|             pc = min + uintptr(i*_BUCKETSIZE) + uintptr((j+1)*_SUB_BUCKETSIZE) | ||||
|             var ss = s | ||||
|             // find the end func of the subbucket | ||||
|             for ; ss < len(ftab)-1 && ftab[ss+1].entry <= pc; ss++ {} | ||||
|             // store the start func of the subbucket | ||||
|             fb._SUBBUCKETS[j] = byte(uint32(s) - fb.idx) | ||||
|             s = ss | ||||
|              | ||||
|             // find the s-th end func of the subbucket | ||||
|             pc = min + uintptr(i*_BUCKETSIZE) + uintptr((j+1)*_SUB_BUCKETSIZE) | ||||
|             for ; s < len(ftab)-1 && ftab[s+1].entry <= pc; s++ {}             | ||||
|         } | ||||
| 
 | ||||
|         s = e | ||||
|         tab = append(tab, fb) | ||||
|     } | ||||
|  | @ -401,15 +308,20 @@ func writeFindfunctab(out *[]byte, ftab []funcTab) (start int) { | |||
|     return  | ||||
| } | ||||
| 
 | ||||
| func makeModuledata(name string, filenames []string, funcs []Func, text []byte) (mod *moduledata) { | ||||
| func makeModuledata(name string, filenames []string, funcsp *[]Func, text []byte) (mod *moduledata) { | ||||
|     mod = new(moduledata) | ||||
|     mod.modulename = name | ||||
| 
 | ||||
|     // sort funcs by entry | ||||
|     funcs := *funcsp | ||||
|     sort.Slice(funcs, func(i, j int) bool { | ||||
|         return funcs[i].EntryOff < funcs[j].EntryOff | ||||
|     }) | ||||
|     *funcsp = funcs | ||||
| 
 | ||||
|     // make filename table | ||||
|     cu := make([]string, 0, len(filenames)) | ||||
|     for _, f := range filenames { | ||||
|         cu = append(cu, f) | ||||
|     } | ||||
|     cu = append(cu, filenames...) | ||||
|     cutab, filetab, cuOffs := makeFilenametab([]compilationUnit{{cu}}) | ||||
|     mod.cutab = cutab | ||||
|     mod.filetab = filetab | ||||
|  | @ -428,9 +340,16 @@ func makeModuledata(name string, filenames []string, funcs []Func, text []byte) | |||
|     // make it executable | ||||
|     mprotect(addr, size) | ||||
| 
 | ||||
|     // assign addresses | ||||
|     mod.text = addr | ||||
|     mod.etext = addr + uintptr(size) | ||||
|     mod.minpc = addr | ||||
|     mod.maxpc = addr + uintptr(len(text)) | ||||
| 
 | ||||
|     // make pcdata table | ||||
|     // NOTICE: _func only use offset to index pcdata, thus no need mmap() pcdata  | ||||
|     pctab, pcdataOffs, _funcs := makePctab(funcs, addr, cuOffs, nameOffs) | ||||
|     cuOff := cuOffs[0] | ||||
|     pctab, pcdataOffs, _funcs := makePctab(funcs, addr, cuOff, nameOffs) | ||||
|     mod.pctab = pctab | ||||
| 
 | ||||
|     // write func data | ||||
|  | @ -440,8 +359,7 @@ func makeModuledata(name string, filenames []string, funcs []Func, text []byte) | |||
|     fstart, funcdataOffs := writeFuncdata(&cache, funcs) | ||||
| 
 | ||||
|     // make pc->func (binary search) func table | ||||
|     lastFuncsize := funcs[len(funcs)-1].TextSize | ||||
|     ftab, pclntSize, startLocations := makeFtab(_funcs, lastFuncsize) | ||||
|     ftab, pclntSize, startLocations := makeFtab(_funcs, mod.maxpc) | ||||
|     mod.ftab = ftab | ||||
| 
 | ||||
|     // write pc->func (modmap) findfunc table | ||||
|  | @ -455,15 +373,9 @@ func makeModuledata(name string, filenames []string, funcs []Func, text []byte) | |||
|     funcdataAddr := uintptr(rt.IndexByte(cache, fstart)) | ||||
| 
 | ||||
|     // make pclnt table | ||||
|     pclntab := makePclntable(pclntSize, startLocations, _funcs, lastFuncsize, pcdataOffs, funcdataAddr, funcdataOffs) | ||||
|     pclntab := makePclntable(pclntSize, startLocations, _funcs, mod.maxpc, pcdataOffs, funcdataAddr, funcdataOffs) | ||||
|     mod.pclntable = pclntab | ||||
| 
 | ||||
|     // assign addresses | ||||
|     mod.text = addr | ||||
|     mod.etext = addr + uintptr(size) | ||||
|     mod.minpc = addr | ||||
|     mod.maxpc = addr + uintptr(len(text)) | ||||
| 
 | ||||
|     // make pc header | ||||
|     mod.pcHeader = &pcHeader { | ||||
|         magic   : _Magic, | ||||
|  | @ -487,7 +399,7 @@ func makeModuledata(name string, filenames []string, funcs []Func, text []byte) | |||
| 
 | ||||
| // makePctab generates pcdelta->valuedelta tables for functions, | ||||
| // and returns the table and the entry offset of every kind pcdata in the table. | ||||
| func makePctab(funcs []Func, addr uintptr, cuOffset []uint32, nameOffset []int32) (pctab []byte, pcdataOffs [][]uint32, _funcs []_func) { | ||||
| func makePctab(funcs []Func, addr uintptr, cuOffset uint32, nameOffset []int32) (pctab []byte, pcdataOffs [][]uint32, _funcs []_func) { | ||||
|     _funcs = make([]_func, len(funcs)) | ||||
| 
 | ||||
|     // Pctab offsets of 0 are considered invalid in the runtime. We respect | ||||
|  | @ -538,7 +450,7 @@ func makePctab(funcs []Func, addr uintptr, cuOffset []uint32, nameOffset []int32 | |||
|         _f.deferreturn = f.DeferReturn | ||||
|         // NOTICE: _func.pcdata is always as [PCDATA_UnsafePoint(0) : PCDATA_ArgLiveIndex(3)] | ||||
|         _f.npcdata = uint32(_N_PCDATA) | ||||
|         _f.cuOffset = cuOffset[i] | ||||
|         _f.cuOffset = cuOffset | ||||
|         _f.funcID = f.ID | ||||
|         _f.nfuncdata = uint8(_N_FUNCDATA) | ||||
|     } | ||||
|  | @ -546,4 +458,4 @@ func makePctab(funcs []Func, addr uintptr, cuOffset []uint32, nameOffset []int32 | |||
|     return | ||||
| } | ||||
| 
 | ||||
| func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argptrs uintptr, localptrs uintptr) {}  | ||||
| func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argptrs uintptr, localptrs uintptr) {}  | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue