Trivial bug in psScavenge.cpp?
Bengt Rutisson
bengt.rutisson at oracle.com
Mon Oct 28 01:10:30 PDT 2013
Hi Jeremy,
On 2013-10-26 04:35, Jeremy Manson wrote:
> Hi folks,
>
> Following my habit of reporting trivial bugs (and perhaps my habit of being
> wrong about their being bugs). I've been playing around with the
> event-based JVM tracing API, since we had our own version of the same thing
> internally (amusingly, we called our timer TraceGCTime instead of
> GCTraceTime, but it did almost exactly the same thing). I noticed this in
> psScavenge.cpp:
>
> 469 GCTraceTime tm("StringTable", false, false, &_gc_timer);
> 470 // Unlink any dead interned Strings and process the remaining
> live ones.
> 471 PSScavengeRootsClosure root_closure(promotion_manager);
> 472 StringTable::unlink_or_oops_do(&_is_alive_closure,
> &root_closure);
>
> That's all well and good, but surely you want curly braces before line 469
> and after line 472? Otherwise it credits a lot more time to string table
> processing than is appropriate...
Nice catch!
You are absolutely right. This section used to be inside an if
statement, but that was removed and suddenly the timing got the wrong scope.
Would you like to file a bug and provide a patch, or would you like me
to help out with any of it?
Thanks,
Bengt
>
> Jeremy
More information about the hotspot-dev
mailing list