jdk/src/share/demo/jvmti/hprof/hprof_util.h
author goetz
Thu, 21 Nov 2013 18:29:34 -0800
changeset 22852 1063026e8cee
parent 14342 8435a30053c1
permissions -rw-r--r--
8028471: PPC64 (part 215): opto: Extend ImplicitNullCheck optimization. Summary: Fixed Implicit NULL check optimization for AIX, where the page at address '0' is only write-protected. Reviewed-by: kvn
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
/*
14342
8435a30053c1 7197491: update copyright year to match last edit in jdk8 jdk repository
alanb
parents: 13678
diff changeset
     2
 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
 * Redistribution and use in source and binary forms, with or without
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
 * modification, are permitted provided that the following conditions
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
 * are met:
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
 *   - Redistributions of source code must retain the above copyright
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
 *     notice, this list of conditions and the following disclaimer.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
 *   - Redistributions in binary form must reproduce the above copyright
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
 *     notice, this list of conditions and the following disclaimer in the
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
 *     documentation and/or other materials provided with the distribution.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
 *
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    15
 *   - Neither the name of Oracle nor the names of its
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
 *     contributors may be used to endorse or promote products derived
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
 *     from this software without specific prior written permission.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
10292
ed7db6a12c2a 7067811: Update demo/sample code to state it should not be used for production
nloodin
parents: 5506
diff changeset
    32
/*
ed7db6a12c2a 7067811: Update demo/sample code to state it should not be used for production
nloodin
parents: 5506
diff changeset
    33
 * This source code is provided to illustrate the usage of a given feature
ed7db6a12c2a 7067811: Update demo/sample code to state it should not be used for production
nloodin
parents: 5506
diff changeset
    34
 * or technique and has been deliberately simplified. Additional steps
ed7db6a12c2a 7067811: Update demo/sample code to state it should not be used for production
nloodin
parents: 5506
diff changeset
    35
 * required for a production-quality application, such as security checks,
ed7db6a12c2a 7067811: Update demo/sample code to state it should not be used for production
nloodin
parents: 5506
diff changeset
    36
 * input validation and proper error handling, might not be present in
ed7db6a12c2a 7067811: Update demo/sample code to state it should not be used for production
nloodin
parents: 5506
diff changeset
    37
 * this sample code.
ed7db6a12c2a 7067811: Update demo/sample code to state it should not be used for production
nloodin
parents: 5506
diff changeset
    38
 */
ed7db6a12c2a 7067811: Update demo/sample code to state it should not be used for production
nloodin
parents: 5506
diff changeset
    39
ed7db6a12c2a 7067811: Update demo/sample code to state it should not be used for production
nloodin
parents: 5506
diff changeset
    40
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
#ifndef HPROF_UTIL_H
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
#define HPROF_UTIL_H
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
13678
5c8001201f98 7197771: Adjust jdk sources to avoid use of implementation defined value of __FILE__
ohair
parents: 10292
diff changeset
    44
/* Use THIS_FILE when it is available. */
5c8001201f98 7197771: Adjust jdk sources to avoid use of implementation defined value of __FILE__
ohair
parents: 10292
diff changeset
    45
#ifndef THIS_FILE
5c8001201f98 7197771: Adjust jdk sources to avoid use of implementation defined value of __FILE__
ohair
parents: 10292
diff changeset
    46
    #define THIS_FILE __FILE__
5c8001201f98 7197771: Adjust jdk sources to avoid use of implementation defined value of __FILE__
ohair
parents: 10292
diff changeset
    47
