Optimize/eliminate bounds checking

TODO: do better at it by tracking min/max values of integers. The
following straightforward code doesn't have its bounds checks removed:

    for _, n := range slice {
        println(n)
    }
This commit is contained in:
Ayke van Laethem
2018-09-02 16:24:50 +02:00
parent 42cddd3260
commit 88b6b2e7f5
7 changed files with 48 additions and 19 deletions
+1
View File
@@ -44,6 +44,7 @@ var (
// Get the function pointer for the method on the interface.
// This is a compiler intrinsic.
//go:nobounds
func interfaceMethod(itf _interface, method uint16) *uint8 {
// This function doesn't do bounds checking as the supplied method must be
// in the list of signatures. The compiler will only emit