javacommons/utils/tsrc/javasrc/com/nokia/mj/impl/rt/test/JvmPortTest.java
author hgs
Fri, 15 Oct 2010 12:29:39 +0300
changeset 80 d6dafc5d983f
permissions -rw-r--r--
v2.2.19_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
80
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     1
/*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     3
* All rights reserved.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     8
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    11
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    12
* Contributors:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    13
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    14
* Description:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    15
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    16
*/
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    17
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    18
package com.nokia.mj.impl.rt.test;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    19
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    20
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    21
import com.nokia.mj.impl.rt.JvmPort;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    22
import com.nokia.mj.impl.rt.support.ThreadEventListener;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    23
import com.nokia.mj.impl.rt.support.NativeMemoryBlock;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    24
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    25
public class JvmPortTest extends JvmPort
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    26
{
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    27
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    28
    public static final int LOADSYSTEMLIBRARY_CALL = 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    29
    public static final int LOADAPPLICATIONCLASS_CALL = 1;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    30
    public static final int RUNYOUNGGENERATIONGC_CALL = 2;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    31
    public static final int SETTHREADASDAEMON_CALL = 3;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    32
    public static final int GETRESOURCEASNATIVEMEMORY_CALL = 4;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    33
    public static final int DISABLERUNTIMEEXIT_CALL = 5;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    34
    public static final int ENABLERUNTIMEEXIT_CALL = 6;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    35
    public static final int EXITVM_CALL = 7;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    36
    public static final int RUNFINALIZATION_CALL = 8;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    37
    public static final int ENABLEFINALIZATION_CALL = 9;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    38
    public static final int SETTHREADEVENTLISTENER_CALL = 10;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    39
    public static final int ADDRESTRICTEDPACKAGEPREFIXES_CALL = 11;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    40
    public static final int ADDPROTECTEDPACKAGEPREFIXES_CALL = 12;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    41
    public static final int APPENDTOCLASSPATH_CALL = 13;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    42
    public static final int SHRINKJAVAHEAPTOMINIMUM_CALL = 14;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    43
    public static final int EXPANDJAVAHEAP_CALL = 15;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    44
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    45
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    46
    public static int[] mCalledArr = new int[16];
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    47
    public static int[] mCalledTotalArr = new int[16];
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    48
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    49
    static
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    50
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    51
        clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    52
        for (int i = 0; i < mCalledTotalArr.length; ++i)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    53
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    54
            mCalledTotalArr[i] = 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    55
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    56
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    57
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    58
    public static Object mObj1 = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    59
    public static Object mObj2 = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    60
    public static Object mReturnObj = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    61
    public static Throwable mThrowable = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    62
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    63
    public static void clear()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    64
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    65
        for (int i = 0; i < mCalledArr.length; ++i)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    66
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    67
            mCalledArr[i] = 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    68
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    69
        mObj1 = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    70
        mObj2 = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    71
        mReturnObj = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    72
        mThrowable = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    73
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    74
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    75
    public static void resetInstance()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    76
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    77
        sInstance = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    78
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    79
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    80
    public static boolean allCalled()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    81
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    82
        for (int i = 0; i < mCalledTotalArr.length; ++i)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    83
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    84
            if (mCalledTotalArr[i] == 0)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    85
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    86
                StringBuffer sb = new StringBuffer();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    87
                for (int j = 0; j < mCalledTotalArr.length; ++j)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    88
                {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    89
                    sb.append("\n");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    90
                    sb.append("  " + (j + 1) + " == " + mCalledTotalArr[j]);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    91
                }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    92
                System.err.println("All calls:"+ sb.toString());
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    93
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    94
                return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    95
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    96
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    97
        return true;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    98
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    99
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   100
    public static boolean checkCalls(int checkInd)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   101
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   102
        for (int i = 0; i < mCalledArr.length; ++i)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   103
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   104
            if (checkInd == i)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   105
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   106
                if (mCalledArr[i] != 1)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   107
                {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   108
                    return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   109
                }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   110
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   111
            else if (mCalledArr[i] != 0)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   112
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   113
                return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   114
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   115
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   116
        return true;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   117
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   118
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   119
    public static String print()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   120
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   121
        StringBuffer sb = new StringBuffer();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   122
        for (int i = 0; i < mCalledArr.length; ++i)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   123
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   124
            sb.append("\n");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   125
            sb.append("  " + (i + 1) + " == " + mCalledArr[i]);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   126
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   127
        return sb.toString();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   128
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   129
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   130
    public static void setSystemPropertyImpl(Object key, Object value)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   131
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   132
        mPropertiesContainer.setSystemProperty(key, value);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   133
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   134
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   135
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   136
    public void loadSystemLibrary(String libName)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   137
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   138
        mCalledArr[LOADSYSTEMLIBRARY_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   139
        mCalledTotalArr[LOADSYSTEMLIBRARY_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   140
        mObj1 = libName;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   141
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   142
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   143
    public Class loadApplicationClass(String name) throws ClassNotFoundException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   144
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   145
        mCalledArr[LOADAPPLICATIONCLASS_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   146
        mCalledTotalArr[LOADAPPLICATIONCLASS_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   147
        if (mThrowable != null)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   148
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   149
            throw(ClassNotFoundException)mThrowable;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   150
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   151
        mObj1 = name;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   152
        sInstance = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   153
        return (Class)mReturnObj;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   154
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   155
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   156
    public boolean runYoungGenerationGc()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   157
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   158
        mCalledArr[RUNYOUNGGENERATIONGC_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   159
        mCalledTotalArr[RUNYOUNGGENERATIONGC_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   160
        return ((Boolean)mReturnObj).booleanValue();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   161
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   162
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   163
    public void setThreadAsDaemon(Thread thread,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   164
                                  boolean daemon)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   165
    throws IllegalThreadStateException, SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   166
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   167
        mCalledArr[SETTHREADASDAEMON_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   168
        mCalledTotalArr[SETTHREADASDAEMON_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   169
        if (mThrowable != null)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   170
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   171
            if (mThrowable instanceof IllegalThreadStateException)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   172
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   173
                throw(IllegalThreadStateException)mThrowable;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   174
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   175
            else
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   176
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   177
                throw(SecurityException)mThrowable;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   178
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   179
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   180
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   181
        mObj1 = thread;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   182
        mObj2 = new Boolean(daemon);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   183
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   184
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   185
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   186
    public NativeMemoryBlock getResourceAsNativeMemory(String jarPath,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   187
            String resName)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   188
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   189
        mCalledArr[GETRESOURCEASNATIVEMEMORY_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   190
        mCalledTotalArr[GETRESOURCEASNATIVEMEMORY_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   191
        mObj1 = jarPath;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   192
        mObj2 = resName;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   193
        return (NativeMemoryBlock)mReturnObj;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   194
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   195
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   196
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   197
    public void disableRuntimeExit()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   198
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   199
        mCalledArr[DISABLERUNTIMEEXIT_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   200
        mCalledTotalArr[DISABLERUNTIMEEXIT_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   201
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   202
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   203
    public void enableRuntimeExit()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   204
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   205
        mCalledArr[ENABLERUNTIMEEXIT_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   206
        mCalledTotalArr[ENABLERUNTIMEEXIT_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   207
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   208
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   209
    public void exitVm(int status)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   210
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   211
        mCalledArr[EXITVM_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   212
        mCalledTotalArr[EXITVM_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   213
        mObj1 = new Integer(status);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   214
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   215
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   216
    public void runFinalization()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   217
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   218
        mCalledArr[RUNFINALIZATION_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   219
        mCalledTotalArr[RUNFINALIZATION_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   220
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   221
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   222
    public void enableFinalization(Class clazz)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   223
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   224
        mCalledArr[ENABLEFINALIZATION_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   225
        mCalledTotalArr[ENABLEFINALIZATION_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   226
        mObj1 = clazz;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   227
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   228
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   229
    public void setThreadEventListener(ThreadEventListener listener)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   230
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   231
        mCalledArr[SETTHREADEVENTLISTENER_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   232
        mCalledTotalArr[SETTHREADEVENTLISTENER_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   233
        mObj1 = listener;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   234
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   235
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   236
    public void addRestrictedPackagePrefixes(String[] packageNames)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   237
    throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   238
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   239
        mCalledArr[ADDRESTRICTEDPACKAGEPREFIXES_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   240
        mCalledTotalArr[ADDRESTRICTEDPACKAGEPREFIXES_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   241
        if (mThrowable != null)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   242
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   243
            throw(SecurityException)mThrowable;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   244
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   245
        mObj1 = packageNames;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   246
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   247
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   248
    public void addProtectedPackagePrefixes(String[] packageNames)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   249
    throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   250
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   251
        mCalledArr[ADDPROTECTEDPACKAGEPREFIXES_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   252
        mCalledTotalArr[ADDPROTECTEDPACKAGEPREFIXES_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   253
        if (mThrowable != null)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   254
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   255
            throw(SecurityException)mThrowable;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   256
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   257
        mObj1 = packageNames;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   258
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   259
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   260
    public void appendToClassPath(String path)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   261
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   262
        mCalledArr[APPENDTOCLASSPATH_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   263
        mCalledTotalArr[APPENDTOCLASSPATH_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   264
        mObj1 = path;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   265
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   266
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   267
    public int shrinkJavaHeapToMinimum()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   268
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   269
        mCalledArr[SHRINKJAVAHEAPTOMINIMUM_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   270
        mCalledTotalArr[SHRINKJAVAHEAPTOMINIMUM_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   271
        return ((Integer)mReturnObj).intValue();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   272
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   273
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   274
    public int expandJavaHeap(int amount)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   275
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   276
        mCalledArr[EXPANDJAVAHEAP_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   277
        mCalledTotalArr[EXPANDJAVAHEAP_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   278
        mObj1 = new Integer(amount);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   279
        return ((Integer)mReturnObj).intValue();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   280
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   281
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   282
}