Skip to content

Commit 2de11ea

Browse files
committed
Add new cu to build files
1 parent 9317f97 commit 2de11ea

File tree

6 files changed

+9
-75
lines changed

6 files changed

+9
-75
lines changed

Makefile.pre.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,7 @@ OBJECT_OBJS= \
476476
Objects/unicodectype.o \
477477
Objects/unionobject.o \
478478
Objects/weakrefobject.o \
479+
Objects/perf_trampoline.o \
479480
@PERF_TRAMPOLINE_OBJ@
480481

481482
DEEPFREEZE_OBJS = Python/deepfreeze/deepfreeze.o

Objects/codeobject.c

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,8 @@
99
#include "pycore_opcode.h" // _PyOpcode_Deopt
1010
#include "pycore_pystate.h" // _PyInterpreterState_GET()
1111
#include "pycore_tuple.h" // _PyTuple_ITEMS()
12-
#include "pycore_ceval.h" // _PyTuple_ITEMS()
1312
#include "clinic/codeobject.c.h"
1413

15-
#include <stdio.h>
16-
#include <stdlib.h>
17-
#include <sys/mman.h>
18-
#include <stdio.h>
19-
#include <unistd.h>
20-
21-
#include <sys/types.h>
22-
#include <stdio.h>
23-
#include <stdlib.h>
24-
#include <errno.h>
25-
26-
27-
2814

2915
/******************
3016
* generic helpers
@@ -300,56 +286,6 @@ _PyCode_Validate(struct _PyCodeConstructor *con)
300286
return 0;
301287
}
302288

303-
#ifdef HAVE_PERF_TRAMPOLINE
304-
extern void* _Py_trampoline_func_start;
305-
extern void* _Py_trampoline_func_end;
306-
307-
py_trampoline compile_trampoline(void) {
308-
char *memory = mmap(NULL, // address
309-
PAGESIZE, // size
310-
PROT_READ | PROT_WRITE | PROT_EXEC,
311-
MAP_PRIVATE | MAP_ANONYMOUS,
312-
-1, // fd (not used here)
313-
0); // offset (not used here)
314-
if (!memory) {
315-
perror("failed to allocate memory");
316-
exit(1);
317-
}
318-
319-
void* start = &_Py_trampoline_func_start;
320-
void* end = &_Py_trampoline_func_end;
321-
size_t ss = end-start;
322-
memcpy(memory, start, ss*sizeof(char));
323-
324-
return (py_trampoline) memory;
325-
}
326-
327-
FILE *perf_map_open(pid_t pid) {
328-
char filename[500];
329-
snprintf(filename, sizeof(filename), "/tmp/perf-%d.map", pid);
330-
FILE * res = fopen(filename, "a");
331-
if (!res) {
332-
fprintf(stderr, "Couldn't open %s: errno(%d)", filename, errno);
333-
exit(0);
334-
}
335-
return res;
336-
}
337-
338-
int perf_map_close(FILE *fp) {
339-
if (fp)
340-
return fclose(fp);
341-
else
342-
return 0;
343-
}
344-
345-
void perf_map_write_entry(FILE *method_file, const void* code_addr, unsigned int code_size,
346-
const char* entry, const char* file) {
347-
fprintf(method_file, "%lx %x py::%s:%s\n", (unsigned long) code_addr, code_size, entry, file);
348-
}
349-
350-
typedef PyObject* (*py_evaluator)(PyThreadState *, _PyInterpreterFrame *, int throwflag);
351-
#endif
352-
353289
static void
354290
init_code(PyCodeObject *co, struct _PyCodeConstructor *con)
355291
{
@@ -364,17 +300,6 @@ init_code(PyCodeObject *co, struct _PyCodeConstructor *con)
364300
co->co_name = con->name;
365301
Py_INCREF(con->qualname);
366302
co->co_qualname = con->qualname;
367-
368-
#ifdef HAVE_PERF_TRAMPOLINE
369-
py_trampoline f = compile_trampoline();
370-
FILE* pfile = perf_map_open(getpid());
371-
perf_map_write_entry(pfile, f, 4096,
372-
PyUnicode_AsUTF8(con->qualname),
373-
PyUnicode_AsUTF8(con->filename));
374-
perf_map_close(pfile);
375-
376-
co->co_trampoline = f;
377-
#endif
378303
co->co_flags = con->flags;
379304

380305
co->co_firstlineno = con->firstlineno;

PCbuild/_freeze_module.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@
129129
<ClCompile Include="..\Objects\cellobject.c" />
130130
<ClCompile Include="..\Objects\classobject.c" />
131131
<ClCompile Include="..\Objects\codeobject.c" />
132+
<ClCompile Include="..\Objects\perf_trampoline.c" />
132133
<ClCompile Include="..\Objects\complexobject.c" />
133134
<ClCompile Include="..\Objects\descrobject.c" />
134135
<ClCompile Include="..\Objects\dictobject.c" />

PCbuild/_freeze_module.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@
8585
<ClCompile Include="..\Objects\codeobject.c">
8686
<Filter>Source Files</Filter>
8787
</ClCompile>
88+
<ClCompile Include="..\Objects\perf_trampolie.c">
89+
<Filter>Source Files</Filter>
90+
</ClCompile>
8891
<ClCompile Include="..\Python\compile.c">
8992
<Filter>Source Files</Filter>
9093
</ClCompile>

PCbuild/pythoncore.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,7 @@
430430
<ClCompile Include="..\Objects\cellobject.c" />
431431
<ClCompile Include="..\Objects\classobject.c" />
432432
<ClCompile Include="..\Objects\codeobject.c" />
433+
<ClCompile Include="..\Objects\perf_trampoline.c" />
433434
<ClCompile Include="..\Objects\complexobject.c" />
434435
<ClCompile Include="..\Objects\descrobject.c" />
435436
<ClCompile Include="..\Objects\dictobject.c" />

PCbuild/pythoncore.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -926,6 +926,9 @@
926926
<ClCompile Include="..\Objects\codeobject.c">
927927
<Filter>Objects</Filter>
928928
</ClCompile>
929+
<ClCompile Include="..\Objects\perf_trampoline.c">
930+
<Filter>Objects</Filter>
931+
</ClCompile>
929932
<ClCompile Include="..\Objects\complexobject.c">
930933
<Filter>Objects</Filter>
931934
</ClCompile>

0 commit comments

Comments
 (0)