blob: 298bd83073a2afd212ce9bf0c1a23b13ada9b375 [file] [log] [blame] [edit]
//===- GoStatepoints.h - --------------------------------------------------===//
//
// 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.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_GOLLVM_PASSES_GOSTACKMAP_H
#define LLVM_GOLLVM_PASSES_GOSTACKMAP_H
// Special symbols used for stack maps.
#define GO_FUNC_SYM "go..func"
#define GO_STACKMAP_SYM_PREFIX "go..stackmap."
// A sentinel value that will be inserted to the exception table
// to indicate this is a Go function. The value is known to the
// runtime.
#define GO_FUNC_SENTINEL ((uint64_t)'G' | ((uint64_t)'O'<<8) | \
((uint64_t)'.'<<16) | ((uint64_t)'.'<<24) | \
((uint64_t)'F'<<32) | ((uint64_t)'U'<<40) | \
((uint64_t)'N'<<48) | ((uint64_t)'C'<<56))
#endif