Check-in [ff27d4c1fa]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Use forwarded entries when decoding class names.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ff27d4c1fa19a4c93f14e8f147d58c56a7ae2f4b
User & Date: stephanie.gawroriski 2019-11-30 21:36:48
Context
2019-11-30
21:38
Correct types to be the boxed types. check-in: ed840e0c6b user: stephanie.gawroriski tags: trunk
21:36
Use forwarded entries when decoding class names. check-in: ff27d4c1fa user: stephanie.gawroriski tags: trunk
20:52
Do not make ATOMIC_INT_DECREMENT_AND_GET not fail in SummerCoat if the value falls below zero (like RatufaCoat); In the GC check, only perform GC if the value is not-positive; Only make BREAKPOINT fail in RatufaCoat if debugging is enabled to match SummerCoat; Add debug printing to over-GC (not sure how this is happening yet) check-in: e4720d6e8a user: stephanie.gawroriski tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to runt/klib/supervisor/cc/squirreljme/jvm/lib/ClassDualPoolParser.java.

5
6
7
8
9
10
11

12
13
14
15
16
17
18
..
97
98
99
100
101
102
103
104

105
106
107
108
109
110
111
// ---------------------------------------------------------------------------
// SquirrelJME is under the GNU General Public License v3+, or later.
// See license.mkd for licensing and copyright information.
// ---------------------------------------------------------------------------

package cc.squirreljme.jvm.lib;


import cc.squirreljme.jvm.io.BinaryBlob;

/**
 * This class manages the parsing of the standard individual constant pools
 * to the combined run-time and static dual-pool setup.
 *
 * @see ClassPoolParser
................................................................................
			case ClassPoolConstants.TYPE_STRING:
				return eblob.readUTF(4);
				
				// Name of class
			case ClassPoolConstants.TYPE_CLASSNAME:
				return new PoolClassName(
					(String)this.entry(false, eparts[0] & 0xFFFF, true),
					(PoolClassName)this.entry(false, eparts[1] & 0xFFFF));

			
				// Unknown
			default:
				throw new todo.TODO("Pool " + etype);
		}
	}
	







>







 







|
>







5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
..
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// ---------------------------------------------------------------------------
// SquirrelJME is under the GNU General Public License v3+, or later.
// See license.mkd for licensing and copyright information.
// ---------------------------------------------------------------------------

package cc.squirreljme.jvm.lib;

import cc.squirreljme.jvm.Assembly;
import cc.squirreljme.jvm.io.BinaryBlob;

/**
 * This class manages the parsing of the standard individual constant pools
 * to the combined run-time and static dual-pool setup.
 *
 * @see ClassPoolParser
................................................................................
			case ClassPoolConstants.TYPE_STRING:
				return eblob.readUTF(4);
				
				// Name of class
			case ClassPoolConstants.TYPE_CLASSNAME:
				return new PoolClassName(
					(String)this.entry(false, eparts[0] & 0xFFFF, true),
					(PoolClassName)this.entry(false, eparts[1] & 0xFFFF,
						true));
			
				// Unknown
			default:
				throw new todo.TODO("Pool " + etype);
		}
	}