triton-windows 3.1.0.post17__cp310-cp310-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of triton-windows might be problematic. Click here for more details.
- triton/_C/libtriton.pyd +0 -0
- triton/__init__.py +73 -0
- triton/backends/__init__.py +50 -0
- triton/backends/amd/compiler.py +262 -0
- triton/backends/amd/driver.c +211 -0
- triton/backends/amd/driver.py +497 -0
- triton/backends/amd/include/hip/amd_detail/amd_channel_descriptor.h +358 -0
- triton/backends/amd/include/hip/amd_detail/amd_device_functions.h +1031 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_atomic.h +1612 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_bf16.h +1337 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_bfloat16.h +293 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_common.h +32 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_complex.h +174 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_cooperative_groups.h +829 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_fp16.h +1809 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_gl_interop.h +108 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_math_constants.h +124 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_runtime.h +405 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_runtime_pt_api.h +196 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_unsafe_atomics.h +565 -0
- triton/backends/amd/include/hip/amd_detail/amd_hip_vector_types.h +2226 -0
- triton/backends/amd/include/hip/amd_detail/amd_math_functions.h +104 -0
- triton/backends/amd/include/hip/amd_detail/amd_surface_functions.h +244 -0
- triton/backends/amd/include/hip/amd_detail/amd_warp_functions.h +494 -0
- triton/backends/amd/include/hip/amd_detail/concepts.hpp +30 -0
- triton/backends/amd/include/hip/amd_detail/device_library_decls.h +133 -0
- triton/backends/amd/include/hip/amd_detail/functional_grid_launch.hpp +218 -0
- triton/backends/amd/include/hip/amd_detail/grid_launch.h +67 -0
- triton/backends/amd/include/hip/amd_detail/grid_launch.hpp +50 -0
- triton/backends/amd/include/hip/amd_detail/grid_launch_GGL.hpp +26 -0
- triton/backends/amd/include/hip/amd_detail/helpers.hpp +137 -0
- triton/backends/amd/include/hip/amd_detail/hip_api_trace.hpp +1350 -0
- triton/backends/amd/include/hip/amd_detail/hip_assert.h +101 -0
- triton/backends/amd/include/hip/amd_detail/hip_cooperative_groups_helper.h +242 -0
- triton/backends/amd/include/hip/amd_detail/hip_fp16_gcc.h +254 -0
- triton/backends/amd/include/hip/amd_detail/hip_fp16_math_fwd.h +96 -0
- triton/backends/amd/include/hip/amd_detail/hip_ldg.h +100 -0
- triton/backends/amd/include/hip/amd_detail/hip_prof_str.h +10169 -0
- triton/backends/amd/include/hip/amd_detail/hip_runtime_prof.h +77 -0
- triton/backends/amd/include/hip/amd_detail/host_defines.h +180 -0
- triton/backends/amd/include/hip/amd_detail/hsa_helpers.hpp +102 -0
- triton/backends/amd/include/hip/amd_detail/macro_based_grid_launch.hpp +798 -0
- triton/backends/amd/include/hip/amd_detail/math_fwd.h +698 -0
- triton/backends/amd/include/hip/amd_detail/ockl_image.h +177 -0
- triton/backends/amd/include/hip/amd_detail/program_state.hpp +107 -0
- triton/backends/amd/include/hip/amd_detail/texture_fetch_functions.h +491 -0
- triton/backends/amd/include/hip/amd_detail/texture_indirect_functions.h +478 -0
- triton/backends/amd/include/hip/channel_descriptor.h +39 -0
- triton/backends/amd/include/hip/device_functions.h +38 -0
- triton/backends/amd/include/hip/driver_types.h +468 -0
- triton/backends/amd/include/hip/hip_bf16.h +36 -0
- triton/backends/amd/include/hip/hip_bfloat16.h +44 -0
- triton/backends/amd/include/hip/hip_common.h +100 -0
- triton/backends/amd/include/hip/hip_complex.h +38 -0
- triton/backends/amd/include/hip/hip_cooperative_groups.h +46 -0
- triton/backends/amd/include/hip/hip_deprecated.h +95 -0
- triton/backends/amd/include/hip/hip_ext.h +159 -0
- triton/backends/amd/include/hip/hip_fp16.h +36 -0
- triton/backends/amd/include/hip/hip_gl_interop.h +32 -0
- triton/backends/amd/include/hip/hip_hcc.h +24 -0
- triton/backends/amd/include/hip/hip_math_constants.h +36 -0
- triton/backends/amd/include/hip/hip_profile.h +27 -0
- triton/backends/amd/include/hip/hip_runtime.h +75 -0
- triton/backends/amd/include/hip/hip_runtime_api.h +8919 -0
- triton/backends/amd/include/hip/hip_texture_types.h +29 -0
- triton/backends/amd/include/hip/hip_vector_types.h +41 -0
- triton/backends/amd/include/hip/hip_version.h +17 -0
- triton/backends/amd/include/hip/hiprtc.h +421 -0
- triton/backends/amd/include/hip/library_types.h +78 -0
- triton/backends/amd/include/hip/math_functions.h +42 -0
- triton/backends/amd/include/hip/surface_types.h +63 -0
- triton/backends/amd/include/hip/texture_types.h +194 -0
- triton/backends/amd/include/hsa/Brig.h +1131 -0
- triton/backends/amd/include/hsa/amd_hsa_common.h +91 -0
- triton/backends/amd/include/hsa/amd_hsa_elf.h +435 -0
- triton/backends/amd/include/hsa/amd_hsa_kernel_code.h +269 -0
- triton/backends/amd/include/hsa/amd_hsa_queue.h +109 -0
- triton/backends/amd/include/hsa/amd_hsa_signal.h +80 -0
- triton/backends/amd/include/hsa/hsa.h +5729 -0
- triton/backends/amd/include/hsa/hsa_amd_tool.h +91 -0
- triton/backends/amd/include/hsa/hsa_api_trace.h +566 -0
- triton/backends/amd/include/hsa/hsa_ext_amd.h +3090 -0
- triton/backends/amd/include/hsa/hsa_ext_finalize.h +531 -0
- triton/backends/amd/include/hsa/hsa_ext_image.h +1454 -0
- triton/backends/amd/include/hsa/hsa_ven_amd_aqlprofile.h +488 -0
- triton/backends/amd/include/hsa/hsa_ven_amd_loader.h +667 -0
- triton/backends/amd/include/roctracer/ext/prof_protocol.h +107 -0
- triton/backends/amd/include/roctracer/hip_ostream_ops.h +4435 -0
- triton/backends/amd/include/roctracer/hsa_ostream_ops.h +1467 -0
- triton/backends/amd/include/roctracer/hsa_prof_str.h +3027 -0
- triton/backends/amd/include/roctracer/roctracer.h +779 -0
- triton/backends/amd/include/roctracer/roctracer_ext.h +81 -0
- triton/backends/amd/include/roctracer/roctracer_hcc.h +24 -0
- triton/backends/amd/include/roctracer/roctracer_hip.h +37 -0
- triton/backends/amd/include/roctracer/roctracer_hsa.h +112 -0
- triton/backends/amd/include/roctracer/roctracer_plugin.h +137 -0
- triton/backends/amd/include/roctracer/roctracer_roctx.h +67 -0
- triton/backends/amd/include/roctracer/roctx.h +229 -0
- triton/backends/amd/lib/ockl.bc +0 -0
- triton/backends/amd/lib/ocml.bc +0 -0
- triton/backends/compiler.py +76 -0
- triton/backends/driver.py +34 -0
- triton/backends/nvidia/__init__.py +0 -0
- triton/backends/nvidia/bin/ptxas.exe +0 -0
- triton/backends/nvidia/compiler.py +347 -0
- triton/backends/nvidia/driver.c +451 -0
- triton/backends/nvidia/driver.py +430 -0
- triton/backends/nvidia/include/cuda.h +24359 -0
- triton/backends/nvidia/lib/libdevice.10.bc +0 -0
- triton/backends/nvidia/lib/x64/cuda.lib +0 -0
- triton/compiler/__init__.py +4 -0
- triton/compiler/code_generator.py +1302 -0
- triton/compiler/compiler.py +416 -0
- triton/compiler/errors.py +51 -0
- triton/compiler/make_launcher.py +0 -0
- triton/errors.py +5 -0
- triton/language/__init__.py +284 -0
- triton/language/core.py +2621 -0
- triton/language/extra/__init__.py +4 -0
- triton/language/extra/cuda/__init__.py +8 -0
- triton/language/extra/cuda/libdevice.py +1629 -0
- triton/language/extra/cuda/utils.py +109 -0
- triton/language/extra/hip/__init__.py +3 -0
- triton/language/extra/hip/libdevice.py +468 -0
- triton/language/extra/libdevice.py +1213 -0
- triton/language/math.py +250 -0
- triton/language/random.py +207 -0
- triton/language/semantic.py +1621 -0
- triton/language/standard.py +441 -0
- triton/ops/__init__.py +7 -0
- triton/ops/blocksparse/__init__.py +7 -0
- triton/ops/blocksparse/matmul.py +432 -0
- triton/ops/blocksparse/softmax.py +228 -0
- triton/ops/cross_entropy.py +96 -0
- triton/ops/flash_attention.py +466 -0
- triton/ops/matmul.py +219 -0
- triton/ops/matmul_perf_model.py +171 -0
- triton/runtime/__init__.py +23 -0
- triton/runtime/autotuner.py +361 -0
- triton/runtime/build.py +129 -0
- triton/runtime/cache.py +289 -0
- triton/runtime/driver.py +60 -0
- triton/runtime/errors.py +26 -0
- triton/runtime/interpreter.py +1127 -0
- triton/runtime/jit.py +956 -0
- triton/runtime/tcc/include/_mingw.h +170 -0
- triton/runtime/tcc/include/assert.h +57 -0
- triton/runtime/tcc/include/conio.h +409 -0
- triton/runtime/tcc/include/ctype.h +281 -0
- triton/runtime/tcc/include/dir.h +31 -0
- triton/runtime/tcc/include/direct.h +68 -0
- triton/runtime/tcc/include/dirent.h +135 -0
- triton/runtime/tcc/include/dos.h +55 -0
- triton/runtime/tcc/include/errno.h +75 -0
- triton/runtime/tcc/include/excpt.h +123 -0
- triton/runtime/tcc/include/fcntl.h +52 -0
- triton/runtime/tcc/include/fenv.h +108 -0
- triton/runtime/tcc/include/float.h +57 -0
- triton/runtime/tcc/include/inttypes.h +297 -0
- triton/runtime/tcc/include/io.h +418 -0
- triton/runtime/tcc/include/limits.h +111 -0
- triton/runtime/tcc/include/locale.h +91 -0
- triton/runtime/tcc/include/malloc.h +181 -0
- triton/runtime/tcc/include/math.h +737 -0
- triton/runtime/tcc/include/mem.h +13 -0
- triton/runtime/tcc/include/memory.h +40 -0
- triton/runtime/tcc/include/process.h +176 -0
- triton/runtime/tcc/include/sec_api/conio_s.h +42 -0
- triton/runtime/tcc/include/sec_api/crtdbg_s.h +19 -0
- triton/runtime/tcc/include/sec_api/io_s.h +33 -0
- triton/runtime/tcc/include/sec_api/mbstring_s.h +52 -0
- triton/runtime/tcc/include/sec_api/search_s.h +25 -0
- triton/runtime/tcc/include/sec_api/stdio_s.h +145 -0
- triton/runtime/tcc/include/sec_api/stdlib_s.h +67 -0
- triton/runtime/tcc/include/sec_api/stralign_s.h +30 -0
- triton/runtime/tcc/include/sec_api/string_s.h +41 -0
- triton/runtime/tcc/include/sec_api/sys/timeb_s.h +34 -0
- triton/runtime/tcc/include/sec_api/tchar_s.h +266 -0
- triton/runtime/tcc/include/sec_api/time_s.h +61 -0
- triton/runtime/tcc/include/sec_api/wchar_s.h +128 -0
- triton/runtime/tcc/include/setjmp.h +160 -0
- triton/runtime/tcc/include/share.h +28 -0
- triton/runtime/tcc/include/signal.h +63 -0
- triton/runtime/tcc/include/stdarg.h +79 -0
- triton/runtime/tcc/include/stdbool.h +11 -0
- triton/runtime/tcc/include/stddef.h +54 -0
- triton/runtime/tcc/include/stdint.h +212 -0
- triton/runtime/tcc/include/stdio.h +429 -0
- triton/runtime/tcc/include/stdlib.h +580 -0
- triton/runtime/tcc/include/string.h +164 -0
- triton/runtime/tcc/include/sys/fcntl.h +13 -0
- triton/runtime/tcc/include/sys/file.h +14 -0
- triton/runtime/tcc/include/sys/locking.h +30 -0
- triton/runtime/tcc/include/sys/stat.h +290 -0
- triton/runtime/tcc/include/sys/time.h +69 -0
- triton/runtime/tcc/include/sys/timeb.h +133 -0
- triton/runtime/tcc/include/sys/types.h +118 -0
- triton/runtime/tcc/include/sys/unistd.h +14 -0
- triton/runtime/tcc/include/sys/utime.h +146 -0
- triton/runtime/tcc/include/tcc/tcc_libm.h +201 -0
- triton/runtime/tcc/include/tcclib.h +80 -0
- triton/runtime/tcc/include/tchar.h +1102 -0
- triton/runtime/tcc/include/time.h +287 -0
- triton/runtime/tcc/include/vadefs.h +11 -0
- triton/runtime/tcc/include/values.h +4 -0
- triton/runtime/tcc/include/varargs.h +12 -0
- triton/runtime/tcc/include/wchar.h +873 -0
- triton/runtime/tcc/include/wctype.h +172 -0
- triton/runtime/tcc/include/winapi/basetsd.h +149 -0
- triton/runtime/tcc/include/winapi/basetyps.h +85 -0
- triton/runtime/tcc/include/winapi/guiddef.h +156 -0
- triton/runtime/tcc/include/winapi/poppack.h +8 -0
- triton/runtime/tcc/include/winapi/pshpack1.h +8 -0
- triton/runtime/tcc/include/winapi/pshpack2.h +8 -0
- triton/runtime/tcc/include/winapi/pshpack4.h +8 -0
- triton/runtime/tcc/include/winapi/pshpack8.h +8 -0
- triton/runtime/tcc/include/winapi/winbase.h +2951 -0
- triton/runtime/tcc/include/winapi/wincon.h +301 -0
- triton/runtime/tcc/include/winapi/windef.h +293 -0
- triton/runtime/tcc/include/winapi/windows.h +127 -0
- triton/runtime/tcc/include/winapi/winerror.h +3166 -0
- triton/runtime/tcc/include/winapi/wingdi.h +4080 -0
- triton/runtime/tcc/include/winapi/winnt.h +5835 -0
- triton/runtime/tcc/include/winapi/winreg.h +272 -0
- triton/runtime/tcc/include/winapi/winuser.h +5651 -0
- triton/runtime/tcc/include/winapi/winver.h +160 -0
- triton/runtime/tcc/lib/cuda.def +697 -0
- triton/runtime/tcc/lib/gdi32.def +337 -0
- triton/runtime/tcc/lib/kernel32.def +770 -0
- triton/runtime/tcc/lib/libtcc1-64.a +0 -0
- triton/runtime/tcc/lib/msvcrt.def +1399 -0
- triton/runtime/tcc/lib/python3.def +810 -0
- triton/runtime/tcc/lib/user32.def +658 -0
- triton/runtime/tcc/libtcc.dll +0 -0
- triton/runtime/tcc/tcc.exe +0 -0
- triton/testing.py +496 -0
- triton/tools/__init__.py +0 -0
- triton/tools/build_extern.py +365 -0
- triton/tools/compile.c +67 -0
- triton/tools/compile.h +14 -0
- triton/tools/compile.py +145 -0
- triton/tools/disasm.py +142 -0
- triton/tools/link.py +322 -0
- triton/windows_utils.py +373 -0
- triton_windows-3.1.0.post17.dist-info/METADATA +41 -0
- triton_windows-3.1.0.post17.dist-info/RECORD +248 -0
- triton_windows-3.1.0.post17.dist-info/WHEEL +5 -0
- triton_windows-3.1.0.post17.dist-info/top_level.txt +14 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file has no copyright assigned and is placed in the Public Domain.
|
|
3
|
+
* This file is part of the w64 mingw-runtime package.
|
|
4
|
+
* No warranty is given; refer to the file DISCLAIMER within this package.
|
|
5
|
+
*/
|
|
6
|
+
#ifndef _MALLOC_H_
|
|
7
|
+
#define _MALLOC_H_
|
|
8
|
+
|
|
9
|
+
#include <_mingw.h>
|
|
10
|
+
|
|
11
|
+
#pragma pack(push,_CRT_PACKING)
|
|
12
|
+
|
|
13
|
+
#ifndef _MM_MALLOC_H_INCLUDED
|
|
14
|
+
#define _MM_MALLOC_H_INCLUDED
|
|
15
|
+
#endif
|
|
16
|
+
|
|
17
|
+
#ifdef __cplusplus
|
|
18
|
+
extern "C" {
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
#ifdef _WIN64
|
|
22
|
+
#define _HEAP_MAXREQ 0xFFFFFFFFFFFFFFE0
|
|
23
|
+
#else
|
|
24
|
+
#define _HEAP_MAXREQ 0xFFFFFFE0
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
#ifndef _STATIC_ASSERT
|
|
28
|
+
#define _STATIC_ASSERT(expr) extern void __static_assert_t(int [(expr)?1:-1])
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
/* Return codes for _heapwalk() */
|
|
32
|
+
#define _HEAPEMPTY (-1)
|
|
33
|
+
#define _HEAPOK (-2)
|
|
34
|
+
#define _HEAPBADBEGIN (-3)
|
|
35
|
+
#define _HEAPBADNODE (-4)
|
|
36
|
+
#define _HEAPEND (-5)
|
|
37
|
+
#define _HEAPBADPTR (-6)
|
|
38
|
+
|
|
39
|
+
/* Values for _heapinfo.useflag */
|
|
40
|
+
#define _FREEENTRY 0
|
|
41
|
+
#define _USEDENTRY 1
|
|
42
|
+
|
|
43
|
+
#ifndef _HEAPINFO_DEFINED
|
|
44
|
+
#define _HEAPINFO_DEFINED
|
|
45
|
+
/* The structure used to walk through the heap with _heapwalk. */
|
|
46
|
+
typedef struct _heapinfo {
|
|
47
|
+
int *_pentry;
|
|
48
|
+
size_t _size;
|
|
49
|
+
int _useflag;
|
|
50
|
+
} _HEAPINFO;
|
|
51
|
+
#endif
|
|
52
|
+
|
|
53
|
+
extern unsigned int _amblksiz;
|
|
54
|
+
|
|
55
|
+
#define _mm_free(a) _aligned_free(a)
|
|
56
|
+
#define _mm_malloc(a,b) _aligned_malloc(a,b)
|
|
57
|
+
|
|
58
|
+
#ifndef _CRT_ALLOCATION_DEFINED
|
|
59
|
+
#define _CRT_ALLOCATION_DEFINED
|
|
60
|
+
void *__cdecl calloc(size_t _NumOfElements,size_t _SizeOfElements);
|
|
61
|
+
void __cdecl free(void *_Memory);
|
|
62
|
+
void *__cdecl malloc(size_t _Size);
|
|
63
|
+
void *__cdecl realloc(void *_Memory,size_t _NewSize);
|
|
64
|
+
_CRTIMP void *__cdecl _recalloc(void *_Memory,size_t _Count,size_t _Size);
|
|
65
|
+
/* _CRTIMP void __cdecl _aligned_free(void *_Memory);
|
|
66
|
+
_CRTIMP void *__cdecl _aligned_malloc(size_t _Size,size_t _Alignment); */
|
|
67
|
+
_CRTIMP void *__cdecl _aligned_offset_malloc(size_t _Size,size_t _Alignment,size_t _Offset);
|
|
68
|
+
_CRTIMP void *__cdecl _aligned_realloc(void *_Memory,size_t _Size,size_t _Alignment);
|
|
69
|
+
_CRTIMP void *__cdecl _aligned_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment);
|
|
70
|
+
_CRTIMP void *__cdecl _aligned_offset_realloc(void *_Memory,size_t _Size,size_t _Alignment,size_t _Offset);
|
|
71
|
+
_CRTIMP void *__cdecl _aligned_offset_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment,size_t _Offset);
|
|
72
|
+
#endif
|
|
73
|
+
|
|
74
|
+
#define _MAX_WAIT_MALLOC_CRT 60000
|
|
75
|
+
|
|
76
|
+
_CRTIMP int __cdecl _resetstkoflw (void);
|
|
77
|
+
_CRTIMP unsigned long __cdecl _set_malloc_crt_max_wait(unsigned long _NewValue);
|
|
78
|
+
|
|
79
|
+
_CRTIMP void *__cdecl _expand(void *_Memory,size_t _NewSize);
|
|
80
|
+
_CRTIMP size_t __cdecl _msize(void *_Memory);
|
|
81
|
+
#ifdef __GNUC__
|
|
82
|
+
#undef _alloca
|
|
83
|
+
#define _alloca(x) __builtin_alloca((x))
|
|
84
|
+
#else
|
|
85
|
+
/* tcc implements alloca internally and exposes it (since commit d778bde7).
|
|
86
|
+
/* alloca is declared at include/stddef.h (which is distributed with tcc).
|
|
87
|
+
*/
|
|
88
|
+
#ifdef _alloca
|
|
89
|
+
#undef _alloca
|
|
90
|
+
#endif
|
|
91
|
+
#define _alloca(x) alloca((x))
|
|
92
|
+
#endif
|
|
93
|
+
_CRTIMP size_t __cdecl _get_sbh_threshold(void);
|
|
94
|
+
_CRTIMP int __cdecl _set_sbh_threshold(size_t _NewValue);
|
|
95
|
+
_CRTIMP errno_t __cdecl _set_amblksiz(size_t _Value);
|
|
96
|
+
_CRTIMP errno_t __cdecl _get_amblksiz(size_t *_Value);
|
|
97
|
+
_CRTIMP int __cdecl _heapadd(void *_Memory,size_t _Size);
|
|
98
|
+
_CRTIMP int __cdecl _heapchk(void);
|
|
99
|
+
_CRTIMP int __cdecl _heapmin(void);
|
|
100
|
+
_CRTIMP int __cdecl _heapset(unsigned int _Fill);
|
|
101
|
+
_CRTIMP int __cdecl _heapwalk(_HEAPINFO *_EntryInfo);
|
|
102
|
+
_CRTIMP size_t __cdecl _heapused(size_t *_Used,size_t *_Commit);
|
|
103
|
+
_CRTIMP intptr_t __cdecl _get_heap_handle(void);
|
|
104
|
+
|
|
105
|
+
#define _ALLOCA_S_THRESHOLD 1024
|
|
106
|
+
#define _ALLOCA_S_STACK_MARKER 0xCCCC
|
|
107
|
+
#define _ALLOCA_S_HEAP_MARKER 0xDDDD
|
|
108
|
+
|
|
109
|
+
#if(defined(_X86_) && !defined(__x86_64))
|
|
110
|
+
#define _ALLOCA_S_MARKER_SIZE 8
|
|
111
|
+
#elif defined(__ia64__) || defined(__x86_64)
|
|
112
|
+
#define _ALLOCA_S_MARKER_SIZE 16
|
|
113
|
+
#endif
|
|
114
|
+
|
|
115
|
+
#if !defined(RC_INVOKED)
|
|
116
|
+
static __inline void *_MarkAllocaS(void *_Ptr,unsigned int _Marker) {
|
|
117
|
+
if(_Ptr) {
|
|
118
|
+
*((unsigned int*)_Ptr) = _Marker;
|
|
119
|
+
_Ptr = (char*)_Ptr + _ALLOCA_S_MARKER_SIZE;
|
|
120
|
+
}
|
|
121
|
+
return _Ptr;
|
|
122
|
+
}
|
|
123
|
+
#endif
|
|
124
|
+
|
|
125
|
+
#undef _malloca
|
|
126
|
+
#define _malloca(size) \
|
|
127
|
+
((((size) + _ALLOCA_S_MARKER_SIZE) <= _ALLOCA_S_THRESHOLD) ? \
|
|
128
|
+
_MarkAllocaS(_alloca((size) + _ALLOCA_S_MARKER_SIZE),_ALLOCA_S_STACK_MARKER) : \
|
|
129
|
+
_MarkAllocaS(malloc((size) + _ALLOCA_S_MARKER_SIZE),_ALLOCA_S_HEAP_MARKER))
|
|
130
|
+
#undef _FREEA_INLINE
|
|
131
|
+
#define _FREEA_INLINE
|
|
132
|
+
|
|
133
|
+
#ifndef RC_INVOKED
|
|
134
|
+
#undef _freea
|
|
135
|
+
static __inline void __cdecl _freea(void *_Memory) {
|
|
136
|
+
unsigned int _Marker;
|
|
137
|
+
if(_Memory) {
|
|
138
|
+
_Memory = (char*)_Memory - _ALLOCA_S_MARKER_SIZE;
|
|
139
|
+
_Marker = *(unsigned int *)_Memory;
|
|
140
|
+
if(_Marker==_ALLOCA_S_HEAP_MARKER) {
|
|
141
|
+
free(_Memory);
|
|
142
|
+
}
|
|
143
|
+
#ifdef _ASSERTE
|
|
144
|
+
else if(_Marker!=_ALLOCA_S_STACK_MARKER) {
|
|
145
|
+
_ASSERTE(("Corrupted pointer passed to _freea",0));
|
|
146
|
+
}
|
|
147
|
+
#endif
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
#endif /* RC_INVOKED */
|
|
151
|
+
|
|
152
|
+
#ifndef NO_OLDNAMES
|
|
153
|
+
#ifdef __GNUC__
|
|
154
|
+
#undef alloca
|
|
155
|
+
#define alloca(x) __builtin_alloca((x))
|
|
156
|
+
#endif
|
|
157
|
+
#endif
|
|
158
|
+
|
|
159
|
+
#ifdef HEAPHOOK
|
|
160
|
+
#ifndef _HEAPHOOK_DEFINED
|
|
161
|
+
#define _HEAPHOOK_DEFINED
|
|
162
|
+
typedef int (__cdecl *_HEAPHOOK)(int,size_t,void *,void **);
|
|
163
|
+
#endif
|
|
164
|
+
|
|
165
|
+
_CRTIMP _HEAPHOOK __cdecl _setheaphook(_HEAPHOOK _NewHook);
|
|
166
|
+
|
|
167
|
+
#define _HEAP_MALLOC 1
|
|
168
|
+
#define _HEAP_CALLOC 2
|
|
169
|
+
#define _HEAP_FREE 3
|
|
170
|
+
#define _HEAP_REALLOC 4
|
|
171
|
+
#define _HEAP_MSIZE 5
|
|
172
|
+
#define _HEAP_EXPAND 6
|
|
173
|
+
#endif
|
|
174
|
+
|
|
175
|
+
#ifdef __cplusplus
|
|
176
|
+
}
|
|
177
|
+
#endif
|
|
178
|
+
|
|
179
|
+
#pragma pack(pop)
|
|
180
|
+
|
|
181
|
+
#endif /* _MALLOC_H_ */
|