Four hour sessions, attendees: Zakirov, Fedotov, Shimansky, Pervov.
Line numbers below are according to this source.
- 11, 13, 15-18 remove
- clean headers
- 20 rename to vm.compile
- 62 use logger's if (is_enabled ) for special category
- 64 investigate METHOD_NAME_BUF_SIZE
- 66 use JNI environment from TLS instead of Global env
- 76 use profile collector instead of instrumentation in VM, for now just move in a separate file
- 111-114 use RESET_STAT INC_STAT instead of IFDEF
- 108, 95 - remove, investigate if could remove more
- 123 bad name - not static, but preallocated
- 124 use jboolean, JNI_TRUE and JNI_FALSE
- 119, 87 - should be one instead of two of initializations
- comment filed of code chunk info
- 131, 141. use main_code_chunk_id everwhere
134, 144. investigate _jit->get_num(method) is it better
- 155, 156 is not correct
- 172 investigate if std::vector could be used
- 179 assert after malloc… everywhere, or better use allocation from a pool, investigate
- 173 - assert(_callee_info) should be at the beginning
- 201 should be jlong
217 - 265 replace with operator<<
- 274 remove hardcoded assignment, move to environment, replace arrays of fixed maximal size with std::vector-like construct
- 275 move to env
- 285 - explain -2
- 286 - 289 replace with DIE
- 305 delete shoul be mentioned in function contract
- 312 rewrite using initizalization method
- remove the funciton, use find
- 349 investigate if the function could be removed
- 354 move stub creation into a separate file for creation specific LIL stubs
- 354 investigate if we could remove nso specifics from here
- 358, 359 avoid unnecessary type conversion
- 360 Method_Signature_Handle do we need this type?
- 365 rewrite comment
- 376 move comment after VM_STUBS
- 378 conversion is not needed
- 379 write an explanative comment
- 386 move comment down
- 395 split into two lil commands
- 396 investigate handles
- 395, 400 explain a difference in a comment
- 415 add assert(cs) do we need this assert everywhere
- 420 rename hn to handle_number
- 439 investigate if we could move move_npc_to_fp this to lil
- 434 check if could call function by name
Line numbers below are according to this source.
- 509 investigate what goes here, replace default with a list of types, write a comment that no sign/zero extension is needed for default case
- 549 slit line into three
- 556 is there any direct interface to understand if a return value is reference? add it
- 572 use some descriptive macro for offset calculation (take standard macro if any, put to portlib)
- 595 investigate why we need dump variable
- 596 buffer of fixed size could be insufficient, the code is not thread safe (static buffer)
- 620 check if name comparison could be done by means of references
- 646-738 cleanup comment and code
- 667 check if function rewrite_direct_call is dead
- 743 investigate if a method could be removed
- 764-778 cleanup for JNI
- 764 cleanup PINVOKE everywhere
- 779 assert of JIT_FAILURE
- 785 pass structure by reference or by value? Use const modifier
- note: class should at least start initialization before compilation of its method
- tabs to spaces everywhere
- 787 remove Compilation_Handle
- 793, 801 – should method* compiled by several jits remember them all?
- 807 invalid comment
- 815, 810 add assert that there is no exception
- 826 should be replaced with error if compilation failed?
- 639 Check if being compiled state is set
- 862 add assert the handle is allocated
- 860 assert exn_raised() - incorrect
- 866 rename variable
- use exn_get
- 874-875 move under if
- replace with throwing VM errors
- 901 add assert !exn_raised
Line numbers below are according to this source, numeration restarted.
- 1 add a comment, or rename, the method to compile_me
- 3, 4, 5 check suspend_enable, and delete lines
- Make ASSERT_NO_INTERPRETER functional? Investigate how to define preconditions in a common way.
9-11 delete lines and use << method in 33
- 17, 19, 23, … asserts could be removed
- 21 JIT flags not needed in all code
- 36 remove assert
38-46 here use InternalError always, UnsatisfiedLinkError should be set upper in this file in TLS (in callee)
- 53-91 investigate if compile_(re)comile_method is dead
- 57 investigate if results of flag calculation could be cached
- 83 check the method state once again
- 100 use field offset define
- 154- remove…
- investigate if instrumentation stub is still needed