Main Page | Namespace List | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

rthread Struct Reference

#include <thread.h>


Detailed Description

Real machine thread model implementation.

Definition at line 273 of file thread.h.

Data Fields

jvm_sp fp
 Frame pointer in stack to this stack frame.
jvm_sp fp_end_program
 Final frame pointer in stack of place to stop execution, starting at beginning of program, but could be changed to a throwable event or some other arbitrary stack frame.
jvm_thread_index id
 Self-same ID of this thread.
jvm_thread_index jointarget
 Doing Thread.join() onto this thread.
jvm_object_hash locktarget
 Doing Object.wait() on this object.
rcharname
 Name of thread.
thread_state_enum next_state
 Next scheduled THREAD_STATE_xxx.
ruint pass_instruction_count
 Number of JVM instructions that have been run during this pass.
jvm_pc pc
 Program counter of this thread.
jmp_buf * pnonlocal_ThrowableEvent
 Non-local return from Exception, Error, and Throwable conditions.
thread_state_enum prev_state
 Previous THREAD_STATE_xxx (for diagnostics).
thread_priority_enum priority
 Runtime THREAD_PRIORITY_xxx.
rcharpThrowableEvent
 Exception, Error, or Throwable that was thrown by this thread.
volatile jlong sleeptime
 Milliseconds left on either Thread.sleep() or on a timed Thread.wait() or a timed Thread.join().
jvm_sp sp
 Stack pointer of this thread.
jintstack
 Stack area for this thread.
rushort status
 Runtime status of thread, bitwise.
thread_state_enum this_state
 Current THREAD_STATE_xxx.
rulong thread_instruction_count
 Total number of JVM instructionsthat have been run by this thread.
jvm_object_hash thread_objhash
 Object hash for associated java.lang.Thread object.


Field Documentation

jvm_thread_index rthread::id
 

Self-same ID of this thread.

Definition at line 278 of file thread.h.

rchar* rthread::name
 

Name of thread.

Todo:
not impl.

Definition at line 280 of file thread.h.

jvm_object_hash rthread::thread_objhash
 

Object hash for associated java.lang.Thread object.

Definition at line 285 of file thread.h.

thread_priority_enum rthread::priority
 

Runtime THREAD_PRIORITY_xxx.

Definition at line 288 of file thread.h.

rushort rthread::status
 

Runtime status of thread, bitwise.

Definition at line 290 of file thread.h.

rchar* rthread::pThrowableEvent
 

Exception, Error, or Throwable that was thrown by this thread.

rnull if nothing was thrown.

Definition at line 383 of file thread.h.

jmp_buf* rthread::pnonlocal_ThrowableEvent
 

Non-local return from Exception, Error, and Throwable conditions.

Note:
Play pointer games to persuade runtime package to accept a jmp_buf that is within a structure. Whether this is a "feature" of the Solaris version of the library remains to be seen.
Refer to opcode_run() for more information.

Definition at line 389 of file thread.h.

thread_state_enum rthread::prev_state
 

Previous THREAD_STATE_xxx (for diagnostics).

Definition at line 407 of file thread.h.

thread_state_enum rthread::this_state
 

Current THREAD_STATE_xxx.

Definition at line 411 of file thread.h.

thread_state_enum rthread::next_state
 

Next scheduled THREAD_STATE_xxx.

Definition at line 414 of file thread.h.

jvm_thread_index rthread::jointarget
 

Doing Thread.join() onto this thread.

Definition at line 418 of file thread.h.

volatile jlong rthread::sleeptime
 

Milliseconds left on either Thread.sleep() or on a timed Thread.wait() or a timed Thread.join().

See also comments in jvm.h and in timeslice.c.

Definition at line 421 of file thread.h.

jvm_object_hash rthread::locktarget
 

Doing Object.wait() on this object.

Todo:
This implementation can only handle ONE SINGLE monitor lock.
Does it need to be able to handle arbitrary number of them at once?

Definition at line 433 of file thread.h.

jvm_pc rthread::pc
 

Program counter of this thread.

Definition at line 446 of file thread.h.

ruint rthread::pass_instruction_count
 

Number of JVM instructions that have been run during this pass.

Definition at line 448 of file thread.h.

rulong rthread::thread_instruction_count
 

Total number of JVM instructionsthat have been run by this thread.

Definition at line 453 of file thread.h.

jint* rthread::stack
 

Stack area for this thread.

Definition at line 461 of file thread.h.

jvm_sp rthread::sp
 

Stack pointer of this thread.

Definition at line 463 of file thread.h.

jvm_sp rthread::fp
 

Frame pointer in stack to this stack frame.

Definition at line 465 of file thread.h.

jvm_sp rthread::fp_end_program
 

Final frame pointer in stack of place to stop execution, starting at beginning of program, but could be changed to a throwable event or some other arbitrary stack frame.

Once the inner loop detects that the next stack frame would move beyond this boundary, JVM inner loop execution halts.

Definition at line 468 of file thread.h.


The documentation for this struct was generated from the following file:
Generated on Fri Sep 30 18:51:00 2005 by  doxygen 1.4.4