Check-in [0687f713f9]

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

Overview
Comment:Implement FATAL_TODO system call.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 0687f713f9fbf94e073d503bb0163bb69d482c0b
User & Date: stephanie.gawroriski 2019-11-09 14:45:05
Context
2019-11-09
14:51
Diverge for array and primitive type initialization. check-in: 02cd8b47de user: stephanie.gawroriski tags: trunk
14:45
Implement FATAL_TODO system call. check-in: 0687f713f9 user: stephanie.gawroriski tags: trunk
13:09
Do not fail class load if the class is considered special. check-in: c912608401 user: stephanie.gawroriski tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to runt/libs/summercoat-vm/cc/squirreljme/vm/summercoat/NativeCPU.java.

1203
1204
1205
1206
1207
1208
1209

1210
1211
1212
1213
1214
1215
1216
....
1352
1353
1354
1355
1356
1357
1358





1359
1360
1361
1362
1363
1364
1365
				{
					err = 0;
					switch (__args[0])
					{
						case SystemCallIndex.BYTE_ORDER_LITTLE:
						case SystemCallIndex.ERROR_GET:
						case SystemCallIndex.ERROR_SET:

						case SystemCallIndex.FRAME_TASK_ID_GET:
						case SystemCallIndex.FRAME_TASK_ID_SET:
						case SystemCallIndex.CALL_STACK_HEIGHT:
						case SystemCallIndex.CALL_STACK_ITEM:
						case SystemCallIndex.MEM_SET:
						case SystemCallIndex.PD_OF_STDERR:
						case SystemCallIndex.PD_OF_STDIN:
................................................................................
						errors[dx] = __args[0];
					}
					
					// Always succeeds
					err = 0;
				}
				break;





				
				// Gets the frame task ID
			case SystemCallIndex.FRAME_TASK_ID_GET:
				{
					LinkedList<Frame> frames = this._frames;
					Frame frame = frames.getLast();
					







>







 







>
>
>
>
>







1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
....
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
				{
					err = 0;
					switch (__args[0])
					{
						case SystemCallIndex.BYTE_ORDER_LITTLE:
						case SystemCallIndex.ERROR_GET:
						case SystemCallIndex.ERROR_SET:
						case SystemCallIndex.FATAL_TODO:
						case SystemCallIndex.FRAME_TASK_ID_GET:
						case SystemCallIndex.FRAME_TASK_ID_SET:
						case SystemCallIndex.CALL_STACK_HEIGHT:
						case SystemCallIndex.CALL_STACK_ITEM:
						case SystemCallIndex.MEM_SET:
						case SystemCallIndex.PD_OF_STDERR:
						case SystemCallIndex.PD_OF_STDIN:
................................................................................
						errors[dx] = __args[0];
					}
					
					// Always succeeds
					err = 0;
				}
				break;
				
				// Fatal exit because of incomplete code
			case SystemCallIndex.FATAL_TODO:
				// {@squirreljme.error AE0o Fatal ToDo system call executed.}
				throw new VMToDoException("AE0o");
				
				// Gets the frame task ID
			case SystemCallIndex.FRAME_TASK_ID_GET:
				{
					LinkedList<Frame> frames = this._frames;
					Frame frame = frames.getLast();
					

Added runt/libs/summercoat-vm/cc/squirreljme/vm/summercoat/VMToDoException.java.



































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*-
// ---------------------------------------------------------------------------
// Multi-Phasic Applications: SquirrelJME
//     Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
// ---------------------------------------------------------------------------
// SquirrelJME is under the GNU General Public License v3+, or later.
// See license.mkd for licensing and copyright information.
// ---------------------------------------------------------------------------

package cc.squirreljme.vm.summercoat;

import cc.squirreljme.vm.VMException;

/**
 * This is thrown when incomplete code has been reached.
 *
 * @since 2019/11/09
 */
public class VMToDoException
	extends VMException
{
	/**
	 * Initialize the exception with no message or cause.
	 *
	 * @since 2019/11/09
	 */
	public VMToDoException()
	{
	}
	
	/**
	 * Initialize the exception with a message and no cause.
	 *
	 * @param __m The message.
	 * @since 2019/11/09
	 */
	public VMToDoException(String __m)
	{
		super(__m);
	}
	
	/**
	 * Initialize the exception with a message and cause.
	 *
	 * @param __m The message.
	 * @param __c The cause.
	 * @since 2019/11/09
	 */
	public VMToDoException(String __m, Throwable __c)
	{
		super(__m, __c);
	}
	
	/**
	 * Initialize the exception with no message and with a cause.
	 *
	 * @param __c The cause.
	 * @since 2019/11/09
	 */
	public VMToDoException(Throwable __c)
	{
		super(__c);
	}
}