Find Jobs
Hire Freelancers

How to instrument Android Dalvik compiler?

$250-750 USD

Closed
Posted over 7 years ago

$250-750 USD

Paid on delivery
I need to instrument Android 4.3 Dalvik compiler for some purposes. What is the goal? The goal is to calculate the elapsed execution time used by assignment statements in the Android Dalvik VM code. What did I do so far? I insert the following code between assignment statement(s) in the Android Dalvik VM source code: start = get_time() <assignment statements> end = end_time() elapsed_time = end-start Why the above code does not work? The above code does not work for the following reasons: 1-The get_time() function, more specifically gettimeofday() or clock_gettime(), has higher resolution than the assignment statement and hence gives negative values. 2-To solve the negative values above, I end up using a for-loop to loop 1 billion times for each code that has assignment statements. However, the Android code becomes extremely slow and does not work. What do I need to do to solve the problem? I need to instrument the Dalvik compiler to identify the assignment instructions and calculate/estimate their execution times at the compile-time (not at run-time). Does anyone know how to do that?
Project ID: 11368976

About the project

Remote project
Active 8 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs

About the client

Flag of UNITED STATES
San Bernardino, United States
0.0
0
Member since May 1, 2016

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.