Request for Review (XS): 7087445, Improve platform independence of JSR292 shared code (original) (raw)

David Holmes David.Holmes at oracle.com
Wed Sep 7 00:57:10 PDT 2011


If set_initial_fp is not actually setting a fp at all then it should be renamed.

My 2c.

David

On 7/09/2011 5:39 PM, Bertrand Delsart wrote:

Well, this is not an 'fp' an all platforms. In fact, what most platform might need is the unextendedsp of the initial caller frame (which just happens to be stored in FP on x86's compiled frames).

Thus, if the conflict between the field name and the method bother you, I would prefer s/initialfp/initialinfo/ for the field and its accessors. I didn't do it before to minimize changes (e.g. not touch the deoptimization code that reads the field in sharedRuntimex86[32|64].cpp)) but the idea is really that deoptimization.cpp need not know what this data is (and should not assume it does). Another solution, ti make the platform dependency explicit, is: - s/initialfp/pddata/ (for platform dependent field name and accessors). - s/initialdeoptimizationinfo/deoptimizationpddata/ (for the platform dependent call filling the field) Do you prefer me to make this changes which will also impact the sharedRuntime... files ? Any preference on the naming (info|pddata) ? Bertrand. On 09/ 7/11 01:38 AM, John Rose wrote: It's a little jarring to have initialdeoptimizationinfo supply the initialfp of the unroll block.

I suggest s/initialdeoptimizationinfo/initialfpfordeoptimization/ to simplify the correspondence. Then platforms which supply fp() for this don't have to apologize so much, and this line looks more normal: info->setinitialfp((intptrt) array->sender().initialfpfordeoptimization());

-- John On Sep 6, 2011, at 9:04 AM, Bertrand Delsart wrote: Small shared changes necessary to improve portability of jsr292 on some platforms. http://cr.openjdk.java.net/~bdelsart/7087445/webrev.00/ Should have no impact on the existing ports, as long as you add this backward compatible definition (added to SPARC, x86 and zero): intptrt *frame::initialdeoptimizationinfo() { return fp(); } Thanks, Bertrand. -- Bertrand Delsart, bertrand.delsart at oracle.com, Sun-Oracle France, 180 av. de l'Europe, ZIRST de Montbonnot, 38334 Saint Ismier, FRANCE



More information about the hotspot-compiler-dev mailing list