Differences between revisions 4 and 5
Revision 4 as of 2006-12-07 17:00:10
Size: 4721
Comment:
Revision 5 as of 2009-09-20 21:54:43
Size: 4727
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Line numbers below are according to [attachment:compile_1.cpp.ps this source]. Line numbers below are according to [[attachment:compile_1.cpp.ps|this source]].
Line 51: Line 51:
Line numbers below are according to [attachment:compile_2.cpp.ps this source]. Line numbers below are according to [[attachment:compile_2.cpp.ps|this source]].
Line 83: Line 83:
Line numbers below are according to [attachment:compile_3.cpp.ps this source], numeration restarted. Line numbers below are according to [[attachment:compile_3.cpp.ps|this source]], numeration restarted.

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

Code_Inspection:_compile.cpp (last edited 2009-09-20 21:54:43 by localhost)