trace_bytecode

David Holmes david.holmes at oracle.com
Sun Jun 5 23:42:47 UTC 2016


On 5/06/2016 8:02 AM, yumin qi wrote:
> I mean the inside 'ifndef PRODUCT' is not needed.

Ah - right! Hardly worth the overhead of a bug to fix it though - can be 
fixed when/if any functional change is needed in this code.

David

> On Saturday, June 4, 2016, David Holmes <david.holmes at oracle.com
> <mailto:david.holmes at oracle.com>> wrote:
>
>     Hi Yumin,
>
>     On 5/06/2016 6:12 AM, yumin qi wrote:
>
>         Hi,
>
>           In JDK8/hotspot: sharedRuntime.cpp, there is an embedded macro
>         checking:
>
>         #ifndef PRODUCT
>
>         JRT_ENTRY(intptr_t, SharedRuntime::trace_bytecode(JavaThread*
>         thread,
>         intptr_t preserve_this_value, intptr_t tos, intptr_t tos2))
>
>           const frame f = thread->last_frame();
>
>           assert(f.is_interpreted_frame(), "must be an interpreted frame");
>
>         #ifndef PRODUCT
>
>           methodHandle mh(THREAD, f.interpreter_frame_method());
>
>           BytecodeTracer::trace(mh, f.interpreter_frame_bcp(), tos, tos2);
>
>         #endif // !PRODUCT
>
>           return preserve_this_value;
>
>         JRT_END
>
>         #endif // !PRODUCT
>
>         It looks not necessary --- JDK9 has changed.
>
>
>     Why do you think this is unnecessary? In 9 it has moved to
>     interpreterRuntime.cpp
>
>     David
>     -----
>
>         I could not file bug (still could not logon to bugjira), could
>         someone file
>         a bug for it?
>
>         Thanks
>
>         Yumin
>


More information about the hotspot-runtime-dev mailing list