#endif
5c8001201f98 7197771: Adjust jdk sources to avoid use of implementation defined value of __FILE__
ohair
parents: 10292
diff changeset
    48
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
/* Macros that protect code from accidently using a local ref improperly */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
#define WITH_LOCAL_REFS(env, number)            \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
    {                                           \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
        JNIEnv *_env = (env);                   \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
        pushLocalFrame(_env, number);           \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
        { /* BEGINNING OF WITH SCOPE */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
#define END_WITH_LOCAL_REFS                     \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
        } /* END OF WITH SCOPE */               \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
        popLocalFrame(_env, NULL);              \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
/* Macro to check for exceptions after JNI calls. */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
#define CHECK_EXCEPTIONS(env)                                           \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
    {                                                                   \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
        JNIEnv *_env = (env);                                           \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
        jobject _exception;                                             \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
        _exception = exceptionOccurred(_env);                           \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
        if ( _exception != NULL ) {                                     \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
            exceptionDescribe(_env);                                    \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
            HPROF_ERROR(JNI_TRUE, "Unexpected Exception found beforehand");\
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
        }                                                               \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
        {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
#define END_CHECK_EXCEPTIONS                                            \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
        }                                                               \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
        _exception = exceptionOccurred(_env);                           \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
        if ( _exception != NULL ) {                                     \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
            exceptionDescribe(_env);                                    \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
            HPROF_ERROR(JNI_TRUE, "Unexpected Exception found afterward");\
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
        }                                                               \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
JNIEnv *   getEnv(void);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
/* JNI support functions */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
jobject    newGlobalReference(JNIEnv *env, jobject object);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
jobject    newWeakGlobalReference(JNIEnv *env, jobject object);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
void       deleteGlobalReference(JNIEnv *env, jobject object);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
jobject           newLocalReference(JNIEnv *env, jobject object);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
void           deleteLocalReference(JNIEnv *env, jobject object);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
void       deleteWeakGlobalReference(JNIEnv *env, jobject object);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
jclass     getObjectClass(JNIEnv *env, jobject object);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
jmethodID  getMethodID(JNIEnv *env, jclass clazz, const char* name,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
                        const char *sig);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
jclass     getSuperclass(JNIEnv *env, jclass klass);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
jmethodID  getStaticMethodID(JNIEnv *env, jclass clazz, const char* name,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
                        const char *sig);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
jfieldID   getStaticFieldID(JNIEnv *env, jclass clazz, const char* name,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
                        const char *sig);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
jclass     findClass(JNIEnv *env, const char *name);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
void       setStaticIntField(JNIEnv *env, jclass clazz, jfieldID field,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
                        jint value);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
jboolean   isSameObject(JNIEnv *env, jobject o1, jobject o2);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
void       pushLocalFrame(JNIEnv *env, jint capacity);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
void       popLocalFrame(JNIEnv *env, jobject ret);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
jobject    exceptionOccurred(JNIEnv *env);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
void       exceptionDescribe(JNIEnv *env);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
void       exceptionClear(JNIEnv *env);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
void       registerNatives(JNIEnv *env, jclass clazz,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
                        JNINativeMethod *methods, jint count);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
/* More JVMTI support functions */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
char *    getErrorName(jvmtiError error_number);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
jvmtiPhase getPhase(void);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
char *    phaseString(jvmtiPhase phase);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
void      disposeEnvironment(void);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
jlong     getObjectSize(jobject object);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
jobject   getClassLoader(jclass klass);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
jint      getClassStatus(jclass klass);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
jlong     getTag(jobject object);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
void      setTag(jobject object, jlong tag);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
void      getObjectMonitorUsage(jobject object, jvmtiMonitorUsage *uinfo);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
void      getOwnedMonitorInfo(jthread thread, jobject **ppobjects,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
                        jint *pcount);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
void      getSystemProperty(const char *name, char **value);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
void      getClassSignature(jclass klass, char**psignature,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   126
                        char **pgeneric_signature);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
void      getSourceFileName(jclass klass, char** src_name_ptr);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
jvmtiPrimitiveType sigToPrimType(char *sig);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
int       sigToPrimSize(char *sig);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
char      primTypeToSigChar(jvmtiPrimitiveType primType);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
void      getAllClassFieldInfo(JNIEnv *env, jclass klass,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
                        jint* field_count_ptr, FieldInfo** fields_ptr);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
void      getMethodName(jmethodID method, char** name_ptr,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
                        char** signature_ptr);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
void      getMethodClass(jmethodID method, jclass *pclazz);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
jboolean  isMethodNative(jmethodID method);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
void      getPotentialCapabilities(jvmtiCapabilities *capabilities);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
void      addCapabilities(jvmtiCapabilities *capabilities);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
void      setEventCallbacks(jvmtiEventCallbacks *pcallbacks);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
void      setEventNotificationMode(jvmtiEventMode mode, jvmtiEvent event,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
                        jthread thread);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
void *    getThreadLocalStorage(jthread thread);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
void      setThreadLocalStorage(jthread thread, void *ptr);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
void      getThreadState(jthread thread, jint *threadState);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
void      getThreadInfo(jthread thread, jvmtiThreadInfo *info);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
void      getThreadGroupInfo(jthreadGroup thread_group, jvmtiThreadGroupInfo *info);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
void      getLoadedClasses(jclass **ppclasses, jint *pcount);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
jint      getLineNumber(jmethodID method, jlocation location);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
jlong     getMaxMemory(JNIEnv *env);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
void      createAgentThread(JNIEnv *env, const char *name,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
                        jvmtiStartFunction func);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
jlong     getThreadCpuTime(jthread thread);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
void      getStackTrace(jthread thread, jvmtiFrameInfo *pframes, jint depth,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
                        jint *pcount);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
void      getThreadListStackTraces(jint count, jthread *threads,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
                        jint depth, jvmtiStackInfo **stack_info);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
void      getFrameCount(jthread thread, jint *pcount);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
void      followReferences(jvmtiHeapCallbacks *pHeapCallbacks, void *user_data);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
/* GC control */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
void      runGC(void);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
/* Get initial JVMTI environment */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
void      getJvmti(void);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
/* Get current runtime JVMTI version */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
jint      jvmtiVersion(void);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
/* Raw monitor functions */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
jrawMonitorID createRawMonitor(const char *str);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
void          rawMonitorEnter(jrawMonitorID m);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
void          rawMonitorWait(jrawMonitorID m, jlong pause_time);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
void          rawMonitorNotifyAll(jrawMonitorID m);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
void          rawMonitorExit(jrawMonitorID m);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
void          destroyRawMonitor(jrawMonitorID m);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
/* JVMTI alloc/dealloc */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
void *        jvmtiAllocate(int size);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
void          jvmtiDeallocate(void *ptr);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
/* System malloc/free */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
void *        hprof_malloc(int size);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
void          hprof_free(void *ptr);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
#include "debug_malloc.h"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
#ifdef DEBUG
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
    void *        hprof_debug_malloc(int size, char *file, int line);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
    void          hprof_debug_free(void *ptr, char *file, int line);
13678
5c8001201f98 7197771: Adjust jdk sources to avoid use of implementation defined value of __FILE__
ohair
parents: 10292
diff changeset
   192
    #define HPROF_MALLOC(size)  hprof_debug_malloc(size, THIS_FILE, __LINE__)
5c8001201f98 7197771: Adjust jdk sources to avoid use of implementation defined value of __FILE__
ohair
parents: 10292
diff changeset
   193
    #define HPROF_FREE(ptr)     hprof_debug_free(ptr, THIS_FILE, __LINE__)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
#else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
    #define HPROF_MALLOC(size)  hprof_malloc(size)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
    #define HPROF_FREE(ptr)     hprof_free(ptr)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
#endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
#endif