summaryrefslogtreecommitdiff
path: root/src/vm/gdbjithelpers.h
blob: b5612a1b7b5d6c2f17d9d143300ade5b6ede4141 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
//*****************************************************************************
// File: gdbjithelpers.h
//
//
// Helper file with managed delegate for GDB JIT interface implemenation.
//
//*****************************************************************************


#ifndef __GDBJITHELPERS_H__
#define __GDBJITHELPERS_H__

struct SequencePointInfo
{
    int lineNumber, ilOffset;
    char16_t* fileName;
};

struct LocalVarInfo
{
    int startOffset;
    int endOffset;
    char16_t *name;
};

struct MethodDebugInfo
{
    SequencePointInfo* points;
    int size;
    LocalVarInfo* locals;
    int localsSize;

    MethodDebugInfo(int numPoints, int numLocals);
    ~MethodDebugInfo();
};

typedef BOOL (CALLBACK *GetInfoForMethodDelegate)(const char*, unsigned int, MethodDebugInfo& methodDebugInfo);
extern GetInfoForMethodDelegate getInfoForMethodDelegate;

#endif // !__GDBJITHELPERS_H__