[rvm-research] Scalar allocation

View: New views
3 Messages — Rating Filter:   Alert me  

[rvm-research] Scalar allocation

by Dingwen Yuan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,

Suppose I want to capture the allocation of all scalar objects. I did
so by adding some code in the function "public static Object
resolvedNewScalar(int size, Object[] tib, boolean hasFinalizer, int
allocator, int align,int offset, int site)", however I found, with an
opt compilation, the execution of this function can be optimized away.
Is it possible to have such a situation? And what can I do to capture
those objects?

regards,

Dingwen

------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations
Conference from O'Reilly Media. Velocity features a full day of
expert-led, hands-on workshops and two days of sessions from industry
leaders in dedicated Performance & Operations tracks. Use code vel09scf
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers

Re: [rvm-research] Scalar allocation

by Robin Garner :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Dingwen,

It is possible that allocation of some objects can be optimized away.  
You can't really deal with that except to just accept that it happens.  
If you need determinism (because you can't always guarantee that the opt
compiler *will* optimize away a given allocation), use the baseline
compiler - one possibility is to do a FastAdaptive build, and use

  -X:aos:initial_compiler=base -X:aos:enable_recompilation=false

to get baseline compiled application code with an optimized VM.

When you say 'the execution of this function can be optimized away', are
you referring to the compiler inlining this method ?  Your
instrumentation will still be executed if this happens.

My preference has always been to instrument the method
MemoryManager.allocateScalar, but I think the method you're using should
be equally valid.

Regards,
Robin

Dingwen Yuan wrote:

> Hi all,
>
> Suppose I want to capture the allocation of all scalar objects. I did
> so by adding some code in the function "public static Object
> resolvedNewScalar(int size, Object[] tib, boolean hasFinalizer, int
> allocator, int align,int offset, int site)", however I found, with an
> opt compilation, the execution of this function can be optimized away.
> Is it possible to have such a situation? And what can I do to capture
> those objects?
>
> regards,
>
> Dingwen
>
> ------------------------------------------------------------------------------
> Register Now & Save for Velocity, the Web Performance & Operations
> Conference from O'Reilly Media. Velocity features a full day of
> expert-led, hands-on workshops and two days of sessions from industry
> leaders in dedicated Performance & Operations tracks. Use code vel09scf
> and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
> _______________________________________________
> Jikesrvm-researchers mailing list
> Jikesrvm-researchers@...
> https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers
>  


------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations
Conference from O'Reilly Media. Velocity features a full day of
expert-led, hands-on workshops and two days of sessions from industry
leaders in dedicated Performance & Operations tracks. Use code vel09scf
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers

Re: [rvm-research] Scalar allocation

by Dingwen Yuan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Robin,

Thanks. Now it's clear to me.

2009/5/4 Robin Garner <robin.garner@...>:

> Hi Dingwen,
>
> It is possible that allocation of some objects can be optimized away.
> You can't really deal with that except to just accept that it happens.
> If you need determinism (because you can't always guarantee that the opt
> compiler *will* optimize away a given allocation), use the baseline
> compiler - one possibility is to do a FastAdaptive build, and use
>
>  -X:aos:initial_compiler=base -X:aos:enable_recompilation=false
>
> to get baseline compiled application code with an optimized VM.
>
> When you say 'the execution of this function can be optimized away', are
> you referring to the compiler inlining this method ?  Your
> instrumentation will still be executed if this happens.
>
> My preference has always been to instrument the method
> MemoryManager.allocateScalar, but I think the method you're using should
> be equally valid.
>
> Regards,
> Robin
>
> Dingwen Yuan wrote:
>> Hi all,
>>
>> Suppose I want to capture the allocation of all scalar objects. I did
>> so by adding some code in the function "public static Object
>> resolvedNewScalar(int size, Object[] tib, boolean hasFinalizer, int
>> allocator, int align,int offset, int site)", however I found, with an
>> opt compilation, the execution of this function can be optimized away.
>> Is it possible to have such a situation? And what can I do to capture
>> those objects?
>>
>> regards,
>>
>> Dingwen
>>
>> ------------------------------------------------------------------------------
>> Register Now & Save for Velocity, the Web Performance & Operations
>> Conference from O'Reilly Media. Velocity features a full day of
>> expert-led, hands-on workshops and two days of sessions from industry
>> leaders in dedicated Performance & Operations tracks. Use code vel09scf
>> and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
>> _______________________________________________
>> Jikesrvm-researchers mailing list
>> Jikesrvm-researchers@...
>> https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers
>>
>
>
> ------------------------------------------------------------------------------
> Register Now & Save for Velocity, the Web Performance & Operations
> Conference from O'Reilly Media. Velocity features a full day of
> expert-led, hands-on workshops and two days of sessions from industry
> leaders in dedicated Performance & Operations tracks. Use code vel09scf
> and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
> _______________________________________________
> Jikesrvm-researchers mailing list
> Jikesrvm-researchers@...
> https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers
>

------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations
Conference from O'Reilly Media. Velocity features a full day of
expert-led, hands-on workshops and two days of sessions from industry
leaders in dedicated Performance & Operations tracks. Use code vel09scf
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers