Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 05 Aug 2014 20:42:52 +0100] rev 3205
Merged ea55682eefe7 and a4ddeef7c5e9
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 05 Aug 2014 12:03:28 +0100] rev 3204
Align JavaClass>>enclosingClass with java.lang.Class.getEnclosingClass()
Use same algorithm (i.e., return declaring class if there's no EnclosingMethod attribute)
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 05 Aug 2014 11:57:19 +0100] rev 3203
Fixed native java.lang.Class.getEnclosingMethod0
ReflectionTests now pass.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 05 Aug 2014 09:27:47 +0100] rev 3202
Merged a63cf3e1042f and 3890b120ec7f
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 05 Aug 2014 01:02:27 +0100] rev 3201
Little tweak in ReflectiveEnvironment
Do not use java.util.logging for now, on JDK 7 it requires some not-yet-implemented natives.
Also, do not try to open .so as .zip, it won't work.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 05 Aug 2014 00:11:46 +0100] rev 3200
Merged 9aade8151557 and 189c572dbe71
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 04 Aug 2014 23:08:33 +0100] rev 3199
Fixed getDeclaringClass() native.
Look for declaring class in InnerClasses attribute.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 04 Aug 2014 17:12:34 +0100] rev 3198
Class reading optimization [4/4]: defer cache flushing at class initialization time.
Do not flush caches when class is read, instead, defer flushint
at the very last moment, when a class is actually initialized. This should
be sufficent as an object cannot be sent a message unless a class is
initialized first. This saves us a little bit of time when reading classes
but cost time when initializing the class, so normally this is not much
of a saving. However, this helps in cases Java class is only read into memory
and never initialized - that's what JBrowser Workspace does.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 04 Aug 2014 16:47:40 +0100] rev 3197
Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
The code is kind of ugly, but it is optimized for speed as
profiling shown that some 10% time was spent in descriptor parsing.
New code is written upon assumption we get a proper method descriptor
(i.e., descriptor, not signature with type parameters)..
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 04 Aug 2014 16:13:14 +0100] rev 3196
(Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Currently, stc does not optimize ifNil:(ifNotNil) sends resulting in slow code. `isNil ifTrue:`
code is inlinded. This should be rather fixed in stc than here, but...you know.