- with -J int, still check get_fault_pc... - merge sparc changes. Done: *** Current implementation is okay, implementation describe above does not work as env->native_addr is always check. It is determine later if in bounds with compiled code *** - TODO: check if env->native_addr is reset to NULL if found. actually, reset to NULL always. If non-null means exception happened in compiled code. If cannot find it, fatal error... - Simplify build process by removing environment var settings or making it easier. - add checks in computePCImm for addiI immediate range to avoid patching overflow. For ppc and sparc, and probably x86. - Reorganize code trees: mv sablevm/src/libsablevm/sablejit to sablejit/src/runtime configure will create the symlink in sablevm/src/libsablevm before building SableVM. - Study the possibitiy of removing exceptionHandlerOffsets array. Probably not absolutely needed. ---> Should not be removed. Otherwise, Compiler would have to ask the VM later to have that information. - Update SableJIT copyright notice to reflect new style/grammar fix of the SableVM ones. - Note: on ppc, bctrl is used to call function pointer, so compiled_code will probably be in that register (ctr) on method entry and could be moved to a saved register if ctr is not preserved. On OS X, it may be in register 12. This could speed up jump table as we would not need to compute the pc. also, it would not require saving it on the _svmt_stack_frame. To study. - Replace isCodeWords etc. with a Configuration.IS_CODE_WORDS constant. - Move exception table after epilogue. Done: - In OnePassGeneration, remote PPC cast for trap exception, should be in type Architecture with probably a { throw new Not{Supported,Implemented}Exception } as a default implementation, since not available on all archs.