Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 7 of 7 for appendWalkStmt (0.33 sec)

  1. src/cmd/compile/internal/walk/complit.go

    	}
    	appendWalkStmt(init, ir.NewAssignStmt(base.Pos, vauto, a))
    
    	if vstat != nil && n.Prealloc == nil && n.Esc() != ir.EscNone {
    		// If we allocated on the heap with ONEW, copy the static to the
    		// heap (4). We skip this for stack temporaries, because
    		// initStackTemp already handled the copy.
    		a = ir.NewStarExpr(base.Pos, vauto)
    		appendWalkStmt(init, ir.NewAssignStmt(base.Pos, a, vstat))
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 08 19:03:54 UTC 2023
    - 19.5K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/walk/builtin.go

    			nif.Body.Append(mkcall("panicunsafeslicelen", nil, &nif.Body))
    			appendWalkStmt(init, nif)
    		}
    
    		// if len < 0 { panicunsafeslicelen() }
    		nif := ir.NewIfStmt(base.Pos, nil, nil, nil)
    		nif.Cond = ir.NewBinaryExpr(base.Pos, ir.OLT, typecheck.Conv(len, lenType), ir.NewInt(base.Pos, 0))
    		nif.Body.Append(mkcall("panicunsafeslicelen", nil, &nif.Body))
    		appendWalkStmt(init, nif)
    
    		if sliceType.Elem().Size() == 0 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Mar 08 22:35:22 UTC 2024
    - 31.2K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/walk/temp.go

    func initStackTemp(init *ir.Nodes, tmp *ir.Name, val ir.Node) *ir.AddrExpr {
    	if val != nil && !types.Identical(tmp.Type(), val.Type()) {
    		base.Fatalf("bad initial value for %L: %L", tmp, val)
    	}
    	appendWalkStmt(init, ir.NewAssignStmt(base.Pos, tmp, val))
    	return typecheck.Expr(typecheck.NodAddr(tmp)).(*ir.AddrExpr)
    }
    
    // stackTempAddr returns the expression &tmp, where tmp is a newly
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 16:41:23 UTC 2024
    - 1.5K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/walk/walk.go

    	// modifying here. Fix explicitly.
    	ls := n.Args
    	for i1, n1 := range ls {
    		ls[i1] = cheapExpr(n1, init)
    	}
    }
    
    // appendWalkStmt typechecks and walks stmt and then appends it to init.
    func appendWalkStmt(init *ir.Nodes, stmt ir.Node) {
    	op := stmt.Op()
    	n := typecheck.Stmt(stmt)
    	if op == ir.OAS || op == ir.OAS2 {
    		// If the assignment has side effects, walkExpr will append them
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Feb 27 20:56:00 UTC 2024
    - 10.4K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/walk/convert.go

    			sptr := ir.NewUnaryExpr(base.Pos, ir.OSPTR, s)
    			sptr.SetBounded(true)
    			as := ir.NewAssignStmt(base.Pos, ir.NewStarExpr(base.Pos, p), ir.NewStarExpr(base.Pos, typecheck.ConvNop(sptr, t.PtrTo())))
    			appendWalkStmt(init, as)
    		}
    
    		// Slice the [n]byte to a []byte.
    		slice := ir.NewSliceExpr(n.Pos(), ir.OSLICEARR, p, nil, nil, nil)
    		slice.SetType(n.Type())
    		slice.SetTypecheck(1)
    		return walkExpr(slice, init)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 09 17:28:22 UTC 2023
    - 18.2K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/walk/assign.go

    		case ir.ODEREF:
    			l := l.(*ir.StarExpr)
    			save(&l.X)
    		case ir.ODOTPTR:
    			l := l.(*ir.SelectorExpr)
    			save(&l.X)
    		}
    
    		// Save expression on right side.
    		save(&r)
    
    		appendWalkStmt(&late, convas(ir.NewAssignStmt(base.Pos, lorig, r), &late))
    
    		// Check for reasons why we may need to compute later expressions
    		// before this assignment happens.
    
    		if name == nil {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:09:06 UTC 2024
    - 20.3K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/walk/expr.go

    		base.Fatalf("missing lvalue case in safeExpr: %v", n)
    	}
    	return cheapExpr(n, init)
    }
    
    func copyExpr(n ir.Node, t *types.Type, init *ir.Nodes) ir.Node {
    	l := typecheck.TempAt(base.Pos, ir.CurFunc, t)
    	appendWalkStmt(init, ir.NewAssignStmt(base.Pos, l, n))
    	return l
    }
    
    func walkAddString(n *ir.AddStringExpr, init *ir.Nodes) ir.Node {
    	c := len(n.List)
    
    	if c < 2 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:34:01 UTC 2024
    - 27.6K bytes
    - Viewed (0)
Back to top