Where is TransformBlit.Transform()?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Where is TransformBlit.Transform()?

Roman Kennke-3
For some reason I can't seem to find any native implementation for
sun.java2d.loops.TransformBlit.Transform() . Has it been forgotten or is
this simply never called?

/Roman

--
Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com   * Tel: +49-721-663 968-48
USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe
Geschäftsführer: Dr. James J. Hunt

Reply | Threaded
Open this post in threaded view
|

Re: Where is TransformBlit.Transform()?

Jim Graham-3
We don't use it for our software loops - we use TransformHelper instead.
  I think the only 2 pipelines that use this type of loop are the OGL
and D3D pipelines and they probably only create subclasses that override
the method and vector it into the RenderQueue so this native method may
not have ever been created since it would never get called (it's not an
error to declare an undefined native method as long as you never call it).

It should probably be abstract for accuracy, but other than your wild
goose chase it isn't hurting anything by being declared native...

                        ...jim

Roman Kennke wrote:
> For some reason I can't seem to find any native implementation for
> sun.java2d.loops.TransformBlit.Transform() . Has it been forgotten or is
> this simply never called?
>
> /Roman
>
Reply | Threaded
Open this post in threaded view
|

Re: Where is TransformBlit.Transform()?

Roman Kennke-3
Hey Jim,

> We don't use it for our software loops - we use TransformHelper instead.
>   I think the only 2 pipelines that use this type of loop are the OGL
> and D3D pipelines and they probably only create subclasses that override
> the method and vector it into the RenderQueue so this native method may
> not have ever been created since it would never get called (it's not an
> error to declare an undefined native method as long as you never call it).

Thanks for your reply. I agree, it is not exactly an error, I was only
wondering if I was missing something.

> It should probably be abstract for accuracy, but other than your wild
> goose chase it isn't hurting anything by being declared native...

Actually, it hurts me a little, because the way that my VM calls native
methods is a little different and less dynamic than Hotspot does. We
create native stubs for all native methods of an application that in
turn call the JNI method, and then link everything together statically
in one binary. The linker then complains if a native method is missing.
A method that is declared native and doesn't have an impl does hurt me,
if only a little (I simply add a dummy noop implementation to fix it).

Either way, it would be cleaner and safer to declare this method
abstract. This is why we are coding Java and not Python, right? ;-) But
we can just as well leave it like it is and not worry and hope that this
method really isn't called. I was only wondering if I miss something.

Cheers, Roman
--
Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com   * Tel: +49-721-663 968-48
USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe
Geschäftsführer: Dr. James J. Hunt