src/net/http/h2_bundle.go (44 lines): - line 762: // TODO: use singleflight for dialing and addConnCalls? - line 766: mu sync.Mutex // TODO: maybe switch to RWMutex - line 767: // TODO: add support for sharing conns based on cert names - line 971: // TODO: don't close a cc if it was just added to the pool - line 1040: // TODO: Benchmark to determine if the pools are necessary. The GC may have - line 1611: // TODO: let getReadBuf be configurable, and use a less memory-pinning - line 1617: maxWriteSize uint32 // zero means unlimited; TODO: implement - line 1648: // TODO: track which type of frame & with which flags was sent - line 3465: // TODO: pick a less arbitrary value? this is a bit under - line 3772: http2defaultMaxStreams = 250 // TODO: make this 100 as the GFE seems to? - line 3804: // TODO: implement - line 3891: // TODO: if anybody asks, add a Server field, and remember to define the - line 4159: // TODO: optionally enforce? Or enforce at the time we receive - line 4370: // TODO: remove this helper function once http2 can use build - line 4386: // TODO: remove this string search and be more like the Windows - line 4708: timer := time.NewTimer(http2prefaceTimeout) // TODO: configurable on *Server? - line 4935: // reading data (see possible TODO at top of - line 5046: // TODO: configurable? - line 5090: // TODO: could we also get into this state if - line 5095: // TODO: add CloseWrite to crypto/tls.Conn first - line 5299: // TODO: judging by RFC 7540, Section 6.5.3 each SETTINGS frame should be - line 5655: // TODO: send more details to the peer somehow. But http2 has - line 6095: // TODO: adjust buffer writing sizes based on server config, frame size updates from peer, etc - line 6192: // TODO: remove more Connection-specific header fields here, in addition - line 6437: // TODO: send a RST_STREAM - line 7393: // TODO: adjust this writer size to account for frame size + - line 7408: // TODO: SetMaxDynamicTableSize, SetMaxDynamicTableSizeLimit on - line 7632: // TODO: do clients send GOAWAY too? maybe? Just Close: - line 8110: // TODO: write h12Compare test showing whether - line 8751: // TODO: also do this if we've written the headers but not - line 9019: // TODO: care? unlike http/1, it won't mess up our framing, so it's - line 9023: // TODO: care? unlike http/1, it won't mess up our framing, so it's - line 9070: // TODO: ConnectionError might be overly harsh? Check. - line 9210: // TODO: be stricter here? only silently ignore things which - line 9309: // TODO: check that any declared content-length matches, like - line 9353: // TODO: deal with GOAWAY more. particularly the error code - line 9471: // TODO: return error if server tries to RST_STREAM an idle stream - line 9565: // TODO: map err to more interesting error codes, once the - line 9762: // TODO: decide whether to a) use this in the client code (which didn't - line 9929: // TODO: this is a common one. It'd be nice to return true - line 9994: // TODO: see writeResHeaders.staysWithinBuffer - line 10089: // TODO: return an error? golang.org/issue/14048 - line 10093: // TODO: more of "8.1.2.2 Connection-Specific Header Fields" - line 10294: // TODO: less copy-happy queue. src/cmd/compile/internal/ssagen/ssa.go (27 lines): - line 228: // TODO if they are not needed for 1.18 / next register abi port, delete them. - line 413: // TODO: generate and print a mapping from nodes to values and blocks - line 459: s.sp = s.entryNewValue0(ssa.OpSP, types.Types[types.TUINTPTR]) // TODO: use generic pointer type (unsafe.Pointer?) instead - line 534: // TODO fix the nasty storeArgOrLoad recursion in ssa/expand_calls.go so this Just Works with store of a big Arg. - line 612: // TODO figure out exactly what's unused, don't spill it. Make liveness fine-grained, also. - line 830: // TODO: could also seek minimum position? - line 876: // TODO: keep a single varnum map, then make all of these maps slices instead? - line 1446: // TODO: never rewrite OPANIC to OCALLFUNC in the - line 1647: // TODO: detect defaults for len/cap also. - line 2844: // TODO this is not executed because the front-end substitutes a runtime call. - line 2870: // TODO not sure if this is best done in wide precision or narrow - line 3460: // TODO: have the frontend give us branch prediction hints for - line 3549: // TODO: do we need to update named values here? - line 3736: // TODO: do not emit sfcall if operation can be optimized to constant in later - line 5119: aux := ssa.StaticAuxCall(ir.Syms.Deferproc, s.f.ABIDefault.ABIAnalyzeTypes(nil, ACArgs, ACResults)) // TODO paramResultInfo for DeferProc - line 5123: call = s.newValue0A(ssa.OpStaticLECall, aux.LateExpansionResultType(), aux) // TODO paramResultInfo for NewProc - line 5233: // TODO: Make OpAddr use AuxInt as well as Aux. - line 5367: // TODO: handle this case? Named return values must be - line 5381: // TODO: try to make more variables SSAable? - line 5397: // TODO: allow if all indexes are constant. - line 5649: // TODO: if the writebarrier pass knows how to reorder stores, - line 6347: // TODO: get rid of some of these temporaries. - line 6478: // from being assigned too early. See #14591 and #14762. TODO: allow this. - line 7006: // TODO: are there others? - line 7482: if aloc := f.RegAlloc[a.ID]; aloc != loc { // TODO: .Equal() instead? - line 7622: // TODO: keep the result of this function somewhere in the ODOT Node - line 7789: // TODO: unify this makefield and the global one above. src/cmd/compile/internal/ssa/regalloc.go (18 lines): - line 112: // TODO: maybe we should introduce these extra phis? - line 164: // TODO: regMask -> regSet? - line 312: v *Value // pre-regalloc value held in this register (TODO: can we use ID here?) - line 407: // TODO: Prefer registers with already spilled Values? - line 408: // TODO: Modify preference using affinity graph. - line 409: // TODO: if a single value is in multiple registers, spill one of them - line 726: // TODO: honor GOCLOBBERDEADHASH, or maybe GOSSAHASH. - line 974: // TODO: Improve this part. At least the size of endRegs of the predecessor also has - line 995: // TODO: improve the prediction of the likely predecessor. The following - line 1023: // TODO: pick best of (already processed) predecessors? - line 1194: // TODO: prioritize likely successor? - line 1563: outRegs := noRegisters // TODO if this is costly, hoist and clear incrementally below. - line 1712: // TODO: sort by distance, pick the closest ones? - line 1898: // TODO: find a way to make this O(1) without arbitrary cutoffs. - line 2439: // TODO: reuse these slots. They'll need to be erased first. - line 2490: // TODO: this could be quadratic if lots of variables are live across lots of - line 2510: // TODO: Do a better job yet. Here's one possibility: - line 2567: // TODO: if v is a phi, save desired register for phi inputs. src/encoding/gob/dec_helpers.go (17 lines): - line 63: // It is kind bool but not type bool. TODO: We can handle this unsafely. - line 86: // It is kind complex64 but not type complex64. TODO: We can handle this unsafely. - line 111: // It is kind complex128 but not type complex128. TODO: We can handle this unsafely. - line 136: // It is kind float32 but not type float32. TODO: We can handle this unsafely. - line 159: // It is kind float64 but not type float64. TODO: We can handle this unsafely. - line 182: // It is kind int but not type int. TODO: We can handle this unsafely. - line 210: // It is kind int16 but not type int16. TODO: We can handle this unsafely. - line 237: // It is kind int32 but not type int32. TODO: We can handle this unsafely. - line 264: // It is kind int64 but not type int64. TODO: We can handle this unsafely. - line 287: // It is kind int8 but not type int8. TODO: We can handle this unsafely. - line 314: // It is kind string but not type string. TODO: We can handle this unsafely. - line 351: // It is kind uint but not type uint. TODO: We can handle this unsafely. - line 359: /*TODO if math.MaxUint32 < x { - line 378: // It is kind uint16 but not type uint16. TODO: We can handle this unsafely. - line 405: // It is kind uint32 but not type uint32. TODO: We can handle this unsafely. - line 432: // It is kind uint64 but not type uint64. TODO: We can handle this unsafely. - line 455: // It is kind uintptr but not type uintptr. TODO: We can handle this unsafely. src/encoding/gob/enc_helpers.go (16 lines): - line 62: // It is kind bool but not type bool. TODO: We can handle this unsafely. - line 88: // It is kind complex64 but not type complex64. TODO: We can handle this unsafely. - line 113: // It is kind complex128 but not type complex128. TODO: We can handle this unsafely. - line 138: // It is kind float32 but not type float32. TODO: We can handle this unsafely. - line 161: // It is kind float64 but not type float64. TODO: We can handle this unsafely. - line 184: // It is kind int but not type int. TODO: We can handle this unsafely. - line 206: // It is kind int16 but not type int16. TODO: We can handle this unsafely. - line 228: // It is kind int32 but not type int32. TODO: We can handle this unsafely. - line 250: // It is kind int64 but not type int64. TODO: We can handle this unsafely. - line 272: // It is kind int8 but not type int8. TODO: We can handle this unsafely. - line 294: // It is kind string but not type string. TODO: We can handle this unsafely. - line 317: // It is kind uint but not type uint. TODO: We can handle this unsafely. - line 339: // It is kind uint16 but not type uint16. TODO: We can handle this unsafely. - line 361: // It is kind uint32 but not type uint32. TODO: We can handle this unsafely. - line 383: // It is kind uint64 but not type uint64. TODO: We can handle this unsafely. - line 405: // It is kind uintptr but not type uintptr. TODO: We can handle this unsafely. src/cmd/link/internal/ld/dwarf.go (12 lines): - line 52: // FIXME: try converting this map (and the next one) to a single - line 233: // FIXME: at the moment attributes are stored in a linked list in a - line 277: // FIXME: it would be more efficient to bulk-allocate DIEs. - line 342: // FIXME: this seems clunky, maybe there is a better way to do this. - line 604: // FIXME: add caching or reuse reloc slice. - line 730: // FIXME: it would be nice if the compiler attached an aux symbol - line 1129: // FIXME: is there a way we could avoid materializing the - line 1428: // TODO: similar mark on non-LR architectures. - line 1593: // TODO (aix): make it available - line 1618: // FIXME: might be worth looking replacing this map with a function - line 1839: // TODO: Make this be the actual compilation directory, not - line 1942: // FIXME: use an aux sym or a relocation here instead of a src/cmd/link/internal/loader/loader.go (10 lines): - line 234: // TODO: figure out whether it's more efficient to just have these - line 297: name string // TODO: would this be better as offset into str table? - line 822: // TODO: do something? External symbols have different representation of attributes. - line 958: // TODO: if this path winds up being taken frequently, it - line 983: // TODO: if this path winds up being taken frequently, it - line 1149: // FIXME: would be better to do away with this and have a better way - line 1270: // TODO: would it make sense to return an arch-specific - line 1719: // FIXME: add check for isExternal? - line 2060: roObject, readonly, err := f.Slice(uint64(length)) // TODO: no need to map blocks that are for tools only (e.g. RefName) - line 2371: // TODO: other attributes? src/crypto/elliptic/p256_ppc64le.go (9 lines): - line 100: // TODO: For big endian implementation, do not reverse bytes. - line 131: // TODO: For big endian implementation, the bytes in these slices should be in reverse order, - line 235: // TODO: For big endian, bytes don't need to be reversed. - line 348: // TODO: For big endian, these slices should be in reverse byte order, - line 398: // TODO: For big endian, the index should be 31 not 0. - line 412: // TODO: For big endian, use the same index values as found - line 475: // TODO: For big endian, use index found in s390x implementation. - line 489: // TODO: For big endian, use index values as found in s390x implementation. - line 512: // TODO: Use index for big endian as found in s390x implementation. src/cmd/compile/internal/ssa/expand_calls.go (9 lines): - line 119: // TODO maybe cache this in a map if profiling recommends. - line 222: // TODO should also optimize offsets from SB? - line 303: // TODO when registers really arrive, must also decompose anything split across two registers or registers and memory. - line 399: // TODO these may be duplicated. Should memoize. Intermediate selectors will go dead, no worries there. - line 790: // TODO -- this needs cleanup; it just works for SSA-able aggregates, and won't fully generalize to register-args aggregates. - line 1178: // TODO results should not be lowered until this phase. - line 1230: // TODO if too slow, whole program iteration can be replaced w/ slices of appropriate values, accumulated in first loop here. - line 1325: // TODO can this happen recursively? - line 1588: // TODO: don't dedup pointer and scalar? Rewrite to OpConvert? Can it happen? src/cmd/cgo/gcc.go (8 lines): - line 991: // TODO: Note that this fails if nil is shadowed. - line 1033: // TODO: Handle types defined within function. - line 1248: // TODO: This ignores shadowing. - line 2518: // TODO: we should probably do the same for unions. Unions can't live - line 2534: t.Align = 1 // TODO: should probably base this on field alignment. - line 2647: // TODO: it would be safer to only do this if - line 2925: // TODO: Handle fields that are anonymous structs by - line 3150: // TODO: Currently our best solution is to find these manually and list them as src/cmd/compile/internal/ssa/html.go (8 lines): - line 598: // TODO: Implement smarter auto-zoom using the viewBox attribute - line 637: // TODO: scale the graph with the viewBox attribute. - line 966: // TODO: Using the value ID as the class ignores the fact - line 974: // TODO: Any intra-value formatting? - line 1015: // TODO: Using the value ID as the class ignores the fact - line 1023: // TODO: improve this for HTML? - line 1048: // TODO does not begin to deal with the full complexity of line numbers. - line 1064: // fprintFunc(&buf, f) // TODO: HTML, not text,
for line breaks, etc. src/cmd/compile/internal/noder/stencil.go (7 lines): - line 506: // TODO: set types directly here instead of using typecheck.Stmt - line 811: // TODO: have some other way to detect the difference between - line 882: idx := ir.NewConstExpr(constant.MakeUint64(uint64(i)), dict) // TODO: what to set orig to? - line 1311: // This is not a type switch. TODO: Should we use an OSWITCH case here instead of OCASE? - line 1516: // TODO: This is somewhat overkill, we really only need it - line 1786: // TODO: use a cast, or is typing directly ok? - line 2109: result := ir.NewNameAt(pos, typecheck.LookupNum("r", i)) // TODO: names not needed? src/cmd/compile/internal/ssa/prove.go (6 lines): - line 175: // TODO: check if there are cases that matter where we have - line 394: // TODO: Since prove now derives transitive relations, it - line 948: // TODO: how about p->yes->b->yes, i.e. a loop in yes. - line 1059: // TODO: It would be nice to combine this with findIndVar. - line 1271: // TODO: add other architectures? - line 1355: // TODO: return true if !v.Type.IsSigned() src/cmd/doc/pkg.go (6 lines): - line 162: // TODO: go/doc does not include typed constants in the constants - line 655: // TODO: Provide access to TODOs and NOTEs as well (very noisy so off by default)? - line 756: // TODO: Should we elide unexported symbols from a single spec? - line 758: // TODO: Would be nice if go/doc did this for us. - line 975: // TODO: Anonymous methods (embedding) - line 1022: // TODO: Anonymous fields. src/runtime/mwbbuf.go (6 lines): - line 71: // TODO: What is the latency cost of this? Tune this value. - line 164: // TODO: A "go:nosplitrec" annotation would be perfect for this. - line 238: // TODO: Should scanobject/scanblock just stuff pointers into - line 241: // TODO: We could avoid shading any of the "new" pointers in - line 256: // TODO: Should we filter out nils in the fast - line 264: // TODO: Consider making two passes where the first src/cmd/compile/internal/ssagen/phi.go (6 lines): - line 41: // TODO: make this part of cmd/compile/internal/ssa somehow? - line 124: for var_ := range s.defvars[b.ID] { // TODO: encode defvars some other way (explicit ops)? make defvars[n] a slice instead of a map. - line 246: // TODO: if the variable is dead at c, skip it. - line 256: v := c.NewValue0I(currentRoot.Pos, ssa.OpPhi, typ, int64(n)) // TODO: line number right? - line 414: // TODO: stop walking the iterated domininance frontier when - line 420: // TODO: move this file to ../ssa, then use sparseSet there. src/cmd/go/internal/work/exec.go (6 lines): - line 1534: // TODO: BuildN - line 2156: // TODO: See issue 5279. The printing of commands needs a complete redo. - line 2754: // TODO: CGO_FLAGS? - line 2763: // TODO: make cgo not depend on $GOARCH? - line 3027: // TODO: Don't build a shared library, once SWIG emits the necessary - line 3337: // TODO: do we need more commands? asm? cgo? For now, no. src/runtime/preempt.go (5 lines): - line 129: // TODO: It would be nicer if we could - line 181: // TODO: It would be much better if we didn't - line 237: // TODO: Don't busy wait. This loop should really only - line 409: // TODO: Empirically we still need the fd == nil check. Why? - line 411: // TODO: Are there cases that are safe but don't have a src/cmd/compile/internal/ssa/compile.go (5 lines): - line 32: // TODO: debugging - set flags to control verbosity of compiler, - line 80: // TODO: capture logging during this pass, add it to the HTML - line 460: // TODO: combine phielim and copyelim into a single pass? - line 468: {name: "opt", fn: opt, required: true}, // NB: some generic rules know the name of the opt pass. TODO: split required rules and optimizing rules - line 480: {name: "late opt", fn: opt, required: true}, // TODO: split required rules and optimizing rules src/cmd/internal/obj/arm64/asm7.go (5 lines): - line 404: /* TODO: MVN C_SHIFT */ - line 982: if p.As == AB || p.As == obj.ARET || p.As == AERET { /* TODO: other unconditional operations */ - line 1215: * TODO: hash - line 6564: // TODO: don't use brdist for this case, as it isn't a branch. - line 7001: /* TODO: could be clever, and use general constant builder */ src/runtime/proc.go (5 lines): - line 2221: // TODO: This may be unnecessary on Windows, which - line 2538: if atomic.Load(&sched.nmspinning)+atomic.Load(&sched.npidle) == 0 && atomic.Cas(&sched.nmspinning, 0, 1) { // TODO: fast atomic - line 5819: atomic.Xadd(&sched.npidle, 1) // TODO: fast atomic - line 5837: atomic.Xadd(&sched.npidle, -1) // TODO: fast atomic - line 6364: // TODO: pack the first 3 fields more tightly? src/cmd/link/internal/ld/macho.go (5 lines): - line 923: name := ldr.RawSymName(s) // TODO: try not to read the name - line 1403: // TODO: use more compact encoding. The encoding is stateful, and - line 1420: // TODO: compact encoding, as above. - line 1421: // TODO: lazy binding? - line 1453: // TODO: export table. src/cmd/internal/obj/objfile.go (5 lines): - line 125: // TODO: hashedrefs unused/unsupported for now - line 266: // TODO: this includes references of indexed symbols from other packages, - line 341: // TODO: maybe the compiler could set the alignment for all - line 407: // TODO: instead of duplicating them, have the compiler decide where symbols go. - line 639: // TODO: output in sorted order? src/cmd/internal/obj/x86/obj6.go (5 lines): - line 152: q.From.Scale = 2 // TODO: use 1 - line 173: // TODO: Remove. - line 601: // TODO: Maybe someday we label them all with NOFRAME and get rid of this heuristic. - line 664: // TODO: are there other cases (e.g., wrapper functions) that need marking? - line 1259: // TODO: MOVB might be ok if we only ever use R15B. src/cmd/compile/internal/reflectdata/reflect.go (5 lines): - line 978: // See also TODO in NeedEmit. - line 1741: // Need to emit to be safe (however, see TODO above). - line 1755: // Need to emit to be safe (however, see TODO above). - line 1760: // TODO: make sure the linker deduplicates them (see dupok in writeType above). - line 2031: // TODO: instantiations at least know the shape of the instantiated src/cmd/compile/internal/liveness/plive.go (5 lines): - line 89: // TODO: get rid of OpVarKill here. It's useful for stack frame allocation - line 527: // TODO: Just ignore mem operands? - line 575: // TODO: For trivial unsafe.Pointer arithmetic, it would be - line 732: // TODO: if the output parameter is heap-allocated, then we - line 1304: // TODO: consider trimming leading zeros. src/cmd/compile/internal/ssa/likelyadjust.go (4 lines): - line 70: hasIrreducible bool // TODO current treatment of irreducible loops is very flaky, if accurate loops are needed, must punt at function level. - line 139: // Calls. TODO not all calls are equal, names give useful clues. - line 167: // TODO what is best arrangement for nested loops? - line 324: // TODO handle case where l is irreducible. src/cmd/compile/internal/ssa/loopbce.go (4 lines): - line 83: // TODO: handle 32 bit operations - line 97: // TODO: Handle 32-bit comparisons. - line 98: // TODO: Handle unsigned comparisons? - line 280: // TODO: other unrolling idioms src/cmd/compile/internal/reflectdata/alg.go (4 lines): - line 212: nx := ir.NewSelectorExpr(base.Pos, ir.OXDOT, np, f.Sym) // TODO: fields from other packages? - line 227: nx := ir.NewSelectorExpr(base.Pos, ir.OXDOT, np, f.Sym) // TODO: fields from other packages? - line 484: // TODO: when the array size is small, unroll the length match checks. - line 500: // TODO: pick apart structs, do them piecemeal too src/cmd/compile/internal/ssa/check.go (4 lines): - line 120: // TODO: enforce types of Aux in this switch (like auxString does below) - line 273: // TODO: more type checks? - line 314: // TODO: check for cycles in values - line 368: // See TODO in regalloc.go. src/runtime/symtab.go (4 lines): - line 121: // TODO: remove file/line from InlinedCall? - line 722: // TODO: Perhaps we should report no function at all in that case. - line 836: x := uintptr(pcOff) + datap.text - datap.minpc // TODO: are datap.text and datap.minpc always equal? - line 873: // TODO: the start PC is returned only when cache is nil. src/runtime/pprof/proto.go (4 lines): - line 196: // TODO: we set HasFunctions if all symbols from samples were symbolized (hasFuncs). - line 380: // TODO: Anything for tagProfile_DropFrames? - line 381: // TODO: Anything for tagProfile_KeepFrames? - line 674: // TODO: pprof's remapMappingIDs makes two adjustments: src/cmd/compile/internal/ppc64/ssa.go (4 lines): - line 1956: // TODO: implement for clobberdead experiment. Nop is ok for now. - line 1974: // TODO: need to work FP comparisons into block jumps - line 2022: // TODO: The second branch is probably predict-not-taken since it is for FP unordered - line 2040: // TODO: The second branch is probably predict-not-taken since it is for FP unordered src/cmd/link/internal/ld/pcln.go (4 lines): - line 290: // TODO: use LastIndexByte once the bootstrap compiler is >= Go 1.5. - line 380: // TODO: Store filenames as symbols. (Note this would be easiest if you - line 501: // TODO: There is no reason we need a generator for this variable, and it - line 661: // TODO: Move into funcinfo. src/cmd/compile/internal/ssa/stackalloc.go (4 lines): - line 5: // TODO: live at start of block instead? - line 214: // TODO: share slots among equivalent types. We would need to - line 317: // TODO: this could be quadratic if lots of variables are live across lots of - line 374: //TODO: remove? Subsumed by SpillUse? src/runtime/malloc.go (4 lines): - line 675: // TODO: This would be cleaner if sysReserve could be - line 1215: // TODO: This padding is only performed when the race detector - line 1219: // TODO: enable this padding for all allocations, not just - line 1534: // TODO: Use this as the return type of sysAlloc, persistentAlloc, etc? src/cmd/compile/internal/ssa/rewrite.go (4 lines): - line 112: // TODO: it's possible (in FOR loops, in particular) for statement boundaries for the same - line 738: // TODO: kind of a hack - allows nil interface through - line 1170: // TODO: all.bash runs compilers in parallel. Need to synchronize logging somehow? - line 1672: // TODO REGISTER ABI this needs to be cleaned up. src/runtime/mgcmark.go (4 lines): - line 226: // TODO: suspendG blocks (and spins) until gp - line 849: // TODO: it would be nice if there were a way to run a GC - line 913: // TODO: We could narrow this down if the compiler - line 925: // TODO: We could pass the entry argument map src/cmd/compile/internal/ssa/loopreschedchecks.go (4 lines): - line 45: // TODO: when split information is recorded in export data, insert checks only on backedges that can be reached on a split-call-free path. - line 88: for _, e := range backedges { // TODO: could filter here by calls in loops, if declared and inferred nosplit are recorded in export data. - line 357: rewriteNewPhis(h, c, f, defsForUses, newphis, dfPhiTargets, sdom) // TODO: convert to explicit stack from recursion. - line 399: addDFphis(x, h, c, f, defForUses, newphis, sdom) // TODO: convert to explicit stack from recursion. src/runtime/trace.go (4 lines): - line 133: // TODO: central lock to access the map is not ideal. - line 170: // TODO: Since traceBuf is now go:notinheap, this isn't necessary. - line 550: // TODO: test on non-zero extraBytes param. - line 949: // TODO: Since traceAllocBlock is now go:notinheap, this isn't necessary. src/cmd/link/internal/ld/data.go (4 lines): - line 152: // TODO: other architectures. - line 386: // FIXME: It should be forbidden to have R_ADDR from a - line 1791: // FIXME: not clear why it is sometimes necessary to suppress .tbss section creation. - line 1795: // FIXME: why does this need to be set to zero? src/text/template/parse/node.go (4 lines): - line 357: // TODO: fix one day? - line 365: // TODO: fix one day? - line 436: // TODO: Not really a problem; could change API without effect but - line 470: // TODO: Not really a problem; could change API without effect but src/encoding/gob/encode.go (3 lines): - line 323: // TODO: Is field guaranteed valid? If so we could avoid this check. - line 346: // TODO: Is elem guaranteed valid? If so we could avoid this check. - line 471: // TODO: should we catch panics from the called method? src/net/http/request.go (3 lines): - line 362: r2.URL = cloneURL(r.URL) // legacy behavior; TODO: try to remove. Issue 23544 - line 597: // TODO: validate r.Method too? At least it's less likely to - line 718: // TODO: Consider removing this check after verifying performance is okay. src/cmd/compile/internal/abi/abiutils.go (3 lines): - line 160: // TODO endianness? Should high-order (sign bits) word come first? - line 371: // TODO in theory could align offset only to minimum required by spilled data types. - line 416: // TODO in theory could align offset only to minimum required by spilled data types. src/encoding/gob/decgen.go (3 lines): - line 10: // TODO: We could do more by being unsafe. Add a -unsafe flag? - line 126: /*TODO if math.MaxUint32 < x { - line 232: // It is kind %[1]s but not type %[1]s. TODO: We can handle this unsafely. src/text/template/funcs.go (3 lines): - line 39: // TODO: revert this back to a global map once golang.org/issue/2559 is fixed. - line 72: // TODO: revert this back to a global map once golang.org/issue/2559 is fixed. - line 401: // TODO: Perhaps allow comparison between signed and unsigned integers. src/cmd/link/internal/ld/pe.go (3 lines): - line 101: // TODO: the Microsoft doco says IMAGE_SYM_DTYPE_ARRAY is 3 and IMAGE_SYM_DTYPE_FUNCTION is 2 - line 736: // TODO: fix IMAGE_SYM_DTYPE_ARRAY value and use following expression, instead of 0x0308 - line 783: name := ldr.RawSymName(s) // TODO: try not to read the name src/net/file_windows.go (3 lines): - line 13: // TODO: Implement this - line 18: // TODO: Implement this - line 23: // TODO: Implement this src/html/template/js.go (3 lines): - line 151: // TODO: normalize quotes. - line 164: // TODO: detect cycles before calling Marshal which loops infinitely on - line 177: // TODO: maybe post-process output to prevent it from containing src/reflect/value.go (3 lines): - line 120: // TODO: pass safe boolean from valueInterface so - line 1459: // TODO: pass safe to packEface so we don't need to copy if safe==true? - line 2962: // TODO: Maybe allow contents of a Value to live on the stack. src/cmd/trace/annotations.go (3 lines): - line 183: // TODO: include stack trace of creation time - line 905: // TODO: This formatting is pretty awful. - line 1156: // TODO: add child task creation events into the parent task events src/cmd/link/internal/ld/symtab.go (3 lines): - line 223: // FIXME: avoid having to do name inspections here. - line 332: name := ldr.RawSymName(s) // TODO: try not to read the name - line 852: // TODO: avoid the ldr.Lookup calls below by instead using an aux src/runtime/asm_ppc64x.s (3 lines): - line 109: MOVD R0, 0(R0) // TODO: TD - line 589: MOVD R0, 0(R1) // clear back chain pointer (TODO can we give it real back trace information?) - line 955: MOVD (R20), R18 // TODO: This turns bad writes into bad reads. src/cmd/compile/internal/base/flag.go (3 lines): - line 124: WB bool "help:\"enable write barrier\"" // TODO: remove - line 370: // TODO: Test and delete this condition. - line 374: // TODO: fix races and enable the following flags src/runtime/race_ppc64le.s (3 lines): - line 376: // R4 = TODO: What's this supposed to be? - line 426: MOVD R8, R4 // pc being called same TODO as above - line 487: // g0 TODO: Don't modify g here since R30 is nonvolatile src/cmd/link/internal/ld/lib.go (3 lines): - line 626: // TODO: maybe do something similar to peimporteddlls to collect all lib names - line 2109: // TODO: fix. Maybe mmap the file. - line 2438: type SymbolType int8 // TODO: after genasmsym is gone, maybe rename to plan9typeChar or something src/cmd/compile/internal/ssa/op.go (3 lines): - line 121: // TODO: there is a Clever Hack that allows pre-generation of a small-ish number of the slices - line 300: // TODO how much of the ABI should be printed? - line 339: // TODO if this remains identical to ClosureAuxCall above after new ABI is done, should deduplicate. src/cmd/internal/obj/ppc64/asm9.go (3 lines): - line 571: // TODO: alignment on AIX - line 710: p.Reg = bi // TODO: This is a hack since BI bits are not enumerated as registers - line 2652: // TODO: fix the above behavior and cleanup this exception. src/cmd/asm/internal/asm/parse.go (3 lines): - line 6: // TODO: Split apart? - line 542: // R(1)<<... Ugly check. TODO: Rethink how we handle ARM register shifts to be - line 952: // TODO: Consistency in the encoding would be nice here. src/cmd/compile/internal/ssa/deadcode.go (3 lines): - line 135: // TODO: save marks only for bodies which - line 257: // TODO what if control is statement boundary? Too late here. - line 264: pendingLines.set(v.Pos, int32(i)) // TODO could be more than one pos for a line src/syscall/tables_js.go (3 lines): - line 15: // TODO: delete? replace with something meaningful? - line 102: // TODO: Auto-generate some day. (Hard-coded in binaries so not likely to change.) - line 230: // TODO: Auto-generate some day. (Hard-coded in binaries so not likely to change.) src/cmd/compile/internal/ssa/phiopt.go (3 lines): - line 30: // TODO: handle more than 2 predecessors, e.g. a || b || c. - line 168: // TODO: handle more than 2 predecessors, e.g. a || b || c. - line 174: // TODO: v = OpPhi (ConstBool [true]) (Arg {value}) src/runtime/mheap.go (3 lines): - line 384: list *mSpanList // For debugging. TODO: Remove. - line 407: // TODO: Look up nelems from sizeclass and remove this field if it - line 2028: // TODO: Mark it "already zeroed" src/internal/reflectlite/value.go (3 lines): - line 115: // TODO: pass safe boolean from valueInterface so - line 277: // TODO: pass safe to packEface so we don't need to copy if safe==true? - line 399: // TODO: Maybe allow contents of a Value to live on the stack. src/cmd/cover/cover.go (3 lines): - line 385: // TODO: Nested simple blocks get unnecessary (but correct) counters - line 455: // TODO: what if there's more than one? Probably doesn't matter much. - line 527: // TODO: what if there's more than one? Probably doesn't matter much. src/index/suffixarray/sais2.go (3 lines): - line 1359: saX = sa[x] // TODO bounds check - line 1390: saX = sa[x] // TODO bounds check - line 1421: saX = sa[x] // TODO bounds check src/cmd/link/internal/loadpe/ldpe.go (3 lines): - line 24: // TODO: the Microsoft doco says IMAGE_SYM_DTYPE_ARRAY is 3 (same with IMAGE_SYM_DTYPE_POINTER and IMAGE_SYM_DTYPE_FUNCTION) - line 191: // TODO: replace pe.NewFile with pe.Load (grep for "add Load function" in debug/pe for details) - line 198: // TODO return error if found .cormeta src/cmd/compile/internal/ssa/config.go (3 lines): - line 35: ABI1 *abi.ABIConfig // "ABIInternal" under development // TODO change comment when this becomes current - line 74: BytePtr *types.Type // TODO: use unsafe.Pointer instead? - line 352: // TODO: This is only used for debug printing. Maybe export config.registers? src/cmd/compile/internal/x86/ssa.go (3 lines): - line 657: case ssa.OpCopy: // TODO: use MOVLreg for reg->reg copies instead of OpCopy? - line 813: // TODO: We currently use the 2-byte instruction TESTB AX, (reg). - line 838: // TODO: implement for clobberdead experiment. Nop is ok for now. src/crypto/tls/cipher_suites.go (2 lines): - line 148: var cipherSuites = []*cipherSuite{ // TODO: replace with a map, since the order doesn't matter. - line 200: var cipherSuitesTLS13 = []*cipherSuiteTLS13{ // TODO: replace with a map. src/cmd/go/internal/clean/clean.go (2 lines): - line 234: // TODO: These are dregs left by Makefile-based builds. - line 349: // TODO: Remove once Makefiles are forgotten. src/cmd/compile/internal/riscv64/ssa.go (2 lines): - line 639: // TODO: optimizations. See arm and amd64 LoweredNilCheck. - line 683: // TODO: implement for clobberdead experiment. Nop is ok for now. src/runtime/memclr_amd64.s (2 lines): - line 44: // TODO: for really big clears, use MOVNTDQ, even without AVX2. - line 73: // TODO take into account actual LLC size. E. g. glibc uses LLC size/2. src/cmd/compile/internal/ir/expr.go (2 lines): - line 418: Sym_ *types.Sym // TODO: Remove - line 903: // TODO: handle initial declaration not including an assignment and followed by a single assignment? src/regexp/syntax/compile.go (2 lines): - line 162: // TODO: impose length limit - line 195: // TODO: elide nop src/cmd/compile/internal/ssa/poset.go (2 lines): - line 284: // TODO: this is O(N), fix it. - line 1295: // FIXME: remove this O(n) loop src/cmd/internal/goobj/objfile.go (2 lines): - line 107: // // TODO: include ABI version as well? - line 210: // TODO: probably no need to export this. src/cmd/link/internal/ld/xcoff.go (2 lines): - line 581: // TODO: use CarrierSymByType - line 1221: // TODO: maybe this could be src/runtime/asm_amd64.s (2 lines): - line 1610: // TODO: Consider passing g.m.p in as an argument so they can be shared - line 1649: // TODO: We could strike a different balance; e.g., saving X0 src/cmd/pprof/pprof.go (2 lines): - line 322: // TODO: AT_linkage_name, AT_MIPS_linkage_name. - line 332: // TODO: Report inlined functions. src/cmd/compile/internal/amd64/ssa.go (2 lines): - line 991: case ssa.OpCopy: // TODO: use MOVQreg for reg->reg copies instead of OpCopy? - line 1212: // TODO: We currently use the 2-byte instruction TESTB AX, (reg). src/cmd/compile/internal/walk/expr.go (2 lines): - line 615: // TODO: Remove this code once we can introduce - line 935: switch ir.CurFunc.Nname.Sym().Name { // TODO: is there a better way than hardcoding the names? src/internal/fuzz/worker.go (2 lines): - line 208: // TODO: double-check this is handled correctly when - line 312: // TODO: record and return stderr. src/runtime/asm_s390x.s (2 lines): - line 539: MOVD $0, 0(R15) // clear back chain pointer (TODO can we give it real back trace information?) - line 795: MOVD (R2), R10 // TODO: This turns bad writes into bad reads. src/runtime/asm_mips64x.s (2 lines): - line 81: MOVV R0, 2(R0) // TODO: TD - line 650: MOVV (R20), R1 // TODO: This turns bad writes into bad reads. src/cmd/compile/internal/ir/fmt.go (2 lines): - line 163: // TODO inlining produces expressions with ninits. we can't print these yet. - line 420: if !exportFormat { // TODO maybe only if FmtShort, same below src/runtime/internal/sys/intrinsics.go (2 lines): - line 7: // TODO finish intrinsifying 386, deadcode the assembly, remove build tags, merge w/ intrinsics_common - line 8: // TODO replace all uses of CtzXX with TrailingZerosXX; they are the same. src/cmd/link/internal/arm/asm.go (2 lines): - line 223: su.SetRelocAdd(rIdx, int64(braddoff(int32(r.Add()), ldr.SymPlt(targ)/4))) // TODO: don't use r.Add for instruction bytes (issue 19811) - line 284: if r.Add()&0xff000000 == 0xeb000000 { // BL // TODO: using r.Add here is bad (issue 19811) src/cmd/go/internal/modfetch/codehost/codehost.go (2 lines): - line 286: // TODO: Impose limits on command output size. - line 287: // TODO: Set environment to get English error messages. src/cmd/compile/internal/ssa/writebarrier.go (2 lines): - line 209: // TODO: For OpStoreWB and the buffered write barrier, - line 485: // TODO (register args) this is a bit of a hack. src/cmd/compile/internal/ssa/nilcheck.go (2 lines): - line 21: // TODO: Eliminate more nil checks. - line 334: // TODO: if b.Kind == BlockPlain, start the analysis in the subsequent block to find src/net/http/cgi/host.go (2 lines): - line 368: // TODO: RFC 3875 isn't clear if only GET is supported, but it - line 403: // TODO: other transformations in spec or practice? src/runtime/map.go (2 lines): - line 914: // TODO: emptyRest is hard to use here, as we start iterating - line 1154: // TODO: reuse overflow buckets instead of using new ones, if there src/go/internal/gcimporter/iimport.go (2 lines): - line 413: // TODO: add support for using the kind - line 682: // TODO provide a non-nil *Context src/cmd/compile/internal/importer/iimport.go (2 lines): - line 423: // TODO: add support for using the kind - line 694: // TODO provide a non-nil *Context src/cmd/compile/internal/noder/encoder.go (2 lines): - line 278: w.string(string(b)) // TODO: More efficient encoding. - line 284: w.string(string(b)) // TODO: More efficient encoding. src/net/udpsock_plan9.go (2 lines): - line 33: // TODO: optimize. The equivalent code on posix is alloc-free. - line 76: return c.writeTo(b, UDPAddrFromAddrPort(addr)) // TODO: optimize instead of allocating src/net/http/cookiejar/jar.go (2 lines): - line 38: // TODO: specify which of the caller and callee is responsible for IP - line 462: // TODO: This might be relaxed as in common browsers. src/cmd/link/internal/ld/elf.go (2 lines): - line 594: // TODO: switch to FPXX after be sure that no odd-number-fpr is used. - line 1573: // TODO: switch to FPXX after be sure that no odd-number-fpr is used. src/math/fma.go (2 lines): - line 44: // TODO: Performance here is really sensitive to the - line 148: // TODO: should we special-case cancellation? src/cmd/compile/internal/typecheck/func.go (2 lines): - line 158: // TODO: export/import types and addrtaken marks along with inlined bodies, - line 228: // TODO: This creation of the named function should probably really be done in a src/encoding/gob/encgen.go (2 lines): - line 10: // TODO: We could do more by being unsafe. Add a -unsafe flag? - line 210: // It is kind %[1]s but not type %[1]s. TODO: We can handle this unsafely. src/cmd/compile/internal/walk/complit.go (2 lines): - line 195: // TODO: expand documentation. - line 379: // TODO need to check bounds? src/cmd/compile/internal/ssa/layout.go (2 lines): - line 137: // TODO: improve this part - line 170: // TODO: Order these to minimize jump distances? src/encoding/gob/debug.go (2 lines): - line 206: // TODO: handle errors better. - line 495: deb.r.Read(b) // TODO: CHECK THESE READS!! src/cmd/asm/internal/asm/asm.go (2 lines): - line 22: // TODO: configure the architecture - line 719: p.errorf("TODO: implement three-operand instructions for this architecture") src/net/http/transport.go (2 lines): - line 410: // TODO: also add this to x/net/http2.Configure Transport, behind - line 2512: var errRequestCanceledConn = errors.New("net/http: request canceled while waiting for connection") // TODO: unify? src/runtime/os_windows.go (2 lines): - line 468: // TODO: Not yet implemented. - line 936: // TODO: this is completely broken. The args passed to newosproc0 (in asm_amd64.s) src/net/netip/netip.go (2 lines): - line 270: // TODO: could make this a bit faster by having a helper - line 1136: // TODO: this could be more efficient allocation-wise: src/cmd/compile/internal/ssa/addressingmodes.go (2 lines): - line 44: // TODO: introduce auxSymOff32 - line 195: // TODO if 386 versions are created, also update needSplit and gen/386splitload.rules src/runtime/mkpreempt.go (2 lines): - line 244: // TODO: MXCSR register? - line 343: // TODO: FPCR? I don't think we'll change it, so no need to save. src/cmd/compile/internal/staticinit/sched.go (2 lines): - line 83: // TODO if roff != 0 { panic } - line 309: // TODO if roff != 0 { panic } src/runtime/iface.go (2 lines): - line 279: // TODO: Add the static type we're converting from as well. - line 336: // TODO: maybe take size instead of type? src/cmd/link/internal/loadelf/ldelf.go (2 lines): - line 243: // TODO: find a better place for this logic. - line 911: // FIXME: pass empty string here for name? This would src/runtime/stack.go (2 lines): - line 674: // TODO what about arm64 frame pointer adjustment? - line 962: // TODO: double check all gp. shouldn't be getg(). src/cmd/compile/internal/ssa/dom.go (2 lines): - line 101: //TODO: benchmark and try to find criteria for swapping between - line 292: // TODO: This loop is O(n^2). It used to be used in nilcheck, src/mime/mediatype.go (2 lines): - line 240: // TODO: ignoring lang in sv[1] for now. If anybody needs it we'll - line 248: // TODO: unsupported encoding src/text/template/exec.go (2 lines): - line 108: // TODO: It would be nice if ExecError was more broken down, but - line 716: // TODO: This could still be a confusing error; maybe goodFunc should provide info. src/database/sql/sql.go (2 lines): - line 1582: // TODO: check if db.driver supports an optional - line 3360: // only valid until the next Scan/Close. But the TODO is that src/net/http/server.go (2 lines): - line 1421: // TODO: return an error if WriteHeader gets a return parameter - line 3190: // TODO: Issue 26303: close HTTP/2 conns as soon as they become idle. src/runtime/slice.go (2 lines): - line 164: // TODO: When the old backend is gone, reconsider this decision. - line 326: // TODO: is this still worth it with new memmove impl? src/cmd/compile/internal/inline/inl.go (2 lines): - line 546: // TODO do them here (or earlier), - line 1088: // TODO: Set m.Defn properly if we support inlining range statement in the future. src/cmd/compile/internal/s390x/ssa.go (2 lines): - line 850: // TODO: implement for clobberdead experiment. Nop is ok for now. - line 916: // TODO: take into account Likely property for forward/backward src/cmd/go/internal/modfetch/codehost/git.go (2 lines): - line 514: // TODO: Could use git cat-file --batch. - line 680: // TODO: Use maxSize or drop it. src/runtime/runtime-gdb.py (2 lines): - line 579: #TODO fix quoting for qualified variable names - line 596: # TODO: print interface's methods and dynamic type's func pointers thereof. src/cmd/internal/obj/util.go (2 lines): - line 42: // TODO For now, this is only used for debugging output, and if we need more/better information, it might change. - line 101: // TODO: could be great to move suffix-related things into src/math/big/arith_decl_pure.go (2 lines): - line 23: // TODO: remove indirect function call when golang.org/issue/30548 is fixed - line 32: // TODO: remove indirect function call when golang.org/issue/30548 is fixed src/cmd/link/internal/arm64/asm.go (2 lines): - line 135: // TODO: turn LDR of GOT entry into ADR of symbol itself - line 139: // TODO: just needs relocation, no need to put in .dynsym src/cmd/internal/obj/x86/asm6.go (2 lines): - line 4862: // TODO: jump across functions needs reloc - line 4887: // TODO: Check in input, preserve in brchain. src/runtime/runtime2.go (2 lines): - line 437: stackLock uint32 // sigprof/scang lock; TODO: fold in to atomicstatus - line 710: // TODO: Consider caching this in the running G. src/runtime/signal_unix.go (2 lines): - line 397: // TODO: in efence mode, stack is sysAlloc'd, so this wouldn't - line 1299: g.sigcode1 = 0 // TODO: emulate si_addr src/runtime/asm_386.s (2 lines): - line 1357: // TODO: Consider passing g.m.p in as an argument so they can be shared - line 1370: MOVL (DI), BX // TODO: This turns bad writes into bad reads. src/cmd/go/internal/load/pkg.go (2 lines): - line 1830: // TODO: The .swig and .swigcxx files can use - line 2219: // TODO: build and vcs information is not embedded for executables in GOROOT. src/debug/pe/file.go (2 lines): - line 408: // TODO add dynimport ordinal support. - line 420: // TODO add dynimport ordinal support. src/bytes/bytes.go (2 lines): - line 722: // TODO: update when package unicode captures more of the properties. - line 1247: // TODO: if large prefixes of sep are matching src/internal/syscall/windows/registry/zsyscall_windows.go (1 line): - line 33: // TODO: add more here, after collecting data on the common src/net/http/httputil/dump.go (1 line): - line 158: // TODO: if the req.ContentLength is large, we allocate memory src/cmd/compile/internal/walk/convert.go (1 line): - line 184: // TODO: never happens because pointers are directIface? misc/chrome/gophertool/gopher.js (1 line): - line 35: // TODO: make this smarter, using a list of packages + substring matches. src/internal/xcoff/ar.go (1 line): - line 218: // FIXME: This doesn't work if an archive has two members with the same src/runtime/syscall_aix.go (1 line): - line 55: // TODO: remove r2 from zsyscall_aix_$GOARCH.go src/crypto/rsa/pss.go (1 line): - line 200: if !bytes.Equal(h0, h) { // TODO: constant time? src/reflect/type.go (1 line): - line 2748: typ.tflag = 0 // TODO: set tflagRegularMemory src/cmd/compile/internal/noder/transform.go (1 line): - line 383: // TODO: fix the order of evaluation, so that the lval of lhs[0] src/cmd/internal/src/pos.go (1 line): - line 324: // TODO: Prologue and epilogue are perhaps better handled as pseudo-ops for the assembler, src/cmd/go/internal/modfetch/coderepo.go (1 line): - line 349: // TODO: It would be nice to return an error like "not a module". src/go/types/conversions.go (1 line): - line 100: // (See also the TODO below.) src/archive/tar/stat_unix.go (1 line): - line 97: // TODO: Implement solaris (see https://golang.org/issue/8106) src/cmd/compile/internal/types/structuraltype.go (1 line): - line 9: // TODO: we would like to depend only on the types2 computation of structural type, src/runtime/map_faststr.go (1 line): - line 406: // TODO: reuse overflow buckets instead of using new ones, if there src/runtime/asm_arm64.s (1 line): - line 1304: MOVD (R2), R0 // TODO: This turns bad writes into bad reads. src/runtime/rt0_android_386.s (1 line): - line 24: // TODO: wire up necessary VDSO (see os_linux_386.go) src/cmd/internal/objfile/plan9obj.go (1 line): - line 77: // TODO: Remove code looking for the old symbols when we no longer care about 1.3. src/runtime/internal/atomic/atomic_mipsx.go (1 line): - line 21: // TODO implement lock striping src/cmd/trace/mmu.go (1 line): - line 7: // TODO: src/cmd/compile/internal/mips64/ssa.go (1 line): - line 774: // TODO: implement for clobberdead experiment. Nop is ok for now. src/cmd/compile/internal/ssa/fuse_branchredirect.go (1 line): - line 37: // TODO: if b contains only OpCopy or OpNot related to b.Controls, src/cmd/link/internal/loadmacho/ldmacho.go (1 line): - line 600: // TODO: check sym->type against outer->type. src/debug/elf/file.go (1 line): - line 31: // TODO: error reporting detail src/internal/bytealg/index_s390x.go (1 line): - line 16: // TODO: it would really be nicer for internal/cpu to figure out this src/cmd/compile/internal/ssa/debug.go (1 line): - line 773: // TODO all the calls to this are overkill; only need to do this for slots that are not present in the merge. src/encoding/xml/read.go (1 line): - line 382: // TODO: For now, simply ignore the field. In the near src/internal/fuzz/counters_unsupported.go (1 line): - line 5: // TODO: expand the set of supported platforms, with testing. Nothing about src/cmd/compile/internal/mips/ssa.go (1 line): - line 804: // TODO: implement for clobberdead experiment. Nop is ok for now. src/cmd/link/internal/ld/util.go (1 line): - line 60: // TODO: remove. Use ctxt.Errorf instead. src/unicode/casetables.go (1 line): - line 5: // TODO: This file contains the special casing rules for Turkish and Azeri only. src/internal/fuzz/mutator.go (1 line): - line 67: // TODO: consider mutating more than one value at a time. src/runtime/sys_linux_ppc64x.s (1 line): - line 848: // TODO: setup TLS. src/cmd/compile/internal/ssa/cse.go (1 line): - line 207: } // TODO and if this fails? src/runtime/signal_windows.go (1 line): - line 315: // TODO: This routine should do whatever is needed src/runtime/traceback.go (1 line): - line 853: // TODO: Unify this with gentraceback and CallersFrames. src/internal/poll/writev.go (1 line): - line 28: // TODO: read from sysconf(_SC_IOV_MAX)? The Linux default is src/internal/poll/errno_windows.go (1 line): - line 27: // TODO: add more here, after collecting data on the common src/go/parser/resolver.go (1 line): - line 338: // TODO: remove this once we've matched the parser resolution exactly. src/cmd/compile/internal/arm/ssa.go (1 line): - line 870: // TODO: implement for clobberdead experiment. Nop is ok for now. src/cmd/internal/obj/sym.go (1 line): - line 192: // TODO: find a better place and optimize to only sort TOC symbols src/cmd/compile/internal/typecheck/iimport.go (1 line): - line 457: // TODO: add support for using the kind in the non-typeparam case. src/net/http/pprof/pprof.go (1 line): - line 290: } else { // TODO: what's a good status code for canceled requests? 400? src/cmd/go/internal/modload/load.go (1 line): - line 2034: // TODO: Is this check needed? src/cmd/compile/internal/ssa/fuse_comparisons.go (1 line): - line 90: // TODO: could negate condition(s) to merge controls. src/runtime/sys_linux_mips64x.s (1 line): - line 540: // TODO: setup TLS. src/cmd/asm/internal/lex/tokenizer.go (1 line): - line 112: // TODO: Use constraint.IsGoBuild once it exists. src/cmd/api/goapi.go (1 line): - line 436: // TODO: ReleaseTags (need to load default) src/cmd/link/internal/amd64/asm.go (1 line): - line 144: // TODO: just needs relocation, no need to put in .dynsym src/runtime/defs_windows_arm.go (1 line): - line 82: // TODO: not implemented on ARM src/runtime/map_fast32.go (1 line): - line 378: // TODO: reuse overflow buckets instead of using new ones, if there src/strconv/ftoa.go (1 line): - line 15: // TODO: move elsewhere? src/runtime/mgc.go (1 line): - line 1389: // TODO: We could clear out buffers just before mark if this src/go/token/token.go (1 line): - line 333: // TODO: opt: use a perfect hash function instead of a global map. src/index/suffixarray/sais.go (1 line): - line 781: saX = sa[x] // TODO bounds check src/go/ast/filter.go (1 line): - line 464: // TODO: consider handling cases where: src/runtime/asm_arm.s (1 line): - line 888: MOVW (R2), R0 // TODO: This turns bad writes into bad reads. src/cmd/go/internal/cfg/cfg.go (1 line): - line 92: // need to change. TODO: This should be cleaned up. src/runtime/softfloat64.go (1 line): - line 515: // TODO: are there double-rounding problems here? See issue 48807. src/cmd/go/internal/work/gc.go (1 line): - line 247: // TODO: Test and delete these conditions. src/net/sock_windows.go (1 line): - line 14: // TODO: Implement this src/cmd/compile/internal/ssa/copyelim.go (1 line): - line 50: // (TODO: or can they? Needs a test.) src/cmd/internal/objfile/pe.go (1 line): - line 113: // TODO: Remove code looking for the old symbols when we no longer care about 1.3. src/cmd/link/internal/loader/symbolbuilder.go (1 line): - line 336: // FIXME: find a better mechanism for this doc/go_spec.html (1 line): - line 1557: