X7ROOT File Manager
Current Path:
/opt/golang/1.19.4/src/cmd/compile/internal/gc
opt
/
golang
/
1.19.4
/
src
/
cmd
/
compile
/
internal
/
gc
/
📁
..
📄
bootstrap.go
(368 B)
📄
compile.go
(4.12 KB)
📄
export.go
(1.19 KB)
📄
main.go
(11.36 KB)
📄
obj.go
(9.25 KB)
📄
pprof.go
(291 B)
📄
trace.go
(556 B)
📄
util.go
(1.82 KB)
Editing: export.go
// Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package gc import ( "fmt" "go/constant" "cmd/compile/internal/base" "cmd/compile/internal/ir" "cmd/compile/internal/typecheck" "cmd/compile/internal/types" "cmd/internal/bio" ) func dumpasmhdr() { b, err := bio.Create(base.Flag.AsmHdr) if err != nil { base.Fatalf("%v", err) } fmt.Fprintf(b, "// generated by compile -asmhdr from package %s\n\n", types.LocalPkg.Name) for _, n := range typecheck.Target.Asms { if n.Sym().IsBlank() { continue } switch n.Op() { case ir.OLITERAL: t := n.Val().Kind() if t == constant.Float || t == constant.Complex { break } fmt.Fprintf(b, "#define const_%s %v\n", n.Sym().Name, n.Val().ExactString()) case ir.OTYPE: t := n.Type() if !t.IsStruct() || t.StructType().Map != nil || t.IsFuncArgStruct() { break } fmt.Fprintf(b, "#define %s__size %d\n", n.Sym().Name, int(t.Size())) for _, f := range t.Fields().Slice() { if !f.Sym.IsBlank() { fmt.Fprintf(b, "#define %s_%s %d\n", n.Sym().Name, f.Sym.Name, int(f.Offset)) } } } } b.Close() }
Upload File
Create Folder