IKVM11  11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
Runtime.cs
Go to the documentation of this file.
1/*
2 Copyright (C) 2007-2014 Jeroen Frijters
3
4 This software is provided 'as-is', without any express or implied
5 warranty. In no event will the authors be held liable for any damages
6 arising from the use of this software.
7
8 Permission is granted to anyone to use this software for any purpose,
9 including commercial applications, and to alter it and redistribute it
10 freely, subject to the following restrictions:
11
12 1. The origin of this software must not be misrepresented; you must not
13 claim that you wrote the original software. If you use this software
14 in a product, an acknowledgment in the product documentation would be
15 appreciated but is not required.
16 2. Altered source versions must be plainly marked as such, and must not be
17 misrepresented as being the original software.
18 3. This notice may not be removed or altered from any source distribution.
19
20 Jeroen Frijters
21 jeroen@frijters.net
22
23*/
24using System;
25
27{
28
29 static class Runtime
30 {
31
32 public static int availableProcessors(object thisRuntime)
33 {
34 return Environment.ProcessorCount;
35 }
36
37 public static long freeMemory(object thisRuntime)
38 {
39 // TODO figure out if there is anything meaningful we can return here
40 return 10 * 1024 * 1024;
41 }
42
43 public static long totalMemory(object thisRuntime)
44 {
45 // NOTE this really is a bogus number, but we have to return something
46 return GC.GetTotalMemory(false) + freeMemory(thisRuntime);
47 }
48
49 public static long maxMemory(object thisRuntime)
50 {
51 // spec says: If there is no inherent limit then the value Long.MAX_VALUE will be returned.
52 return Int64.MaxValue;
53 }
54
55 public static void gc(object thisRuntime)
56 {
57 GC.Collect();
58 }
59
60 public static void traceInstructions(object thisRuntime, bool on)
61 {
62 }
63
64 public static void traceMethodCalls(object thisRuntime, bool on)
65 {
66 }
67
68 public static void runFinalization0()
69 {
70 GC.WaitForPendingFinalizers();
71 }
72
73 }
74
75}
static long maxMemory(object thisRuntime)
Definition Runtime.cs:49
static void traceMethodCalls(object thisRuntime, bool on)
Definition Runtime.cs:64
static void traceInstructions(object thisRuntime, bool on)
Definition Runtime.cs:60
static int availableProcessors(object thisRuntime)
Definition Runtime.cs:32
static long freeMemory(object thisRuntime)
Definition Runtime.cs:37
static long totalMemory(object thisRuntime)
Definition Runtime.cs:43
static void gc(object thisRuntime)
Definition Runtime.cs:55