Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 61 for unwinding (0.19 sec)

  1. src/runtime/testdata/testprogcgo/panic.go

    package main
    
    // This program will crash.
    // We want to test unwinding from a cgo callback.
    
    /*
    void call_callback(void);
    */
    import "C"
    
    func init() {
    	register("PanicCallback", PanicCallback)
    }
    
    //export panic_callback
    func panic_callback() {
    	var i *int
    	*i = 42
    }
    
    func PanicCallback() {
    	C.call_callback()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Oct 27 20:29:07 UTC 2021
    - 312 bytes
    - Viewed (0)
  2. src/runtime/testdata/testprogcgo/sigpanic.go

    // Copyright 2018 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 main
    
    // This program will crash.
    // We want to test unwinding from sigpanic into C code (without a C symbolizer).
    
    /*
    #cgo CFLAGS: -O0
    
    char *pnil;
    
    static int f1(void) {
    	*pnil = 0;
    	return 0;
    }
    */
    import "C"
    
    func init() {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jan 31 02:13:21 UTC 2018
    - 484 bytes
    - Viewed (0)
  3. test/fixedbugs/issue51401.go

    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    // Issue 51401: bad inline info in generated interface method wrapper
    // causes infinite loop in stack unwinding.
    
    package main
    
    import "runtime"
    
    type Outer interface{ Inner }
    
    type impl struct{}
    
    func New() Outer { return &impl{} }
    
    type Inner interface {
    	DoStuff() error
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 01 21:27:42 UTC 2022
    - 766 bytes
    - Viewed (0)
  4. src/runtime/runtime-seh_windows_test.go

    	if runtime.GOARCH != "amd64" {
    		t.Skip("skipping amd64-only test")
    	}
    	// This test checks that Win32 is able to retrieve
    	// function metadata stored in the .pdata section
    	// by the Go linker.
    	// Win32 unwinding will fail if this test fails,
    	// as RtlUnwindEx uses RtlLookupFunctionEntry internally.
    	// If that's the case, don't bother investigating further,
    	// first fix the .pdata generation.
    	sehf1pc := abi.FuncPCABIInternal(sehf1)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jul 31 16:52:06 UTC 2023
    - 4.7K bytes
    - Viewed (0)
  5. src/runtime/tracestack.go

    //
    // fpunwindExpand checks if pcBuf contains logical frames (which include inlined
    // frames) or physical frames (produced by frame pointer unwinding) using a
    // sentinel value in pcBuf[0]. Logical frames are simply returned without the
    // sentinel. Physical frames are turned into logical frames via inline unwinding
    // and by applying the skip value that's stored in pcBuf[0].
    func fpunwindExpand(dst, pcBuf []uintptr) int {
    	if len(pcBuf) == 0 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 21 14:38:56 UTC 2024
    - 11K bytes
    - Viewed (0)
  6. src/runtime/testdata/testwinlib/main.c

            c->Rsp += 8;
    #elif defined(_X86_)
            c->Eip = *(DWORD *)c->Esp;
            c->Esp += 4;
    #else
            c->Pc = c->Lr;
    #endif
    #ifdef _ARM64_
            // TODO: remove when windows/arm64 supports SEH stack unwinding.
            return EXCEPTION_CONTINUE_EXECUTION;
    #endif
        }
        return EXCEPTION_CONTINUE_SEARCH;
    }
    LONG WINAPI customContinueHandlder(struct _EXCEPTION_POINTERS *ExceptionInfo)
    {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 05 08:26:52 UTC 2023
    - 2.5K bytes
    - Viewed (0)
  7. test/typeparam/issue58513.go

    // However, when these expressions are inlined, we were constructing
    // the function literal bodies with the inline-adjusted positions
    // instead of the original (inline-free) positions, which could lead
    // to infinite loops when unwinding the stack.
    
    package main
    
    import "runtime"
    
    func assert[_ any]() {
    	panic(0)
    }
    
    func Assert[To any]() func() {
    	return assert[To]
    }
    
    type asserter[_ any] struct{}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Feb 27 23:07:49 UTC 2023
    - 1.2K bytes
    - Viewed (0)
  8. test/fixedbugs/issue11256.go

    			// even a time.Sleep or a channel).
    			var buf [1024]byte
    			buf[0]++
    			for atomic.LoadInt32(&done) == 0 {
    				runtime.Gosched()
    			}
    			atomic.StoreInt32(&done, 0)
    			// Exit without unwinding stack barriers.
    			runtime.Goexit()
    		}()
    
    		// Generate some garbage.
    		x[i] = make([]byte, 1024*1024)
    
    		// Give GC some time to install stack barriers in the G.
    		time.Sleep(50 * time.Microsecond)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 29 15:02:30 UTC 2015
    - 1.1K bytes
    - Viewed (0)
  9. src/runtime/signal_arm64.go

    	c.set_sp(sp)
    	*(*uint64)(unsafe.Pointer(uintptr(sp))) = c.lr()
    	// Make sure a valid frame pointer is saved on the stack so that the
    	// frame pointer checks in adjustframe are happy, if they're enabled.
    	// Frame pointer unwinding won't visit the sigpanic frame, since
    	// sigpanic will save the same frame pointer before calling into a panic
    	// function.
    	*(*uint64)(unsafe.Pointer(uintptr(sp - goarch.PtrSize))) = c.r29()
    
    	pc := gp.sigpc
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Apr 05 18:16:00 UTC 2023
    - 3.8K bytes
    - Viewed (0)
  10. src/runtime/example_test.go

    		for {
    			frame, more := frames.Next()
    
    			// Process this frame.
    			//
    			// To keep this example's output stable
    			// even if there are changes in the testing package,
    			// stop unwinding when we leave package runtime.
    			if !strings.Contains(frame.File, "runtime/") {
    				break
    			}
    			fmt.Printf("- more:%v | %s\n", more, frame.Function)
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 18 22:05:09 UTC 2021
    - 1.5K bytes
    - Viewed (0)
Back to top