A thread's "working memory" -- opstack, lva, other?
843829Jul 22 2006 — edited Jul 24 2006Hi,
In reading section 8.1 of the JVM spec:
(http://java.sun.com/docs/books/vmspec/2nd-edition/html/Threads.doc.html#22197)
... I have these two questions:
1) I see it refers to a thread's "working memory". What exactly is this? At first I thought it was any information that was located on the thread's operand stack. Then I thought maybe it was the thread's local variable array. Now I'm not sure what to think... is it totally separate from both of these?
2) This section states that the thread performs the use/assign/load/store/lock/unlock ops, and that that the MMSS (Main Memory SubSystem) performs the read/write/lock/unlock ops. Okay, fine... but then it says later in that section that "A single thread issues a stream of use, assign, lock, and unlock ops..". Okay, so what happened to "load" & "store"? Maybe the term "thread" is supposed to refer only to the execution engine and not this "working mem"? Okay, let's go with that. Then later... "The underlying JVM impl is required to perform appropriate load/store/read/write ops.." Oh really? I thought it just said that the thread and the MMSS perform those? So confused!
Please help,
--Will