-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CLOSED] Instrumentation of heap usage (dynamic) #13
Comments
Comment by jeff-aion (on Thursday May 10, 2018 at 16:15 GMT) There are effectively 3 different angles to this:
(3) would be simple and ideal but requires some investigation to determine if it is actually an option. Failing that, we will need to add extra annotation calls prior to each array allocation bytecode. |
Comment by jeff-aion (on Thursday May 10, 2018 at 19:14 GMT) Initial investigation of whether or not (3) is possible:
Next step is to prototype these helpers and the bytecode manipulation. NOTE: I will assume that this bytecode manipulation should be done after we have already built a fee schedule, since this is our own permutation, not the contract, itself. |
-we now convert anewarray calls to "ldc ; invokestatic ; checkcast" so we can account for them externally -also renamed the various "*CostVisitor" classes to "*InstrumentationVisitor", since these are more about general instrumentation writing, as opposed to strictly cost calculation
-now converts to a similar idiom used by anewarray -note that this is only partially complete: we either need to impose a limit on the number of dimensions or build each of the call-out helpers up to 255 (currently, we just implement 1-3)
-the uses of Object[]* wasn't buying us anything, was complicating the code, and causing problems for some native array interactions
-the type resolution is very different for this case since primitives don't have classes, but placeholder class references
-we already needed to handle the primitives for the multianewarray case, so this allows us to reuse the same helper
Issue created by yulongaion (on Wednesday May 09, 2018 at 14:30 GMT)
Specifically for object and array allocation.
Some idea:
The text was updated successfully, but these errors were encountered: