incubator-kato-spec mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stuart Monteith <stuk...@stoo.me.uk>
Subject Andrew Johnson's comments: part 3
Date Thu, 10 Dec 2009 14:21:41 GMT
Continuing in javax.tools.diagnostics.runtime.java

Page 56
=======
Table 6.26
==========

(49).
Choose a better order to display these

(Andrew then draws some lines. Appears to communicate that like should 
be position with like.)

Page 60
=======
JavaRuntime
===========

(50).
getTraceBuffer

	Give some examples?

(Andrew is alluding to how there are no examples of what a trace buffer would return.)

(51).
getObjectAtAddress

Throws
	IllegalArgumentException
	 :	:	:

The object could be lazily constructed so exception might not be
thrown on construction.

Page 66
=======
JavaField
=========

(52).
getString

Asymmetry here: we can convert a field containing a String to a String but not a JavaObject.

(53).
Need similar getString on object? If the object is a string or lo.

(Not sure what Andrew means here)

Page 67
=======
JavaStackFrame
==============

(54).
Consider getSection() or getSections() for direct access to memory or getSize(). But sections
more flexible
We need the size of the frame.

(55).
getBasePointer

basepointer = lowest address?  c.f. ImageSection
J9 and Sov are different - this is a pain for MAT.

(68).
getVariable

Confusing name, One is the value, one is the variable.

(69).
Can slot have different uses (int versus ref)
How will the implementation tell?

Page 70
=======
JavaVMInitArgs
===============

(70).
getOptions

Method returning List which throws exception

(throws DataUnavailable when could just return an empty List)


Page 71
=======
JavaObject
==========

(71).
isArray

Could be successful even if getJavaClass fails.

(72).
getArraySize

Could fail even if isArray succeeds.

Page 72
=======

(73).
arraycopy
What happens with CorruptData? etc. How much data is copied?
Should arraycopy return the number of entried copied?
before the exception occurs.

Page 74
=======
(74).
getReferences

might include hiddens refs.

e.g. JavaObject ->  to classloader ->  loaded classes
JavaObject for class to associated JavaClass.

Page 75
=======
(75).
hashCode

- different from getHashCode

(76).
Consider a getValue() method. Returns String for j.l.String
or Integer for j.l.Integer etc. on best can do bassis.

Need a way to see a java/lang/String. e.g. getString?
toString retrieves values JavaObject@1234567f:myString
- what if too long.

Page 80
=======
JavaVariable
============

(77).
What happens with two variables pointing to one slot?

(78).
Should a variable be the same (equals) for the same method, different threads?

(79).
getValue

"The value of the variable"<- explain.
JavaObject or Number?


(80).

"public Object getValue()"

should this be:
	Object getValue(JavaStackFrame frame);

c.f. JavaField

Page 81
=======
JavaThread
==========

(81).
getPriority

"Returns    the Java priority of the thread..."

RealTime Java - what does this mean?

(Andrew is alluding to JSR-1, the RealTime Specification for Java).

Page 84
=======
JavaThread
==========
(82).

isDaemon()
getContextClassloader()

(Andrew is pointing out how these methods aren't present on the JavaThread interface).

Page 88
=======
JavaClass
=========

(83).
getInstanceSize() might appear useful but isn't always valid as array instances vary in size
and hashedAndMoved objects might be bigger than non-hashed objects.


------------

Continuing in part 4...


-- 
Stuart Monteith
http://blog.stoo.me.uk/


Mime
View raw message