RFR (XL): 7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop()
John Rose
john.r.rose at oracle.com
Wed Nov 21 15:56:31 PST 2012
On Nov 20, 2012, at 6:47 PM, Christian Thalinger wrote:
> http://cr.openjdk.java.net/~twisti/7172640
That's a lovely cleanup. The "to push or not to push" stuff around null checks is swept to the background. The reexecute_sp cut point clears things up nicely.
I especially like that GraphKit::_sp is now private. The helper methods like get_field_at_bci are tasteful.
The huge swaths of code deletion are great. The number of deleted lines is twice as big as the number of inserted lines!
A few comments:
I think the call to "kit.push_result()" should be guarded (internally or externally) by "kit.stopped()". The guard "result != NULL" is a little off, though it probably doesn't hurt.
I don't think do_null_check_receiver pulls its weight, though it's OK. Are you sure the argument(0) value can never be top? That would make the assert fail. If you delete the assert, then there's nothing interesting in that method.
(It seems that null_check_common now wants to be called "do_null_check_common". Actually, the whole "do_" prefix thing is bogus noise. Maybe we can undo "do_" now for those functions?)
— John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20121121/4ff67d48/attachment.html
More information about the hotspot-compiler-dev
mailing list