SuccessChanges

Summary

  1. Constrain the VFT when the object node is unknown (commit: 0a6f817) (details)
  2. Add TableSwitch API (commit: 718febc) (details)
  3. Delete OpenJ9-specific implementation of getParmValues (commit: 4fd5bca) (details)
  4. Provide project specialization function for constrainAcall (commit: d64df50) (details)
  5. Add VLHGC concurrent copy forward build flag (commit: b8479cf) (details)
  6. Add HEAP_REGION_STATE enumeration (commit: ecd7de7) (details)
  7. Add IBM i specfic process for retrieving memory and CPU infos (commit: 4b99378) (details)
  8. CMake: make cmake ddr support logic ignore non c/c++ files (commit: 40f22cd) (details)
  9. CMake: Fix bug in DDRSetStub.cmake (commit: 16862c6) (details)
  10. Introduce a CodeGenerator utilities file for standalone functions (commit: 0961794) (details)
  11. Migrate Power addDependency to CodeGeneratorUtils (commit: 3be0991) (details)
  12. Migrate ARM addDependency to CodeGeneratorUtils (commit: b404407) (details)
  13. Migrate AArch64 addDependency to CodeGeneratorUtils (commit: 6400500) (details)
  14. Add HeapRegionStateTable (commit: 359d0bc) (details)
  15. Do not guard port NUMA tests under GC flag (commit: 40ef7d3) (details)
  16. Remove deprecated addDependency from Linkage files (commit: f8a1cf2) (details)
  17. Remove OpenJ9 functionality from innerConstrainAcall (commit: 4abba4f) (details)
  18. Add Eclipse OMR Jenkins build and pull request pipelines (commit: edb9ddd) (details)
  19. First pass of changes for mixed mode object references (commit: 9aac2aa) (details)
  20. Implemented lmul evaluator (commit: 5536c2d) (details)
  21. Add new evaluator and refactor for ardbari opCode (commit: 9054c23) (details)
  22. Replaces uses of UINT32_MAX which is not defined on z/OS (commit: 309ea24) (details)
  23. Remove unnecessary use of grep '-h' option (commit: 7d8db89) (details)
  24. Fix maxMinHelper when generating SELR instructions (commit: 7bdb33e) (details)
  25. Ensure structures are updated correctly for versioned loop (commit: 50a6921) (details)
  26. Fix up some indentation problems in versionNaturalLoop (commit: 3b278d6) (details)
  27. Simplify logic around removing an unneeded edge (commit: d04eae1) (details)
  28. Rename j9SigProtectFunction to sigProtectFunction (commit: 7490634) (details)
  29. Rename j9_31bit_mch to omr_31bit_mch (commit: 8a0a724) (details)
  30. Rename local variable j9mch to mchRegs (commit: 926a84a) (details)
  31. Rename J9LEConditionInfo to OMRLEConditionInfo (commit: 0854ec9) (details)
  32. Rename j9vm_le_condition_handler to omrsig_le_condition_handler (commit: bfd3893) (details)
  33. Rename J9ZOSLEConditionHandlerRecord to OMRZOSLEConditionHandlerRecord (commit: 2f1a240) (details)
  34. Prototype for issueWriteBarrier not needed (commit: 2262491) (details)
  35. Rename macros starting with J9MCH_* to OMRPORT_MCH_* (commit: acfff95) (details)
  36. Update registerMasterHandlers [ztpf] (commit: a6b6a2d) (details)
  37. Fix unexpected behavior in registerMasterHandlers (commit: 01282d0) (details)
  38. Add support for SIGSYS (async signal) (commit: 5096368) (details)
  39. Find appropriate semaphore implementation (commit: 1997f85) (details)
  40. Miscellaneous updates specific to z/TPF (commit: 752f6f0) (details)
  41. Choose correct dwarfdump for osx ddrgen (commit: bc6eef2) (details)
  42. Remove unused constructor (commit: 9d875bc) (details)
  43. Allow the Python path to be set in JitBuiler's makefiles (commit: 0c1384d) (details)
  44. Consolidate port vmem tests (commit: ca0a97c) (details)
  45. Fix a bug in the ipopcnt evaluator (commit: 933e5ce) (details)
  46. Deprecate portLib_get390zLinuxMachineType (commit: 76eefe6) (details)
  47. Migrate TR_S390MachineType into OMRCPU (commit: 6108706) (details)
  48. Migrate processor feature flag detection from OpenJ9 to OMR (commit: 3c2d5c0) (details)
  49. Deprecate TR_S390ProcessorInfo (commit: c24b8f6) (details)
  50. Deprecate CPU "architecture supports" functions (commit: 0746efb) (details)
  51. Adopt new OMRCPU supportsArch queries (commit: f59ae76) (details)
  52. Set minimum ALS to z9 at the OMR level and cascade processor detection (commit: 0717222) (details)
  53. Update minimum ALS for each instruction to use TR::CPU::Architecture (commit: 946ebae) (details)
  54. Define new Pre-/PostEscapeAnalysis optimizations (commit: 239c5c5) (details)
  55. Support disabling NLS message lookup (commit: 52ee996) (details)
  56. Change signature of getNextSlotMap() (commit: 8f39949) (details)
  57. Fix compile issues on PPC LE (commit: f6aa639) (details)
  58. Add (disabled) code to allow runtime compressed refs (commit: 392c3a1) (details)
  59. Set ContainsCollectedReference on ternary's returnReg (commit: dd4862a) (details)
  60. Enabled Missed Tree Evaluators (commit: f0360f4) (details)
  61. Implement getProcessorName from machine ID (commit: abc733b) (details)
  62. Refactor and document all Z CPU facility APIs (commit: 62aa548) (details)
  63. Remove z10+ restriction for ternary evaluator (commit: e4f224c) (details)
  64. Implement z10- path for max/min evaluators (commit: 743cb84) (details)
  65. Fix z10- paths of generateShiftAndKeepSelected(32|64)Bit APIs (commit: ec4d81b) (details)
  66. Rename all CPU Architecture enums to drop the "TR_" prefix (commit: 2cb3fbd) (details)
  67. Add buildenv/jenkins/README.md (commit: f2eaee4) (details)
  68. CMake DDR: fix bug where cmake was re-run unnecessarily (commit: 784379b) (details)
  69. CMake DDR: Fix bug where include paths and defines not properly passed (commit: 723efca) (details)
  70. Remove unused query (commit: d2c103e) (details)
  71. Deprecate TRzOSSystemLinkageBase (commit: 50e6a2c) (details)
  72. Reinstate XPLINK linkage for z/OS (commit: 9a5ae83) (details)
  73. Add hack to compileMethodBuilder to get z/OS working (commit: 3e9e53d) (details)
  74. Move implementation of generateBinaryEncodingPrologue on Z to OMR (commit: fa6a0af) (details)
  75. Implement XPLINK entry point marker (commit: d70d6cf) (details)
  76. Create methodBegin and methodEnd labels before binary encoding (commit: 12d8150) (details)
  77. Deprecate branchHashTable (commit: 7f5c8da) (details)
  78. Do not double estimate instruction binary encoding length (commit: a7ca4f5) (details)
  79. Create PPA1 snippet (commit: 2251d85) (details)
  80. Update the copyrights, which were missed in #3777 (commit: b2016a4) (details)
  81. Create PPA2 snippet (commit: 0d38d30) (details)
  82. Generate PPA1 and PPA2 snippets as part of prologue creation (commit: e54ddab) (details)
  83. Implement a default snippet print function when tracing (commit: c673994) (details)
  84. Add snippets to the back of the snippet list by default (commit: c9ad96f) (details)
  85. Partition system linkage classes into their own compilation units (commit: ba97f47) (details)
  86. Deprecate system linkage frame types (commit: b5076b1) (details)
  87. Deprecate TR_LinkagePreserveStrategy2 (commit: 1571a8a) (details)
  88. Migrate system specific APIs into system specific linkage classes (commit: cde7bb2) (details)
  89. Simplify prologue and epilogue creation on Linux system linkage (commit: ba63455) (details)
  90. Remove unused z/OS system linkage APIs (commit: 5a9e757) (details)
  91. Fixup private linkage preprologue calculation (commit: c60759c) (details)
  92. Deprecate float parameter descriptors (commit: 6e20f97) (details)
  93. Prepare z/OS prologue to be partitioned similarly to Linux (commit: 32bbc2c) (details)
  94. Implement XPLINKCallDescriptorSnippet (commit: 11b5f95) (details)
  95. Migrate the instruction to label relocations to the common codegen (commit: 78bc1eb) (details)
  96. Synchronize API definitions between Linux and z/OS system linkages (commit: 5f2b1df) (details)
  97. Allow for Entry Point Marker to be NULL for callouts (commit: 56d5dde) (details)
  98. Reference Linkage_inlines.hpp in newly added files (commit: 0c66434) (details)
  99. Remove wrapper macros to support structs with J9* naming (commit: 0515ff0) (details)
  100. CMake DDR: Ignore header include guards (commit: 4b58a9a) (details)
  101. CMake DDR: Fix bug where #undef statements were not recognized (commit: b3e7a82) (details)
  102. Add "zOS" as an xlc compiler ID for xlc++ on z/OS (commit: de2f16b) (details)
  103. Tweak z/OS and xlc CMake definitions to support z/OS (commit: a752987) (details)
  104. Define OMR_EBCDIC in CMake z/OS builds (commit: 1ce05c9) (details)
  105. Add zbarrier.s in z/OS CMakeLists (commit: 692d5d9) (details)
  106. Deprecate J9VM_TIERED_CODE_CACHE and MAXMOVE defines (commit: 812ab95) (details)
  107. Add missing z/OS compiler command line defines (commit: 2cf4cdf) (details)
  108. Add missing xlc z/OS compiler options (commit: e9e4cb6) (details)
  109. Override MAP_ANONYMOUS and MAP_ANON for z/OS (commit: cfed657) (details)
  110. Add hacks for z/OS to work around mmap limitations (commit: e70c6c1) (details)
  111. Fix undefined references to int16_t on z/OS (commit: 75c5bd9) (details)
  112. Fix template issues with std::map on z/OS (commit: 7e9780d) (details)
  113. Add workaround for xlc on z/OS with private delete operators (commit: eabda10) (details)
  114. Define OMR_PLATFORM_THREAD_LIBRARY for z/OS (commit: ba67cf1) (details)
  115. Add -qnocsect for z/OS compiles (commit: b6093d1) (details)
  116. Change absolute include to relative (commit: 7c6ddd3) (details)
  117. CMake DDR: allow user to specify extra options (commit: 036436c) (details)
  118. Use unsigned integer for hashing algorithm (commit: 55f5cf6) (details)
  119. Add Transparent HugePage status to PortLibrary (commit: 1bba8da) (details)
  120. default call to madvise after mmap (commit: 4861212) (details)
  121. define MADV_HUGEPAGE when not defined in <sys/mman.h> (commit: 3d5f6df) (details)
  122. Update comment on pagesize rounding (commit: ded836b) (details)
  123. Add Helper function documentation (commit: f65d397) (details)
  124. Move _afterRA to OMR::Z::CodeGenerator class (commit: 145a9a7) (details)
  125. Add Platform Agnostic TM Query (commit: 0193bf0) (details)
  126. Add missing newline as arguments are echoed (commit: 9c7f219) (details)
  127. Move firstTimeLiveOOLRegisterList to Z CodeGenerator (commit: 41fb2dc) (details)
  128. Use C-style comments in C header file (commit: 2946405) (details)
  129. Implement rdbar and wrtbar evaluators on Z (commit: ae2ed02) (details)
  130. Separate indirect and direct rd/wrtbar evaluators (commit: 66b0756) (details)
  131. Stop reducing sums with a variable iteration count (commit: 4f1783b) (details)
  132. Fix the iteration count for summation reduction (commit: 6653288) (details)
  133. CMake build scripts for native linux-ppc32 (commit: 9a24bf8) (details)
  134. Optimized imul evaluator to maximize register re-usage (commit: dabb047) (details)
  135. Add UTF-8 case when reading locale from LC_CTYPE (commit: ba4ab04) (details)
  136. Remove CodeGenerator::_nodesSpineCheckedList from OMR (commit: aa2e1b5) (details)
  137. mark-10 : Fix _GNU_SOURCE redefination (commit: 31b79e0) (details)
  138. Relocate part of OMR::ResolvedMethodSymbol constructor to OpenJ9 (commit: 7221baa) (details)
  139. Remove unused unkilledTemp property from ResolvedMethodSymbol (commit: 9b370c2) (details)
  140. Replace ResolvedMethodSymbol::getLogicalParameterList (commit: 9bec036) (details)
  141. Remove OMR::ResolvedMethodSymbol NoTemps (commit: d16c800) (details)
  142. Remove the createOrFindClonedNode function in OMR (commit: 8d0708b) (details)
  143. Fix mixed mode compile error (commit: d7f3c1c) (details)
  144. Remove and fold calculateParameterRegisterOffset from Linkage (commit: 1f17caa) (details)
  145. Remove and fold calculateActualParameterOffset from Linkage (commit: e83040a) (details)
  146. Fold and simplify code in Power linkage saveArguments (commit: 19d0ed4) (details)
  147. Unify float/double handling in Power linkage (commit: 90fcb83) (details)
  148. Don't mark derived files as .PHONY (commit: d83be3f) (details)
  149. Relocate OMR::JniCallSites to OpenJ9 (commit: f106831) (details)
  150. Initialize heapCeiling programatically (commit: 637f107) (details)
  151. Relocate OMR::_compressedRefs to OpenJ9 (commit: c6a16fb) (details)
  152. Remove unused trivialDeadTreeBlock list (#3869) (commit: f96391d) (details)
  153. CMake: Link ddrgen against thread library (commit: b11586c) (details)
  154. Move control flow evaluators out of UnaryEvaluator.cpp (commit: e5b2e69) (details)
  155. z/TPF Root VPATH Rename (commit: 763d638) (details)
  156. Reorder defines so xlC16 finds the xlc before gnu (commit: 6f91ce3) (details)
  157. Relocate OMR::SupportsBigDecimalLongLookasideVersioning to OpenJ9 (commit: cb04d3b) (details)
  158. CMake DDR: Add support for 'valuesandbuildflags' option (commit: a87fc5c) (details)
  159. DDR on z/OS: Update makefiles (commit: 6bca76b) (details)
  160. DDR on z/OS: Add required includes of <string.h> (commit: 8ab3c00) (details)
  161. DDR on z/OS: Make hookgen more robust (commit: 6a27ccf) (details)
  162. DDR on z/OS: Read text files consistently (commit: 2067217) (details)
  163. DDR on z/OS: Use iconv to work with EBCDIC-encoded files (commit: 7319e80) (details)
  164. DDR on z/OS: Remove checking for redundant input (commit: 5c5ce34) (details)
  165. DDR on z/OS: Multiple enhancements to DwarfScanner (commit: 2239de8) (details)
  166. DDR on z/OS: Use native encoding for ddrgen sample code (commit: 9d7c248) (details)
  167. DDR on z/OS: Fix blob_reader tool (commit: 577e37f) (details)
  168. Remove the GC MemoryStatistics (commit: 99d9cce) (details)
  169. Delete disabled Win32 SSE OMRZeroMemory code (commit: 75ab77d) (details)
  170. Use the inline asm code for xlc16 (clang) (commit: a38dfb1) (details)
  171. New constructor for IndexableObjectScanner (commit: 18e4470) (details)
  172. Fix struct definition to correctly name type (commit: dbfd0f1) (details)
  173. Remove _snippetsToBePatchedOnRegisterNative from OMR (commit: 0aa6b42) (details)
  174. Fix Windows build problems (commit: 87afc37) (details)
  175. Cast flags to short to match struct definition (commit: cbbe12b) (details)
  176. Remove _dummyTempStorageRefNode from OMR (commit: f66ac34) (details)
  177. Document purpose of "toolchain bug" label (commit: 67082f9) (details)
  178. Don't rely on USER_HZ (commit: b774e06) (details)
  179. Remove deprecated trivial store sinking optimization (commit: e9379f7) (details)
  180. Fold code assuming setSinkMethodMetaDataStores is always false (commit: c80a9ac) (details)
  181. Fold code assuming enablePreciseSymbolTracking is false (commit: 8e74a87) (details)
  182. Remove obsolete trivial dead store functions (commit: 2cd7fd9) (details)
  183. Remove _commonedLoadsList (commit: fd7eef8) (details)
  184. Fold and remove deprecated trivial store sinking functions (commit: 6359c1c) (details)
  185. Remove obsolete searchAndMarkFirstUses (commit: 4df1696) (details)
  186. Stop using sigval_t (commit: 557ac4a) (details)
  187. Overload function void incRefCountForOpaquePseudoRegister in OMR (commit: f0286be) (details)
  188. Adjust formating, delete duplicate case and correct copyright date (commit: 68fc46d) (details)
  189. Remove and cleanup MetaDataList from ResolvedMethodSymbol (commit: 7dc1fd9) (details)
  190. Move helper functions to appropriate files (commit: c74e19f) (details)
  191. Avoid looking up the NLS catalog in en locale's with default msg (commit: 75c0998) (details)
  192. Total regions count for metronome regions lists (commit: 5c317b7) (details)
  193. Remove references to `linux/prctl.h` (commit: a80ff4a) (details)
  194. Correct API comment for OMRSymbol constructor (commit: bf60893) (details)
  195. Generate entry breakpoints for methods compiled with system linkage (commit: 1be8030) (details)
  196. Add OMRMEM_CATEGORY_9_CHILDREN macro (commit: 69fece5) (details)
  197. Remove reference to getSnippetsToBePatchedOnRegisterNative (commit: 18c7e74) (details)
  198. Fix OSX build errors (commit: 6326c85) (details)
  199. Cleanup Indexable Object Scanner (commit: 9805300) (details)
  200. Move constLoadNeedsLiteralFromPool to OpenJ9 (commit: 81a93d1) (details)
  201. Disable on stack replacement (OSR) for AArch64 (commit: 1f32d5b) (details)
  202. Move  getInternalPtrMapBit to OpenJ9 (commit: 11aca00) (details)
  203. Fix possible loss of data compilation error: lastmod_failedToFindFile (commit: fbf139e) (details)
  204. Fix possible loss of data compilation error: vmem_test_double_mapping (commit: e5567c4) (details)
  205. Revert "Avoid looking up the NLS catalog in en locale's with default (commit: 5ed4f9e) (details)
  206. Fix function calls to incRefCountForOpaquePseudoRegister in  OpenJ9 (commit: a1967c7) (details)
  207. Remove supportsTrapsInTMRegion from OMR (commit: 8f44c05) (details)
  208. Consolidate InstOpCode tables on Power and improve documentation (commit: f254f66) (details)
  209. Fix VMRegister Adjust APIs (commit: da1e49d) (details)
  210. Merge FreeEntryAllocateStats after compaction (commit: 53f0ad2) (details)
  211. Delete bndsChkNeedsLiteralFromPool function from OMR (commit: 0aeb2b3) (details)
  212. Avoid looking up the NLS catalog in en locale's with default msg (commit: 1b50bac) (details)
  213. AArch64: Add entries to Helpers.inc (commit: cbf9940) (details)
  214. Remove old version of incRefCountForOpaquePseudoRegister (commit: a2c063f) (details)
  215. Simplifying function calls of TR_S390Peephole in OMR (commit: a235e56) (details)
  216. Ensure local variables are initialized at declaration (commit: 8068563) (details)
  217. Remove j2prof (commit: 27e6dfa) (details)
  218. Trigger compaction if memory fragmentation is detected. (commit: 7e3b3b0) (details)
  219. Relax JitBuilder API generator Python version requirement (commit: 10e9a4e) (details)
  220. Implement FindLEX CMake module (commit: 5f3d2e2) (details)
  221. Implement FindYACC CMake module (commit: 099e4f1) (details)
  222. Modify tril.l to accommodate Lex (commit: 6a6d5e2) (details)
  223. Modify tril.y to accommodate Yacc (commit: c822c77) (details)
  224. Use Lex and Yacc in the Tril CMake target (commit: d1f8a2b) (details)
  225. Relax C++11 usage in Tril to accomodate z/OS (commit: e8c40f0) (details)
  226. Deprecate use of initializer_list because it's not supported on z/OS (commit: 345dfe7) (details)
  227. Enable GTest <tuple> on z/OS (commit: 2b19fa2) (details)
  228. Allow use of _ISOC99_SOURCE and __IBMCPP_TR1__ on the command line (commit: b1d65d1) (details)
  229. Define _ISOC99_SOURCE for all z/OS compiles and remove IBM_ATOE (commit: d5fe55e) (details)
  230. Define YYLMAX for Lex token limit and clean up xlc compiler directives (commit: bed93ca) (details)
  231. Add j9a2e as a link target of comptest (commit: c25cf61) (details)
  232. Change BC to an RX-a instruction format (commit: 7102775) (details)
  233. Relax C++11 usage within Tril tests cases to accommodate z/OS (commit: ed3218d) (details)
  234. Guard ASCII to/from EBCDIC runtime conversions with !defined(OMR_EBCDIC) (commit: b250003) (details)
  235. Install omrsig import library alongside the shared library (commit: 3a4116c) (details)
  236. Export OnLoad* symbols for all agent test libraries (commit: 90acbcc) (details)
  237. Relax C++11 usage in JitBuilder tests for z/OS (commit: e6eed69) (details)
  238. Avoid use of std::to_string as z/OS does not support it (commit: c2db0a7) (details)
  239. Avoid death tests as ExitedWithCode is not defined on z/OS (commit: 331a8a2) (details)
  240. Relax usage of C++11 in compilertests and tril/test (commit: 7ca7875) (details)
  241. Use CMake build system for z/OS PR builds (commit: bde2a19) (details)
  242. Enable -DGTEST_ENV_HAS_STD_TUPLE_ only on z/OS and fix copyrights (commit: 2ea49a2) (details)
  243. Remove UT_DIRECT_TRACE_REGISTRATION define from z/OS (commit: 9f00e13) (details)
  244. Fixup whitespace, comments, and additional copyrights in LEX and YACC (commit: 79357fd) (details)
  245. Tweak CMake handling on z/OS (commit: b7ecc9a) (details)
  246. Remove unnecessary references to J9ZOS390 in z/OS specific files (commit: a49da9d) (details)
  247. Splitting up LargeObjectAllocateStats into two files (commit: 0d3e66a) (details)
  248. Concurrent Mark kickoff with Concurrent Scavenger (commit: 7edf99a) (details)
  249. Allocation deviation boost in CS (commit: c77be22) (details)
  250. Remove all references to bucmpeq (commit: 5d39201) (details)
  251. Improve compactNULLCHKs (commit: 31a744d) (details)
  252. CMake: Refactor DDR support (commit: e9efe52) (details)
  253. Flag to control use of GC startup hints (commit: 0431c0a) (details)
  254. Use symRef with known obj index for known parms (commit: aa5579b) (details)
  255. Add jit options to trace/disable generic static final field fold (commit: d049227) (details)
  256. Fix formatting and properly use HOST_BITS on Z (commit: 2c6cfc1) (details)
  257. Runtime compressed refs work (commit: da8977f) (details)
  258. Remove expensive CS assert (commit: 60d614a) (details)
  259. New OMRPORT_SIG_FLAG_* macros to extend signal support on Unix platforms (commit: 312826b) (details)
  260. Fix formatting for OMRPORT_SIG_FLAG_* macros (commit: 1e3d0fd) (details)
  261. omrsig_can_protect should only support synchronous signals (commit: d7921df) (details)
  262. Fix formatting and consistently use tracepoints for omrsig_can_protect (commit: 3716183) (details)
  263. Update omrsig_can_protect stub (commit: b7469db) (details)
  264. Fix ifdef formatting as per the coding standards (commit: 99eb9e8) (details)
  265. Split bit-masks to represent sync and async signals separately (commit: 6c3b697) (details)
  266. Add set and unset functions for the newly split bit-masks (commit: 39845b4) (details)
  267. Use the new set and unset functions for the updating new bit-masks (commit: b223a65) (details)
  268. Update usage of OMR_IS_ONLY_ONE_BIT_SET in unix/omrsignal.c (commit: 5cad507) (details)
  269. Update omrsig_set_options in unix/omrsignal.c (commit: d958dd9) (details)
  270. Update registerMasterHandlers in unix/omrsignal.c (commit: aeb7d0b) (details)
  271. Update OMR_ARE_ANY_BITS_SET checks related to the signal flag (commit: ded319a) (details)
  272. Check if a set of signal flags is ambiguous (commit: cbcccd0) (details)
  273. Use syncSignalsWithMasterHandlers in omrsig_protect [unix/omrsignal.c] (commit: 2037bea) (details)
  274. Remove the definition of the old bit-masks in unix/omrsignal.c (commit: b6e1d26) (details)
  275. Add support for SIGTTIN and SIGTTOU in unix/omrsignal.c (commit: 136727d) (details)
  276. Replace OMR_ARE_ANY_* with OMR_ARE_ALL_* in unix/omrsignal.c (commit: 015c7ca) (details)
  277. Update masterSynchSignalHandler to handle all SIGFPE variants (commit: f98edb7) (details)
  278. Share code between old and new signal constants (commit: 14efd3a) (details)
  279. Enable CUDA support in cmake when available (commit: 8b36e36) (details)
  280. Create TR::SelectOpt class (commit: ddc7464) (details)
  281. Fix loss of precision warning in alloc boost logic (commit: f50833c) (details)
  282. Enhances CFG simplification with new patterns (commit: a55bd65) (details)
  283. Enable OMR to build with OMR_USE_NATIVE_ENCODING=OFF but enable it by (commit: b32943b) (details)
  284. Turn on hybrid arraylets by default (commit: f6d7ac3) (details)
  285. Fix broken links in OMR README (commit: b718bd9) (details)
  286. Merge the arraylets and hybrid arraylets build flags (commit: 860fb5e) (details)
  287. GCMaps and RegisterMaps for the AArch64 Compiler (commit: fa601d4) (details)
  288. CMake: blobreader needs to link against the thread library (commit: d1fba34) (details)
  289. AArch64: Fix comment for OMRMemoryReference (commit: cedb5af) (details)
  290. Remove references of deprecated IL opcode TR:bucmpne and TR:iucmpeq (commit: ea8e161) (details)
  291. Remove references of deprecated IL opcode TR:iucmpne (commit: cd686cc) (details)
  292. Remove references of deprecated IL opcode TR:lucmpeq (commit: e76ad42) (details)
  293. Remove references of deprecated IL opcode TR:lucmpne (commit: c249cc2) (details)
  294. Remove references of deprecated IL opcode TR:sucmpeq (commit: 51de594) (details)
  295. Remove references of deprecated IL opcode TR:bucmpne and TR:ifbucmpne (commit: 3f529ee) (details)
  296. Remove references of deprecated IL opcode TR:ifiucmpeq (commit: 4098f3b) (details)
  297. Remove references of deprecated IL opcode TR:ifiucmpne (commit: ff35df5) (details)
  298. CMake: Add ability to skip parsing debug info for ddr (commit: 47e0121) (details)
  299. CMake: add headers to scan for macro information (commit: a67e3b9) (details)
  300. Remove references of deprecated IL opcode TR:iflucmpeq (commit: ccd1d47) (details)
  301. Remove references of deprecated IL opcode TR:iflucmpne (commit: 4425402) (details)
  302. Remove references of deprecated IL opcode TR:ifsucmpeq (commit: c1f22b5) (details)
  303. Remove references of deprecated IL opcode TR:sucmpne and TR:ifsucmpne (commit: fad13fc) (details)
  304. Permanently enable the arraylets flag in OMR (commit: 700cca2) (details)
  305. Add option to enable concurrent copy forward (commit: 39854fa) (details)
  306. Remove GlobalLabel symbols from compiler (commit: 6b5ccce) (details)
  307. Use the C++ compiler to preprocess C++ code for DDR (commit: 6f05116) (details)
  308. Add Robert as a code owner to the appropriate files/folders (commit: 69c85a6) (details)
  309. Remove redundant/unneeded stack map and atlas methods (commit: c9ddb76) (details)
  310. Tril tests for ternary opcode (commit: aa95c13) (details)
  311. Updates associated with z/TPF GCC 7 Builds (commit: b537358) (details)
  312. Disable boolean store simplification (commit: 2a1a2ca) (details)
  313. General z/OS improvements (commit: cdd58c8) (details)
  314. Extend DDR rules to handle *.mc files (commit: 98f6fbe) (details)
  315. Remove inlineNDmemcpyWithPad and fold code assuming false (commit: 073acff) (details)
  316. Add concurrent copy forward read barrier type (commit: 55a341f) (details)
  317. Fold code assuming MemToMemVarLenMacroOp::needsLoop is always true (commit: 7103275) (details)
  318. Add internal memory to CFG (commit: 4cee046) (details)
  319. Add optional parameter for TR::CFG (commit: 8bc0510) (details)
  320. Remove obsolete code from FEBase.cpp (commit: e95b44e) (details)
  321. Remove unnecessary J9_PROJECT_SPECIFIC macros (commit: 443909f) (details)
  322. remove unsigned  ILopcode:TR::iflucmpeq and TR::ifiucmpeq from (commit: 20b1f57) (details)
  323. Add additional constructor to CFG with region reference parameter. (commit: 3f55c78) (details)
  324. Deep Structure Scan Optimization (commit: 776a45c) (details)
  325. Deprecate the methods `addEdge` and `addExceptionEdge`. (commit: fbb7aa1) (details)
  326. Rename global register allocated indexes on ParameterSymbol (commit: b48ddd4) (details)
  327. Fix logic in allowGlobalRegisterAcrossBranch() for POWER (commit: b195735) (details)
  328. Create known object temps when splitting block (commit: b00f645) (details)
  329. Removed RegisterITF references and commented out available bits (commit: 3bb056b) (details)
  330. Remove FlattenRegisterPairs (commit: 5be0a71) (details)
  331. Remove J9_VERSION and update copyright header (commit: 89d117a) (details)
  332. AArch64: Add TR_ARM64countingRecompileMethod to Helpers.inc (commit: 638507b) (details)
  333. Remove CodeCacheBase class (commit: 8bad6c9) (details)
  334. Create TR::CFGSimplifier instead of CFGSimplifier (commit: f76686c) (details)
  335. Remove deprecated ParameterSymbol allocated register APIs (commit: b259b79) (details)
  336. Disable dark matter compact for concurrent sweep (commit: 7af9a62) (details)
  337. Skip estimate code size for force inlining targets (commit: dd65c31) (details)
  338. Add options for compressing AOT Code (commit: fb1aabd) (details)
  339. Remove deprecated element privatization from FieldPrivatizer (commit: 5a9b544) (details)
  340. Remove createCoDependentTemporary from SymRefTab (commit: c5cd5a5) (details)
  341. Remove some unnecessary includes of CS2 files (commit: cce04cd) (details)
  342. Remove NonUserMethod enum (commit: f012a1a) (details)
  343. Remove unnecessary includes and forward decls from OMRMethod.hpp (commit: f1f9fcd) (details)
  344. AArch64: Implement ARM64HelperCallSnippet (commit: 0420286) (details)
  345. Remove some unnecessary includes of CS2 files (commit: a5ad3b9) (details)
  346. Use a common query to decide if a VG-NOP is needed (commit: 1e2d896) (details)
  347. Return if MethodHandle.invokeExact has been specialized (commit: 5d388a5) (details)
  348. Make ARM virtual guard evaluator use common query for VG NOP (commit: 80673da) (details)
  349. Make .description a comment to save binary space (commit: eed552c) (details)
  350. Use logical operations to encode record forms (commit: 145dab8) (details)
  351. Add PPCOpProp_HasRecordForm properties to instructions who have them (commit: 47136fc) (details)
  352. Handle Windows version 5.1 in omrsysinfo_get_OS_type() (commit: 8f2f554) (details)
  353. Modifying kickoff point for concurrent mark (commit: 985cd6f) (details)
  354. Remove deprecated const IL Opcodes from SwitchAnalyzer (commit: 8df3c83) (details)
  355. Create TR::Method typedef and modify TR_Method references (commit: f5064a7) (details)
  356. Arch64: Enable compressedRefsEvaluator (commit: 6d4c888) (details)
  357. Add Andrew Craik to CODEOWNERS file (commit: 7b3a0c6) (details)
  358. Introduce the OpCodeMetaData structure on Power (commit: 6b90bd6) (details)
  359. AArch64: Enable beginInstructionSelection() for PrivateLinkage (commit: 3921de6) (details)
  360. AArch64: Add some members to ARM64LinkageProperties (commit: 6600d1c) (details)
  361. Handle args in FindLEX/FindYACC (commit: 211e06f) (details)
  362. Remove cacheStringAppend from VPHandlersCommon (commit: 2eee22a) (details)
  363. Remove vestigal rematerializeSSAddress (commit: 880eb2a) (details)
  364. Enable rdbar/wrtbar On Power (commit: 6385c23) (details)
  365. AArch64: Implement OMRMemoryReference.cpp (commit: 8f654d3) (details)
  366. changes made to solve __environ error (commit: e999fb4) (details)
  367. Use known object temps for inlined callee (commit: 9a25cbf) (details)
  368. More runtime compressed refs work (commit: b514a20) (details)
  369. Enabling GC Startup Hints by default (commit: 5f1a8e6) (details)
  370. Initial implementation of extensible TR::Method base class (commit: a4f787b) (details)
  371. Add omrthread_numa_get_current_node() (#3381) (commit: 50b0326) (details)
  372. Add dummy ResolvedMethod.cpp (commit: f32a569) (details)
  373. Deep Scan TGC Stats Gathering (commit: 1f514cc) (details)
  374. Fix issue with SYS_getcpu not being defined (commit: a061521) (details)
  375. Fix compile problems caught by xlc 16 (commit: 9b051d3) (details)
  376. AArch64: Call mr->incRegisterTotalUseCounts() and useRegister() (commit: 7ee2894) (details)
  377. AArch64: Enable iand, ior, and ixor evaluators (commit: 0f1fadf) (details)
  378. Remove references of IL opcode TR::iucall and TR::iucalli (commit: 6bb35c7) (details)
  379. Remove references of IL opcode TR::iureturn, lucall and lucalli (commit: 62e3528) (details)
  380. remove references of IL opcode TR::lureturn (commit: 29e4342) (details)
  381. Add TR_ASSERT_FATAL to `generateS390MemoryReference` (commit: 7aa150c) (details)
  382. Remove references of IL opcode TR::aiuadd and TR::aluadd (commit: 7dda9bc) (details)
  383. Remove references of IL opcode TR::buadd and TR::busub (commit: 032930d) (details)
  384. Delete two previously added TR_ASSERT_FATAL (commit: d358e7e) (details)
  385. Fix omrcpu.c assembler helpers for AIX xlC 16 (commit: 07dc8bb) (details)
  386. Recognize the rdbar op code in NullChk evaluator (commit: af7af89) (details)
  387. AArch64: Implement indirectCallEvaluator() for icalli, etc. (commit: 58f2aac) (details)
  388. Remove implicit sign extension assumptions from iRegStore evaluator (commit: c37c1d0) (details)
  389. Remove references of IL opcode TR::cadd and TR::csub (commit: 34d6a96) (details)
  390. Remove references of IL opcode TR::iuadd, iuneg and iusub (commit: c859900) (details)
  391. Remove references of IL opcode TR::luadd (commit: b88ef44) (details)
  392. __xlC__ is not defined by xlclang (commit: c37fffd) (details)
  393. AArch64: Rename and remove entries in Helpers.inc (commit: 8ecadc2) (details)
  394. Implementation of ARM64CondTrg1Src2Instruction instruction This commit (commit: 683fd4b) (details)
  395. Add DSB instruction to AArch64 opcode tables (commit: a0c6ef6) (details)
  396. CMake: Add omr_process_template utility function (commit: 6861e05) (details)
  397. Remove references of IL opcode TR::iumul and TR::cmul (commit: 68e7bfa) (details)
  398. Remove reference of Il opcode TR::buternary and TR::iuternary (commit: efbbbda) (details)
  399. Change the implementation of dsqrtEvaluator (commit: a64b552) (details)
  400. Change the implementation of `dsqrtEvaluator` on Z (commit: 1c51fb6) (details)
  401. Implement AArch64 and ARMv8 Processor Information (commit: b44f215) (details)
  402. Remove all references of Il opcode TR::lusub (commit: 6a6547d) (details)
  403. Clean useless comment and simplify code (commit: 1e5c0fd) (details)
  404. Remove references of IL opcodes TR::cshl, iushl and lushl (commit: 7b952e2) (details)
  405. CMake: Add support for exported symbols from xlc (commit: a56fcae) (details)
  406. Fixes for singleton cases (commit: 9e60c74) (details)
  407. Generate enumerations and fixup spacing (commit: c1bc5fa) (details)
  408. Add commented PPCOps.ops mnemonics but leave them commented out (commit: 04da868) (details)
  409. Deprecate ftops.pl and all generated tables in favor of the new table (commit: a84fdaa) (details)
  410. Improved Value Propagation for Constant Arrays (commit: 72dbf15) (details)
  411. Revert "Remove references of deprecated  Add/Subtract IL opcodes" (commit: 9be430f) (details)
  412. AArch64: Implement resolveAndNULLCHKEvaluator (commit: df40302) (details)
  413. Remove OMR_GC_ARRAYLETS ifdef (commit: fd4dd6c) (details)
  414. Deep scan CS fix (commit: 87a50da) (details)
  415. Add Default Heuristic Region APIs (commit: d9c1e24) (details)
  416. Add Heuristic Region RAII wrapper (commit: 689d05f) (details)
  417. Add Heuristic Region in Cold Block Marker (commit: e8b6073) (details)
  418. Remove ARM32 resolveCHKEvaluator() (commit: 940f50c) (details)
  419. AArch64: Implement loadaddrEvaluator() (commit: df73e03) (details)
  420. Remove extra rpaths in AIX shared libs (commit: 39139af) (details)
  421. Removed monexitfenceEvaluator from ARM and AArch64 (commit: 6b0b2e3) (details)
  422. Do not version w.r.t. concurrently writable memory (commit: 7ed49b6) (details)
  423. Stop removing DIVCHK without a versioning test (commit: b43d912) (details)
  424. Stop removing ArrayStoreCHK without a test (commit: 581d319) (details)
  425. Stop removing checkcast without a versioning test (commit: 14460cf) (details)
  426. Stop skipping required safety tests in versioner (commit: 12682aa) (details)
  427. Stop removing checks quite so eagerly in versioner (commit: ddcbb10) (details)
  428. Remember the versioning test failure target tree (commit: 99c3e11) (details)
  429. Use a checklist in collectAllExpressionsToBeChecked (commit: dcb1d61) (details)
  430. Remove the disableNewLoopTransfer option (commit: 2012e93) (details)
  431. AArch64: Implement unordered FP conditional branch evaluators (commit: 811256f) (details)
  432. Rename compiler/p/codegen/GenerateInstructions.hpp (commit: 334ecdf) (details)
  433. Add stub header for compiler/p/codegen/GenerateInstructions.hpp (commit: 372d247) (details)
  434. Implement ARM64SynchronizationInstruction (commit: b930cbf) (details)
  435. Fix merging of super type of classes (commit: 123fa40) (details)
  436. Fix handling of forward declarations (commit: 21e4cf5) (details)
  437. Define getOriginalUnimprovedSymRef() (commit: 0b1535d) (details)
  438. Make checklist contains() methods const (commit: 3537743) (details)
  439. Implement bulk contains() for checklists (commit: 2c69d41) (details)
  440. Implement versioning requiring privatization (commit: b7a826e) (details)
  441. Defer invariant expression hoisting in versioner (commit: 36c94e8) (details)
  442. Defer asynccheck removal in versioner (commit: 0b38314) (details)
  443. Defer null check removal in versioner (commit: 82e4e81) (details)
  444. Defer bound check removal in versioner (commit: bc467f9) (details)
  445. Defer spine check removal in versioner (commit: 3019a69) (details)
  446. Defer division check removal in versioner (commit: f0fdb6c) (details)
  447. Re-enable write barrier removal in versioner (commit: 7be62b4) (details)
  448. Defer checkcast removal in versioner (commit: 910040a) (details)
  449. Defer array store check removal in versioner (commit: a3bbcd5) (details)
  450. Defer conditional folding in versioner (commit: 5e930dd) (details)
  451. Reject deprecated calls from versioner itself (commit: 26c2eed) (details)
  452. Allow versioning requiring privatization (commit: 97e0a0f) (details)
  453. Skip compressedRefs anchors in canonicalizer (commit: 673f7ed) (details)
  454. Add missing compiler files to cmake (commit: fe51b5e) (details)
  455. AArch64: Add IsForceRecompilation as Snippet Kind (commit: d8cfcf9) (details)
  456. Remove unused DLP SymbolReference management (commit: c6c8838) (details)
  457. AArch64: Implement aladdEvaluator() (commit: 5d71ecf) (details)
  458. Move the generation of `BREAK` instruction from (commit: 17a0f9b) (details)
  459. Add Doxygen comments for adding edges to CFG (commit: 8243306) (details)
  460. Add support to split blocks post GRA (commit: 86bfdb5) (details)
  461. Use `self()` to call functions in `doBinaryEncoding` (commit: dc7cc42) (details)
  462. Update jitbuilder/release/README.md (commit: a8c2bc6) (details)
  463. Add initial support for metal c files (commit: f1505c5) (details)
  464. Fix calculation of XPLINK call descriptor offset (commit: 826867e) (details)
  465. Ensure doubleword alignment of XPLINKCallDescriptorSnippet and add (commit: 9b1cd18) (details)
  466. Simplify XPLINKCallDescriptorRelocation calculation (commit: 6c0ad4f) (details)
  467. Adding Tenure bytes deviation to modify concurrent kickoff (commit: aec40ce) (details)
  468. CMake: Specify -DOMR_DDR=OFF consistently (commit: bec863d) (details)
  469. Remove invalid target before EstimateCodeSize (commit: 4664fb5) (details)
  470. Changes as suggested in PR#4152 (commit: 58a463d) (details)
  471. AArch64: Fix genericBinaryEvaluator() (commit: d59baf9) (details)
  472. AArch64: Temporary implementation of table and lookup evaluators (commit: 70668b7) (details)
  473. AArch64: Implement TR_Debug::print(ARM64CompareBranchInstruction) (commit: f7cfa80) (details)
  474. Add a placeholder call symbol for jProfileValue (commit: be17e17) (details)
  475. AArch64: Implement integer max/min evaluators (commit: 70bc05c) (details)
  476. Minor changes to prepare for new targeted inlining (commit: 87d4f8c) (details)
  477. Separate findOrCreate JProf Placeholder symref functions (commit: 619a159) (details)
  478. Make JitBuilder sources private (commit: fdc137a) (details)
  479. Avoid EBCDIC to ASCII translation in omrfile_write_text in OMR (commit: 3810be5) (details)
  480. Fix ARM64ImmInstruction functionality (commit: 07462fb) (details)
  481. Use setAllocation (commit: 06aa73d) (details)
  482. call perl using PERL_EXECUTABLE (commit: 43f8abf) (details)
  483. Add the newvalue opcode (commit: 64a50dc) (details)
  484. Add ARM64ExceptionInstruction kind (commit: 79bbf45) (details)
  485. Look for right caller method when handling OSR in context of inliner (commit: b41fbae) (details)
  486. Prepare JITaaS to be replaced with JITServer (commit: 64f65f1) (details)
  487. Enable change to determine calling method for OSR code in Inliner (commit: e65abb3) (details)
  488. Implement ternary Select IlBuilder service (commit: 4761951) (details)
  489. Add a high level details for the algorithm used by splitPostGRA (commit: bb03de7) (details)
  490. AArch64: Add DMB instruction to opcode tables (commit: 4b0e5a6) (details)
  491. Clean up bit vector analysis. This commit fixes some indentation issues (commit: ef0b259) (details)
  492. AArch64: Add ARM64CondTrg1Src2Instruction to ARM64Debug.cpp (commit: 6030ea2) (details)
  493. AArch64: Generate DMB instructions for volatile variables (commit: 3992455) (details)
  494. AArch64: Add ARM64HelperCallSnippet.cpp to CMakeLists.txt (commit: cd185a6) (details)
  495. Implement NULLCHKEvaluator for AArch64 (commit: c6af189) (details)
  496. Implement ARM64CompareBranchInstruction::generateBinaryEncoding() (commit: 3059afa) (details)
  497. Enable new Pre-/PostEscapeAnalysis optimizations (commit: b6a4570) (details)
  498. Document C++ features usable in OMR (commit: 8c64f66) (details)
  499. Fix all OSX Failures (commit: d8e2046) (details)
  500. CMake: Stop hardcoding preprocessor for DDR (commit: a5fb010) (details)
  501. Remove Build Info section from compiler README (commit: e4cbf84) (details)
  502. AArch64: Add assignRegisters(), etc. for ARM64CompareBranchInstruction (commit: a9e1910) (details)
  503. AArch64: Pretty print for movz/movn/movk instructions (commit: 902da66) (details)
  504. Remove hard-coded repository url from Jenkins pipelines (commit: 97b7ddc) (details)
  505. Use only iconst nodes as the second child for both irol and lrol (commit: a8a3a68) (details)
  506. Remove OMR::Compilation::needRelocationsForStatics (commit: a59a951) (details)
  507. AArch64: Fix fstore/dstore evaluators (commit: c7e3526) (details)
  508. AArch64: Add assignRegisters(), etc. for ARM64RegBranchInstruction (commit: 5e3cb82) (details)
  509. Add template for function `generateS390CompareAndBranchInstruction` and (commit: 0e46aba) (details)
  510. AArch64: Pretty print for compare instructions (commit: 2f163ae) (details)
  511. Delete the `TR::RealRegister` version of (commit: 6c0018d) (details)
  512. Typecast the argument in use cases to `int32_t` or `int64_t` (commit: 1ab0c26) (details)
  513. Use TR_OSXSAVE enum (commit: 2ee6af3) (details)
  514. Replace PowerPC pragmata with inline assembler (commit: 6cbc638) (details)
  515. AArch64: Implement TR_Debug::printARM64GCRegisterMap() (commit: ca2cec7) (details)
  516. AArch64: Print Snippet name in ARM64Debug.cpp (commit: 229ebc6) (details)
  517. Remove JITaaS name references (commit: f72ff01) (details)
  518. Enable change to determine calling method for OSR code unconditionally (commit: 11cdf89) (details)
  519. Mask out unused processor flags (commit: e842591) (details)
  520. Add assert for currenly unused flags (commit: 6fcbe9f) (details)
  521. Handle specific arraycopy case (commit: 45890d7) (details)
  522. AArch64: Add declarations of member functions to TR_Debug (commit: 4ae1b43) (details)
  523. Adding a totalTime field for hooks (commit: b5179d6) (details)
  524. Remove deprecated `addEdge` and `addExceptionEdge` (commit: e5fdcca) (details)
  525. Don't include sys/param.h on zos (commit: 7afa1ab) (details)
  526. Remove forward declaration of retrieveZOSMemoryStats (commit: 57c941b) (details)
  527. Rename c++ language doc (commit: c416c3a) (details)
  528. Link to SupportedC++Features.md in CONTRIBUTING.md (commit: 8447b67) (details)
  529. AArch64: Insert option bits to register-indexed LDR/STR instructions (commit: bd2aae1) (details)
  530. Merge HCR guard into virtual guard with the same class key (commit: 60f7dbb) (details)
  531. Disable decimalFormatPeephole (commit: 506ddfb) (details)
  532. Replace #pragmas mc_func and #reg_killed_by with gcc inline asm (commit: d48e651) (details)
  533. AArch64: Initial implementation of debug print functions for snippets (commit: a2c61e2) (details)
  534. Add guards to guard unguarded traces (commit: eaeb79d) (details)
  535. AArch64: Correct return info of methods with reference return type (commit: 800793f) (details)
  536. Support signals needed by Jython (commit: f37869a) (details)
  537. Update ifdefs to be platform agnostic and for consistency (commit: 166b6e3) (details)
  538. Deprecate isBreakPoint in favor of the BREAK pseudo-instruction (commit: 9875342) (details)
  539. Copy linkage register info to parm symbols during CodeGenerator init (commit: 335f472) (details)
  540. Initial implementation of an InstructionDelegate hierarchy (commit: 0616c44) (details)
  541. Remove unused Power control flow pseudoinstructions (commit: 9748861) (details)
  542. Remove unused computeCC_xcmpStrengthReducedCC (commit: e0673c6) (details)
  543. Generate and collect test results (commit: 2655086) (details)
  544. Fix omrtrace component build when CMAKE_BUILD_TYPE=Release (commit: a4555bd) (details)
  545. use TR_ASSERT_FATAL for JitBuilder assertions (commit: 83ec479) (details)
  546. Fix warnings in compiler files (commit: cb5f9c4) (details)
  547. CMake: Automatically copy export side deck on z/OS (commit: edade7a) (details)
  548. Document OMR::RuntimeAssumption::reclaim() (commit: ec1d2fe) (details)
  549. AArch64: Add implementation of TR_Debug::isBranchToTrampoline (commit: e6f4134) (details)
  550. AArch64: Allow Labels and Helpers as target of ARM64ImmSymInstruction (commit: b2b59af) (details)
  551. Update C and C++ flags to support AIX XL/C 16.1 Clang-based compiler (commit: e464f8f) (details)
  552. AArch64: Remove unused bit from generating shift instructions (commit: bae6368) (details)
  553. Used templated oracle function in Tril test Issue: #4258 (commit: 05229ac) (details)
  554. Remove useless skipCompare function (commit: 5dadd62) (details)
  555. Remove unused code for loop inversion (commit: 2188886) (details)
  556. AArch64: Fix register assignment for ARM64MemSrc1Instruction (commit: c0b2230) (details)
  557. Enable JProfiling in Profiling Compilations (commit: 98156c5) (details)
  558. Add option to disable lowerCountsForAotCold feature (commit: 990cbc3) (details)
  559. Implement TR::badd and TR::bsub evaluators (commit: 3bcfdba) (details)
  560. Link LibZ when linking against LibDwarf (commit: 636ab50) (details)
  561. Minor Header Platform configuration change for z/TPF (commit: 768309c) (details)
  562. Added ccls-cache and compile_commands.json into gitignore (commit: 6e4bd81) (details)
  563. AArch64: Correct encoding for logical immediate instructions (commit: be1d971) (details)
  564. AArch64: Add addToAtlas() in doBinaryEncoding() (commit: 9fbfbb8) (details)
  565. Replace REGPAIR_THIS macro with self() (commit: a5dc162) (details)
  566. Change fmax, fmin, dmax and dmin Opcode to UnImpOpEvaluator on Z (commit: d59893a) (details)
  567. CMake: Fix bugs in omr_comple_metalc (commit: de956ab) (details)
  568. Update hook tracepoint threshold to microsecond instead of millisecond (commit: 07b3609) (details)
  569. Option to sort Tail Candidate List by free size (commit: 8e203bf) (details)
  570. Removed deprecated code in optimizer/LocalOpts.cpp (commit: 691bd8e) (details)
  571. Reserve the region from CollectionSet (commit: d35bfd6) (details)
  572. AArch64: Skip interp->jit arg loading in recursive call (commit: 2921a44) (details)
  573. Replace deprecated DLL system calls (commit: 04b91dc) (details)
  574. Remove object pointer from Object Scanner (commit: 2e53a8e) (details)
  575. Use CMake for z/OS Build pipeline (commit: d127713) (details)
  576. Remove OMR_GC_(HYBRID_)ARRAYLETS config flag (commit: 6ba37e7) (details)
  577. Skip NULLCHK that has already been optimized away in Loop Versioner (commit: 42a0f99) (details)
  578. Revert "Enable JProfiling in Profiling Compilations" (commit: 4713149) (details)
  579. AArch64: Add debug print functionality for alias instruction (commit: 19320cf) (details)
  580. Add Power evaluators for sub-int type arithmetic (commit: 6ffd77a) (details)
  581. Removed badd/bsub and sadd/ssub from UnsupportedOpCodesTest (commit: ed39327) (details)
  582. RISC-V: Add generic CMake support for RISC-V (commit: 3f77587) (details)
  583. RISC-V: update build documentation (commit: d17f2b9) (details)
  584. RISC-V: add support for cross-compilation using CMake (commit: 87493f1) (details)
  585. CMake: adjust zos export handling (commit: dcd5406) (details)
  586. Remove unused code in Power's arraycmp evaluator (commit: ec07d2a) (details)
  587. Perform minor cleanup of Power inlineArrayCmp (commit: 575cfb1) (details)
  588. Resolving potential merge conflicts (from PR #4258) (commit: 3582674) (details)
  589. Add self method to ClassEnv (commit: 57964ea) (details)
  590. Remove Power evaluators for deprecated shift logical opcodes (commit: f9139c5) (details)
  591. Replace Power evaluators for shift opcodes (commit: 96c4adb) (details)
  592. Re-enable disabled shift opcode tril tests on Power (commit: 7a82def) (details)
  593. Add UsingRhsConst and UsingLhsConst variations to shift tril tests (commit: a22ee24) (details)
  594. Fix TR::sucmpeq evaluator (commit: 754ed21) (details)
  595. Revert "Replace deprecated DLL system calls" (commit: 3d3d58b) (details)
  596. Final cleanup of ObjectScanner (commit: 410f6fb) (details)
  597. RISC-V: add initial port code for `linuxriscv64` based on AArch64 (commit: 7c15d1d) (details)
  598. Remove cfnan and cdnan pseudoinstructions (commit: 3d547f6) (details)
  599. Fix incorrect value for DOUBLE_NAN_1_HIGH (commit: 18399a3) (details)
  600. Implement support for setting node flags in Tril (commit: b525d83) (details)
  601. Add tests for dbits2l/fbits2i NaN normalization (commit: 8210d80) (details)
  602. AArch64: Generate VFTMask in aloadEvaluator() (commit: 99a003b) (details)
  603. Add late goto elimination pass to JitBuilder's opt strategy (commit: 4ce27ad) (details)
  604. Fix Scavenger.cpp flag OMR_GC_MODRON_SCAVENGER position (commit: e705000) (details)
  605. Fix include path for avl (commit: f0860be) (details)
  606. Make hookgen invocation less verbose (commit: 0f395c4) (details)
  607. Add .ccls to git ignore (commit: 4dbb513) (details)
  608. Deprecate splitWarmAndColdBlocksPhase (commit: 3669c42) (details)
  609. Skipped sub-int arithmetic tests for zos, due to known bug (issue #3525) (commit: 40c80dc) (details)
  610. Add import library target for libz (commit: 1ad68ad) (details)
  611. Add imported library target for libdwarf (commit: 5b75da3) (details)
  612. Add imported library for libelf (commit: 1e60112) (details)
  613. Add imported library for diasdk (commit: ed395ba) (details)
  614. Use imported libraries in ddr-scanner (commit: 47a1d1d) (details)
  615. Fix macOS failures in Post GRA Block splitter (commit: 58140a8) (details)
  616. Skip OSR Guards nodes that have already been removed (commit: b0af1ac) (details)
  617. AArch64: Add code for creating exception table entries for OOL code (commit: db94b7e) (details)
  618. AArch64: Implement TR::ARM64AdminInstruction::generateBinaryEncoding() (commit: 04f5771) (details)
  619. Fix hang in gcexample (commit: 547e19b) (details)
  620. Run gcexample as a test (commit: a644e0c) (details)
  621. Add support for CUDA 10.1 (commit: 40e73dd) (details)
  622. Deprecate getPreprologueOffset in favor of getPreJitMethodEntrySize (commit: e7ac101) (details)
  623. Use cross codegen API on Z to align JIT entry point (commit: e410dbd) (details)
  624. Move getJitMethodEntryAlignmentBoundary to the common codegen (commit: 3159106) (details)
  625. Add getJitMethodEntryAlignmentThreshold API (commit: f509723) (details)
  626. Use OMR::align in alignBinaryBufferCursor (commit: 8e1e04f) (details)
  627. Remove power of two restriction on getJitMethodEntryAlignmentBoundary (commit: 7695b74) (details)
  628. Rename supportsMethodEntryPadding to supportsJitMethodEntryAlignment (commit: 0634953) (details)
  629. Guard code cache size adjustments by supportsJitMethodEntryAlignment (commit: 43c11c4) (details)
  630. Add assertions in alignBinaryBufferCursor to validate alignment (commit: 5e16271) (details)
  631. Fix register order when generating SELECT instruction (commit: bfb09be) (details)
  632. Enable XLC 16.1 toolchain for AIX platforms (commit: af28d00) (details)
  633. DDR: merge enum sizes (commit: 3622455) (details)
  634. Call TR_PersistentMethodInfo::get() after checking RecompilationInfo (commit: b25bcf5) (details)
  635. Add Power evaluators for sub-int type arithmetic (commit: 1f6bf72) (details)
  636. Add test cases for sNaN normalization (commit: 5ad3372) (details)
  637. Add a TypeLayout introspection api (commit: eafd3e7) (details)
  638. Remove empty document (commit: 513f098) (details)
  639. Fix potential compile error (commit: 751333b) (details)
  640. Fix double decrement on node reference counts and properly sign it (commit: da71e9d) (details)
  641. AArch64: Add function to load address constant for relocation (commit: 7112e1b) (details)
  642. Modified OMR::CodeGenerator::convertMultiplyToShift() to handle short (commit: 8ee72a4) (details)
  643. Use CFG's internal region on CFGNodes (commit: 9363d53) (details)
  644. Runtime compressed refs work (commit: 87f1472) (details)
  645. AArch64: Enable evaluator for TR::s2b (commit: 055327f) (details)
  646. AArch64: Add implementation of debug print function for (commit: 8fb7afc) (details)
  647. AArch64: OMRMemoryReference changes for loadaddrEvaluator() (commit: 23f3936) (details)
  648. Runtime compressed refs work (commit: 371eb42) (details)
  649. Add tril tests for mask-then-shift operations (commit: b332d3c) (details)
  650. Format tril trees in ShiftAndRotateTest (commit: b2eb4ab) (details)
  651. Remove test compiler test for unsupported sshl (commit: 218aaff) (details)
  652. Fix format specifiers in ShiftAndRotateTest (commit: 2adfb3d) (details)
  653. Perform minor cleanup of Tril's combine function (commit: 538f2e0) (details)
  654. Skip sub-int MaskThenShift tests on Z (commit: 9f3e9ad) (details)
  655. Remove redundant include of omrcuda.h (commit: 1f805c7) (details)
  656. CMake: add export symbol info onto shared libraries (commit: 0f3a1bb) (details)
  657. Remove _registerSaveDescription from OMRInstruction.hpp (commit: 7aad409) (details)
  658. Enable JProfiling in Profiling Compilations (commit: 7465f69) (details)
  659. Update Slack invite link (Fixes #4358) (commit: 670b7b8) (details)
  660. Move code of conduct in README.md (commit: 421f1dc) (details)
  661. add OMR support for luadd and lusub (commit: b261ae6) (details)
  662. GC Code: J9MMCONSTANT_IMPLICIT_GC_COMPLETE_CONCURRENT (commit: c491804) (details)
  663. Remove TR::imulover IL opcode (commit: 0f5f25b) (details)
  664. Delete "What's being worked on" section from README (commit: 77ae8b8) (details)
  665. Skip NaN normalization tests on Z (commit: 0cc9c49) (details)
  666. Cmake: Fix install of omr_ebcdic and omr_ascii targets (commit: 13a274b) (details)
  667. Recover Region tail during post-sweep of GMP (commit: a354fb7) (details)
  668. Remove TR::muloverEvaluator (commit: 9e7e9ab) (details)
  669. Move implementations of irol/lrol into BinaryEvaluator.cpp (commit: 23cd4ff) (details)
  670. Improve handling of invalid CUDA device identifiers (commit: 177f13c) (details)
  671. AArch64: Fix for Machine::coerceRegisterAssignment() (commit: ac3535c) (details)
  672. Small fixup to README.md (commit: 396f0e5) (details)
  673. Fixes two typos (commit: 9a8d3c8) (details)
  674. Fix Typo of word instruction (commit: 2570bf4) (details)
  675. Fixed two typos of word weird (commit: 30a717f) (details)
  676. Remove non-ASCII characters (commit: caf92ef) (details)
  677. AArch64: Change ARM64HelperCallSnippet to set GC Map to the branch (commit: c0cb245) (details)
  678. Removed bmul and smul from (commit: d9cd19b) (details)
  679. Soften message when CUDA isn't supported (commit: a041975) (details)
  680. Disable DDR by default (commit: 2e2e0e3) (details)
  681. CMake: Rework zos export handling (commit: b7899af) (details)
  682. Revert "Soften message when CUDA isn't supported" (commit: 4b000b8) (details)
  683. Improve rotate then insert selected bits on Z (commit: b25f53f) (details)
  684. Remove side effects in assert statements (commit: bde9a50) (details)
  685. Fix typo in ARM TreeEvaluatorTable (commit: fac3384) (details)
  686. AArch64: Implement a path in loadaddrEvaluator() (commit: 8cfc8d9) (details)
  687. Add option to move object scanning into glue (commit: 2a3e574) (details)
  688. Created Function Prototypes for OMRSocketAPI (commit: 52352e6) (details)
  689. Update failCompilion to use variable argument list (commit: 7a264fe) (details)
  690. Add EOF recognition to omrfile_read() for Unix (commit: ddb9e98) (details)
  691. AArch64: Add types for ARM64 to TRMemory (commit: 794dcf6) (details)
  692. Handle symref creation under relocatable compiles (commit: 96ec1f0) (details)
  693. Add fix for tryToReplaceShiftLandWithRotateInstruction (commit: 0b288bc) (details)
  694. AArch64: Implement _patchVirtualGuard (commit: a790ac1) (details)
  695. AArch64: Enable acmpeq, acmpne, acmplt, acmpge, acmpgt and acmple (commit: 2243083) (details)
  696. AArch64: Rewrite arm64CreateHelperTrampolines() (commit: 33de099) (details)
  697. Revert "Created Function Prototypes for OMRSocketAPI" (commit: e816d60) (details)
  698. Remove assumption that sizeof(unsigned long) == sizeof(void *) (commit: 62cc840) (details)
  699. Make TR:Trap() work on release builds (commit: b9194e9) (details)
  700. Use TR::trap() instead of assert(0) in OMRTreeEvaluator (commit: 7020377) (details)
  701. Move build status lower in README.md (commit: 942a134) (details)
  702. Fatal assert deprecated Multiply/Ternary/Shift/Shift Logical  opcodes (commit: 35986d2) (details)
  703. Remove creation of any deprecated unsigned Multiply opcodes (commit: 935fce4) (details)
  704. Excluded subint arithmetic tests for x86 (commit: 2456e84) (details)
  705. Add forward declarations for lexer functions (commit: 46f4740) (details)
  706. Improved code generation for compare and branch instructions (commit: 164b7f8) (details)
  707. Replaced `is64` ternary and removed redundant cast (commit: c15f1f3) (details)
  708. AArch64: Provide thresholds for arrayTranslate/arrayTranslateAndTest (commit: fd08e82) (details)
  709. Flatten il directory (commit: b2d6ed3) (details)
  710. Add a new codegen phase for instruction expansion (commit: a139859) (details)
  711. Enlarge SwitchAnalyzer successor counter (commit: d62088e) (details)
  712. Disable portion of Load Extension on Z (commit: fc8fe5e) (details)
  713. Stop generating arraycopy node in ArrayClone when not supported (commit: c8d2505) (details)
  714. Change default implementation of makeParameterList (commit: a28b6e1) (details)
  715. Add CodeGenerator getter/setter for returnTypeInfoInstruction (commit: a7536c9) (details)
  716. Introduce a Linkage post binary encoding operation (commit: 2eb02d0) (details)
  717. Add calls to linkage performPostBinaryEncoding in each doBinaryEncoding (commit: b3e32a7) (details)
  718. Define linkage API for inquiring about method entry address (commit: fea9f2a) (details)
  719. Provide System linkage implementations of entry point APIs (commit: b06aa03) (details)
  720. Add a function for the atomic exchange operation (commit: 3a08729) (details)
  721. Relocate Method extensible class methods (commit: ae06543) (details)
  722. Add self() method for Method extensible class (commit: b80ca33) (details)
  723. Add changes to doBinaryEncoding() for AArch64 (commit: 8244cca) (details)
  724. Add new data structures and macros for implementing MCS locks (commit: 3f4ee6f) (details)
  725. Add a field to a store a OMRThreadMCSNodes pointer in J9Thread (commit: 904ecbb) (details)
  726. Add a field to store a pointer to the MCS queue tail in J9ThreadMonitor (commit: 80ed090) (details)
  727. Add function prototypes for the MCS lock API (commit: dd1d8da) (details)
  728. Add function stubs with description for the MCS lock API (commit: a5fca84) (details)
Commit 0a6f817435892e5ad6b4796dda6aaa900fc26265 by devinmp
Constrain the VFT when the object node is unknown
VP (value propagation) recognizes type tests in constrainIfcmpeqne,
including profiled guards, which look like this:
    ifacmpne --> slow path
     VFT
     aconst 0x... (isClassPointerConstant)
Usually, VFT here will be an aloadi <vft-symbol> from an object, and VP
will set instanceofObjectRef to the node that produces the object
reference. However, it's possible that VFT could be a direct load
instead, if e.g. the load of <vft-symbol> has been hoisted out of a
loop. In that case, instanceofObjectRef instead refers to the VFT node.
When VP attempts to apply a constraint meant for the object to the VFT
on the fallthrough path, intersection fails (because one is an object
and the other is not), and as an unintended effect of b485fd2, the
fallthrough path (i.e. the inlined body) is removed because VP believes
it is unreachable.
With this change, VP will now detect the case where instanceofObjectRef
is not an object but instead a VFT, and produce a constraint appropriate
for the VFT, preventing the guard from being spuriously folded.
Signed-off-by: Devin Papineau <devinmp@ca.ibm.com>
(commit: 0a6f817)
The file was modifiedcompiler/optimizer/VPHandlers.cpp (diff)
Commit 718febc4376bc990e1c0c67944f31aa4d6893dd9 by Charlie Gracie
Add TableSwitch API
Currently the Switch API uses the compilers lookup switch instead of the
table switch. This is likely the more generic solution but in a lot of
scenarios a table switch is better. This changeset also adds tests for
the TableSwitch as well.
Signed-off-by: Charlie Gracie <charlie.gracie@gmail.com>
(commit: 718febc)
The file was addedjitbuilder/release/cpp/samples/TableSwitch.cpp
The file was modifiedjitbuilder/release/cpp/Makefile (diff)
The file was modifiedcompiler/ilgen/OMRIlBuilder.cpp (diff)
The file was modifiedjitbuilder/release/CMakeLists.txt (diff)
The file was modifiedjitbuilder/apigen/jitbuilder.api.json (diff)
The file was addedjitbuilder/release/cpp/samples/TableSwitch.hpp
The file was modifiedjitbuilder/build/rules/common.mk (diff)
The file was modifiedcompiler/ilgen/OMRIlBuilder.hpp (diff)
Commit 4fd5bcafcb7bb317293036daa65fd42cbdba86b3 by maier
Delete OpenJ9-specific implementation of getParmValues
OMR::ValuePropagation contains a virtual function `getParmValues` that
largely contains OpenJ9-specific code.  For non-Java methods the
function will simply return early.
OpenJ9 already maintains a copy of this function in
J9::ValuePropagation. I verified that that implementation is
programmatically identical to the version being deleted from OMR (except
for the J9_PROJECT_SPECIFIC macros).
Since the function is virtual, delete the OMR version.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 4fd5bca)
The file was modifiedcompiler/optimizer/OMRValuePropagation.cpp (diff)
Commit d64df50e8ece3579df76561fe2401a6633eb8e1f by maier
Provide project specialization function for constrainAcall
Provide a virtual function extension point for the constrainAcall value
propagation function that projects consuming OMR can use to provide
project-specific specialization.
Move the bulk of the functionality in constrainAcall into the extension
function in preparation for it to be relocated to OpenJ9.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: d64df50)
The file was modifiedcompiler/optimizer/OMRValuePropagation.hpp (diff)
The file was modifiedcompiler/optimizer/VPHandlers.cpp (diff)
The file was modifiedcompiler/optimizer/OMRValuePropagation.cpp (diff)
Commit b8479cf12a9f4b180855705dca5da3650472c573 by youngar17
Add VLHGC concurrent copy forward build flag
- enable flag `OMR_GC_VLHGC` with `OMR_GC_EXAMPLE`
- flag is default off
- flag is enabled in OMR cmake and autoconf builds
- add flag `OMR_GC_VLHGC_CONCURRENT_COPY_FORWARD`
- flag is default off
- flag is enabled in OMR cmake and autoconf builds
Signed-off-by: Andrew Young <youngar17@gmail.com>
(commit: b8479cf)
The file was modifiedconfigure (diff)
The file was modifiedinclude_core/omrcfg.h.in (diff)
The file was modifiedcmake/caches/Travis.cmake (diff)
The file was modifiedexample/glue/configure_includes/configure_common.mk (diff)
The file was modifiedomrcfg.CMakeTemplate.h (diff)
The file was modifiedcmake/config.cmake (diff)
The file was modifiedconfigure.ac (diff)
The file was modifiedomrmakefiles/configure.mk.in (diff)
Commit ecd7de7cdbc77f25055fcfeec386ef820f2d426b by youngar17
Add HEAP_REGION_STATE enumeration
Heap region state indicates if we are ina concurrent copy forward in
vlhgc or not.
Signed-off-by: Andrew Young <youngar17@gmail.com>
(commit: ecd7de7)
The file was modifiedinclude_core/omrgcconsts.h (diff)
Commit 4b99378108346985627f0ef0fa45c62e37faed42 by gaolibj
Add IBM i specfic process for retrieving memory and CPU infos
Signed-off-by: gaoli <gaolibj@cn.ibm.com>
(commit: 4b99378)
The file was modifiedport/unix/omrsysinfo.c (diff)
Commit 40f22cde3655cab6988a0fef96ade45530fbdd4e by devinn
CMake: make cmake ddr support logic ignore non c/c++ files
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 40f22cd)
The file was modifiedcmake/modules/ddr/DDRSetStub.cmake.in (diff)
Commit 16862c6c5078ad5ab2d6a6b17285483c41a03931 by devinn
CMake: Fix bug in DDRSetStub.cmake
target_files variable should be set in the parent scope (it's a global
list)
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 16862c6)
The file was modifiedcmake/modules/ddr/DDRSetStub.cmake.in (diff)
Commit 096179458f6508d8e85d183eac58e7d44af582ea by maier
Introduce a CodeGenerator utilities file for standalone functions
Introduce a CodeGenerator utilities file that projects can use to define
standalone utility functions for use during code generation.  Such
functions should not be included in the component header files of an
extensible class hierarchy.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 0961794)
The file was addedcompiler/codegen/OMRCodeGeneratorUtils.hpp
The file was addedcompiler/codegen/CodeGeneratorUtils.hpp
Commit 3be09918a2487f5781edea4e547a2cf55d504c1e by maier
Migrate Power addDependency to CodeGeneratorUtils
* Migrate the Power OMRLinkage `addDependency` function to
CodeGeneratorUtils
* Change existing calls to `addDependency` to use the new utilities
version
in the TR namespace
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 3be0991)
The file was modifiedcompiler/p/codegen/BinaryEvaluator.cpp (diff)
The file was addedcompiler/p/codegen/OMRCodeGeneratorUtils.hpp
The file was modifiedcompiler/p/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCSystemLinkage.cpp (diff)
The file was modifiedcompiler/p/codegen/TreeEvaluatorVMX.cpp (diff)
Commit b4044072eba5fe0f1b40ea2fab66e4bd281a4ca9 by maier
Migrate ARM addDependency to CodeGeneratorUtils
* Migrate the ARM OMRLinkage `addDependency` function to
CodeGeneratorUtils
* Change existing calls to `addDependency` to use the new utilities
version
in the TR namespace
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: b404407)
The file was modifiedcompiler/arm/codegen/ControlFlowEvaluator.cpp (diff)
The file was addedcompiler/arm/codegen/OMRCodeGeneratorUtils.hpp
The file was modifiedcompiler/arm/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/arm/codegen/BinaryEvaluator.cpp (diff)
Commit 6400500b041af0e3b578c3cc984fd0404ef5b881 by maier
Migrate AArch64 addDependency to CodeGeneratorUtils
* Migrate the AArch64 OMRLinkage `addDependency` function to
CodeGeneratorUtils
* Change existing calls to `addDependency` to use the new utilities
version
in the TR namespace
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 6400500)
The file was modifiedcompiler/aarch64/codegen/BinaryEvaluator.cpp (diff)
The file was addedcompiler/aarch64/codegen/OMRCodeGeneratorUtils.hpp
The file was modifiedcompiler/aarch64/codegen/GenerateInstructions.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64SystemLinkage.cpp (diff)
Commit 359d0bc775753de5d7669a656c39137efbfa979b by youngar17
Add HeapRegionStateTable
Add a table  which has a 1 byte atomic flag per region in a tarok based
garbage collector.  The table is allocated fully at startup to be able
to represent the maxiumum heap size. The table will be used to indicate
if a region is currently participating in concurrent copy forward in
VLHGC.
Signed-off-by: Andrew Young <youngar17@gmail.com>
(commit: 359d0bc)
The file was modifiedfvtest/gctest/CMakeLists.txt (diff)
The file was addedfvtest/gctest/TestHeapRegionStateTable.cpp
The file was addedgc/base/vlhgc/HeapRegionStateTable.cpp
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
The file was modifiedgc/CMakeLists.txt (diff)
The file was modifiedgc/base/Forge.hpp (diff)
The file was modifiedgc/base/makefile (diff)
The file was modifiedfvtest/gctest/makefile (diff)
The file was addedgc/base/vlhgc/HeapRegionStateTable.hpp
Commit 40ef7d33d9cdbee24f15ea7b0c6ceba0d383eee8 by youngar17
Do not guard port NUMA tests under GC flag
- Stop using OMR_GC_VLHGC
- Fix unused variable warning
Signed-off-by: Andrew Young <youngar17@gmail.com>
(commit: 40ef7d3)
The file was modifiedfvtest/porttest/omrvmemTest.cpp (diff)
Commit f8a1cf2f88d64a064e62b17d87a664afae32577d by maier
Remove deprecated addDependency from Linkage files
Subsumed by the versions in CodeGeneratorUtils.hpp.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: f8a1cf2)
The file was modifiedcompiler/p/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRLinkage.hpp (diff)
Commit 4abba4f28caa51eae0daeff22b9e0664a06c55dd by maier
Remove OpenJ9 functionality from innerConstrainAcall
Functionality has been migrated to OpenJ9.  OMR default implementation
simply returns the node.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 4abba4f)
The file was modifiedcompiler/optimizer/OMRValuePropagation.cpp (diff)
The file was modifiedcompiler/optimizer/OMRValuePropagation.hpp (diff)
Commit edb9ddd430ed1ac0c43bae6c6f6cd3ee5b093f08 by fjeremic
Add Eclipse OMR Jenkins build and pull request pipelines
Migrate Eclipse OMR Jenkins build and pull request pipelines from the
configuration panel of the jobs themselves into the repository so that
we may modify the respective pipeline steps within PRs.
There is some concern that this change may increase build times as
Jenkins has to check out the repository to fetch the pipeline
definitions. These are shallow checkouts however. To figure out how much
this change will affect build times I've compiled statistics on the
average build times for each platform of our current setup and how long
the "Get Sources" step takes in each case.
There are however several steps done in the "Get Sources" stage and the
git commands are as follows:
``` git init /home/jenkins/workspace/PullRequest-linux_x86-64 git
--version git fetch --tags --progress https://github.com/eclipse/omr.git
+refs/heads/*:refs/remotes/origin/* git config remote.origin.url
https://github.com/eclipse/omr.git git config --add remote.origin.fetch
+refs/heads/*:refs/remotes/origin/* git config remote.origin.url
https://github.com/eclipse/omr.git git fetch --tags --progress
https://github.com/eclipse/omr.git
+refs/pull/*:refs/remotes/origin/pr/* git rev-parse
refs/remotes/origin/pr/3782/merge^{commit} git rev-parse
refs/remotes/origin/origin/pr/3782/merge^{commit} git config
core.sparsecheckout git checkout -f
46d332fb46aff75e40bebbd9180e33e466e857af
```
Jenkins will not perform all of these steps. So as a conservative
estimate I've estimated that Jenkins will take 1/3 of the time to run
the above steps. Here are the estimates for the build time increases:
| Build                               | Get Sources (sec) | Total
Average (sec) | Projected Increase (%) | Projected Increase (sec) |
|-------------------------------------|-------------------|---------------------|------------------------|--------------------------|
| PullRequest-aix_ppc-64              | 50                | 332        
       | 5%                     | 17                       |
| PullRequest-linux_390-64            | 10                | 343        
       | 1%                     | 3                        |
| PullRequest-linux_aarch64           | 40                | 429        
       | 3%                     | 13                       |
| PullRequest-linux_arm               | 40                | 485        
       | 3%                     | 13                       |
| PullRequest-linux_ppc-64_le_gcc     | 35                | 523        
       | 2%                     | 12                       |
| PullRequest-linux_x86               | 33                | 394        
       | 3%                     | 11                       |
| PullRequest-linux_x86-64            | 42                | 660        
       | 2%                     | 14                       |
| PullRequest-linux_x86-64_cmprssptrs | 40                | 601        
       | 2%                     | 13                       |
| PullRequest-osx_x86-64              | 33                | 427        
       | 3%                     | 11                       |
| PullRequest-win_x86-64              | 26                | 1197       
       | 1%                     | 9                        |
| PullRequest-zos_390-6               | 26                | 570        
       | 2%                     | 9                        |
The absolute increase is at most 17 seconds which I find to be
reasonable.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: edb9ddd)
The file was addedbuildenv/jenkins/jobs/builds/Build-linux_390-64
The file was addedbuildenv/jenkins/jobs/pull-requests/PullRequest-osx_x86-64
The file was addedbuildenv/jenkins/jobs/pull-requests/PullRequest-linux_x86
The file was addedbuildenv/jenkins/jobs/builds/Build-linux_x86
The file was addedbuildenv/jenkins/jobs/builds/Build-linux_ppc-64_le_gcc
The file was addedbuildenv/jenkins/jobs/builds/Build-zos_390-64
The file was addedbuildenv/jenkins/jobs/builds/Build-linux_x86-64_cmprssptrs
The file was addedbuildenv/jenkins/jobs/builds/Build-aix_ppc-64
The file was addedbuildenv/jenkins/jobs/pull-requests/PullRequest-linux_x86-64
The file was addedbuildenv/jenkins/jobs/builds/Build-win_x86-64
The file was addedbuildenv/jenkins/jobs/pull-requests/PullRequest-zos_390-64
The file was addedbuildenv/jenkins/jobs/pull-requests/PullRequest-linux_aarch64
The file was addedbuildenv/jenkins/jobs/builds/Build-linux_x86-64
The file was addedbuildenv/jenkins/jobs/pull-requests/PullRequest-aix_ppc-64
The file was addedbuildenv/jenkins/jobs/pull-requests/PullRequest-linux_390-64
The file was addedbuildenv/jenkins/jobs/pull-requests/PullRequest-linux_arm
The file was addedbuildenv/jenkins/jobs/pull-requests/PullRequest-win_x86-64
The file was addedbuildenv/jenkins/jobs/builds/Build-linux_arm
The file was modified.gitignore (diff)
The file was addedbuildenv/jenkins/jobs/builds/Build-osx_x86-64
The file was addedbuildenv/jenkins/jobs/builds/Build-linux_aarch64
The file was addedbuildenv/jenkins/jobs/pull-requests/PullRequest-linux_x86-64_cmprssptrs
The file was addedbuildenv/jenkins/jobs/pull-requests/PullRequest-linux_ppc-64_le_gcc
Commit 9aac2aa981a890c3b45676135e592a450d2da138 by graham_chapman
First pass of changes for mixed mode object references
In order to support both compressed and full pointers, code ifdeffed for
compressed or not must be changed.
Currently, OMR_GC_COMPRESS_POINTERS controls whether object references
are compressed or not. This needs to change to an optional runtime
check.
In the future, OMR_GC_COMPRESS_POINTERS will mean that compressed
references is a supported configuration. The new flag
OMR_GC_FULL_POINTERS will mean that uncompressed pointers are supported.
One or both of these will be allowed to be defined in a build.
For now, synthetically define OMR_GC_FULL_POINTERS only if
OMR_GC_COMPRESS_POINTERS is not defined (so
!defined(OMR_GC_COMPRESS_POINTERS) changes to
defined(OMR_GC_FULL_POINTERS)).
As a further migration step, add runtime checks (which currently
evaluate to true or false at compile-time) in a few places.
None of the changes here should have any effect on performance of any
single-reference-size build.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: 9aac2aa)
The file was modifiedexample/glue/ScavengerDelegate.hpp (diff)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
The file was modifiedgc/base/standard/Scavenger.hpp (diff)
The file was modifiedgc/base/standard/ParallelGlobalGC.cpp (diff)
The file was modifiedgc/base/modronapicore.cpp (diff)
The file was modifiedinclude_core/omr.h (diff)
The file was modifiedgc/verbose/VerboseHandlerOutput.cpp (diff)
The file was modifiedexample/glue/GlobalCollectorDelegate.hpp (diff)
The file was modifiedgc/base/standard/ParallelGlobalGC.hpp (diff)
The file was modifiedexample/glue/ScavengerDelegate.cpp (diff)
The file was modifiedgc/base/Configuration.cpp (diff)
The file was modifiedgc/base/standard/Scavenger.cpp (diff)
The file was modifiedgc/base/MemoryManager.cpp (diff)
Commit 5536c2d180c43271ca63d89873be3a6a86632de2 by hsoontie
Implemented lmul evaluator
Implemented lmul evaluator
Signed-off-by: Hillary Soontiens <hsoontie@unb.ca>
(commit: 5536c2d)
The file was modifiedcompiler/aarch64/codegen/BinaryEvaluator.cpp (diff)
Commit 9054c23f00fd3b4fe83ca9f40fcbe87caa83d8c7 by yunigel
Add new evaluator and refactor for ardbari opCode
1. Add ardbarEvaluator() for ardbari node.
2. Remove the hardware concurrent scavenge peephole pass
replaceGuardedLoadWithSoftwareReadBarrier(). This is OpenJ9 specific and
isn't a proper software concurrent scavenge implementation.
3. Refactor aloadHelper() by moving some of its code into separate
functions so that OMR dependant projects can make use of them.
4. Change evaluateNULLCHKWithPossibleResolve() to avoid evaluating
ardbari if it's not evaluated. ardbari has side-effects and should be
evaluted before null checked.
5. Refactor array copy evaluators. Remove referenceArrayCopyEvaluator
since most of it is J9 project specific. Remove J9 specific OOL code
from primitiveArrayCopy()
6. Rename TR_readBarrier to TR_softwareReadBarrier
7. Change handleSoftwareReadBarrier to jitSoftwareReadBarrier
8. Add a dependency parameter to generateLoadAndStoreForArrayCopy() so
that outer internal control flow's register dependency conditions can be
passed in. This makes it possible for the load-and-store to be an inner
ICF.
9. Add a register dependency conditions parameter to
generateMemToMemElementCopy() so that it can take an outer ICF's
dependency conditions and build upon it. Similar above, this makes it
possible to build mem-to-mem copy inside another ICF.
10. Add comments to the dependency parameter in
generateLoadAndStoreForArrayCopy and generateMemToMemElementCopy.
Signed-off-by: Nigel Yu <yunigel@ca.ibm.com>
(commit: 9054c23)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/runtime/Helpers.inc (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenPhase.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Peephole.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/ras/Debug.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Peephole.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.hpp (diff)
Commit 309ea24b559e6cb406ea35539704f39996cf79fd by keithc
Replaces uses of UINT32_MAX which is not defined on z/OS
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 309ea24)
The file was modifiedddr/lib/ddr-blobgen/java/genBinaryBlob.cpp (diff)
Commit 7d8db89c8301a818c444e27254e97c3a89be5e8e by keithc
Remove unnecessary use of grep '-h' option
* it's not supported on z/OS
* improve scraping of anotations from preprocessed code by using using
'xargs cat' instead of 'xargs -L1 grep' to spawn fewer processes
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 7d8db89)
The file was modifiedddr/tools/getmacros (diff)
Commit 7bdb33e45dde9835b37f2f3b8fc753f8e127e7c8 by Dhruv.C.Chopra
Fix maxMinHelper when generating SELR instructions
The maxMinHelper compares registers in the wrong order for long values.
This commit rearranges the order of the registers to fix that issue and
also loads one of the comparison registers into a tmpRegister (instead
of clobber evaluating) to avoid an extra register shuffle.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 7bdb33e)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
Commit 50a692121f57d31aa8b37cc64d933129516ddff8 by zongaro
Ensure structures are updated correctly for versioned loop
In versionNaturalLoop, the loop that is being versioned and its clone
are placed into a new proper region, along with the loop's invariant
block, all preceded by a sequence of conditions.  In the process, all
edges to the invariant block are made to be edges to the sequence of
conditions at the start of the region.
However, if the original loop had an exit to the invariant block, we end
up with a situation where the new proper region structure has an exit
edge from the cloned original loop that refers to the original invariant
block, even though that block is part of that region.
Also in that same situation, the subgraph node for the cloned original
loop in the new proper region ends up pointing to itself.
Made some changes to the updating of the structures to consider this
case.
Fixes:  #3682
Signed-off-by:  Henry Zongaro <zongaro@ca.ibm.com>
(commit: 50a6921)
The file was modifiedcompiler/optimizer/LoopVersioner.cpp (diff)
Commit 3b278d65b6de60982b839a911a42b84b0c4a5d5e by zongaro
Fix up some indentation problems in versionNaturalLoop
Signed-off-by:  Henry Zongaro <zongaro@ca.ibm.com>
(commit: 3b278d6)
The file was modifiedcompiler/optimizer/LoopVersioner.cpp (diff)
Commit d04eae10aa140bb244a6bdbe0c56de897c212860 by zongaro
Simplify logic around removing an unneeded edge
This is a slight reworking of code that checks whether there was an edge
to the original invariant block from the subgraph node in the context of
its parent structure for the loop that is being versioned to avoid
copying it and then removing it as an edge to the new proper region.
The code is functionally the same, but should be a bit easier to
understand.
Signed-off-by:  Henry Zongaro <zongaro@ca.ibm.com>
(commit: d04eae1)
The file was modifiedcompiler/optimizer/LoopVersioner.cpp (diff)
Commit 7490634de7b7082e2c8402efb18e861f7304ecc7 by sbabneet
Rename j9SigProtectFunction to sigProtectFunction
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 7490634)
The file was modifiedport/win64amd/omrsignal.c (diff)
Commit 8a0a72446435d2dbaefdd449072c72b31d76f5f7 by sbabneet
Rename j9_31bit_mch to omr_31bit_mch
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 8a0a724)
The file was modifiedport/zos390/omrsignal_context.c (diff)
The file was modifiedport/zos390/omr__le_api.h (diff)
The file was modifiedport/zos390/omrsignal_context_ceehdlr.c (diff)
Commit 926a84a352ba8902294cb21bf646ef215a533f6c by sbabneet
Rename local variable j9mch to mchRegs
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 926a84a)
The file was modifiedport/zos390/omrsignal_context.c (diff)
The file was modifiedport/zos390/omrsignal_context_ceehdlr.c (diff)
Commit 0854ec97471dad17867cbfcae3501f17b305ee0b by sbabneet
Rename J9LEConditionInfo to OMRLEConditionInfo
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 0854ec9)
The file was modifiedport/zos390/omrsignal_context_ceehdlr.c (diff)
The file was modifiedport/zos390/omrsignal_ceehdlr.c (diff)
The file was modifiedport/zos390/omrsignal_context_ceehdlr.h (diff)
Commit bfd389396b1f9816856c4b9a31b24d83076c6895 by sbabneet
Rename j9vm_le_condition_handler to omrsig_le_condition_handler
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: bfd3893)
The file was modifiedport/common/omrportcontrol.c (diff)
The file was modifiedport/zos390/omrsignal_ceehdlr.c (diff)
Commit 2f1a240362a0c457c547bdef9fcf493edc5c5cde by sbabneet
Rename J9ZOSLEConditionHandlerRecord to OMRZOSLEConditionHandlerRecord
Renamed J9ZOSLEConditionHandlerRecord to OMRZOSLEConditionHandlerRecord,
and created a macro with the old name to prevent breakage for downstream
projects.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 2f1a240)
The file was modifiedport/zos390/omrsignal_ceehdlr.c (diff)
The file was modifiedinclude_core/unix/zos/leconditionhandler.h (diff)
Commit 22624916aeeffc1afb65cd932bf28a5e80bbcdf7 by sbabneet
Prototype for issueWriteBarrier not needed
Prototype for issueWriteBarrier is not needed because omrutilbase.h is
included. omrutilbase.h contains the prototype for issueWriteBarrier.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 2262491)
The file was modifiedport/ztpf/omrsignal.c (diff)
Commit acfff959d9b8993949b44b8abc77b1289485cded by sbabneet
Rename macros starting with J9MCH_* to OMRPORT_MCH_*
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: acfff95)
The file was modifiedport/zos390/omr__le_api.h (diff)
The file was modifiedport/zos390/omrsignal_context_ceehdlr.c (diff)
Commit a6b6a2d1b2e919dfa3b403b9ecbdad3760a5e437 by sbabneet
Update registerMasterHandlers [ztpf]
registerMasterHandlers uses a constant 4 without a clear explanation.
Used the OMRPORT_SIG_SMALLEST_SIGNAL_FLAG to represent the constant 4.
Added an explanation for the usage of OMRPORT_SIG_SMALLEST_SIGNAL_FLAG
in registerMasterHandlers.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: a6b6a2d)
The file was modifiedport/ztpf/omrsignal.c (diff)
Commit 01282d033edb62822c405e9ffff905c5f4ef4a3c by sbabneet
Fix unexpected behavior in registerMasterHandlers
"registerMasterHandlers" uses the left shift (<<) operator to read all
the port library signal flags set in the "flags" bit-mask. When the 31st
bit is set in "flags" along with other bits, then unexpected behavior
(probably due to overflow) is seen where the "portSignalType" ends up
being 0 in the for-loop even though "portSignalType" is initialized to
OMRPORT_SIG_SMALLEST_SIGNAL_FLAG (= 4) in the for-loop. To handle the
unexpected behavior where "portSignalType" ends up being 0, checks are
introduced to make sure that "portSignalType" is not 0 before
registering the master signal handler with the signal.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 01282d0)
The file was modifiedport/win64amd/omrsignal.c (diff)
The file was modifiedport/win32/omrsignal.c (diff)
The file was modifiedport/unix/omrsignal.c (diff)
The file was modifiedport/ztpf/omrsignal.c (diff)
Commit 5096368fece8b0425fdc4d1051c796e1d37a27d9 by sbabneet
Add support for SIGSYS (async signal)
The OMRPORT_SIG_FLAG_SIGSYS flag (31st bit) is introduced, and SIGSYS
(async signal) support is added in unix/omrsignal.c.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 5096368)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedport/unix/omrsignal.c (diff)
Commit 1997f85052ae5f11fb19e0035d4d6c233f9fd0a9 by devinn
Find appropriate semaphore implementation
For cmake builds determine appropriate semapahore implementation at
configure time. Autoconf builds just set value according to OS.
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 1997f85)
The file was modifiedcmake/modules/OmrDetectSystemInformation.cmake (diff)
The file was modifiedomrcfg.CMakeTemplate.h (diff)
The file was modifiedinclude_core/unix/thrdsup.h (diff)
The file was modifiedinclude_core/omrcfg.h.in (diff)
Commit 752f6f023e51e9b4a35dee024cdfa7df21788312 by jjohnst
Miscellaneous updates specific to z/TPF
z/TPF had a build path change which needs to be propagated to the build
(redhat subpath is now gnu).  Additionally, z/TPF now supports some
features of getrusage.  A micro sleep was reduced during system dump
processing to improve reliability and performance.
Signed-off-by: James D Johnston <jjohnst@us.ibm.com>
(commit: 752f6f0)
The file was modifiedomrmakefiles/rules.ztpf.mk (diff)
The file was modifiedcompiler/optimizer/Inliner.cpp (diff)
The file was modifiedport/ztpf/omrosdump_helpers.c (diff)
The file was modifiedport/ztpf/omrintrospect.c (diff)
The file was modifiedthread/common/thrprof.c (diff)
Commit bc6eef2056b497ca12931ca6b80a2ee49215cecc by mike.h.zhang
Choose correct dwarfdump for osx ddrgen
Sometimes on Mac OSX, dwarfdump is linked to "llvm-dwarfdump", which
outputs a different format than the version of dwarfdump assumed by
ddrgen. This change will select the correct version of dwarfdump to use
on those systems that select the wrong version for ddrgen.
Signed-off-by: mikezhang <mike.h.zhang@ibm.com>
(commit: bc6eef2)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfParser.cpp (diff)
Commit 9d875bc28954cf99357fa441d609f1d54a81a312 by Dmitri_Pivkine
Remove unused constructor
GC_IndexableObjectScanner(MM_EnvironmentBase *env,
GC_IndexableObjectScanner *objectScanner, uintptr_t splitAmount) is not
necessary as far as the only consumer do not use it any more
Signed-off-by: Dmitri Pivkine <Dmitri_Pivkine@ca.ibm.com>
(commit: 9d875bc)
The file was modifiedgc/base/IndexableObjectScanner.hpp (diff)
Commit 0c1384d6de434492e97e46c9df3c033a4621c6ee by leonardo2718
Allow the Python path to be set in JitBuiler's makefiles
Signed-off-by: Leonardo Banderali <leonardo2718@protonmail.com>
(commit: 0c1384d)
The file was modifiedjitbuilder/build/toolcfg/gnu/common.mk (diff)
The file was modifiedjitbuilder/build/rules/gnu/common.mk (diff)
Commit ca0a97c587a4e3c503bda5a10b022508682f9013 by devinn
Consolidate port vmem tests
Merge PortVMemTest into PortVmemTest.
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: ca0a97c)
The file was removedfvtest/porttest/vmemTest.cpp
The file was modifiedfvtest/porttest/omrvmemTest.cpp (diff)
The file was modifiedfvtest/porttest/makefile (diff)
The file was modifiedfvtest/porttest/CMakeLists.txt (diff)
Commit 933e5ce5364a22a7a581e5fa1bb4aedaf2439d42 by yunigel
Fix a bug in the ipopcnt evaluator
Fix a bug in the ipopcnt evaluator by zeroing out the high 32-bit of a
64-bit input.
Signed-off-by: Nigel Yu <yunigel@ca.ibm.com>
(commit: 933e5ce)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
Commit 76eefe6e145e5302e71863e1e15420a2b64dff3f by fjeremic
Deprecate portLib_get390zLinuxMachineType
This function is no longer used. To prepare for migration of processor
detection on Z into OMR we deprecate this API. It has already been
deprecated at the OpenJ9 level.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 76eefe6)
The file was modifiedcompiler/env/FEBase.cpp (diff)
Commit 610870670978f3ae1ea5825cf93f9606215584ea by fjeremic
Migrate TR_S390MachineType into OMRCPU
- Rename the enum to `Architecture`
- Consolidate "supports" enum values into the new enum from OpenJ9
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 6108706)
The file was modifiedcompiler/env/ProcessorInfo.hpp (diff)
The file was modifiedcompiler/z/env/OMRCPU.hpp (diff)
Commit 3c2d5c0d69a8606a156b8efb3654c0cdba973b4e by fjeremic
Migrate processor feature flag detection from OpenJ9 to OMR
The processor features can and should live at the OMR layer. Migrate all
the corresponding APIs into OMR.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 3c2d5c0)
The file was modifiedfvtest/compilertest/CMakeLists.txt (diff)
The file was modifiedcompiler/env/OMRCPU.cpp (diff)
The file was modifiedcompiler/z/env/OMRCPU.hpp (diff)
The file was addedcompiler/z/env/OMRCPU.cpp
The file was modifiedfvtest/compilertest/build/files/target/z.mk (diff)
The file was modifiedjitbuilder/build/files/target/z.mk (diff)
The file was modifiedcompiler/z/CMakeLists.txt (diff)
Commit c24b8f690c6e2dde740a3728a30432e067ba9380 by fjeremic
Deprecate TR_S390ProcessorInfo
Moving forward we will be using the CPU class for processor detection.
As an initial step we deprecate the `TR_S390ProcessorInfo` class in the
code generator. We will be modifying all the API usage in a separate
commit as there is quite a bit of code to be changed.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: c24b8f6)
The file was modifiedcompiler/z/codegen/OMRInstOpCode.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
Commit 0746efb19bfd23e7c10fe03478f2db508a448f9a by fjeremic
Deprecate CPU "architecture supports" functions
These functions essentially map down to the `getSupportsArch` APIs which
are clearly defined now. Because the code generator "architecture
supports" APIs (`getS390ProcessorInfo()->supportsArch(...)`) were
defined in a similar fashion, to reduce the number of changes we will
have to make the duplicate functions are removed in this commit.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 0746efb)
The file was modifiedcompiler/il/OMRNode.cpp (diff)
The file was modifiedcompiler/z/env/OMRCPU.hpp (diff)
Commit f59ae76470e6bdd5918c04d3cced20d2778e3701 by fjeremic
Adopt new OMRCPU supportsArch queries
Adopt new OMRCPU `supportsArch` queries instead of the previously used
`CodeGenerator` APIs. This was done as a simple search replace across
the entire codebase.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: f59ae76)
The file was modifiedcompiler/z/codegen/BinaryCommutativeAnalyser.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/S390GenerateInstructions.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Peephole.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OpMemToMem.cpp (diff)
The file was modifiedcompiler/z/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRInstruction.cpp (diff)
The file was modifiedcompiler/z/codegen/TranslateEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/z/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/BinaryAnalyser.cpp (diff)
Commit 0717222b3c3ac470b546723e40c9dbdbc7938e66 by fjeremic
Set minimum ALS to z9 at the OMR level and cascade processor detection
Nested if statements cascade so as to have the effect of only enabling
the least common denominator of disable CPU architectures. For example
if the user specified to disable z13 when running on a z15 machine the
logic below will ensure we only reach the `setSupportsArch` call for
zEC12.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 0717222)
The file was modifiedcompiler/z/env/OMRCPU.hpp (diff)
Commit 946ebae22ad1c1c04e04d57e556b491e1cfe3714 by fjeremic
Update minimum ALS for each instruction to use TR::CPU::Architecture
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 946ebae)
The file was modifiedcompiler/z/codegen/OMRInstOpCodeProperties.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRInstOpCode.hpp (diff)
Commit 239c5c5ae1f83347f2e52eec481ae9039f0c2e94 by zongaro
Define new Pre-/PostEscapeAnalysis optimizations
Added enum definitions for preEscapeAnalysis and postEscapeAnalysis, in
preparation for a new J9 optimization that is pending.
Submitting on behalf of Andrew Craik <ajcraik@ca.ibm.com>
Signed-off-by:  Henry Zongaro <zongaro@ca.ibm.com>
(commit: 239c5c5)
The file was modifiedcompiler/optimizer/OMROptimizations.enum (diff)
Commit 52ee996894f96d575a8a67b6d717b7638cde0f90 by daniel_heidinga
Support disabling NLS message lookup
Add a omrport_control option to disable NLS message catalog parsing.
Disabling NLS message lookup is only effective if it is done before the
catalog is parsed.  Once parsed, this option has no effect.
NLS messages are used for a variety of reasons but parsing the catalog
can be a measurable cost in fast startup scenarios.
This option allows the runtime to determine if NLS should be disabled
and the "default string" should be used instead.
Signed-off-by: Dan Heidinga <daniel_heidinga@ca.ibm.com>
(commit: 52ee996)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedport/omrportpriv.h (diff)
The file was modifiedport/common/j9nls.c (diff)
The file was modifiedport/common/omrportcontrol.c (diff)
Commit 8f399497025ba57bbce59d25e47b180b354bb9ab by Dmitri_Pivkine
Change signature of getNextSlotMap()
Changing signature of GC_ObjectScanner::getNextSlotMap() to avoid using
parameters by reference. This is step 2. Step 1 was creation of
functions with new signature in OpenJ9, so it is ready and would not be
broken.   However this change would break all other projects based on
OMR - correspondent functions signature should be updated accordingly.
Old signatures:
getNextSlotMap(uintptr_t &, bool &) or
getNextSlotMap(uintptr_t &, uintptr_t &, bool &) New signatures:
getNextSlotMap(uintptr_t *, bool *) or
getNextSlotMap(uintptr_t *, uintptr_t *, bool *)
Signed-off-by: Dmitri Pivkine <Dmitri_Pivkine@ca.ibm.com>
(commit: 8f39949)
The file was modifiedexample/glue/MixedObjectScanner.hpp (diff)
The file was modifiedgc/base/ObjectScanner.hpp (diff)
Commit f6aa6396086ac2beb43b3f2f4982d912e97e270e by Charlie Gracie
Fix compile issues on PPC LE
Signed-off-by: Charlie Gracie <charlie.gracie@gmail.com>
(commit: f6aa639)
The file was modifiedgc/base/vlhgc/HeapRegionStateTable.hpp (diff)
Commit 392c3a182619d8d52005e14f2c71472541082d27 by graham_chapman
Add (disabled) code to allow runtime compressed refs
Add fields and code (under ifdef) to allow the language to choose
compressed or full pointers at runtime.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: 392c3a1)
The file was modifiedinclude_core/omr.h (diff)
The file was modifiedgc/base/GCExtensionsBase.cpp (diff)
The file was modifiedgc/base/EnvironmentBase.hpp (diff)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
Commit dd4862aba5eb0aba608a2fe28388d80cda1041b4 by Dhruv.C.Chopra
Set ContainsCollectedReference on ternary's returnReg
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: dd4862a)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
Commit f0360f49f2fa6e6742fc3841024e25a9f5957f4e by aaron.graham
Enabled Missed Tree Evaluators
Enabled Missed Tree Evaluators
-Enable ladd, lsub, lmul, land, lor and lxor Tree Evaluators
-Evaluators Were Implemented But Not Enabled in
"OMRTreeEvaluatorTable.hpp"
Signed-off-by: Aaron Graham <aaron.graham@unb.ca>
(commit: f0360f4)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
Commit abc733bac937f50145be4f807f134f77842d1178 by fjeremic
Implement getProcessorName from machine ID
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: abc733b)
The file was modifiedcompiler/z/env/OMRCPU.hpp (diff)
The file was modifiedcompiler/z/env/OMRCPU.cpp (diff)
Commit 62aa5482202d17410bdffd77e497d07af253bf1a by fjeremic
Refactor and document all Z CPU facility APIs
Also introduce a boolean value which gives us the option of disabling a
particular facility which can be useful when a user wishes to disable a
facility based on a user supplied option.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 62aa548)
The file was modifiedcompiler/z/codegen/FPTreeEvaluator.cpp (diff)
The file was modified.gitignore (diff)
The file was modifiedjitbuilder/build/files/target/z.mk (diff)
The file was modifiedcompiler/z/env/OMRCPU.cpp (diff)
The file was modifiedcompiler/z/env/OMRCPU.hpp (diff)
The file was modifiedcompiler/z/CMakeLists.txt (diff)
The file was modifiedfvtest/compilertest/CMakeLists.txt (diff)
The file was modifiedjitbuilder/env/FrontEnd.hpp (diff)
The file was modifiedcompiler/env/OMRCPU.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/il/Aliases.cpp (diff)
Commit e4f224c1dd996df42d4d0c821c9d3075eaf2ce50 by fjeremic
Remove z10+ restriction for ternary evaluator
There is a fallback path which generates a branching sequence which also
works on z9 (our current minimum ALS). Hence the z10+ fatal assertion
can be relaxed.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: e4f224c)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Evaluator.hpp (diff)
Commit 743cb84d2efcf8b02526bef64f2eebdb33fedc26 by fjeremic
Implement z10- path for max/min evaluators
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 743cb84)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
Commit ec4d81bfd3e9a9ab9338219798157f2a1a2e9598 by fjeremic
Fix z10- paths of generateShiftAndKeepSelected(32|64)Bit APIs
- Fix generateShiftAndKeepSelected64Bit by properly zeroing bits
- Fix generateShiftAndKeepSelected32Bit by properly zeroing bits and
loading the initial value from the second operand
The original intent of these APIs seem to be shift left and select,
judging by the use of the RISBG type instructions. The z10- paths doing
only a single shift left and shift right will not suffice. There are
probably other subtleties here such as what if the shift amount is
greater negative, or greater than `aToBit`, etc. See #3814 for some more
details and what we need to do to fix this.
Issue: #3814 Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: ec4d81b)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/S390GenerateInstructions.cpp (diff)
Commit 2cb3fbd092c2f5a443d61ec186daf344f7cd3da2 by fjeremic
Rename all CPU Architecture enums to drop the "TR_" prefix
Now that `CPU::Architecture` is in the `TR` namespace we no longer need
the `TR_` prefix.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 2cb3fbd)
The file was modifiedcompiler/z/env/OMRCPU.hpp (diff)
The file was modifiedcompiler/z/codegen/BinaryAnalyser.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/z/codegen/S390Peephole.cpp (diff)
The file was modifiedcompiler/z/codegen/BinaryCommutativeAnalyser.cpp (diff)
The file was modifiedcompiler/z/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/TranslateEvaluator.cpp (diff)
The file was modifiedcompiler/z/env/OMRCPU.cpp (diff)
The file was modifiedcompiler/z/codegen/OpMemToMem.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRInstOpCodeProperties.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/S390GenerateInstructions.cpp (diff)
Commit f2eaee46a2b649ae9f03340106999e8f72627986 by fjeremic
Add buildenv/jenkins/README.md
This readme describes some of the subtleties of setting up Jenkins on
z/OS to work with pipelines which are checked into a git repository.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: f2eaee4)
The file was addedbuildenv/jenkins/README.md
Commit 784379b346946695c6004880c498a02a309b87fd by devinn
CMake DDR: fix bug where cmake was re-run unnecessarily
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 784379b)
The file was modifiedcmake/modules/OmrDDRSupport.cmake (diff)
Commit 723efca0b5cb62c0c96d683e5fb5ff3a91175663 by devinn
CMake DDR: Fix bug where include paths and defines not properly passed
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 723efca)
The file was modifiedcmake/modules/ddr/DDRSetStub.cmake.in (diff)
Commit d2c103e797cf865ddf9886b9dfe817d5c5d9a95f by yunigel
Remove unused query
Retire the shouldReplaceGuardedLoadWithSoftwareReadBarrier() API.
Signed-off-by: Nigel Yu <yunigel@ca.ibm.com>
(commit: d2c103e)
The file was modifiedcompiler/env/OMRObjectModel.hpp (diff)
Commit 50e6a2c49dee67f737407d5116be2a7c7271ecc3 by fjeremic
Deprecate TRzOSSystemLinkageBase
Deprecate `TRzOSSystemLinkageBase` and push it's APIs into
`S390zOSSystemLinkage` since we only support a single z/OS system
linkage.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 50e6a2c)
The file was modifiedcompiler/z/codegen/TRSystemLinkage.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was removedcompiler/z/codegen/TRzOSSystemLinkageBase.hpp
Commit 9a5ae833b09fd734828a6cc667530bd0550a363d by fjeremic
Reinstate XPLINK linkage for z/OS
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 9a5ae83)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/TRSystemLinkage.hpp (diff)
Commit 3e9e53ddb15528dc587ba7473c5f95c2a7ace22b by fjeremic
Add hack to compileMethodBuilder to get z/OS working
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 3e9e53d)
The file was modifiedjitbuilder/control/Jit.cpp (diff)
Commit fa6a0af5dd76bb3e50fbb466acc1554b6db051bc by fjeremic
Move implementation of generateBinaryEncodingPrologue on Z to OMR
The `generateBinaryEncodingPrologue` has generic code for the following:
1. Creating the recompilation preprologue 2. Creating the method
preprologue 3. Creating the method prologue
On Z there is nothing specific to OpenJ9 about the above steps. In fact
the steps are missing from OMR and hence no prologue/preprologue is
generated of system linkages at the OMR level during binary encoding.
This is a problem and the fix is to simply migrate this code over.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: fa6a0af)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was modifiedcompiler/codegen/FrontEnd.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
Commit d70d6cf3b4d30823dc1cb6b2e56967676085e3e6 by fjeremic
Implement XPLINK entry point marker
The entry point marker is a 4-word struct right before the entry point
of the method body which contains method metadata.
[1]
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.ceev100/rtnly6.htm
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: d70d6cf)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
Commit 12d81503ef194144565977999a1855cac6a24867 by fjeremic
Create methodBegin and methodEnd labels before binary encoding
These labels mark the start and end of the entire method. They are
convenience labels such that we always have an instruction at which to
insert other instructions, thus effectively prepending instructions to
the start of the instruction stream.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 12d8150)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
Commit 7f5c8da4e139675e0bd700a73b6d53845b9ca20c by fjeremic
Deprecate branchHashTable
This hash table is never referenced yet compilation time is wasted
adding branches into the table. Remove it to improve compilation time
and footprint.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 7f5c8da)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
Commit a7ca4f5ad190189136bb967591ff2101c0320585 by fjeremic
Do not double estimate instruction binary encoding length
We have redundant loops which estimate the binary encoding length of an
instruction. Because of the way we generate prologues and recompilation
pre-prologues we may miss to estimate some instructions. Avoid this by
only having one estimation loop which traverses all instructions and
estimates them.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: a7ca4f5)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
Commit 2251d85b3f3d31ab38add8a70475c12246a6dd40 by fjeremic
Create PPA1 snippet
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 2251d85)
The file was modifiedcompiler/z/codegen/TRSystemLinkage.hpp (diff)
The file was modifiedfvtest/compilertest/build/files/target/z.mk (diff)
The file was modifiedcompiler/z/CMakeLists.txt (diff)
The file was modifiedjitbuilder/build/files/target/z.mk (diff)
The file was addedcompiler/z/codegen/snippet/PPA1Snippet.cpp
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was addedcompiler/z/codegen/snippet/PPA1Snippet.hpp
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
Commit b2016a451709541e380840a545adf342776a994d by sbabneet
Update the copyrights, which were missed in #3777
In #3777, the copyrights were not updated.
Updating the copyrights for the files changed in #3777.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: b2016a4)
The file was modifiedport/common/omrsignal.c (diff)
The file was modifiedport/linuxs390/omrsignal_context.h (diff)
The file was modifiedport/ztpf/omrsignal_context.h (diff)
The file was modifiedport/osx/omrsignal_context.c (diff)
The file was modifiedport/osx/omrsignal_context.h (diff)
The file was modifiedport/linuxaarch64/omrsignal_context.h (diff)
The file was modifiedport/linuxamd64/omrsignal_context.c (diff)
The file was modifiedport/linuxarm/omrsignal_context.h (diff)
The file was modifiedport/linuxppc/omrsignal_context.h (diff)
The file was modifiedport/linux386/omrsignal_context.h (diff)
The file was modifiedport/win32/omrintrospect.c (diff)
The file was modifiedport/linuxamd64/omrsignal_context.h (diff)
The file was modifiedport/win64amd/omrsignal.h (diff)
The file was modifiedport/aix/omrsignal_context.h (diff)
The file was modifiedport/zos390/omrsignal_context.h (diff)
The file was modifiedport/linuxarm/omrsignal_context.c (diff)
The file was modifiedport/win32/omrosdump.c (diff)
The file was modifiedport/linuxaarch64/omrsignal_context.c (diff)
The file was modifiedport/linuxppc/omrsignal_context.c (diff)
The file was modifiedport/ztpf/omrsignal.h (diff)
The file was modifiedport/aix/omrsignal_context.c (diff)
The file was modifiedport/win32/omrosbacktrace_impl.c (diff)
The file was modifiedport/linux386/omrsignal_context.c (diff)
The file was modifiedport/win32_include/omrsignal.h (diff)
Commit 0d38d301cc0b217afc7cbf28b0d0e3df10fc33ea by fjeremic
Create PPA2 snippet
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 0d38d30)
The file was modifiedjitbuilder/build/files/target/z.mk (diff)
The file was modifiedcompiler/z/CMakeLists.txt (diff)
The file was addedcompiler/z/codegen/snippet/PPA2Snippet.cpp
The file was addedcompiler/z/codegen/snippet/PPA2Snippet.hpp
The file was modifiedfvtest/compilertest/build/files/target/z.mk (diff)
Commit e54ddab1fcdb701b32475eb8d9c7f4730f03eb54 by fjeremic
Generate PPA1 and PPA2 snippets as part of prologue creation
Now that we have proper implementations of PPA1 and PPA2 we can generate
both snippets as part of prologue creation and add the appropriate
relocations in the Entry Point Marker in the function preprologue to
correctly update the offset to PPA1.
With this commit we have the bare minimum we need for this JIT generated
method body to be XPLINK conformant.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: e54ddab)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/TRSystemLinkage.hpp (diff)
Commit c673994614e4e957bb79119c8599745e0177f0de by fjeremic
Implement a default snippet print function when tracing
There is no reason to assert because of an unknown snippet type when
tracing. Instead if we end up calling the base class virtual
implementation we will print a sane default value indicating to the user
that there is indeed a snippet there, however no custom printing logic
has been implemented yet.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: c673994)
The file was modifiedcompiler/z/codegen/OMRSnippet.cpp (diff)
The file was modifiedcompiler/codegen/OMRSnippet.hpp (diff)
The file was modifiedcompiler/codegen/OMRSnippet.cpp (diff)
Commit c9ad96f5dfd79eaa6854d0774d2cbe05de57ad90 by fjeremic
Add snippets to the back of the snippet list by default
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: c9ad96f)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
Commit ba97f474e756b994752bb7839636d9f7534f2e79 by fjeremic
Partition system linkage classes into their own compilation units
The Linux and z/OS system linkage classes are large and complicated
enough that they deserve to live within their own compilation units.
This commit partitions up the two classes into:
- SystemLinkageLinux.cpp
- SystemLinkagezOS.cpp
and updates the corresponding include files in the rest of the codebase.
We take this opportunity to completely fold
`S390SystemLinkage` as it really serves no purpose since the
`SystemLinkage` class already exists in the `TR` namespace.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: ba97f47)
The file was modifiedcompiler/z/codegen/snippet/PPA2Snippet.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.cpp (diff)
The file was modifiedjitbuilder/build/files/target/z.mk (diff)
The file was addedcompiler/z/codegen/SystemLinkageLinux.hpp
The file was modifiedfvtest/compilertest/z/codegen/Evaluator.cpp (diff)
The file was removedcompiler/z/codegen/S390SystemLinkage.hpp
The file was modifiedcompiler/z/codegen/snippet/PPA1Snippet.cpp (diff)
The file was modifiedfvtest/compilertest/build/files/target/z.mk (diff)
The file was modifiedjitbuilder/control/Jit.cpp (diff)
The file was modifiedjitbuilder/z/codegen/Evaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedfvtest/compilertest/control/TestJit.cpp (diff)
The file was removedcompiler/z/codegen/TRSystemLinkage.hpp
The file was modifiedcompiler/z/codegen/S390Peephole.cpp (diff)
The file was addedcompiler/z/codegen/SystemLinkagezOS.cpp
The file was modifiedcompiler/z/codegen/OMRLinkage.hpp (diff)
The file was addedcompiler/z/codegen/SystemLinkagezOS.hpp
The file was modifiedcompiler/z/codegen/SystemLinkage.hpp (diff)
The file was modifiedcompiler/z/CMakeLists.txt (diff)
The file was modifiedfvtest/compilertest/z/codegen/TestCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRMachine.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was addedcompiler/z/codegen/SystemLinkageLinux.cpp
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was modifiedjitbuilder/z/codegen/JBCodeGenerator.cpp (diff)
Commit b5076b19e594ba0e76e34ba64c62d7d187fc07a9 by fjeremic
Deprecate system linkage frame types
The frame types always default to `standardFrame` and we currently do
not handle other frame types, such as leaf frames for simplicity. This
commit cleans up all related APIs which serve no purpose at the moment.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: b5076b1)
The file was modifiedcompiler/z/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkageLinux.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkageLinux.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.hpp (diff)
Commit 1571a8a02bc93ef90a6b4b67604cbb4f2019bdb5 by fjeremic
Deprecate TR_LinkagePreserveStrategy2
This linkage strategy is no better than what we do by default. In fact
it looks almost identical. We deprecate it here to simplify the
implementation of the system linkage as this option provides us no
benefit.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 1571a8a)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.hpp (diff)
The file was modifiedcompiler/control/OMROptions.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
Commit cde7bb28c2a45fe25c703036f040e6e04ab52595 by fjeremic
Migrate system specific APIs into system specific linkage classes
Some APIs such as the creation of a prologue and epilogue are system
linkage specific, depending on the calling convention of the system.
Such APIs belong in the system linkage classes.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: cde7bb2)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkageLinux.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkageLinux.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
Commit ba63455eb83b4bf2cdceb486ceea76bd72e351de by fjeremic
Simplify prologue and epilogue creation on Linux system linkage
With the introduction of four new APIs:
- `fillGPRsInEpilogue`
- `fillFPRsInEpilogue`
- `spillGPRsInPrologue`
- `spillFPRsInPrologue`
We can migrate code from the the prologue and epilogue creation into the
aforementioned APIs to simplify the implementation. There can be more
work done within these functions, for example taking advantage of the
GPR/FPR masks which will be handled in subsequent commits.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: ba63455)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkageLinux.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkageLinux.cpp (diff)
Commit 5a9e757207d7a1944c6517ccea3c9f17a8221aed by fjeremic
Remove unused z/OS system linkage APIs
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 5a9e757)
The file was modifiedcompiler/z/codegen/SystemLinkage.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRMachine.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.hpp (diff)
Commit c60759cf077923684668b22f3ebc22321f59853c by fjeremic
Fixup private linkage preprologue calculation
The `preProcInstruction` is the instruction that was before the JIT to
JIT entry point before the arguments are loaded from the stack. This is
the instruction we want to use as the entry point into the method.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: c60759c)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
Commit 6e20f971519090bbb43f513834668db020d4c589 by fjeremic
Deprecate float parameter descriptors
Currently the z/OS XPLINK only supports 64-bit targets. We currently do
not intend to support 31-bit XPLINK targets at the OMR level. There was
some pre-existing support for floating point parameter descriptors which
are required only for 31-bit to describe floating point arguments. We
not longer need this support as the PPA1 structure does not support
generating float parameter descriptors.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 6e20f97)
The file was modifiedcompiler/z/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
Commit 32bbc2c558b7f17c0781d3a9c742c5d7f5d20ebd by fjeremic
Prepare z/OS prologue to be partitioned similarly to Linux
We prepare the code to the be partitioned into the following functions:
- `fillGPRsInEpilogue`
- `fillFPRsInEpilogue`
- `spillGPRsInPrologue`
- `spillFPRsInPrologue`
similarly to what we did on Linux. This will make the code much easier
to understand across the two system linkages.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 32bbc2c)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.hpp (diff)
Commit 11b5f95b003f60df360cdf785d2466ce6bb47454 by fjeremic
Implement XPLINKCallDescriptorSnippet
- Create the new snippet
- Migrate Call Descriptor generation function to the snippet
- Document all the new APIs
- Make use of the new snippet when generating the call outs
- Clean up generation of Call Descriptor relocation
- Remove XPLINKDESC, now unused pseudo-instruction
- Enhance internal relocation class to be more generic
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 11b5f95)
The file was modifiedcompiler/z/codegen/OMRInstOpCodeEnum.hpp (diff)
The file was modifiedcompiler/z/CMakeLists.txt (diff)
The file was modifiedcompiler/z/codegen/OMRInstOpCodeProperties.hpp (diff)
The file was modifiedcompiler/z/codegen/S390Debug.cpp (diff)
The file was modifiedfvtest/compilertest/build/files/target/z.mk (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.hpp (diff)
The file was addedcompiler/z/codegen/snippet/XPLINKCallDescriptorSnippet.cpp
The file was addedcompiler/z/codegen/snippet/XPLINKCallDescriptorSnippet.hpp
The file was modifiedcompiler/z/codegen/S390Instruction.hpp (diff)
The file was modifiedcompiler/z/codegen/S390Instruction.cpp (diff)
The file was modifiedjitbuilder/build/files/target/z.mk (diff)
Commit 78bc1eb7f8b53d0f12669d4c5b9876625c06849b by fjeremic
Migrate the instruction to label relocations to the common codegen
These relocations can be used by other codegens as well. Document and
expose them at the common level.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 78bc1eb)
The file was modifiedcompiler/codegen/Relocation.hpp (diff)
The file was modifiedcompiler/codegen/Relocation.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.hpp (diff)
The file was modifiedcompiler/z/codegen/snippet/PPA1Snippet.hpp (diff)
Commit 5f2b1dfa96dea555ebb871f2d0e99b5c57c1b838 by fjeremic
Synchronize API definitions between Linux and z/OS system linkages
Both linkages should look as identical as possible in terms of API
definitions so as to make it easier for a reader to understand. We
partition mainly the z/OS system linkage here so it looks more or less
like the Linux system linkage.
During this exercise we identify that quite some code related to
prologue and epilogue creation is actually common, as is the filling and
spilling of the registers. This opens up the doors for more commoning to
happen at the common system linkage level, a change which will follow
shortly.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 5f2b1df)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
The file was modifiedcompiler/z/codegen/snippet/PPA1Snippet.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkageLinux.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkageLinux.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.hpp (diff)
Commit 56d5ddebe06f2ffac6110c4fd769e8a6e51f8281 by fjeremic
Allow for Entry Point Marker to be NULL for callouts
We may be dispatching a call to an XPLINK function from a non-XPLINK
function, in which case we may not have an Entry Point Marker for the
non-XPLINK body. We still however need the call descriptor to be present
as the XPLINK body we are calling will return past the NOP descriptor.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 56d5dde)
The file was modifiedjitbuilder/z/codegen/JBCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/snippet/XPLINKCallDescriptorSnippet.cpp (diff)
The file was modifiedfvtest/compilertest/z/codegen/Evaluator.cpp (diff)
The file was modifiedjitbuilder/control/Jit.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.hpp (diff)
The file was modifiedfvtest/compilertest/z/codegen/TestCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
Commit 0c664342d1fdac0fe50022e177f808cb1bfa59db by fjeremic
Reference Linkage_inlines.hpp in newly added files
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 0c66434)
The file was modifiedcompiler/z/codegen/snippet/PPA2Snippet.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkageLinux.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
The file was modifiedcompiler/z/codegen/snippet/PPA1Snippet.cpp (diff)
The file was modifiedcompiler/z/codegen/snippet/XPLINKCallDescriptorSnippet.cpp (diff)
Commit 0515ff0096fbafafd83e6fce11c93bd02bba69d9 by sbabneet
Remove wrapper macros to support structs with J9* naming
In eclipse/openj9#5735, J9 renamed J9* to OMR* for the following
structs:
- J9ZOSLEConditionHandlerRecord -> OMRZOSLEConditionHandlerRecord
- J9UnixSignalInfo -> OMRUnixSignalInfo
So, the wrapper macros for the above structs are no longer needed.
Hence, the defines for the two structs have been removed.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 0515ff0)
The file was modifiedport/linuxppc/omrsignal_context.h (diff)
The file was modifiedinclude_core/unix/zos/leconditionhandler.h (diff)
Commit 4b58a9af70db49747c22c5e5d37d716042deacac by devinn
CMake DDR: Ignore header include guards
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 4b58a9a)
The file was modifiedcmake/modules/ddr/cmake_ddr.awk (diff)
Commit b3e7a82384d40cf3a44ba7bf3e20d4fcbf51dd7f by devinn
CMake DDR: Fix bug where #undef statements were not recognized
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: b3e7a82)
The file was modifiedcmake/modules/ddr/cmake_ddr.awk (diff)
Commit de2f16b44ad8cbbc99c1bfe526f9c785c2628633 by fjeremic
Add "zOS" as an xlc compiler ID for xlc++ on z/OS
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: de2f16b)
The file was modifiedcmake/modules/OmrDetectSystemInformation.cmake (diff)
Commit a7529877da737bcad08bd580094698a5cb2cf904 by fjeremic
Tweak z/OS and xlc CMake definitions to support z/OS
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: a752987)
The file was modifiedcmake/modules/platform/toolcfg/xlc.cmake (diff)
The file was modifiedcmake/modules/platform/os/zos.cmake (diff)
Commit 1ce05c9d2090f270f88d4c91229e09097dd3381b by fjeremic
Define OMR_EBCDIC in CMake z/OS builds
CMake builds run under -qascii so `OMR_EBCDIC` forces us not to convert
input from EBCDIC to ASCII in this mode as this is already done on our
behalf.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 1ce05c9)
The file was modifiedcmake/modules/platform/os/zos.cmake (diff)
Commit 692d5d92275dae0268c228054a993e41cfd5fb66 by fjeremic
Add zbarrier.s in z/OS CMakeLists
This file is needed to properly link against the `J9ZOSRWB` symbol.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 692d5d9)
The file was modifiedutil/omrutil/CMakeLists.txt (diff)
Commit 812ab956f22068247608ad18bfa96d1f1c24f8d9 by fjeremic
Deprecate J9VM_TIERED_CODE_CACHE and MAXMOVE defines
These defines are not used anywhere. We simplify the build process by
omitting them.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 812ab95)
The file was modifiedomrmakefiles/rules.linux.mk (diff)
The file was modifiedfvtest/compilertest/build/toolcfg/gnu/common.mk (diff)
The file was modifiedjitbuilder/build/toolcfg/gnu/common.mk (diff)
The file was modifiedomrmakefiles/rules.ztpf.mk (diff)
The file was modifiedcmake/modules/platform/arch/s390.cmake (diff)
The file was modifiedomrmakefiles/rules.zos.mk (diff)
Commit 2cf4cdf6ac26d64c82d8150a609dc6748b125783 by fjeremic
Add missing z/OS compiler command line defines
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 2cf4cdf)
The file was modifiedcmake/modules/platform/os/zos.cmake (diff)
Commit e9e4cb6a8b6e4fe217083bb7f8b2b6b2071b1bd7 by fjeremic
Add missing xlc z/OS compiler options
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: e9e4cb6)
The file was modifiedcmake/modules/platform/toolcfg/xlc.cmake (diff)
Commit cfed65757225d47cf0daa48a845d38251e01007d by fjeremic
Override MAP_ANONYMOUS and MAP_ANON for z/OS
These overrides do not apply to z/OS, so avoid hitting the `#error`
since they are really meant for OS X.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: cfed657)
The file was modifiedcompiler/env/FEBase_t.hpp (diff)
The file was modifiedjitbuilder/runtime/JBCodeCacheManager.cpp (diff)
Commit e70c6c13cc0f282368dd98d22ef787738d6ccdba by fjeremic
Add hacks for z/OS to work around mmap limitations
z/OS does not support mmap and JITBuilder is currently not hooked up to
the port library so there is no alternative at the moment. We introduce
a massive hack here to get us off the ground so we can actually build
and test some primitive things.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: e70c6c1)
The file was modifiedcompiler/env/FEBase_t.hpp (diff)
The file was modifiedfvtest/compilertest/runtime/TestCodeCacheManager.cpp (diff)
The file was modifiedjitbuilder/runtime/JBCodeCacheManager.cpp (diff)
Commit 75c5bd9263be7aba48bb282cf9fb19fe60267243 by fjeremic
Fix undefined references to int16_t on z/OS
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 75c5bd9)
The file was modifiedcompiler/ilgen/StatementNames.hpp (diff)
Commit 7e9780d07bb573b48dfb562cf3ab6c1ed8aeaa2d by fjeremic
Fix template issues with std::map on z/OS
xlc does not seem to like this valid C++. We get the following error:
``` CCN8465 (S) An object or reference of type "std::map<const char
*,TR::IlType *,bool (*)(const char *, const char
*),std::allocator<std::pair<const char * const,TR::IlType *> >
>::iterator" cannot be initialized with a prvalue of type
"std::_Tree<std::_Tmap_traits<const char *,TR::IlType *,bool (*)(const
char *, const char
*),TR::typed_allocator<std::pair<const char * const,TR::IlType
*>,TR::Region &>,0> >::iterator".
```
Thankfully we support `auto` so it's an easy workaround.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 7e9780d)
The file was modifiedcompiler/ilgen/OMRMethodBuilder.cpp (diff)
Commit eabda1046d5f84dd705a858c0b38ad354510b050 by fjeremic
Add workaround for xlc on z/OS with private delete operators
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: eabda10)
The file was modifiedcompiler/infra/OMRMonitor.hpp (diff)
Commit ba67cf1b2d0e54d96ed5803f275f42a10018ec86 by fjeremic
Define OMR_PLATFORM_THREAD_LIBRARY for z/OS
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: ba67cf1)
The file was modifiedcmake/modules/platform/toolcfg/xlc.cmake (diff)
Commit b6093d1f8bc4f0b4c3cc155089bead51a45014bd by fjeremic
Add -qnocsect for z/OS compiles
On zOS XLC linker can't handle files with same name at link time. A
workaround with pragma is needed. What this does is essentially give a
different name to the codesection (csect) for this file. So it doesn't
conflict with another file with the same name.
Alternatively we can specify -qnocsect to avoid such issues. There does
not seem ot be any obvious downside to this.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: b6093d1)
The file was modifiedcompiler/ilgen/StatementNames.hpp (diff)
The file was modifiedcmake/modules/platform/arch/s390.cmake (diff)
The file was modifiedcompiler/ilgen/OMRMethodBuilder.cpp (diff)
The file was modifiedcmake/modules/platform/toolcfg/xlc.cmake (diff)
The file was modifiedcmake/modules/OmrDetectSystemInformation.cmake (diff)
The file was modifiedfvtest/compilertest/build/toolcfg/gnu/common.mk (diff)
The file was modifiedcmake/modules/platform/os/zos.cmake (diff)
Commit 7c6ddd35201b4b265d57f9efb20cdd88f817fd07 by dsouzai
Change absolute include to relative
in z/env/OMRCPU.cpp, compiler/z/env/OMRCPU.hpp was being included. This
resulted in linter issues, because self() did not produce a complete
type. This commit replaces the absolute include path with a relative
include path, to allow the I-Path magic to do its thing.
Signed-off-by: Irwin D'Souza <dsouzai@ca.ibm.com>
(commit: 7c6ddd3)
The file was modifiedcompiler/z/env/OMRCPU.cpp (diff)
Commit 036436caf9a2e99c96cf64c631cc68c9a76882a0 by devinn
CMake DDR: allow user to specify extra options
With the commit, properties are added to the ddr targets to allow user
to specify:
- Output file names for blob and superset files
- A blacklist file
- An overrides file
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 036436c)
The file was modifiedcmake/modules/ddr/DDRSetStub.cmake.in (diff)
Commit 55f5cf6686e2011d2ad778e53f1960ebc6a9f1bd by aaronwang0407
Use unsigned integer for hashing algorithm
The hashing function used signed intger for varaible hash and seed,
which could lead to integer overflow. Fix the issue by changing the
signed integer type to unsigned.
Closes: #1794 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 55f5cf6)
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
Commit 1bba8da7998823a530efad257d55e51f9d8d6e41 by Jack.S.Lu
Add Transparent HugePage status to PortLibrary
Read THP status from OS and store as port global add Port option to
enable/disable THP
Signed-off-by: Jack Lu <Jack.S.Lu@ibm.com>
(commit: 1bba8da)
The file was modifiedport/omrportpriv.h (diff)
The file was modifiedport/win32/omrvmem.c (diff)
The file was modifiedport/zos390/omrvmem.c (diff)
The file was modifiedport/linux/omrvmem.c (diff)
The file was modifiedport/ztpf/omrvmem.c (diff)
The file was modifiedport/aix/omrvmem.c (diff)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedport/common/omrportcontrol.c (diff)
The file was modifiedport/osx/omrvmem.c (diff)
Commit 48612120ddad9080d0fa328ddab963fd6acb3f6a by Jack.S.Lu
default call to madvise after mmap
- only call madvise if Anonymous mapping is used
- Align madvise address/size to hugepage size
Signed-off-by: Jack Lu <Jack.S.Lu@ibm.com>
(commit: 4861212)
The file was modifiedport/linux/omrvmem.c (diff)
Commit 3d5f6df4909544fc58d46a42333c0ae3fe6f5436 by Jack.S.Lu
define MADV_HUGEPAGE when not defined in <sys/mman.h>
- update madvise address alignment to standard page size (4K)
Signed-off-by: Jack Lu <Jack.S.Lu@ibm.com>
(commit: 3d5f6df)
The file was modifiedport/linux/omrvmem.c (diff)
Commit ded836b1da61eb43088018ca653016313dd81237 by Jack.S.Lu
Update comment on pagesize rounding
Signed-off-by: Jack Lu <Jack.S.Lu@ibm.com>
(commit: ded836b)
The file was modifiedport/linux/omrvmem.c (diff)
Commit f65d397d0af0814a2888f2f884194cd0fc43cdcd by Jack.S.Lu
Add Helper function documentation
Signed-off-by: Jack Lu <Jack.S.Lu@ibm.com>
(commit: f65d397)
The file was modifiedport/linux/omrvmem.c (diff)
Commit 145a9a72959bd9e096c0d5a2b477111fd29306c1 by aaronwang0407
Move _afterRA to OMR::Z::CodeGenerator class
The variable bool _afterRA was defined in OMR::CodeGenerator but was
only used in the Z CodeGenerator. The variable is therefore moved into
OMR::Z::CodeGenerator. However, I believe the field is attempting to
track that local register assignment (RA) has already run. There is
probably a better way to accomplish this using the code generator phase
enum.
Closes: #1898 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 145a9a7)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit 0193bf0dfe329515a899e6ef22c35ef6fcae37ec by dsouzai
Add Platform Agnostic TM Query
This commit adds a wrapper API around existing Transactional Memory (TM)
queries in order to have a single query that is common across all
platforms.
Signed-off-by: Irwin D'Souza <dsouzai@ca.ibm.com>
(commit: 0193bf0)
The file was modifiedcompiler/p/env/OMRCPU.cpp (diff)
The file was modifiedcompiler/env/OMRCPU.hpp (diff)
The file was modifiedcompiler/x/env/OMRCPU.cpp (diff)
The file was modifiedcompiler/z/env/OMRCPU.cpp (diff)
The file was modifiedcompiler/z/env/OMRCPU.hpp (diff)
The file was modifiedcompiler/p/env/OMRCPU.hpp (diff)
The file was modifiedcompiler/x/env/OMRCPU.hpp (diff)
Commit 9c7f2193c95e5e5f20e8ffd4328384f96032b1de by keithc
Add missing newline as arguments are echoed
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 9c7f219)
The file was modifiedtools/hookgen/HookGen.cpp (diff)
Commit 41fb2dcf1addcb3fe188cb992ae5e79231d3b3f8 by aaronwang0407
Move firstTimeLiveOOLRegisterList to Z CodeGenerator
The _firstTimeLiveOOLRegisterList is only used in the the
OMR::Z::CodeGenerator class, but is defined and declared in the
OMR::CodeGenerator class. Thus, move the variable and its accessor
funcitons to Z CodeGenerator
Closes: #1893 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 41fb2dc)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit 2946405584e93b127105de16f62b184dedc6d979 by keithc
Use C-style comments in C header file
C++-style comments confuse xlc on z/OS which complains about
unterminated character literals.
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 2946405)
The file was modifiedinclude_core/omrcomp.h (diff)
Commit ae2ed023c25d4d06a2604447fccb0c41ec3b766a by Dhruv.C.Chopra
Implement rdbar and wrtbar evaluators on Z
This commit adds support for the rdbar and wrtbar evaluators in the z
codegen. Since many of the rdbar/wrtbar evaluator implementations are
identical to the x86 and Power codegens, the evaluators are now
implemented in the common codegen so that all codgens can share the same
implementation and avoid redundancy.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: ae2ed02)
The file was modifiedcompiler/x/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/x/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluator.cpp (diff)
Commit 66b0756d1e01c364afbb52b5a0b585648c5270ee by Dhruv.C.Chopra
Separate indirect and direct rd/wrtbar evaluators
Indirect rdbar and wrtbar opcodes are different from direct rdbar and
wrtbar opcodes. The number of children each type has and the side effect
node index is also different. Thus direct and indirect IL for these
opcodes should be handled in different evaluators. This allows the code
to be simplified, thus increasing maintainability. The evaluators are
also improved to make sure that they evaluate the side effect nodes
where applicable.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 66b0756)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.hpp (diff)
Commit 4f1783bde8d28c42b4565ed9c60e12aeb760b391 by devinmp
Stop reducing sums with a variable iteration count
Summation reduction in the expressions simplification optimization pass
transforms loops of the following form:
    for (int i = 0; i < k; i++) {
       ...
       sum += loopInvariantExpression;
       ...
   }
into a form where the sum is computed via multiplication:
    sum += loopInvariantExpression * k;
   for (int i = 0; i < k; i++) { ... }
Currently k must be a compile-time constant. However, summation
reduction is attempted even when k is variable, and when expressions
simplification fails to determine the number of iterations, the
candidate tree is treated instead as a loop-invariant store, and hoisted
above the loop with no modifications, like so:
    sum += loopInvariantExpression;
   for (int i = 0; i < k; i++) { ... }
The resulting sum is correct only when k happens to be 1.
Expressions simplification is modified so that when k is variable or
unknown, summation reduction is not attempted, and no trees are
considered to be candidates for it.
Signed-off-by: Devin Papineau <devinmp@ca.ibm.com>
(commit: 4f1783b)
The file was modifiedcompiler/optimizer/ExpressionsSimplification.cpp (diff)
Commit 66532888b2e971cd8c0356e106bba887cdc4d59b by devinmp
Fix the iteration count for summation reduction
Summation reduction in the expressions simplification optimization pass
transforms loops of the following form:
    for (int i = a; i < k; i++) {
       ...
       sum += loopInvariantExpression;
       ...
   }
into a form where the sum is computed via multiplication:
    sum += loopInvariantExpression * k;
   for (int i = 0; i < k; i++) { ... }
For illustration these are written as typical for-loops on the range
[0,k), but summation reduction works on a variety of loops. For example,
the IV (induction variable) may be either increasing or decreasing, and
the loop test may be inclusive or exclusive.
The initial value of the IV, the step amount, and the loop bound must
all be compile-time constants, so that the number of iterations can be
computed at compile time. This is the constant by which to multiply.
In calculating the number of iterations, it's important to know whether
the loop test is inclusive or exclusive, i.e. whether the loop test will
exit the loop when the IV is equal to the loop bound. Expressions
simplification remembers this in LoopInfo::_equals, the value of which
is determined in findLoopInfo(). This _equals is true when the loop
keeps running for an IV equal to the loop bound.
Expressions simplification has been determining _equals with an
assumption that the target of the loop test is outside the loop, e.g.
    ificmpge --> exit
     iload i
     iconst 10
    // loop body
But loop tests can (and often do) have the opposite sense, branching to
remain in the loop, and falling through to exit, e.g.
    ificmplt --> loop
     iload i
     iconst 10
    // exit
As a result, the iteration count could be off by 1 for loops whose tests
are in this form.
Expressions simplification will now inspect the loop test to determine
whether the branch targets the exit, and flip _equals when it does not.
Signed-off-by: Devin Papineau <devinmp@ca.ibm.com>
(commit: 6653288)
The file was modifiedcompiler/optimizer/ExpressionsSimplification.cpp (diff)
Commit 9a24bf8bf52ab8693a5c667dee235f0dfc26071d by shingarov
CMake build scripts for native linux-ppc32
PowerPC 32-bit compiler mostly works for me when cross-built using the
autotools-based build system.  However, this latter build sys- tem does
not work for JitBuilder, nor for TrilTests -- which are essential for
work on the compiler.
This commit enables CMake on PPC32 Linux (native, not cross).
Signed-off-by: Boris Shingarov <shingarov@labware.com>
(commit: 9a24bf8)
The file was modifiedcmake/modules/platform/toolcfg/gnu.cmake (diff)
The file was modifiedcmake/modules/OmrDetectSystemInformation.cmake (diff)
The file was modifiedcmake/modules/platform/arch/ppc.cmake (diff)
Commit dabb047bb956ac02243e323ee1a7bd76fa91e22f by hsoontie
Optimized imul evaluator to maximize register re-usage
Optimized imul evaluator to maximize register re-usage Fixes #3788
Signed-off-by: Hillary Soontiens <hsoontie@unb.ca>
(commit: dabb047)
The file was modifiedcompiler/aarch64/codegen/BinaryEvaluator.cpp (diff)
Commit ba4ab041aa8ee8170e06c3c94421f977f9799d6b by mike.h.zhang
Add UTF-8 case when reading locale from LC_CTYPE
OSX considers 'UTF-8' as a valid LC_CTYPE, and we never considered this
case, so we blindly copy that as the language name when we get it from
the LC_CTYPE env variable. 'UTF-8' is more like 'C' or 'POSIX' locale,
so just go with default language and region.
Signed-off-by: Mike Zhang <mike.h.zhang@ibm.com>
(commit: ba4ab04)
The file was modifiedport/unix/j9nlshelpers.c (diff)
Commit aa2e1b5ea2d1f9ccb43f497917c8c80c582090c1 by aaronwang0407
Remove CodeGenerator::_nodesSpineCheckedList from OMR
OMR::CodeGenerator has field _nodesSpineCheckedList that has only
relevance to OpenJ9. This commit remove the field from OMR.
Issue: #1895 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: aa2e1b5)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
Commit 31b79e0ecf507d17a448027890ba7fd2688a3f5e by bharath.appali
mark-10 : Fix _GNU_SOURCE redefination
Signed-off-by: bharathappali <bharath.appali@gmail.com>
(commit: 31b79e0)
The file was modifiedport/linux/omrosbacktrace_impl.c (diff)
The file was modifiedport/unix/omrsysinfo.c (diff)
The file was modifiedport/linux/omrvmem.c (diff)
The file was modifiedport/unix/omrsl.c (diff)
The file was modifiedport/unix/omrintrospect.c (diff)
Commit 7221baadeb658e30985cc86aca9552236e86e0f0 by maier
Relocate part of OMR::ResolvedMethodSymbol constructor to OpenJ9
The code guarded with J9_PROJECT_SPECIFIC has been relocated to OpenJ9.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 7221baa)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.cpp (diff)
Commit 9b370c22474545e5c19402206c723834d33b56cc by maier
Remove unused unkilledTemp property from ResolvedMethodSymbol
Not useful in OMR nor any known downstream project.  Since the property
is never set, remove guarded code assuming it is set.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 9b370c2)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.hpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
Commit 9bec036e022dd35fbab48c87d03801bf74f78fef by maier
Replace ResolvedMethodSymbol::getLogicalParameterList
This method is a remnant of a legacy project consuming OMR.  It is no
longer relevant, and simply returns `getParameterList`.  Replace all
references with `getParameterList` and remove the `TR::Compilation *`
argument.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 9bec036)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.cpp (diff)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.hpp (diff)
The file was modifiedcompiler/optimizer/Inliner.cpp (diff)
Commit d16c800682c7a8a47d757d3a53bea5a86a7d3c52 by maier
Remove OMR::ResolvedMethodSymbol NoTemps
`isNoTemps` and `setNoTemps` are remants of a legacy project consuming
OMR and are no longer relevant.  Remove and fold code assuming
`isNoTemps` always returns false.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: d16c800)
The file was modifiedcompiler/codegen/CodeGenRA.cpp (diff)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.hpp (diff)
The file was modifiedcompiler/optimizer/VPHandlers.cpp (diff)
The file was modifiedcompiler/il/symbol/OMRMethodSymbol.hpp (diff)
The file was modifiedcompiler/optimizer/LoopCanonicalizer.cpp (diff)
The file was modifiedcompiler/optimizer/LoopVersioner.cpp (diff)
The file was modifiedcompiler/optimizer/CopyPropagation.cpp (diff)
The file was modifiedcompiler/optimizer/LoopReducer.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.cpp (diff)
Commit 8d0708b4e688750eb5b89f364b41b926a69a802f by aaronwang0407
Remove the createOrFindClonedNode function in OMR
TR::Node *createOrFindClonedNode function in OMR::CodeGenerator has only
relevance to the OpenJ9 project. Therefore, remove it from OMR and
relocate it to the J9::CodeGenerator instead. In addition, fix the
spelling mistake on _uncommonedNodes and relocate it from OMR to J9.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 8d0708b)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
Commit d7f3c1c88ac45257506c6243e990604f2ea12158 by graham_chapman
Fix mixed mode compile error
Spelling mistake in the currently uncompiled path.
[ci skip]
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: d7f3c1c)
The file was modifiedgc/base/modronapicore.cpp (diff)
Commit 1f17caa0424da141ba4f047d02cc8e0c31a2acdd by maier
Remove and fold calculateParameterRegisterOffset from Linkage
The Power Linkage defines this function which is entirely
short-circuited on all implementations.  Remove it and fold code around
it.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 1f17caa)
The file was modifiedcompiler/p/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/p/codegen/PPCSystemLinkage.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCSystemLinkage.cpp (diff)
Commit e83040a5492d78a5bfd996300cd1f262076fc46a by maier
Remove and fold calculateActualParameterOffset from Linkage
The Power Linkage defines this function which is entirely
short-circuited on all implementations.  Remove it and fold code around
it.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: e83040a)
The file was modifiedcompiler/p/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/p/codegen/PPCSystemLinkage.hpp (diff)
The file was modifiedcompiler/p/codegen/PPCSystemLinkage.cpp (diff)
Commit 19d0ed411ba376f0fdfe6658ba02554379964391 by maier
Fold and simplify code in Power linkage saveArguments
* fold paths guarded with `all_saved` as it is only false
* simplify some instruction generation paths
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 19d0ed4)
The file was modifiedcompiler/p/codegen/OMRLinkage.cpp (diff)
Commit 90fcb8396b1e1075c9029d71adf16b2e8f5d49c2 by maier
Unify float/double handling in Power linkage
Unify handling of float and doubles in loadUpArguments/flushArguments.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 90fcb83)
The file was modifiedcompiler/p/codegen/OMRLinkage.cpp (diff)
Commit d83be3fdcf55e9555a3df4b7fb9bb6f5e04573f5 by keithc
Don't mark derived files as .PHONY
* doing so will cause make to assume the files have changed
even if they have not
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: d83be3f)
The file was modifiedjitbuilder/build/rules/gnu/common.mk (diff)
The file was modifiedfvtest/compilertest/build/rules/gnu/common.mk (diff)
Commit f1068310eea9555e71b38f423063712ea0199b4b by aaronwang0407
Relocate OMR::JniCallSites to OpenJ9
The OMR::CodeGenerator has field JniCallSites that has only relevance in
OpenJ9. Therefore, move it to J9::CodeGenerator. This commit removes the
field from OMR.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: f106831)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
Commit 637f10724dd3de1d4845bd2bc38d9c25456941f3 by graham_chapman
Initialize heapCeiling programatically
Stop depending on the ifdef for the initial value.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: 637f107)
The file was modifiedgc/base/GCExtensionsBase.cpp (diff)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
Commit c6a16fb8431b8371fbfcfc5fb4a4950df560bd1d by aaronwang0407
Relocate OMR::_compressedRefs to OpenJ9
OMR::CodeGenerator has field compressedRefs that has relevance to only
OpenJ9. Therefore relocate it from OMR to OpenJ9.
issue: #1896 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: c6a16fb)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit f96391d391659aec08ea33a623a7e3e3baf79235 by fjeremic
Remove unused trivialDeadTreeBlock list (#3869)
Not useful in OMR nor any known downstream projects.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: f96391d)
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.cpp (diff)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.hpp (diff)
Commit b11586c436294b8a4f94bce2a883dee2fa0d56dd by devinn
CMake: Link ddrgen against thread library
ddrgen uses the thread library. It works in current builds because the
port library is a static lib and has a dependency on the thread library
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: b11586c)
The file was modifiedddr/tools/ddrgen/CMakeLists.txt (diff)
Commit e5b2e696c15f640488a68e7901d1657db9d8bb5c by jackie.midroni
Move control flow evaluators out of UnaryEvaluator.cpp
Block of control flow evaluators in UnaryEvaluator.cpp were moved to
their correct location, in ControlFlowEvaluator.cpp.
Signed-off-by: Jackie Midroni <jackie.midroni@mail.utoronto.ca>
(commit: e5b2e69)
The file was modifiedcompiler/p/codegen/UnaryEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
Commit 763d638f655dedb8c22a1cc94c1ee650e02e0107 by jjohnst
z/TPF Root VPATH Rename
Very minor update for one of the vpaths used during z/TPF only builds.
The directory path change and we didn't correctly update the path to
reflect the correct name.
Signed-off-by: James D Johnston <jjohnst@us.ibm.com>
(commit: 763d638)
The file was modifiedomrmakefiles/rules.ztpf.mk (diff)
Commit 6f91ce3e31058d90b6ce13c6375fe70d6396683d by daniel_heidinga
Reorder defines so xlC16 finds the xlc before gnu
xlC16 appears to be based on clang and now recognizes the
__GNUC__ defines.  Reorder this code so that the compiler sees the
__xlC__-specific case first.
issue: #3775
Signed-off-by: Dan Heidinga <daniel_heidinga@ca.ibm.com>
(commit: 6f91ce3)
The file was modifiedinclude_core/AtomicSupport.hpp (diff)
Commit cb04d3bf119faad260cdd755d4b36d5831f0e95a by aaronwang0407
Relocate OMR::SupportsBigDecimalLongLookasideVersioning to OpenJ9
The OMR::CodeGenerator class defines
functionsgetSupportsBigDecimalLongLookasideVersioning and
setSupportsBigDecimalLongLookasideVersioning that are not used in OMR.
They only have relevance in OpenJ9 and should be relocated to the
J9::CodeGenerator class there.
Issue: #1882 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: cb04d3b)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit a87fc5c2bb74d38c8a67efdfd3b274a848668292 by devinn
CMake DDR: Add support for 'valuesandbuildflags' option
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: a87fc5c)
The file was modifiedcmake/modules/ddr/cmake_ddr.awk (diff)
Commit 6bca76b237333161ea5c3b03bf8ada9da6772280 by keithc
DDR on z/OS: Update makefiles
* add ddrgen dependency on j9a2e
* build hook and trace artifacts incrementally
* don't compile ddr/test with '-qdbgfmt=stabstring'
* enable generation of debug information
* ignore *.tracesentinel
* link ddrgen with elfdwarf
* simplify host-specific conditionals
* copy .x files instead of moving them
* use quotes instead of multiple escape sequences
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 6bca76b)
The file was modified.gitignore (diff)
The file was modifiedddr/tools/ddrgen/Makefile (diff)
The file was modifiedomrmakefiles/rules.zos.mk (diff)
The file was modifiedddr/test/makefile (diff)
The file was modifiedGNUmakefile (diff)
Commit 8ab3c0018239972c47fd132a80470df585cf2118 by keithc
DDR on z/OS: Add required includes of <string.h>
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 8ab3c00)
The file was modifiedutil/a2e/atoe_utils.c (diff)
The file was modifiedutil/a2e/sysTranslate.c (diff)
Commit 6a27ccff9fefeec25b3ec4f3b95d2a03665d8638 by keithc
DDR on z/OS: Make hookgen more robust
* print a message if an XML child is missing instead
of crashing with a segmentation fault
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 6a27ccf)
The file was modifiedtools/hookgen/HookGen.cpp (diff)
Commit 2067217988f178b598fd5803f93de2b7b8c3b1a3 by keithc
DDR on z/OS: Read text files consistently
* add TextFile class for reading text files consistently
(using the port library instead of 'FILE *' or stl streams)
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 2067217)
The file was modifiedddr/lib/ddr-ir/Makefile (diff)
The file was modifiedddr/lib/ddr-ir/CMakeLists.txt (diff)
The file was addedddr/lib/ddr-ir/TextFile.cpp
The file was modifiedddr/include/ddr/scanner/Scanner.hpp (diff)
The file was modifiedddr/lib/ddr-macros/MacroTool.cpp (diff)
The file was modifiedddr/include/ddr/scanner/pdb/PdbScanner.hpp (diff)
The file was addedddr/include/ddr/ir/TextFile.hpp
The file was modifiedddr/lib/ddr-scanner/Scanner.cpp (diff)
The file was modifiedddr/tools/ddrgen/ddrgen.cpp (diff)
The file was modifiedddr/lib/ddr-ir/Symbol_IR.cpp (diff)
The file was modifiedddr/include/ddr/macros/MacroTool.hpp (diff)
Commit 7319e80c09cda2d94a2e8986753c871c13d5ce42 by keithc
DDR on z/OS: Use iconv to work with EBCDIC-encoded files
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 7319e80)
The file was modifiedddr/tools/getmacros (diff)
Commit 5c5ce34d58fcb4a3d1365261e92ea6d8f66d0b40 by keithc
DDR on z/OS: Remove checking for redundant input
It's possible that ddrgen was invoked with some input files that don't
contribute any additional debugging information. There was code to check
for that and provide feedback, however, it had several problems:
* It operated on 'Type *' many (most?) of which will be stale pointers
after the call to `mergeIR()`.
* The algorithm didn't scale well; on most platforms openj9 only
provides a few input files but on z/OS ddrgen must process more
than a thousand files - the result being it didn't terminate even
after 15 minutes. It has never reported any unnecessary input
so that was time spent with no benefit.
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 5c5ce34)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfScanner.cpp (diff)
Commit 2239de809e2bec1b10b4ff1662815d488c045dc9 by keithc
DDR on z/OS: Multiple enhancements to DwarfScanner
* add correction for base type: boolean -> bool
* handle DW_AT_data_member_location expressions
* handle DW_TAG_array_type with no children
* ignore anonymous fields
* refactor check for anonymous types
* treat fields marked with DW_AT_declaration as static
* use native file descriptor in call to dwarf_init()
* 'void' may be tagged DW_TAG_unspecified_type
* don't trigger a segfault encountering an unknown tag
* handle enum literal value forms sdata & udata
* don't call dwarf_srcfiles() if a CU doesn't have DW_AT_comp_dir
* don't call malloc(0)
* don't blacklist types with DW_AT_decl_file out of range
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 2239de8)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfScanner.cpp (diff)
Commit 9d7c248d68c8636f8f4ed59651353d4dfc642dd2 by keithc
DDR on z/OS: Use native encoding for ddrgen sample code
* avoids difficulties with using ctype.h in C++ code
* DWARF uses ASCII anyways even if the source is EBCDIC
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 9d7c248)
The file was modifiedddr/test/makefile (diff)
Commit 577e37f5df81b6d424d3c4265e5c2ea70b12297d by keithc
DDR on z/OS: Fix blob_reader tool
* use iconv to handle EBCDIC <-> ASCII conversions
* use port library for file I/O
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 577e37f)
The file was modifiedddr/tools/blob_reader/Makefile (diff)
The file was modifiedddr/tools/blob_reader/blob_reader.cpp (diff)
Commit 99d9cceed71b2dc2382c149e202c98dc3e2720af by Charlie Gracie
Remove the GC MemoryStatistics
This code is a subset of what the PortLibrary already tracks so removing
it will not lose any information. By removing this code the GC startup
should improve and use less memory.
Signed-off-by: Charlie Gracie <charlie.gracie@gmail.com>
(commit: 99d9cce)
The file was modifiedgc/base/segregated/SegregatedGC.cpp (diff)
The file was modifiedgc/base/Forge.cpp (diff)
The file was modifiedgc/base/Forge.hpp (diff)
The file was modifiedgc/base/omrmmprivate.hdf (diff)
The file was removedgc/base/MemoryStatistics.hpp
The file was modifiedgc/base/standard/ParallelGlobalGC.cpp (diff)
Commit 75ab77d5f2ef3cad1fa6e1c668076457b02b9d7e by daniel_heidinga
Delete disabled Win32 SSE OMRZeroMemory code
Signed-off-by: Dan Heidinga <daniel_heidinga@ca.ibm.com>
(commit: 75ab77d)
The file was modifiedutil/omrutil/j9memclr.c (diff)
Commit a38dfb1d13b442444f39f54838bfada2e84c5c92 by daniel_heidinga
Use the inline asm code for xlc16 (clang)
The new clang-based xlc version defines both __xlC__ and __GNUC__.
Default the drop/restoreSMT and nop/yield functions to use inline asm.
Signed-off-by: Dan Heidinga <daniel_heidinga@ca.ibm.com>
(commit: a38dfb1)
The file was modifiedinclude_core/AtomicSupport.hpp (diff)
Commit 18e4470f89d1f930f26684214ea2369d02b053a5 by Dmitri_Pivkine
New constructor for IndexableObjectScanner
Prepare GC_IndexableObjectScanner to support array elements of different
size (but aligned to sizeof(fomrobject_t)). Also change constructor to
have ability to provide scanMap from child class. I replaced pointers
math to calculation in bytes where necessary. Also added new constructor
for changes and keep old temporary until child class it not modified to
use new constructor. After this old constructor can be removed.
Signed-off-by: Dmitri Pivkine <Dmitri_Pivkine@ca.ibm.com>
(commit: 18e4470)
The file was modifiedgc/base/IndexableObjectScanner.hpp (diff)
Commit dbfd0f17957757b5b65acdaed6057702f8548280 by daniel_heidinga
Fix struct definition to correctly name type
Signed-off-by: Dan Heidinga <daniel_heidinga@ca.ibm.com>
(commit: dbfd0f1)
The file was modifiedport/aix/omrintrospect.h (diff)
Commit 0aa6b426d981306100b32629dcfda3b78c4774d9 by aaronwang0407
Remove _snippetsToBePatchedOnRegisterNative from OMR
This patch removes declaration, initialization and reference to
_snippetsToBePatchedOnRegisterNative from OMR.
Issue: #3573 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 0aa6b42)
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.hpp (diff)
Commit 87afc37955573ea35bb4cb91b063b728ef5cb46c by keithc
Fix Windows build problems
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 87afc37)
The file was modifiedddr/tools/blob_reader/CMakeLists.txt (diff)
The file was modifiedddr/tools/blob_reader/Makefile (diff)
The file was modifiedddr/lib/ddr-scanner/pdb/PdbScanner.cpp (diff)
Commit cbbe12b2e5edea4e01a65ff6f61bada807737eef by daniel_heidinga
Cast flags to short to match struct definition
Without this cast, xlc16 produces the following error:
```
./unix/omrintrospect.c:226:47: error: implicit conversion from
'int' to 'short' changes value from 57345 to -8191
[-Werror,-Wconstant-conversion]
       fds[0].events = POLLHUP | POLLERR | POLLNVAL | POLLIN;
                     ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
```
This cast forces the flags to match the field definition
Signed-off-by: Dan Heidinga <daniel_heidinga@ca.ibm.com>
(commit: cbbe12b)
The file was modifiedport/unix/omrintrospect.c (diff)
Commit f66ac341520e54bd517d290aa7359b93fed8c0e5 by aaronwang0407
Remove _dummyTempStorageRefNode from OMR
Delete variable _dummyTempStorageRefNode from OMR::CodeGenerator.
Closes: #1897 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: f66ac34)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit 67082f9fbd897d28c0f2f46bfb430402ad410f02 by maier
Document purpose of "toolchain bug" label
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 67082f9)
The file was modifiedCONTRIBUTING.md (diff)
Commit b774e06b1c13bc3557b42a2153eecd791ff5f55e by devinn
Don't rely on USER_HZ
USER_HZ is an internal kernel constant. sysconf() is the documented way
to get this value.
https://linux.die.net/man/7/time
> It reports times with a granularity defined by the kernel constant
> USER_HZ. User-space applications can determine the value of this
> constant using sysconf(_SC_CLK_TCK).
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: b774e06)
The file was modifiedport/unix/omrsysinfo.c (diff)
Commit e9379f79d9d85a6251d0993ae6aa435fa1a6a1dd by maier
Remove deprecated trivial store sinking optimization
This optimization is a remnant of a legacy project consuming OMR and is
not useful to OMR nor any of its consuming projects.  Remove it and
repair some source code formatting.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: e9379f7)
The file was modifiedcompiler/optimizer/OMROptimizations.enum (diff)
The file was modifiedcompiler/optimizer/SinkStores.cpp (diff)
The file was modifiedjitbuilder/optimizer/JBOptimizer.cpp (diff)
The file was modifiedcompiler/control/OMROptions.hpp (diff)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
The file was modifiedcompiler/optimizer/SinkStores.hpp (diff)
Commit c80a9aca78d2dfc7bae8c4544580793d207c4f5a by maier
Fold code assuming setSinkMethodMetaDataStores is always false
This function always returns false now that trivial store sinking has
been removed.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: c80a9ac)
The file was modifiedcompiler/optimizer/SinkStores.hpp (diff)
The file was modifiedcompiler/optimizer/SinkStores.cpp (diff)
Commit 8e74a87b94ef4ff4cf9491a17372b50f79b9a9bc by maier
Fold code assuming enablePreciseSymbolTracking is false
This function always returns false now that trivial store sinking has
been removed.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 8e74a87)
The file was modifiedcompiler/optimizer/SinkStores.hpp (diff)
The file was modifiedcompiler/optimizer/SinkStores.cpp (diff)
Commit 2cd7fd9d130c25f29f12964c01e6b9a56e858ed9 by maier
Remove obsolete trivial dead store functions
* initCommonedLoadsList(TR::Node *node, vcount_t visitCount)
* killCommonedLoadFromSymbol(int32_t symIdx)
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 2cd7fd9)
The file was modifiedcompiler/optimizer/SinkStores.cpp (diff)
The file was modifiedcompiler/optimizer/SinkStores.hpp (diff)
Commit fd7eef8201a1298a894bce5ebd660cacab29e98e by maier
Remove _commonedLoadsList
Removing trivial store sinking made this list obsolete.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: fd7eef8)
The file was modifiedcompiler/optimizer/SinkStores.cpp (diff)
The file was modifiedcompiler/optimizer/SinkStores.hpp (diff)
Commit 6359c1cd57336e09bb3cd40cd27118422f15362f by maier
Fold and remove deprecated trivial store sinking functions
* containsKilledCommonedLoad
* containsSatisfiedAndNotKilledCommonedLoad
* containsCommonedLoad
* getCommonedLoad
* satisfyCommonedLoad
* areAllCommonedLoadsSatisfied
* containsUnsatisfiedLoadFromSymbol
Remove fields:
* _satisfiedCommonedLoadsCount
* _commonedLoadsCount
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 6359c1c)
The file was modifiedcompiler/optimizer/SinkStores.hpp (diff)
The file was modifiedcompiler/optimizer/SinkStores.cpp (diff)
Commit 4df16962daacf0eaa8601b48656f513da9834783 by maier
Remove obsolete searchAndMarkFirstUses
No longer called once trivial store sinking is removed.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 4df1696)
The file was modifiedcompiler/optimizer/SinkStores.cpp (diff)
The file was modifiedcompiler/optimizer/SinkStores.hpp (diff)
Commit 557ac4aef16ccef1008d861e727fe7475688cd32 by devinn
Stop using sigval_t
The POSIX standard the type is `union sigval`. sigval_t is only provided
as a typedef convinience on linux
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 557ac4a)
The file was modifiedport/ztpf/omrintrospect.c (diff)
The file was modifiedport/unix/omrintrospect.c (diff)
The file was modifiedport/zos390/omrintrospect.h (diff)
The file was modifiedport/aix/omrintrospect.h (diff)
Commit f0286bed310a4c832eb4495e8420ec06410e0407 by aaronwang0407
Overload function void incRefCountForOpaquePseudoRegister in OMR
This patch adds an overload function of
incRefCountForOpaquePseudoRegister but with less parameters. This is the
first step out 6 steps to simpify function
incRefCountForOpaquePseudoRegister.
Issue: eclipse/omr#1855 Signed-off-by: Bohao(Aaron) Wang
<aaronwang0407@gmail.com>
(commit: f0286be)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit 68fc46d7aa59e70c3ea1131cf0c4bb33a35b6761 by daniel_heidinga
Adjust formating, delete duplicate case and correct copyright date
Signed-off-by: Dan Heidinga <daniel_heidinga@ca.ibm.com>
(commit: 68fc46d)
The file was modifiedinclude_core/AtomicSupport.hpp (diff)
The file was modifiedport/unix/omrintrospect.c (diff)
Commit 7dc1fd9ba3c031a5893b89c58523a1213f6ee4bf by maier
Remove and cleanup MetaDataList from ResolvedMethodSymbol
The `OMR::ResolvedMethodSymbol` maintains a list of method metadata
symbols that are a remnant of a legacy project consuming OMR.  They are
not used in OMR nor any known downstream project.
Remove and fold code that referenced this list (it was never populated
with anything).
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 7dc1fd9)
The file was modifiedcompiler/optimizer/LiveVariableInformation.cpp (diff)
The file was modifiedcompiler/optimizer/SinkStores.cpp (diff)
The file was modifiedcompiler/optimizer/DataFlowAnalysis.hpp (diff)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.cpp (diff)
The file was modifiedcompiler/optimizer/GlobalRegisterAllocator.cpp (diff)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.hpp (diff)
The file was modifiedcompiler/optimizer/Liveness.cpp (diff)
Commit c74e19f01e5d576124093badcf4ddcf9e5a9b4c1 by andrewgao98
Move helper functions to appropriate files
There exists certain helper functions in the power codegen in various
evaluator files that should be moved. This commit moves the helpers for
instruction generation to GenerateInstructions.cpp and utility helpers
to OMRCodeGenerator files.
Signed-off-by: Andrew Gao <andrewgao98@gmail.com>
(commit: c74e19f)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/p/codegen/GenerateInstructions.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/GenerateInstructions.hpp (diff)
The file was modifiedcompiler/p/codegen/BinaryEvaluator.cpp (diff)
Commit 75c09985f5d5dd6cfd7c9d1e4f4d56e9406a45c4 by daniel_heidinga
Avoid looking up the NLS catalog in en locale's with default msg
Delay looking up the NLS catalog (a slowish operation) if the NLS
message request supplies a default message and the locale is english.
Signed-off-by: Dan Heidinga <daniel_heidinga@ca.ibm.com>
(commit: 75c0998)
The file was modifiedport/common/j9nls.c (diff)
Commit 5c317b78c1eec9a38134988b37836b9d7a16b942 by cedric.hansen
Total regions count for metronome regions lists
Main issue was that using metronome gc, a long pause occured when using
large heap sizes. These changes address that issue.
- Added counters in both `LockingFreeHeapRegionList` and
`LockingHeadRegionQueue`
- Counter is incremented by number of regions being added
- `LockingFreeHeapRegionList.cpp::getTotalRegions()` no longer has to
iterate through a list to find count, as it just returns the count
- Reduces pause to only a few microseconds
- Removed a paramater in `RegionPoolSegregated::countFreeRegions` which
unnecessarily traversed a list, whose value was not used
- addresses issue eclipse/openj9#4769
Signed-off-by: Cedric Hansen <cedric.hansen@ibm.com>
(commit: 5c317b7)
The file was modifiedgc/base/segregated/LockingHeapRegionQueue.hpp (diff)
The file was modifiedgc/base/segregated/FreeHeapRegionList.hpp (diff)
The file was modifiedgc/base/segregated/RegionPoolSegregated.cpp (diff)
The file was modifiedgc/base/segregated/LockingFreeHeapRegionList.hpp (diff)
The file was modifiedgc/base/segregated/LockingFreeHeapRegionList.cpp (diff)
The file was modifiedgc/base/segregated/RegionPoolSegregated.hpp (diff)
The file was modifiedgc/base/segregated/MemoryPoolSegregated.cpp (diff)
Commit a80ff4a02e37d3bea234631238a77b3a82c7466e by devinn
Remove references to `linux/prctl.h`
This header is unneccisary. Linux documentation indicated only
`sys/prctl.h` is required
(http://man7.org/linux/man-pages/man2/prctl.2.html)
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: a80ff4a)
The file was modifiedport/linux/omrosdump_helpers.c (diff)
The file was modifiedthread/unix/thrdsup.c (diff)
Commit bf60893cac35815f2f3e26ab490cdba1d74236c4 by maier
Correct API comment for OMRSymbol constructor
The comment describing the API for the `Symbol(TR::DataType d, uint32_t
size)` constructor was incorrectly stating the size is inferred from the
type.
Correct the text, and add Doxygen headers to all the OMRSymbol
constructors.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: bf60893)
The file was modifiedcompiler/il/symbol/OMRSymbol.hpp (diff)
Commit 1be80300100542490baebfe8a531dc61630cdc56 by jackie.midroni
Generate entry breakpoints for methods compiled with system linkage
Implemented breakOnEntry debugging option on Power for methods compiled
using system linkage.
Signed-off-by: Jackie Midroni <jackie.midroni@mail.utoronto.ca>
(commit: 1be8030)
The file was modifiedcompiler/p/codegen/PPCSystemLinkage.cpp (diff)
Commit 69fece549c15f36cc7de34aee682bfb2969533cf by Peter_Shipton
Add OMRMEM_CATEGORY_9_CHILDREN macro
This is needed by OpenJ9, see
https://github.com/eclipse/openj9/pull/5891/
Signed-off-by: Peter Shipton <Peter_Shipton@ca.ibm.com>
(commit: 69fece5)
The file was modifiedinclude_core/omrmemcategories.h (diff)
Commit 18c7e74008e4a67f04bf28735cd4590c2c1a4b91 by maier
Remove reference to getSnippetsToBePatchedOnRegisterNative
This is a deprecated API and the list is never populated.  Remove the
remaining reference to fix a build break.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 18c7e74)
The file was modifiedcompiler/z/codegen/ConstantDataSnippet.cpp (diff)
Commit 6326c858b0ebf02946ba3bfa203bf9054d531f3a by keithc
Fix OSX build errors
* add required declarations to DwarfFunctions.hpp
* add implementation of dwarf_formblock()
* link blob_reader with iconv
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 6326c85)
The file was modifiedddr/include/ddr/scanner/dwarf/DwarfFunctions.hpp (diff)
The file was modifiedddr/tools/blob_reader/Makefile (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfFunctions.cpp (diff)
Commit 9805300ac4dd3c13fa081cdff16d6020910f79bf by Dmitri_Pivkine
Cleanup Indexable Object Scanner
Remove old (unused) constructor
Signed-off-by: Dmitri Pivkine <Dmitri_Pivkine@ca.ibm.com>
(commit: 9805300)
The file was modifiedgc/base/IndexableObjectScanner.hpp (diff)
Commit 81a93d16e146d81f0132637a4f2e2b3cb6316597 by aaronwang0407
Move constLoadNeedsLiteralFromPool to OpenJ9
This commit removes all declarations and initializations in OMR
Closes: #1873 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 81a93d1)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
Commit 1f32d5b034273f64f7f13ae190b5940250a46b1a by maier
Disable on stack replacement (OSR) for AArch64
Complete support isn't ready yet.  Disabling until it is.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 1f32d5b)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
Commit 11aca0059e9d5d864f31cbc314ca29a764d4388f by aaronwang0407
Move  getInternalPtrMapBit to OpenJ9
This commit removes field getInternalPtrMapBit from OMR.
Closes: # 1877 Signed-off-by: Bohao(Aaron) Wang
<aaronwang0407@gmail.com>
(commit: 11aca00)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.hpp (diff)
Commit fbf139ea8c4882784f875b58e3d4eb8409f4c360 by sbabneet
Fix possible loss of data compilation error: lastmod_failedToFindFile
omrfile_lastmod returns an int64_t. In the lastmod_failedToFindFile
testcase, the return value from omrfile_lastmod is stored in an int.
This causes the following error on Windows:
omrfileTest.cpp(4801) : error C2220: warning treated as error - no
'object' file generated omrfileTest.cpp(4801) : warning C4244:
'initializing' : conversion from
'int64_t' to 'int', possible loss of data
In the above testcase, the return value is stored in an int64_t to
resolve the compilation error.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: fbf139e)
The file was modifiedfvtest/porttest/omrfileTest.cpp (diff)
Commit e5567c47d6a56d8b199483a4d34ae0e9db7aeab4 by sbabneet
Fix possible loss of data compilation error: vmem_test_double_mapping
In the vmem_test_double_mapping testcase, storing a size_t in a long
results in the following errors on Windows:
omrvmemTest.cpp(809) : error C2220: warning treated as error - no
'object' file generated omrvmemTest.cpp(809) : warning C4267: '=' :
conversion from 'size_t' to
'long', possible loss of data omrvmemTest.cpp(810) : warning C4267: '='
: conversion from 'size_t' to
'long', possible loss of data omrvmemTest.cpp(811) : warning C4267: '='
: conversion from 'size_t' to
'long', possible loss of data omrvmemTest.cpp(812) : warning C4267: '='
: conversion from 'size_t' to
'long', possible loss of data omrvmemTest.cpp(813) : warning C4267: '='
: conversion from 'size_t' to
'long', possible loss of data omrvmemTest.cpp(814) : warning C4267: '='
: conversion from 'size_t' to
'long', possible loss of data omrvmemTest.cpp(815) : warning C4267: '='
: conversion from 'size_t' to
'long', possible loss of data
In order to resolve the above errors, the size_t is casted to a long
before storing it in a long.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: e5567c4)
The file was modifiedfvtest/porttest/omrvmemTest.cpp (diff)
Commit 5ed4f9ee56c967c90e8acd594569b6f2ed5a07ca by noreply
Revert "Avoid looking up the NLS catalog in en locale's with default
msg"
(commit: 5ed4f9e)
The file was modifiedport/common/j9nls.c (diff)
Commit a1967c7ca9fa2388847eaf6ecf9d3aad498b0599 by aaronwang0407
Fix function calls to incRefCountForOpaquePseudoRegister in  OpenJ9
This commit changes all function calls to
incRefCountForOpaquePseudoRegister with the fewer parameter overload
version. This is step 3 / 6.
Issue: #1855 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: a1967c7)
The file was modifiedcompiler/z/codegen/OMRMemoryReference.cpp (diff)
Commit 8f44c053f7517e8710b4c5c1fe9ee3abc884f7e8 by aaronwang0407
Remove supportsTrapsInTMRegion from OMR
Remove all the references to supportsTrapsInTMRegion from OMR as the
field has already been transferred to  OpenJ9.
Closes: #1868 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 8f44c05)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit f254f6644d532b0d8fa40b80ece5170c07cd262c by fjeremic
Consolidate InstOpCode tables on Power and improve documentation
Similarly to #2561 we consolidate the various instruction metadata
within a single table on Power. This consolidation is not fully done as
there is a few things left to discuss within the PR containing this
commit. The final product will be a series of commits which do the
following:
- Deprecate ftops.pl
- Consolidate all generated tables into one checked in table
- Add instruction formats
- Document new metadata tables
- Statically verify the new OMRInstOpCodeProperties.hpp metadata is
identical to the existing tables
- Deprecate all generated tables in favor of the new consolidated table
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: f254f66)
The file was addedcompiler/p/codegen/OMRInstOpCodeProperties.hpp
Commit da1e49dda70f526f0b3b5d1c6394e70fc8309d6d by Charlie Gracie
Fix VMRegister Adjust APIs
JitBuilder math APIs like Add, Mul, etc. require that the left and right
operands have the same type or if the left is a pointer that the right
is an Int32 or Int64. Currently a VMRegister wrapping a int8_t * will
fail when Adjust is called since _integerTypeForAdjustment will be Int8.
It is incorrect to limit the adjustBy amount to the primitive type of
the pointer since a user may want to adjust the value by a large value.
The Adjust API now takes a `size_t` amount parameter and creates the
correct constant for adjustment. This PR includes a new test called
vmregister which verifies that VMRegisters wrapping a pInt8 work. This
test failed before this PR. The Operand[Array,Stack]Tests verify that
the code continues to work for larger types.
Signed-off-by: Charlie Gracie <charlie.gracie@gmail.com>
(commit: da1e49d)
The file was modifiedjitbuilder/release/CMakeLists.txt (diff)
The file was modifiedcompiler/ilgen/OMRVirtualMachineRegister.cpp (diff)
The file was modifiedcompiler/ilgen/OMRVirtualMachineRegisterInStruct.hpp (diff)
The file was modifiedjitbuilder/release/cpp/Makefile (diff)
The file was addedjitbuilder/release/cpp/samples/VMRegister.hpp
The file was modifiedjitbuilder/apigen/jitbuilder.api.json (diff)
The file was modifiedcompiler/ilgen/OMRVirtualMachineRegister.hpp (diff)
The file was addedjitbuilder/release/cpp/samples/VMRegister.cpp
Commit 53f0ad2cb329e69ef30e1bbea6a1585aaaec77e9 by linhu
Merge FreeEntryAllocateStats after compaction
- FreeEntryAllocateStats has been updated after sweep,
  but compaction would change freeEntries stats,
  update FreeEntryAllocateStats after compaction.
Signed-off-by: Lin Hu <linhu@ca.ibm.com>
(commit: 53f0ad2)
The file was modifiedgc/base/standard/ParallelGlobalGC.cpp (diff)
The file was modifiedgc/base/standard/ParallelGlobalGC.hpp (diff)
Commit 0aeb2b371e32880c175c48294ec1c65a74b97a85 by aaronwang0407
Delete bndsChkNeedsLiteralFromPool function from OMR
This patch deletes all references to the function
bndsChkNeedsLiteralFromPool in OMR.
Closes: #1872 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 0aeb2b3)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit 1b50bac4603f3a8368f5115e6cbf233b705c9b0e by daniel_heidinga
Avoid looking up the NLS catalog in en locale's with default msg
Delay looking up the NLS catalog (a slowish operation) if the NLS
message request supplies a default message and the locale is english.
This improves on #3812 in that's automatic and will still cause the
catalog to be parsed when a request is made without a default message.
Signed-off-by: Dan Heidinga <daniel_heidinga@ca.ibm.com>
(commit: 1b50bac)
The file was modifiedport/common/j9nls.c (diff)
Commit cbf9940d2c4b084fea59f7c49167398a80db5853 by konno
AArch64: Add entries to Helpers.inc
This commit adds an entry for AArch64 to compiler/runtime/Helpers.inc.
Signed-off-by: knn-k <konno@jp.ibm.com>
(commit: cbf9940)
The file was modifiedcompiler/runtime/Helpers.inc (diff)
Commit a2c063f3d5df92cbdba771f4733066c09afb3421 by aaronwang0407
Remove old version of incRefCountForOpaquePseudoRegister
Removes the old bresion of the function from OMR. This is the last
commit to simpifying parameters in the
incRefCountForOpaquePseudoRegister function.
Closes:#1855 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: a2c063f)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit a235e560c781a0351fc3decc209537dce2cc9576 by aaronwang0407
Simplifying function calls of TR_S390Peephole in OMR
Simplifying function calls of TR_S390Peephole, TR_S390PostRAPeephole and
TR_S390RreRAPeephole by not passing paramter cg.
Issue:#1855 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: a235e56)
The file was modifiedcompiler/z/codegen/S390Peephole.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Peephole.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
Commit 80685631db9c968e05fdd96742d687bcfea95c31 by daniel_heidinga
Ensure local variables are initialized at declaration
While investigating a crash in eclipse/openj9#5988, I had to look at the
AVL code and there were cases where it wasn't clear all the variables
had been initialized before they were read.  This patch makes
initialization explicit and ensures variables are initialized at their
declaration site.
This patch is code cleanup to make it easier to reason about the AVL
code.
Signed-off-by: Dan Heidinga <daniel_heidinga@ca.ibm.com>
(commit: 8068563)
The file was modifiedutil/avl/avlsup.c (diff)
Commit 27e6dfa90add13d4c7ee111fccefbff8149028d3 by jackie.midroni
Remove j2prof
All remnants of j2prof, an old instruction-level profiling
implementation that has since been replaced by JVMTI, have been removed.
Signed-off-by: Jackie Midroni <jackie.midroni@mail.utoronto.ca>
(commit: 27e6dfa)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
Commit 7e3b3b0e4c339c7f1251ed119cac06346e68a89a by cedric.hansen
Trigger compaction if memory fragmentation is detected.
- `LargeObjectAllocateStats::getPageAllignedFreeMemory` returns the
amount of space that can reused based on the given page length (obtained
through extensions->heap->getPageSize()) due to memory fragmentation.
The value returned is an estimate.
- The metric added in the function
`MM_ParallelGlobalGC::shouldCompactThisCycle` combines the existing dark
matter metric (accessed through `MM_MemoryPool::getDarkMatterBytes()`),
with the newly created stat (from bullet 1).
- If the fragmented memory (dark matter + unusable page alligned memory)
exceeds a certain threshood, (25% of total memory by default), then a
compact is triggered.
- Trigger only occurs when `OMR_GC_IDLE_HEAP_MANAGER` is defined, and
`IDLE`.
- Threshold can be specified by `-XXgc:gcOnIdleCompactThreshold=`
command line option. Entered value should be a percentage.
- Separate metric was also introduced in
`MM_ParallelGlobalGC::shouldCompactThisCycle`, to trigger compaction
when dark matter ratio alone exceeds a certain threshold (20% by
default).
- Threshold can be specified by '-XXgc:darkMatterCompactThreshold`
command line option. Entered value should be a percentage.
- Moved location of call to `processLargeAllocateStatsAfterSweep()` to
accomodate changes mentionned above.
- Accompanied by changes on the j9 side for parsing command line options
- addresses issue #3797
Signed-off-by: Cedric Hansen <cedric.hansen@ibm.com>
(commit: 7e3b3b0)
The file was modifiedgc/base/gcutils.cpp (diff)
The file was modifiedgc/stats/LargeObjectAllocateStats.cpp (diff)
The file was modifiedgc/base/standard/ParallelGlobalGC.cpp (diff)
The file was modifiedgc/base/j9mm.tdf (diff)
The file was modifiedgc/stats/LargeObjectAllocateStats.hpp (diff)
The file was modifiedinclude_core/omrgcconsts.h (diff)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
Commit 10e9a4ee940b58d8019e98e49fefd122868d9b66 by fjeremic
Relax JitBuilder API generator Python version requirement
The API generator can run with Python 2.7 which is the default
installation on some systems (such as z/OS).
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 10e9a4e)
The file was modifiedjitbuilder/CMakeLists.txt (diff)
Commit 5f3d2e2c8bfcd11a0559c62e5d0cf7abf15f94ed by fjeremic
Implement FindLEX CMake module
Flex is not always available on all platforms which OMR currently
targets. Namely it is not available on z/OS and building it is
non-trivial due to the various dependencies it requires.
Tril is the only consumer of Flex in OMR at the moment. Instead of
continuing with Flex we will start the migration so that the Tril lexer
can be generated with POSIX Lex.
This module is very similar FindFlex.cmake module which is shipped as
part of CMake.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 5f3d2e2)
The file was addedcmake/modules/FindLEX.cmake
Commit 099e4f1f1175ad4739c578b18b77a3e2d5c6e472 by fjeremic
Implement FindYACC CMake module
Similarly to Lex we implement a FindYACC CMake module to find the Yacc
parser. On most platforms `yacc` is actually aliased with `bison` from
the Bison utility. Again Bison may not be available on all platforms,
namely z/OS and as such we need a fallback path.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 099e4f1)
The file was addedcmake/modules/FindYACC.cmake
Commit 6a6d5e206ff8d3766ae20e78845d9ec40fcc77f1 by fjeremic
Modify tril.l to accommodate Lex
- All blocks need to be terminated with a semicolon
- `//` comments are not allowed
- `yy_scan_string` does not exist as everything is `FILE*` based
- `yy_delete_buffer` does not exist
- `yyerror` has been reimplemented
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 6a6d5e2)
The file was modifiedfvtest/tril/tril/tril.l (diff)
Commit c822c775556df8a20c8a16c91b93adfecb9bfeb6 by fjeremic
Modify tril.y to accommodate Yacc
- Remove undefined function declarations
- `valueList` needs to be semicolon terminated
- Implement parsing functions with `FILE*` since it's what Lex consumes
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: c822c77)
The file was modifiedfvtest/tril/tril/tril.y (diff)
Commit d1f8a2baadcd1a949eae6b277b539c237b9eae28 by fjeremic
Use Lex and Yacc in the Tril CMake target
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: d1f8a2b)
The file was modifiedfvtest/tril/tril/CMakeLists.txt (diff)
Commit e8c40f0521820e83103489b7606379dcbf02920b by fjeremic
Relax C++11 usage in Tril to accomodate z/OS
- Curly brace initializers are not allowed with xlc
- Some APIs such as `cbegin` and `data` do not exist on `vector`
- `unordered_map` does not exist so replace it with `map`
- `type_traits` do not exist on z/OS at all (these were #ifdef'd)
- Implement FunctionDescriptor for z/OS
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: e8c40f0)
The file was modifiedfvtest/tril/tril/ilgen.hpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.hpp (diff)
The file was modifiedfvtest/tril/tril/simple_compiler.cpp (diff)
The file was modifiedfvtest/tril/tril/ast.hpp (diff)
The file was modifiedfvtest/tril/tril/method_compiler.hpp (diff)
The file was modifiedfvtest/tril/examples/mandelbrot/main.cpp (diff)
The file was modifiedfvtest/tril/tril/ast.cpp (diff)
The file was modifiedfvtest/tril/tril/ilgen.cpp (diff)
The file was modifiedfvtest/tril/tril/method_info.hpp (diff)
The file was modifiedfvtest/tril/examples/incordec/main.cpp (diff)
The file was modifiedfvtest/tril/tril/compiler_util.hpp (diff)
The file was modifiedfvtest/tril/tril/simple_compiler.hpp (diff)
Commit 345dfe7a101159a5a64946d58303dfb2225f7b35 by fjeremic
Deprecate use of initializer_list because it's not supported on z/OS
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 345dfe7)
The file was modifiedfvtest/compilertest/tests/LogFileTest.hpp (diff)
The file was modifiedfvtest/compilertriltest/OpCodeTest.hpp (diff)
The file was modifiedfvtest/compilertriltest/JitTest.hpp (diff)
The file was modifiedfvtest/compilertest/tests/LogFileTest.cpp (diff)
Commit 2b19fa2ebdee3371181c44da8499a9455383c8ec by fjeremic
Enable GTest <tuple> on z/OS
The C++11 `tuple` class can be included in GTest for z/OS however it is
part of the TR1 extensions, and hence lives in the TR1 namespace. GTest
is configured as such so it expects `tuple` to be in the `std`
namespace. There is a define override (`GTEST_ENV_HAS_STD_TUPLE_`)
however which can be used to import the `tuple` class on z/OS.
We make use of this override along with a code change to enable the use
of system `tuple` class in GTest and it's consumers (Tril).
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 2b19fa2)
The file was modifiedfvtest/compilertriltest/main.cpp (diff)
The file was modifiedthird_party/gtest-1.8.0/include/gtest/internal/gtest-port.h (diff)
The file was modifiedfvtest/omrGtestGlue/CMakeLists.txt (diff)
Commit b1d65d1fd037e7aadb2522dded1c10ddc23cf187 by fjeremic
Allow use of _ISOC99_SOURCE and __IBMCPP_TR1__ on the command line
Some existing pieces of code attempt to define this macro which enables
us to use specific APIs on z/OS such as `snprintf`, however they are not
checking if the define already exists on the command line which results
in redefinition errors. Fix this by checking if the define already
exists.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: b1d65d1)
The file was modifiedddr/include/ddr/config.hpp (diff)
The file was modifiedtools/tracegen/FileUtils.cpp (diff)
Commit d5fe55e8ad65c31d7f6b47ee27db1549b9ca2fab by fjeremic
Define _ISOC99_SOURCE for all z/OS compiles and remove IBM_ATOE
No reason not to include this define to expose APIs such as `snprintf`
globally. We also remove the `IBM_ATOE` define since it is specific to
ASCII to EBCDIC conversions of files not checked out by Git for z/OS
which is no longer the case.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: d5fe55e)
The file was modifiedcmake/modules/platform/os/zos.cmake (diff)
Commit bed93caf95dbb1852b424a5f5ad0c113bc6c7566 by fjeremic
Define YYLMAX for Lex token limit and clean up xlc compiler directives
`YYLMAX` is a define which is used to override the default token length
limit on z/OS. Because of the copyright headers the token length of a
comment may exceed the default value (100) and Lex will fail to parse
the comment token. We increase the value to 1000 here to avoid such an
issue.
We also take this opportunity to clean up some xlc compile flags which
are not useful or detrimental to compilation of OMR sources on z/OS.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: bed93ca)
The file was modifiedcmake/modules/platform/toolcfg/xlc.cmake (diff)
Commit c25cf613efc569626ec796e846ce715a108988b0 by fjeremic
Add j9a2e as a link target of comptest
The comptest module consumes omrport which relies on the atoe.h APIs
exposed. These APIs are defined in the j9a2e library so we must add it
as a link target.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: c25cf61)
The file was modifiedfvtest/compilertriltest/CMakeLists.txt (diff)
Commit 710277513346bfd54b28d43969f0c17b73d10cf4 by fjeremic
Change BC to an RX-a instruction format
Technically this is an RX-b instruction however we currently do not have
a proper class for such instructions and we generate the `BC`
instruction as part of z/OS linkage in which we use a real register to
generate the mask. Assertions later on prevent us from doing this if the
`BC` instruction is properly marked as an RX-a instruction.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 7102775)
The file was modifiedcompiler/z/codegen/OMRInstOpCodeProperties.hpp (diff)
Commit ed3218d4bf70527a927497e28a89f55a00a63dcf by fjeremic
Relax C++11 usage within Tril tests cases to accommodate z/OS
z/OS cannot handle some of the C++11 features currently used within Tril
such as brace initialization and some flavours of tuple type reduction.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: ed3218d)
The file was modifiedfvtest/compilertriltest/CompareTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/LongAndAsRotateTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/CallTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/ILValidatorTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/ShiftAndRotateTest.cpp (diff)
The file was modifiedfvtest/tril/test/CompileTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/IfxcmpgeReductionTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/JitTestUtilitiesTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/TypeConversionTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/LinkageTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/MockStrategyTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/ArithmeticTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/MaxMinTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/VectorTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/SimplifierFoldAndTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/LogicalTest.cpp (diff)
The file was modifiedfvtest/tril/tril/compiler.cpp (diff)
The file was modifiedfvtest/compilertriltest/BitPermuteTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/SimplifierFoldAbsNegTest.cpp (diff)
Commit b25000337bb844e3d7ecaf5b55f620aadc010d0e by fjeremic
Guard ASCII to/from EBCDIC runtime conversions with !defined(OMR_EBCDIC)
There are many places in OMR which on the z/OS platform attempt to
perform ASCII/EBCDIC conversions at runtime for various library calls.
These conversions are needed because some consumers of OMR encode the
files on disk in one format but expect it at runtime in another format.
A lot of this is really not needed had the files been properly tagged at
the filesystem level via `chtag`. However this is not the case today for
the downstream projects.
In OMR however we are not transitioning to using Git on z/OS which does
properly tag all files once checked out of the repository. As such no
runtime ASCII/EBCDIC conversion is needed, and hence all the paths which
do runtime conversions need to be properly guarded since we export the
`OMR_EBCDIC` flag on all compilation units on z/OS.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: b250003)
The file was modifiedport/zos390/omrtty.c (diff)
The file was modifiedomrtrace/omrtracewrappers.cpp (diff)
The file was modifiedfvtest/porttest/omrstrTest.cpp (diff)
The file was modifiedport/zos390/omrzfs.c (diff)
The file was modifiedport/zos390/omrgetuserid.c (diff)
The file was modifiedport/zos390/omrsyslog.c (diff)
The file was modifiedutil/main_function/main_function.cpp (diff)
The file was modifiedfvtest/porttest/omrdumpTest.cpp (diff)
The file was modifiedport/unix/omrfile.c (diff)
The file was modifiedport/zos390/omrosdump.c (diff)
The file was modifiedport/zos390/omrgetjobname.c (diff)
The file was modifiedfvtest/porttest/si.cpp (diff)
The file was modifiedport/unix/omrsysinfo.c (diff)
The file was modifiedport/unix/omrfiletext.c (diff)
Commit 3a4116c43d2a8a26f83dc8e43db73afed7e4119c by fjeremic
Install omrsig import library alongside the shared library
When building omrsig on z/OS the build process fails because the import
library (libomrsig.x) does not live alongside the shared library
(libomrsig.so). Because of this the make process fails as we cannot find
the import library.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 3a4116c)
The file was modifiedomrsigcompat/CMakeLists.txt (diff)
The file was modifiedutil/a2e/CMakeLists.txt (diff)
Commit 90acbcc6d5beb915ec038d817d0bf19d0bd0c253 by fjeremic
Export OnLoad* symbols for all agent test libraries
For platforms which require "extra" metadata for exported library
functions (Windows and z/OS) we need to call the helper routine to
generate such metadata so that we are able to load the symbols at
runtime.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 90acbcc)
The file was modifiedfvtest/omrGtestGlue/omrGtest.cpp (diff)
The file was modifiedthird_party/gtest-1.8.0/include/gtest/internal/gtest-port.h (diff)
The file was modifiedfvtest/omrGtestGlue/argmain.cpp (diff)
The file was modifiedfvtest/omrGtestGlue/omrTest.h (diff)
The file was modifiedcmake/modules/platform/toolcfg/xlc.cmake (diff)
The file was modifiedfvtest/rastest/CMakeLists.txt (diff)
The file was modifiedfvtest/omrGtestGlue/iconvInitialization.cpp (diff)
Commit e6eed69122576e093642365135b21dfbb30cae9d by fjeremic
Relax C++11 usage in JitBuilder tests for z/OS
Initializer lists of vectors do not work on z/OS due to compiler
restrictions.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: e6eed69)
The file was modifiedfvtest/jitbuildertest/JBTestUtil.hpp (diff)
Commit c2db0a7de5468f21941cc688574daa2d74e0ebea by fjeremic
Avoid use of std::to_string as z/OS does not support it
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: c2db0a7)
The file was modifiedfvtest/compilertest/tests/LimitFileTest.cpp (diff)
Commit 331a8a2b895484caeff395f1dab1e97597b08c13 by fjeremic
Avoid death tests as ExitedWithCode is not defined on z/OS
Because `GTEST_HAS_DEATH_TEST` is not defined on z/OS neither is the
`ExitedWithCode` API, and hence we cannot make use of it.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 331a8a2)
The file was modifiedfvtest/compilertest/tests/OptionSetTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/LogFileTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/LimitFileTest.cpp (diff)
Commit 7ca78751a1ea1878fafdd76df073640f92383440 by fjeremic
Relax usage of C++11 in compilertests and tril/test
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 7ca7875)
The file was modifiedfvtest/tril/test/IlGenTest.cpp (diff)
The file was modifiedfvtest/tril/test/ASTTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/LogFileTest.cpp (diff)
The file was modifiedfvtest/tril/test/MethodInfoTest.cpp (diff)
The file was modifiedfvtest/tril/test/CompileTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OptionSetTest.hpp (diff)
The file was modifiedfvtest/tril/test/ParserTest.cpp (diff)
Commit bde2a191f1a77a609e4e4827d0311527812df092 by fjeremic
Use CMake build system for z/OS PR builds
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: bde2a19)
The file was modifiedbuildenv/jenkins/jobs/pull-requests/PullRequest-zos_390-64 (diff)
Commit 2ea49a2c6e3f6ba44792506e35bc87fa3f45dee0 by fjeremic
Enable -DGTEST_ENV_HAS_STD_TUPLE_ only on z/OS and fix copyrights
This is causing AIX problems:
```
/third_party/gtest-1.8.0/include/gtest/internal/gtest-port.h", line
714.7: 1540-0130 (S) "::std::get" is not declared.
/third_party/gtest-1.8.0/include/gtest/internal/gtest-port.h", line
715.7: 1540-0130 (S) "::std::make_tuple" is not declared.
/third_party/gtest-1.8.0/include/gtest/internal/gtest-port.h", line
716.7: 1540-0130 (S) "::std::tuple" is not declared.
/third_party/gtest-1.8.0/include/gtest/internal/gtest-port.h", line
717.7: 1540-0130 (S) "::std::tuple_element" is not declared.
/third_party/gtest-1.8.0/include/gtest/internal/gtest-port.h", line
718.7: 1540-0130 (S) "::std::tuple_size" is not declared.
```
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 2ea49a2)
The file was modifiedfvtest/compilertest/tests/LogFileTest.hpp (diff)
The file was modifiedfvtest/tril/test/ParserTest.cpp (diff)
The file was modifiedfvtest/jitbuildertest/JBTestUtil.hpp (diff)
The file was modifiedfvtest/compilertest/tests/LogFileTest.cpp (diff)
The file was modifiedfvtest/omrGtestGlue/omrGtest.cpp (diff)
The file was modifiedjitbuilder/CMakeLists.txt (diff)
The file was modifiedport/zos390/omrzfs.c (diff)
The file was modifiedfvtest/compilertriltest/VectorTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/LimitFileTest.cpp (diff)
The file was modifiedfvtest/tril/test/ASTTest.cpp (diff)
The file was modifiedfvtest/tril/tril/method_info.hpp (diff)
The file was modifiedfvtest/compilertriltest/SimplifierFoldAbsNegTest.cpp (diff)
The file was modifiedfvtest/tril/tril/tril.l (diff)
The file was modifiedfvtest/compilertriltest/OpCodeTest.hpp (diff)
The file was modifiedfvtest/compilertriltest/SimplifierFoldAndTest.cpp (diff)
The file was modifiedfvtest/porttest/omrdumpTest.cpp (diff)
The file was modifiedfvtest/tril/test/MethodInfoTest.cpp (diff)
The file was modifiedfvtest/rastest/CMakeLists.txt (diff)
The file was modifiedport/zos390/omrsyslog.c (diff)
The file was modifiedfvtest/tril/tril/ast.cpp (diff)
The file was modifiedfvtest/omrGtestGlue/argmain.cpp (diff)
The file was modifiedport/zos390/omrtty.c (diff)
The file was modifiedfvtest/tril/tril/method_compiler.hpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.hpp (diff)
The file was modifiedfvtest/tril/test/CompileTest.cpp (diff)
The file was modifiedfvtest/tril/tril/ilgen.hpp (diff)
The file was modifiedfvtest/tril/tril/tril.y (diff)
The file was modifiedomrtrace/omrtracewrappers.cpp (diff)
The file was modifiedport/zos390/omrosdump.c (diff)
The file was modifiedport/zos390/omrgetuserid.c (diff)
The file was modifiedfvtest/tril/test/IlGenTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OptionSetTest.hpp (diff)
The file was modifiedutil/main_function/main_function.cpp (diff)
The file was modifiedport/unix/omrfile.c (diff)
The file was modifiedfvtest/compilertriltest/CallTest.cpp (diff)
The file was modifiedport/zos390/omrgetjobname.c (diff)
The file was modifiedfvtest/compilertest/tests/OptionSetTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/LongAndAsRotateTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/IfxcmpgeReductionTest.cpp (diff)
The file was modifiedfvtest/omrGtestGlue/CMakeLists.txt (diff)
The file was modifiedddr/include/ddr/config.hpp (diff)
The file was modifiedfvtest/tril/tril/simple_compiler.hpp (diff)
The file was modifiedfvtest/tril/tril/ilgen.cpp (diff)
The file was modifiedfvtest/tril/tril/simple_compiler.cpp (diff)
The file was modifiedfvtest/porttest/omrstrTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/ILValidatorTest.cpp (diff)
The file was modifiedfvtest/omrGtestGlue/iconvInitialization.cpp (diff)
The file was modifiedfvtest/omrGtestGlue/omrTest.h (diff)
The file was modifiedport/unix/omrfiletext.c (diff)
The file was modifiedfvtest/tril/tril/ast.hpp (diff)
The file was modifiedfvtest/tril/tril/compiler_util.hpp (diff)
The file was modifiedtools/tracegen/FileUtils.cpp (diff)
The file was modifiedfvtest/compilertriltest/MockStrategyTest.cpp (diff)
The file was modifiedutil/a2e/CMakeLists.txt (diff)
Commit 9f00e13ff3dec3ec1ae9307a2e2ec45edc76b898 by fjeremic
Remove UT_DIRECT_TRACE_REGISTRATION define from z/OS
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 9f00e13)
The file was modifiedcmake/modules/platform/os/zos.cmake (diff)
Commit 79357fd0c25b3cb76eb68ad1fe2aa977fa0f7872 by fjeremic
Fixup whitespace, comments, and additional copyrights in LEX and YACC
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 79357fd)
The file was modifiedcmake/modules/FindYACC.cmake (diff)
The file was modifiedcmake/modules/FindLEX.cmake (diff)
The file was modifiedcmake/modules/platform/toolcfg/xlc.cmake (diff)
Commit b7ecc9a3c87454544a300f43d692ba0f9f8d096b by fjeremic
Tweak CMake handling on z/OS
- Better identify z/OS specific config rather than xlc + zArch
- Allow ability to specify independently control EBCDIC usage in tools
and runtime components
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: b7ecc9a)
The file was modifiedcmake/config.cmake (diff)
The file was modifiedtools/hookgen/CMakeLists.txt (diff)
The file was modifiedthird_party/pugixml-1.5/CMakeLists.txt (diff)
The file was modifiedtools/tracemerge/CMakeLists.txt (diff)
The file was modifiedcmake/caches/Travis.cmake (diff)
The file was modifiedfvtest/omrGtestGlue/CMakeLists.txt (diff)
The file was modifiedCMakeLists.txt (diff)
The file was modifiedtools/tracegen/CMakeLists.txt (diff)
The file was modifiedcmake/modules/platform/os/zos.cmake (diff)
The file was modifiedcmake/modules/platform/toolcfg/xlc.cmake (diff)
Commit a49da9daf5c830310bce381a697a4a871077b6d4 by fjeremic
Remove unnecessary references to J9ZOS390 in z/OS specific files
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: a49da9d)
The file was modifiedport/zos390/omrgetjobname.c (diff)
The file was modifiedport/zos390/omrosdump.c (diff)
The file was modifiedport/zos390/omrzfs.c (diff)
The file was modifiedport/zos390/omrtty.c (diff)
The file was modifiedport/zos390/omrsyslog.c (diff)
The file was modifiedport/zos390/omrgetuserid.c (diff)
Commit 0d3e66a4af6a39bbc54b41c5bf729c58c0515151 by cedric.hansen
Splitting up LargeObjectAllocateStats into two files
- `LargeObjectAllocateStats` .cpp/.hpp contained class declarations for
both `MM_LargeObjectAllocateStats` and `MM_FreeEntrySizeClassStats`
- Created new files called `FreeEntrySizeClassStats` (.cpp/.hpp) which
contain relevant info for `MM_FreeEntrySizeClassStats`
Signed-off-by: Cedric Hansen <cedric.hansen@ibm.com>
(commit: 0d3e66a)
The file was modifiedgc/CMakeLists.txt (diff)
The file was addedgc/stats/FreeEntrySizeClassStats.cpp
The file was addedgc/stats/FreeEntrySizeClassStats.hpp
The file was modifiedgc/stats/LargeObjectAllocateStats.hpp (diff)
The file was modifiedgc/stats/LargeObjectAllocateStats.cpp (diff)
Commit 7edf99a8934a3ef75c21821fcd2cf5c0ad151ef4 by amicic
Concurrent Mark kickoff with Concurrent Scavenger
Normally, we prevent CM kickoff logic before Scavenge Stat info is
available (survival rate, allocate space size....). In presence of CS,
we incorrectly conclude that first Scavenge cycle is complete (while
only the first STW increment is complete) and proceed with incomplete
data to kickoff math. This indirectly may lead to premature and too
frequent kickoff.
This problem is only visible when CM concurrentSlack option is provided
with high values.
Signed-off-by: Aleksandar Micic <amicic@ca.ibm.com>
(commit: 7edf99a)
The file was modifiedgc/stats/ScavengerStats.hpp (diff)
The file was modifiedgc/base/standard/ConcurrentGC.cpp (diff)
The file was modifiedgc/stats/ScavengerStats.cpp (diff)
Commit c77be2201c9d8bdfd0712f6f12cdece935efbcb8 by amicic
Allocation deviation boost in CS
When calculating tilt ratio in Concurrent Scavenger, allocation rate is
taken into account (beside Nursery flipping rate), since during active
CS cycle allocation is fed from common allocate/survivor space.
Allocate rate can vary a lot (more than flipping rate). So far, we
compensated the variability by boosting the average allocate rate by
fixed 20%. Real life variability could be much larger.
We now track deviations in allocation rate from the average, and use
this parameter to more precisely boost the allocation rate provided to
the tilt math.
Signed-off-by: Aleksandar Micic <amicic@ca.ibm.com>
(commit: c77be22)
The file was modifiedgc/base/MemorySubSpaceSemiSpace.cpp (diff)
The file was modifiedgc/base/MemorySubSpaceSemiSpace.hpp (diff)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
Commit 5d3920149964f0401cfc3d2f1e7d70030275ab1c by aaronwang0407
Remove all references to bucmpeq
A test to see if the code still works by removing only references to
bucmpeq and ifbucmpeq.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 5d39201)
The file was modifiedfvtest/compilertest/tests/PPCOpCodesTest.cpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedfvtest/compilertest/tests/S390OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.hpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/x/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierHandlers.cpp (diff)
The file was modifiedfvtest/compilertest/tests/X86OpCodesTest.cpp (diff)
Commit 31a744d7208868027b274feca5d01b9433b47858 by ajcraik
Improve compactNULLCHKs
This change does two things: (1) when we find a NULLCHK with a first
child that has reference count 1 - turn that node into a PassThrough to
provide an opportunity for something more useful to move up under the
NULLCHK and (2) allow compactNULLCKs to cross block boundaries when the
two blocks are in treetop order and are in a single predecessor to
single successor relationship (eg the break is due to exception edges or
similar.
Signed-off-by: Andrew Craik <ajcraik@ca.ibm.com>
(commit: 31a744d)
The file was modifiedcompiler/optimizer/OMRSimplifierHandlers.cpp (diff)
The file was modifiedcompiler/optimizer/LocalOpts.cpp (diff)
Commit e9efe52dc41c142429c6a1bc16411e976f14a871 by devinn
CMake: Refactor DDR support
Introduced a number of changes
- Headers can now be directly associated with a ddr set
- A DDR set no longer needs to be specified when enabling DDR for a
target.
- Added a new command `ddr_set_add_targets` which adds a target to a DDR
set. Combined with the above, this allows for a delayed definition of a
DDR set. In addition targets can be in multiple DDR sets.
- DDR sets can now be composed via `ddr_set_add_targets`. This means we
can
get rid of the awkward `OMR_DDR_SET` mechanics. Instead we just define
our own DDR set, and consumers simply add our DDR set to theirs
- omr_ prefix removed from ddr related target names.
- Added GLOB_HEADERS and GLOB_HEADERS_RECURSIVE options to
target_enable_ddr, which glob the target source directory for headers
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: e9efe52)
The file was modifiedddr/test/CMakeLists.txt (diff)
The file was modifiedport/CMakeLists.txt (diff)
The file was modifiedutil/hookable/CMakeLists.txt (diff)
The file was modifiedcmake/modules/ddr/cmake_ddr.awk (diff)
The file was modifiedgc/CMakeLists.txt (diff)
The file was modifiedcmake/modules/ddr/DDRSetStub.cmake.in (diff)
The file was modifiedutil/hashtable/CMakeLists.txt (diff)
The file was modifiedutil/pool/CMakeLists.txt (diff)
The file was modifiedcmake/modules/OmrDDRSupport.cmake (diff)
The file was modifiedomr/startup/CMakeLists.txt (diff)
The file was modifiedthread/CMakeLists.txt (diff)
The file was modifiedutil/a2e/CMakeLists.txt (diff)
The file was modifiedCMakeLists.txt (diff)
The file was modifiedomr/CMakeLists.txt (diff)
The file was modifiedomrsigcompat/CMakeLists.txt (diff)
The file was modifiedutil/avl/CMakeLists.txt (diff)
The file was modifiedutil/omrutil/CMakeLists.txt (diff)
The file was modifiedomrtrace/CMakeLists.txt (diff)
Commit 0431c0af844a6e078cd1938cab0cef420bee38f1 by amicic
Flag to control use of GC startup hints
Introduce an explicit flag to control use of heap sizing startup hints
from Shared Cache. Disabled by default.
Restore internal learning parameter that was set to 0 (temporarily used
as a shortcut to disable the feature).
Signed-off-by: Aleksandar Micic <amicic@ca.ibm.com>
(commit: 0431c0a)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
Commit aa5579b35fe49cf006011caf362413c16b2c7976 by yizhang
Use symRef with known obj index for known parms
If known object information is avaible for the method receiver, use
known object index to create the parm symbol reference. Optimizations
can make use of the info without running global VP which is very
expensive and doesn't kick in at warm.
Signed-off-by: Yi Zhang <yizhang@ca.ibm.com>
(commit: aa5579b)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.hpp (diff)
The file was modifiedcompiler/il/symbol/OMRResolvedMethodSymbol.cpp (diff)
The file was modifiedcompiler/compile/Method.cpp (diff)
Commit d049227e342423653a02e4970f49a36e076bafbb by yan_luo
Add jit options to trace/disable generic static final field fold
Signed-off-by: Yan Luo <Yan_Luo@ca.ibm.com>
(commit: d049227)
The file was modifiedcompiler/optimizer/OMROptimizations.enum (diff)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
Commit 2c6cfc19f9cea39f27eede719fb7ad1b97ca2ae2 by fjeremic
Fix formatting and properly use HOST_BITS on Z
In addition instead of moving files in the CMake build we copy them
instead.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 2c6cfc1)
The file was modifiedport/unix/omrfiletext.c (diff)
The file was modifiedtools/tracemerge/main.cpp (diff)
The file was modifiedport/unix/omrsysinfo.c (diff)
The file was modifiedport/zos390/omrosdump.c (diff)
The file was modifiedtools/tracegen/main.cpp (diff)
The file was modifiedfvtest/compilertest/build/toolcfg/gnu/common.mk (diff)
The file was modifiedutil/a2e/CMakeLists.txt (diff)
The file was modifiedutil/main_function/main_function.cpp (diff)
The file was modifiedport/unix/omrfile.c (diff)
The file was modifiedthird_party/gtest-1.8.0/include/gtest/internal/gtest-port.h (diff)
The file was modifiedomrsigcompat/CMakeLists.txt (diff)
The file was modifiedfvtest/omrGtestGlue/argmain.cpp (diff)
The file was modifiedomrtrace/omrtracewrappers.cpp (diff)
The file was modifiedfvtest/omrGtestGlue/iconvInitialization.cpp (diff)
Commit da8977f9d5199455b138b477e5cb86eadb919b0b by graham_chapman
Runtime compressed refs work
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: da8977f)
The file was modifiedgc/structs/ForwardedHeader.hpp (diff)
The file was modifiedgc/base/EnvironmentBase.hpp (diff)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
The file was modifiedgc/base/ObjectModelBase.hpp (diff)
Commit 60d614a158db9d93a452cb0080195b8b399270e7 by amicic
Remove expensive CS assert
The assert served its purpose. Removing it now, since it's defeating
leaf object optimization.
Signed-off-by: Aleksandar Micic <amicic@ca.ibm.com>
(commit: 60d614a)
The file was modifiedgc/base/MarkingScheme.cpp (diff)
The file was modifiedgc/base/MarkingScheme.hpp (diff)
Commit 312826bb3bd2eb0d074f1e66230d88e84164743c by sbabneet
New OMRPORT_SIG_FLAG_* macros to extend signal support on Unix platforms
The new macros support the unix/omrsignal.c implementation, which is
used on OSX, Linux, AIX and zOS.
The new macros allow us to support 27 asynchronous and synchronous
signals each.
Co-authored-by: Keith W. Campbell <keithc@ca.ibm.com> Signed-off-by:
Babneet Singh <sbabneet@ca.ibm.com>
(commit: 312826b)
The file was modifiedinclude_core/omrport.h (diff)
Commit 1e3d0fd2d35fa1fbc6ec0b34fd2881c0a85ead5c by sbabneet
Fix formatting for OMRPORT_SIG_FLAG_* macros
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 1e3d0fd)
The file was modifiedinclude_core/omrport.h (diff)
Commit d7921df5bbfe3c5bc259f866259c5e84d5b1eeb4 by sbabneet
omrsig_can_protect should only support synchronous signals
omrsig_can_protect is used to check if omrsig_protect can be used.
omrsig_protect only works with synchronous signals. omrsig_can_protect
does not need to check for asynchronous signals because omrsig_protect
does not work with asynchronous signals. So, asynchronous signal checks
have been removed from omrsig_can_protect.
The function description of omrsig_can_protect has also been updated.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: d7921df)
The file was modifiedport/common/omrsignal.c (diff)
The file was modifiedport/win32/omrsignal.c (diff)
The file was modifiedport/unix/omrsignal.c (diff)
The file was modifiedport/win64amd/omrsignal.c (diff)
The file was modifiedport/ztpf/omrsignal.c (diff)
Commit 37161831c987c9e90ef7a88d9162499bdb5b91a6 by sbabneet
Fix formatting and consistently use tracepoints for omrsig_can_protect
Tracepoints have been consistently introduced in each platform
implementation of omrsig_can_protect.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 3716183)
The file was modifiedport/unix/omrsignal.c (diff)
The file was modifiedport/win32/omrsignal.c (diff)
The file was modifiedport/ztpf/omrsignal.c (diff)
The file was modifiedport/win64amd/omrsignal.c (diff)
Commit b7469db00c6729a065ff0140cf24b1a101bd0da9 by sbabneet
Update omrsig_can_protect stub
omrsig_can_protect stub supports no signals so it should never return 1.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: b7469db)
The file was modifiedport/common/omrsignal.c (diff)
Commit 99eb9e8bbfe889923edc47f20da2cd5f9b5f1894 by sbabneet
Fix ifdef formatting as per the coding standards
In addition to fixing ifdef formatting,
- few unneeded ifdefs were removed.
- comment labels were fixed in few cases.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 99eb9e8)
The file was modifiedport/unix/omrsignal.c (diff)
Commit 6c3b6972aa2be32b49b217a07e2e40e47ed69d16 by sbabneet
Split bit-masks to represent sync and async signals separately
The following bit-masks are split into two separate bit-masks: 1.
signalsWithHandlers split into syncSignalsWithHandlers and
asyncSignalsWithHandlers. 2. signalsWithMasterHandlers split into
syncSignalsWithMasterHandlers and asyncSignalsWithMasterHandlers.
Synchronous and asynchronous signals require separate bit-masks because
the sync and async signal flags will overlap from now onwards in
unix/omrsignal.c.
The old bit-masks (signalsWithHandlers and signalsWithMasterHandlers)
will be removed once the functions in unix/omrsignal.c are updated.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 6c3b697)
The file was modifiedport/unix/omrsignal.c (diff)
Commit 39845b4e01fb1bfd26bdf51e0b746f914228ec6e by sbabneet
Add set and unset functions for the newly split bit-masks
Set and unset functions have been added for the newly split bit-masks:
[sync|async]SignalsWithHandlers and
[sync|async]SignalsWithMasterHandlers.
These functions check if a port library signal flag is synchronous or
asynchronous, and then accordingly set/unset the corresponding bit-mask.
Added a macro to mask the control bits in the port library signal flag.
While performing an unset operation, the shared control flags are never
unset. This allows to easily check if a port library signal is set in
the bit-mask.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 39845b4)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedport/unix/omrsignal.c (diff)
Commit b223a6572223afb1a7522e46448910228f515bdc by sbabneet
Use the new set and unset functions for the updating new bit-masks
This removes the usage of the old bit-masks, and brings us one step
closer to removing the old bit-masks.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: b223a65)
The file was modifiedport/unix/omrsignal.c (diff)
Commit 5cad50759f4f41b53b6b486c2af8ee0b1fbb4a83 by sbabneet
Update usage of OMR_IS_ONLY_ONE_BIT_SET in unix/omrsignal.c
omrsig_set_single_async_signal_handler, omrsig_register_os_handler and
omrsig_is_signal_ignored check if only one port library signal flag is
set in the input.
Now, the port library signal flags in unix/omrsignal.c will always have
more than one bit set. One signal bit and one control bit can be set in
the port library signal flag.
OMR_IS_ONLY_ONE_BIT_SET checks have been updated to verify if only one
non-control bit is set in the port library flag. To accomplish this, the
control bits are masked before invoking OMR_IS_ONLY_ONE_BIT_SET.
The definition of OMR_IS_ONLY_ONE_BIT_SET has been fixed.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 5cad507)
The file was modifiedport/unix/omrsignal.c (diff)
The file was modifiedinclude_core/omrcomp.h (diff)
Commit d958dd943610cb677c551775ad6df5cb71dcb17e by sbabneet
Update omrsig_set_options in unix/omrsignal.c
- Use macros such as OMR_ARE_[NO|ANY|*]_BITS_SET.
- Use the new bit-masks, [sync|async]SignalsWithHandlers, instead of the
old one, signalsWithHandlers.
- Fix comments; avoid using first person.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: d958dd9)
The file was modifiedport/unix/omrsignal.c (diff)
Commit aeb7d0bce4ed30c6b9d3321a8acaadfaf1e6bf66 by sbabneet
Update registerMasterHandlers in unix/omrsignal.c
- Use the new bit-masks, [sync|async]SignalsWithMasterHandlers, instead
of the old one, signalsWithMasterHandlers.
- Reformat the code and comments to abide the coding standards.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: aeb7d0b)
The file was modifiedport/unix/omrsignal.c (diff)
Commit ded319a2152cceadd9304c27f49712c6c1b3f3a1 by sbabneet
Update OMR_ARE_ANY_BITS_SET checks related to the signal flag
In unix/omrsignal.c, the port library signal flags can have more than
one bit set. So, OMR_ARE_ANY_BITS_SET operations between the port
library signal flag and OMRPORT_SIG_FLAG_SIGALL[SYNC|ASYNC] are no
longer safe since OMR_ARE_ANY_BITS_SET does not verify if all the bits
in the port library signal are set in the synchronous or asynchronous
signal-set bit-mask. Replacing OMR_ARE_ANY_BITS_SET with
OMR_ARE_ALL_BITS_SET and interchanging the order of the parameters in
OMR_ARE_ANY_BITS_SET yields a more safer (correct) check.
Also, the code and comments have been reformatted as per coding
standards.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: ded319a)
The file was modifiedport/unix/omrsignal.c (diff)
Commit cbcccd05ab975483cbe1215452038d5938354972 by sbabneet
Check if a set of signal flags is ambiguous
In unix/omrsignal.c,
- Some omrsig* functions can accept multiple signal flags.
- No omrsig* function accepts both asynchronous and synchronous signals
in the same function call. In other words, an omrsig* can accept either
a set of asynchronous or synchronous signals.
If asynchronous and synchronous signal flags are bitwise-or'ed, then
this will yield an ambiguous set of signal flags. In the omrsig*
functions that accept signal flags as input, ambiguity checks have been
added. These checks will return an error if an ambiguous set of signal
flags is identified.
flags=0 is valid in some cases, and it indicates cleanup/removal of a
handler. The ambiguity check does not return an error for flags=0.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: cbcccd0)
The file was modifiedport/common/omrport.tdf (diff)
The file was modifiedport/unix/omrsignal.c (diff)
Commit 2037bea937b51feac0955d7301aad97e2c6bc73c by sbabneet
Use syncSignalsWithMasterHandlers in omrsig_protect [unix/omrsignal.c]
In unix/omrsignal.c::omrsig_protect, use the new bit mask,
syncSignalsWithMasterHandlers, instead of the old bit-mask,
signalsWithMasterHandlers.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 2037bea)
The file was modifiedport/unix/omrsignal.c (diff)
Commit b6e1d2628acbe77e1d4a2da9442e040d9b30addf by sbabneet
Remove the definition of the old bit-masks in unix/omrsignal.c
The usage of the old bit-masks, signalsWithHandlers and
signalsWithMasterHandlers, has been replaced with the usage of the new
bit-masks, [sync|async]SignalsWithHandlers and
[sync|async]SignalsWithMasterHandlers. Thus, the declaration of the old
bit-masks is removed.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: b6e1d26)
The file was modifiedport/unix/omrsignal.c (diff)
Commit 136727dfd3381261f33175d6f3ca9834ab41e72e by sbabneet
Add support for SIGTTIN and SIGTTOU in unix/omrsignal.c
Support for the last two POSIX signals, SIGTTIN and SIGTTOU, has been
added.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 136727d)
The file was modifiedport/unix/omrsignal.c (diff)
The file was modifiedinclude_core/omrport.h (diff)
Commit 015c7ca7dda33af2f09c99b7a54770c0614239b1 by sbabneet
Replace OMR_ARE_ANY_* with OMR_ARE_ALL_* in unix/omrsignal.c
In unix/omrsignal.c, the signal flags can have more than one bit set.
This makes OMR_ARE_ANY_BITS_SET checks incorrect. All bits need to be
checked to see if a signal flag is set. So, OMR_ARE_ANY_BITS_SET is
replaced with OMR_ARE_ALL_BITS_SET in checks related to the signal
flags.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 015c7ca)
The file was modifiedport/unix/omrsignal.c (diff)
Commit f98edb788db23042e134aaa9658f59d1b97ab435 by sbabneet
Update masterSynchSignalHandler to handle all SIGFPE variants
thisRecord->flags will only have OMRPORT_SIG_FLAG_SIGFPE set since the
SIGFPE variants are not included in the OMRPORT_SIG_FLAG_SIGALLSYNC
bit-mask. In masterSynchSignalHandler, the received signal can be a
variant of SIGFPE: DIV_BY_ZERO, INT_DIV_BY_ZERO or INT_OVERFLOW.
masterSynchSignalHandler should handle all the SIGFPE variants if
thisRecord->flags has OMRPORT_SIG_FLAG_SIGFPE set. In
masterSynchSignalHandler, the received signal is converted into the port
libray signal flag form and stored in portLibType. If portLibType is a
SIGFPE variant, then it is converted into OMRPORT_SIG_FLAG_SIGFPE. This
will allow masterSynchSignalHandler to handle all SIGFPE variants if
thisRecord->flags has OMRPORT_SIG_FLAG_SIGFPE set.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: f98edb7)
The file was modifiedport/unix/omrsignal.c (diff)
Commit 14efd3a9d3d96f68b4d446e55ca1248a3ad8c8db by sbabneet
Share code between old and new signal constants
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 14efd3a)
The file was modifiedinclude_core/omrport.h (diff)
Commit 8b36e365850f8895bc0e69710f0ddd1ec1c42d1a by rwy0717
Enable CUDA support in cmake when available
Signed-off-by: Robert Young <rwy0717@gmail.com>
(commit: 8b36e36)
The file was modifiedport/CMakeLists.txt (diff)
The file was modifiedcmake/config.cmake (diff)
The file was modifiedCMakeLists.txt (diff)
Commit ddc7464febe421dcb285618538d53e69f524ecc8 by eochoa
Create TR::SelectOpt class
Allows for multiplexing between a default optimizations and a another
one conditional upon a JITCmdLineOption.
Issue: #3956.
Signed-off-by: Erick <eochoa@ualberta.ca>
(commit: ddc7464)
The file was addedcompiler/optimizer/SelectOpt.hpp
Commit f50833c6821a4468b095f1816e3b64a3a381612b by amicic
Fix loss of precision warning in alloc boost logic
Fix Windows compiler warnings in
https://github.com/eclipse/omr/pull/3959
Signed-off-by: Aleksandar Micic <amicic@ca.ibm.com>
(commit: f50833c)
The file was modifiedgc/base/MemorySubSpaceSemiSpace.cpp (diff)
Commit a55bd65f3a8ad12f0992fcd6fd0b0e94143accb1 by yan_luo
Enhances CFG simplification with new patterns
- an explicit if obj == null to a throw of new NullPointerException will
now be simplified to NULLCHK (for both resolved and unresolved
NullPointerException cases.
- an explicit if obj == null to a throw of another exception will become
a NULLCHK to a catch with a goto to the throwing code
- a diamond or triangle storing a single temp will become a ternary
- a triangle storing to multiple temps will become a sequence of
ternaries
- an excplicit if obj instanceOf class with a throw becomes a checkcast
to a catch with a goto to the throwing code
This commit also adds CFGSimplification to ILGenOpts to fold complex
control flow early
Co-authored-by: Andrew Craik <ajcraik@ca.ibm.com>
Signed-off-by: Yan Luo <Yan_Luo@ca.ibm.com>
(commit: a55bd65)
The file was addedcompiler/optimizer/OMRCFGSimplifier.hpp
The file was modifiedcompiler/optimizer/CMakeLists.txt (diff)
The file was addedcompiler/optimizer/OMRCFGSimplifier.cpp
The file was removedcompiler/optimizer/CFGSimplifier.cpp
The file was modifiedcompiler/optimizer/CFGSimplifier.hpp (diff)
The file was modifiedjitbuilder/build/files/common.mk (diff)
The file was modifiedfvtest/compilertest/build/files/common.mk (diff)
The file was modifiedcompiler/optimizer/OMROptimizationManager.cpp (diff)
The file was modifiedcompiler/optimizer/OMROptimizer.cpp (diff)
Commit b32943bf704be388ccf041760f5923c61c3dfb60 by fjeremic
Enable OMR to build with OMR_USE_NATIVE_ENCODING=OFF but enable it by
default
There are a few changes needed to get OMR to be able to build when
specifying `OMR_USE_NATIVE_ENCODING=OFF` however this is not the default
OMR configuration. By default this variable is set to `ON` so that we
use the native encoding of the platform. Projects consuming OMR are able
to use non-native encodings by overriding this variable to `OFF`,
however the onus is on the downstream projects which do this to
correctly make use of the a2e library provided in OMR.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: b32943b)
The file was modifiedutil/a2e/CMakeLists.txt (diff)
The file was modifiedcmake/modules/platform/os/zos.cmake (diff)
The file was modifiedcmake/caches/Travis.cmake (diff)
The file was modifiedcmake/config.cmake (diff)
Commit f6d7ac3a367df34e58c04885ec8e89a6a80af22b by rwy0717
Turn on hybrid arraylets by default
In the near future, hybrid arraylets (and arraylets in general) will be
permanently enabled. As a start, turn on hybrid arraylets by default.
Arraylets are already enabled.
Signed-off-by: Robert Young <rwy0717@gmail.com>
(commit: f6d7ac3)
The file was modifiedcmake/config.cmake (diff)
The file was modifiedconfigure (diff)
The file was modifiedconfigure.ac (diff)
Commit b718bd9ea78cc0aeb9e11a91442ed8f093f943ea by higorb1
Fix broken links in OMR README
Signed-off-by: Igor Braga <higorb1@gmail.com>
(commit: b718bd9)
The file was modifiedREADME.md (diff)
Commit 860fb5ef82d8134c2119adeeddb17e2fed8c0b0b by rwy0717
Merge the arraylets and hybrid arraylets build flags
There's only one instance of OMR_GC_HYBRID_ARRAYLETS in the codebase.
Remove the ifdef, so the flag is permanently in effect.
Signed-off-by: Robert Young <rwy0717@gmail.com>
(commit: 860fb5e)
The file was modifiedgc/structs/ObjectIteratorState.hpp (diff)
Commit fa601d40a9003f8df78f4ede29074724827167cd by aaron.graham
GCMaps and RegisterMaps for the AArch64 Compiler
GCMaps and RegisterMaps for the AArch64 Compiler
-Iterate Over IL Instructions and Set a GC Map if Applicable
-Implement RegisterMaps for the AArch64 Compiler
Signed-off-by: Aaron Graham <aaron.graham@unb.ca>
(commit: fa601d4)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.cpp (diff)
Commit d1fba344f71a65c9dbe3daa55d611addafaa3043 by devinn
CMake: blobreader needs to link against the thread library
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: d1fba34)
The file was modifiedddr/tools/blob_reader/CMakeLists.txt (diff)
Commit cedb5af53d15d89a09aa3da3e6a0e13f84ef352e by konno
AArch64: Fix comment for OMRMemoryReference
This commit fixes the doxygen comment for
OMRMemoryReference::generateBinaryEncoding() for AArch64.
Signed-off-by: knn-k <konno@jp.ibm.com>
(commit: cedb5af)
The file was modifiedcompiler/aarch64/codegen/OMRMemoryReference.hpp (diff)
Commit ea8e16144babcf213251a8c0bb352f2473cc6679 by aaronwang0407
Remove references of deprecated IL opcode TR:bucmpne and TR:iucmpeq
Remove all uses of the two variables in OMR.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: ea8e161)
The file was modifiedcompiler/il/OMRILOps.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedfvtest/compilertest/tests/PPCOpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
The file was modifiedfvtest/compilertest/tests/S390OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/X86OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/CompareTest.cpp (diff)
Commit cd686ccd22c89cf7da65a0967842abc767445980 by aaronwang0407
Remove references of deprecated IL opcode TR:iucmpne
removed all uses to iucmpne.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: cd686cc)
The file was modifiedfvtest/compilertriltest/CompareTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/PPCOpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/X86OpCodesTest.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.cpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
The file was modifiedfvtest/compilertest/tests/S390OpCodesTest.cpp (diff)
Commit e76ad42b95d9e8c1b1b4719f1c005fce10c3ae9a by aaronwang0407
Remove references of deprecated IL opcode TR:lucmpeq
Remove all uses to lucmpeq in OMR.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: e76ad42)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
The file was modifiedfvtest/compilertriltest/CompareTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.cpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.hpp (diff)
Commit c249cc2936848ef8c90f5e4e98619fc56f05a41b by aaronwang0407
Remove references of deprecated IL opcode TR:lucmpne
removes all uses to lucmpne in OMR.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: c249cc2)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedfvtest/compilertriltest/CompareTest.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.hpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.cpp (diff)
Commit 51de594c94fa6ce1e416662cbc389b6aaa452857 by aaronwang0407
Remove references of deprecated IL opcode TR:sucmpeq
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 51de594)
The file was modifiedfvtest/compilertest/tests/PPCOpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/S390OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/LoopReducer.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.cpp (diff)
The file was modifiedcompiler/x/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedfvtest/compilertest/tests/X86OpCodesTest.cpp (diff)
Commit 3f529ee940732fd8d765319350a55ea17556176b by aaronwang0407
Remove references of deprecated IL opcode TR:bucmpne and TR:ifbucmpne
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 3f529ee)
The file was modifiedfvtest/compilertest/tests/X86OpCodesTest.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.cpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/S390OpCodesTest.cpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierHandlers.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.hpp (diff)
The file was modifiedfvtest/compilertest/tests/PPCOpCodesTest.cpp (diff)
The file was modifiedcompiler/x/codegen/ControlFlowEvaluator.cpp (diff)
Commit 4098f3bb695572200d588e3bd34af385b2ae4411 by aaronwang0407
Remove references of deprecated IL opcode TR:ifiucmpeq
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 4098f3b)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
The file was modifiedfvtest/compilertest/tests/PPCOpCodesTest.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.hpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.cpp (diff)
The file was modifiedcompiler/infra/OMRCfg.cpp (diff)
The file was modifiedcompiler/optimizer/SwitchAnalyzer.cpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/LocalOpts.cpp (diff)
The file was modifiedfvtest/compilertest/tests/X86OpCodesTest.cpp (diff)
The file was modifiedcompiler/optimizer/LoopReducer.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.hpp (diff)
The file was modifiedfvtest/compilertest/tests/S390OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/CompareTest.cpp (diff)
Commit ff35df5b724dec7d8bd6983a41ce81d54b9877d8 by aaronwang0407
Remove references of deprecated IL opcode TR:ifiucmpne
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: ff35df5)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.hpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
The file was modifiedfvtest/compilertest/tests/X86OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/PPCOpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.cpp (diff)
The file was modifiedcompiler/optimizer/GeneralLoopUnroller.cpp (diff)
The file was modifiedfvtest/compilertest/tests/S390OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/CompareTest.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.hpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/infra/OMRCfg.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
Commit 47e0121a29e560506a3e7f39ad406ac0c67ff630 by devinn
CMake: Add ability to skip parsing debug info for ddr
Add NO_DEBUG_INFO option which stops ddrgen from extracting info from
debug symbols for the target
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 47e0121)
The file was modifiedcmake/modules/OmrDDRSupport.cmake (diff)
Commit a67e3b93c1f290ee51dd63e8a0d049205fe01143 by devinn
CMake: add headers to scan for macro information
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: a67e3b9)
The file was modifiedutil/avl/CMakeLists.txt (diff)
The file was modifiedport/CMakeLists.txt (diff)
The file was modifiedomrtrace/CMakeLists.txt (diff)
The file was modifiedutil/hashtable/CMakeLists.txt (diff)
The file was modifiedgc/CMakeLists.txt (diff)
The file was modifiedCMakeLists.txt (diff)
The file was modifiedthread/CMakeLists.txt (diff)
Commit ccd1d47fad894f9d836a62b5ada27d2e1f0c1b00 by aaronwang0407
Remove references of deprecated IL opcode TR:iflucmpeq
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: ccd1d47)
The file was modifiedcompiler/il/OMRILOps.hpp (diff)
The file was modifiedcompiler/optimizer/LocalOpts.cpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
The file was modifiedcompiler/optimizer/SwitchAnalyzer.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedfvtest/compilertriltest/CompareTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.hpp (diff)
Commit 4425402c3f856341389f302d128b876b9259dd6d by aaronwang0407
Remove references of deprecated IL opcode TR:iflucmpne
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 4425402)
The file was modifiedcompiler/il/OMRILOps.hpp (diff)
The file was modifiedfvtest/compilertriltest/CompareTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.hpp (diff)
The file was modifiedcompiler/optimizer/GeneralLoopUnroller.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
Commit c1f22b52ed671cd1c62c7cdbb91d707e6979b7c7 by aaronwang0407
Remove references of deprecated IL opcode TR:ifsucmpeq
Remove all the uses of ifsucmpeq except the function:
intCompareNarrower(node, s, TR::ifsucmpeq, TR::ifscmpeq, TR::ifbcmpeq);
Also left sucmpeqEvaluator untouched.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: c1f22b5)
The file was modifiedfvtest/compilertest/tests/PPCOpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/X86OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/S390OpCodesTest.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.hpp (diff)
The file was modifiedcompiler/infra/OMRCfg.cpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierHandlers.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.hpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
Commit fad13fc0bc3a5c640c62cce80524e01c02a07280 by aaronwang0407
Remove references of deprecated IL opcode TR:sucmpne and TR:ifsucmpne
Left TR::Node *sucmpneSimplifier(TR::Node * node, TR::Block * block,
TR::Simplifier * s)  and  longCompareNarrower(node, s, TR::ificmpne,
TR::ifsucmpne, TR::ifscmpne, TR::ifbcmpne)  unchanged
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: fad13fc)
The file was modifiedcompiler/infra/OMRCfg.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierHandlers.cpp (diff)
The file was modifiedfvtest/compilertest/tests/X86OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.hpp (diff)
The file was modifiedfvtest/compilertest/tests/S390OpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/PPCOpCodesTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/injectors/OpIlInjector.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.cpp (diff)
The file was modifiedcompiler/x/codegen/ControlFlowEvaluator.cpp (diff)
Commit 700cca2aff42ef7d592103752e1fcb6af3a18f0b by rwy0717
Permanently enable the arraylets flag in OMR
- Add deprecation notes to the configure options
- Permanently enable the ifdefs
Signed-off-by: Robert Young <rwy0717@gmail.com>
(commit: 700cca2)
The file was modifiedconfigure.ac (diff)
The file was modifiedinclude_core/omrcfg.h.in (diff)
The file was modifiedcmake/config.cmake (diff)
The file was modifiedomrcfg.CMakeTemplate.h (diff)
The file was modifiedomrmakefiles/configure.mk.in (diff)
Commit 39854fa1d31fbf2dd38f59b82712b5b5d8820568 by youngar17
Add option to enable concurrent copy forward
Signed-off-by: Andrew Young <youngar17@gmail.com>
(commit: 39854fa)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
Commit 6b5cccec1f0f3b21d98222bb56f61ef22e615ee6 by rounakr.ag73
Remove GlobalLabel symbols from compiler
Fixes #3993
Signed-off-by: Rounak Agarwal <rounakr.ag73@gmail.com>
(commit: 6b5ccce)
The file was modifiedcompiler/optimizer/Inliner.cpp (diff)
The file was modifiedcompiler/il/symbol/OMRSymbol.hpp (diff)
The file was modifiedcompiler/il/symbol/OMRSymbol_inlines.hpp (diff)
The file was modifiedcompiler/optimizer/Inliner.hpp (diff)
Commit 6f051160c74a48cceeb6f75e18816e54f1dbbf5d by keithc
Use the C++ compiler to preprocess C++ code for DDR
This avoids a problem on z/OS where c89 refuses to consider C++ code:
FSUM3008 Specify a file with the correct suffix (.c, .i, .s, .o, .x,
.p, .I, or .a), or a corresponding data set name, instead of
RegionPool.cpp.
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 6f05116)
The file was modifiedomrmakefiles/rules.mk (diff)
Commit 69c85a658c416c561f930ee9fadafb9e61d2aca3 by Charlie Gracie
Add Robert as a code owner to the appropriate files/folders
Signed-off-by: Charlie Gracie <charlie.gracie@gmail.com>
(commit: 69c85a6)
The file was modifiedCODEOWNERS (diff)
Commit c9ddb7620466e20dac33736b0891eb7ec53f937f by itsnidhi16
Remove redundant/unneeded stack map and atlas methods
Fixes #2619
Removed redundant / unneeded stack map and atlas  methods from
JitBuilder's FrontEnd and fvtest
Signed-off-by: Nidhi Gupta <itsnidhi16@gmail.com>
(commit: c9ddb76)
The file was modifiedfvtest/compilertest/env/FrontEnd.cpp (diff)
The file was modifiedjitbuilder/env/FrontEnd.hpp (diff)
The file was modifiedfvtest/compilertest/env/FrontEnd.hpp (diff)
The file was modifiedjitbuilder/env/FrontEnd.cpp (diff)
Commit aa95c1323000bf0c23bbc57c97f2de0c39d69042 by yan_luo
Tril tests for ternary opcode
Add tril tests for ternary opcode with different compare nodes and value
nodes
Signed-off-by: Yan Luo <Yan_Luo@ca.ibm.com>
(commit: aa95c13)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedfvtest/compilertriltest/CMakeLists.txt (diff)
The file was addedfvtest/compilertriltest/TernaryTest.cpp
The file was modifiedfvtest/compilertest/tests/X86OpCodesTest.cpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
Commit b537358a8ca7392246ecada1ec4f85e3a33a0d97 by jjohnst
Updates associated with z/TPF GCC 7 Builds
Compiler Option updates as part of building for GCC 7.  Additionally,
needed to bypass z/TPF stack validation.
Signed-off-by: James D Johnston <jjohnst@us.ibm.com>
(commit: b537358)
The file was modifiedomrmakefiles/rules.ztpf.mk (diff)
The file was modifiedthread/unix/thrdsup.c (diff)
Commit 2a1a2caa77b6a4a482b4496e6dcc9aa561a66bbe by liqunl
Disable boolean store simplification
Boolean store simplification has caused test failures in downstream
project openj9. We haven't fully understood the defect, so disable this
opt until we have a fix for it.
Signed-off-by: liqunl <liqunl@ca.ibm.com>
(commit: 2a1a2ca)
The file was modifiedcompiler/optimizer/OMRCFGSimplifier.cpp (diff)
Commit cdd58c8f180998071edb57c257b287667b8924fd by keithc
General z/OS improvements
* heed compiler advice about built-in functions:
INFORMATIONAL CCN3573 ./zos390/omrgetjobname.c:76
To use the built-in form of the strcpy function add the
#include <string.h> directive.
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: cdd58c8)
The file was modifiedport/zos390/omrgetjobname.c (diff)
The file was modifiedport/unix/omriconvhelpers.c (diff)
The file was modifiedport/zos390/omrmmap.c (diff)
The file was modifiedport/zos390/omrsyslog.c (diff)
The file was modifiedport/zos390/omrgetuserid.c (diff)
Commit 98f6fbe9b2188185958c2d2db4398be931fc2524 by keithc
Extend DDR rules to handle *.mc files
Fixes error on z/OS:
No rule to make target 'omrlpdat.i', needed by 'ddrgen'.
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 98f6fbe)
The file was modifiedomrmakefiles/rules.mk (diff)
Commit 073acffc8db8ccfd9c3fc515f12cf3db4e1a300c by maier
Remove inlineNDmemcpyWithPad and fold code assuming false
This function always returns a constant false in OMR.  It is not used in
any known downstream projects.  Remove and fold surrounding code
assuming it returns false.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 073acff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/OpMemToMem.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
Commit 55a341f0f9a6b5263e159098ed3d54b83a9743ce by youngar17
Add concurrent copy forward read barrier type
Signed-off-by: Andrew Young <youngar17@gmail.com>
(commit: 55a341f)
The file was modifiedinclude_core/omrgcconsts.h (diff)
Commit 7103275941b892496b32c536d4810866b9dbe897 by maier
Fold code assuming MemToMemVarLenMacroOp::needsLoop is always true
* Remove the function MemToMemVarLenMacroOp::needsLoop()
* Fold code that references it assuming it is always true
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 7103275)
The file was modifiedcompiler/z/codegen/OpMemToMem.cpp (diff)
The file was modifiedcompiler/z/codegen/OpMemToMem.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
Commit 4cee04643de9fad6980496e1623a3122789e7304 by eochoa
Add internal memory to CFG
This commit adds an internal memory region to the CFG. By default, the
internal memory region is created from the heap region. CFG edges are
now allocated to this internal memory region.
Signed-off-by: Erick Ochoa <eochoa@ualberta.ca>
(commit: 4cee046)
The file was modifiedcompiler/infra/OMRCfg.cpp (diff)
The file was modifiedcompiler/infra/OMRCfg.hpp (diff)
The file was modifiedcompiler/infra/Cfg.hpp (diff)
Commit 8bc05100ff6b48f4b619a22e40e8304d5219ad1c by eochoa
Add optional parameter for TR::CFG
Signed-off-by: Erick Ochoa <eochoa@ualberta.ca>
(commit: 8bc0510)
The file was modifiedcompiler/infra/Cfg.hpp (diff)
Commit e95b44ebf16c49a15964af0c862069e8bb7910d4 by maier
Remove obsolete code from FEBase.cpp
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: e95b44e)
The file was modifiedcompiler/env/FEBase.cpp (diff)
Commit 443909f97317bfb46e8d0928eacf7defb85eb320 by maier
Remove unnecessary J9_PROJECT_SPECIFIC macros
Code is not required, even for OpenJ9.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 443909f)
The file was modifiedcompiler/x/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/infra/Assert.cpp (diff)
The file was modifiedcompiler/codegen/FrontEnd.hpp (diff)
The file was modifiedcompiler/codegen/CodeGenPrep.cpp (diff)
Commit 20b1f577eebd3021f039e3b3ff0fe62b1d1eceac by aaronwang0407
remove unsigned  ILopcode:TR::iflucmpeq and TR::ifiucmpeq from
SwitchAnalyzer
Remove the two unsigned opcodes from the SwitchAnalyzer.cpp.
Issue: #3983 Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 20b1f57)
The file was modifiedcompiler/optimizer/SwitchAnalyzer.cpp (diff)
Commit 3f55c7848ede537c8a2f7ee0b19b868bbe3a63da by eochoa
Add additional constructor to CFG with region reference parameter.
Eliminate the constructor that takes a region pointer and add a
constructor that takes a region reference as a parameter. Add optional
`TR_AllocationKind` parameter to `addEdge` and
`addExceptionEdge` to allow OpenJ9's master branch to compile.
Signed-off-by: Erick Ochoa <eochoa@ualberta.ca>
(commit: 3f55c78)
The file was modifiedcompiler/infra/OMRCfg.cpp (diff)
The file was modifiedcompiler/infra/Cfg.hpp (diff)
The file was modifiedcompiler/infra/OMRCfg.hpp (diff)
Commit 776a45c631b70610c83b7f3b1f74c6a28915a4e6 by salman.rana
Deep Structure Scan Optimization
- deepScan routine introduced to "special treat" objects with self
referencing fields (fast traversal of deep structure nodes)
   - Split into two functions `deepScan` and `deepScanOutline`.
Frequently called checks (see lazy start check below) must be inlined
   - deepScanOutline` scans self referencing field of an object follows
it and repeats. If it can't follow through in one direction, it will
attempt to use the second self referencing field (e.g., the next and
previous pointes of double linked lists)
- Lazy Start condition used for gatekeeping - inhibit the special
treatment routine with relatively high probability to skip over most
false positives (shorter lists), while only marginally delay detection
of very deep structures
   -  Lazy Start check (`(uintptr_t)objectPtr & 0x78) == 0`) for
probability 1/16 to special treat
- `approxScanCacheCount` added to Environment to have a thread local
copy which is required for checking throttling condition, optimization
to avoid overflow of the free list
   - If free list is utilized more than 50% deep scan is terminated
Signed-off-by: Salman Rana <salman.rana@ibm.com>
(commit: 776a45c)
The file was modifiedgc/base/standard/Scavenger.cpp (diff)
The file was modifiedgc/base/EnvironmentBase.hpp (diff)
The file was modifiedgc/base/standard/Scavenger.hpp (diff)
Commit fbb7aa1713ddc61affecc02dba9c80a393a658af by eochoa
Deprecate the methods `addEdge` and `addExceptionEdge`.
In order to add edges in the CFG to a specific region, the region must
now be specified when constructing the CFG.
Signed-off-by: Erick Ochoa <eochoa@ualberta.ca>
(commit: fbb7aa1)
The file was modifiedcompiler/infra/OMRCfg.hpp (diff)
The file was modifiedcompiler/infra/OMRCfg.cpp (diff)
Commit b48ddd4a0732b659554172ec0116d6b9de40cd95 by maier
Rename global register allocated indexes on ParameterSymbol
Provide more meaningful names for the following APIs to make the code
that uses it more readable:
* `getAllocatedIndex` --> `getAssignedGlobalRegisterIndex`
* `setAllocatedIndex` --> `setAssignedGlobalRegisterIndex`
* `getAllocatedLow` --> `getAssignedLowGlobalRegisterIndex`
* `setAllocatedLow` --> `setAssignedLowGlobalRegisterIndex`
* `getAllocatedHigh` --> `getAssignedHighGlobalRegisterIndex`
* `setAllocatedHigh` --> `setAssignedHighGlobalRegisterIndex`
Add Doxygen comments where appropriate.  Modify references in OMR.
The original API is left in place for now while downstream projects
switch over to the new API.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: b48ddd4)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was modifiedcompiler/il/symbol/OMRParameterSymbol.hpp (diff)
The file was modifiedcompiler/x/codegen/X86SystemLinkage.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCSystemLinkage.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/x/amd64/codegen/AMD64SystemLinkage.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
Commit b195735020e291b7af6db9bd2831ce90b002215e by langman
Fix logic in allowGlobalRegisterAcrossBranch() for POWER
The logic in allowGlobalRegisterAcrossBranch() must match the logic in
switchDispatch() when deciding which lookup scheme logic to use. The
failure to check for an overflow in allowGlobalRegisterAcrossBranch()
allowed for GRA to use 25 registers which caused a crash in
freeBestRegister() because all registers were blocked when local RA was
looking to allocate a register needed by the switch lookup code.
Signed-off-by: Kevin Langman <langman@ca.ibm.com>
(commit: b195735)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
Commit b00f645f4de8e9c95e22dc9d0a976fe53f329af7 by yizhang
Create known object temps when splitting block
When splitting a block, temps are created to uncommon references across
the splitted blocks. Use known object temps, if the original referenced
value is a known object.
Signed-off-by: Yi Zhang <yizhang@ca.ibm.com>
(commit: b00f645)
The file was modifiedcompiler/optimizer/Inliner.cpp (diff)
Commit 3bb056b93f460228da34c5c839b6f1abfa9c30c2 by itsnidhi16
Removed RegisterITF references and commented out available bits
Fixes #3961
Signed-off-by: Nidhi Gupta <itsnidhi16@gmail.com>
(commit: 3bb056b)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
The file was modifiedcompiler/control/OMROptions.hpp (diff)
Commit 5be0a719ba44b3bd47bb67bd6419d94f1da58c41 by itsnidhi16
Remove FlattenRegisterPairs
Fixes #3968
Signed-off-by: Nidhi Gupta <itsnidhi16@gmail.com>
(commit: 5be0a71)
The file was modifiedcompiler/codegen/OMRRegisterPair.hpp (diff)
The file was modifiedcompiler/codegen/OMRRegisterPair.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRRegister.hpp (diff)
Commit 89d117a2b1a2e1bd6fc2defa457136686396c38b by itsnidhi16
Remove J9_VERSION and update copyright header
Removed J9_Version from Test compiler and JitBuilder and updated the
copyright header to current year.
Fixes #1651
Signed-off-by: Nidhi Gupta <itsnidhi16@gmail.com>
(commit: 89d117a)
The file was modifiedfvtest/compilertest/build/toolcfg/common.mk (diff)
The file was modifiedjitbuilder/build/toolcfg/common.mk (diff)
Commit 638507b7e7ca2f0cb9276b2a606a05e42b60dfa0 by konno
AArch64: Add TR_ARM64countingRecompileMethod to Helpers.inc
This commit adds the symbol TR_ARM64countingRecompileMethod to
Helpers.inc.
Signed-off-by: knn-k <konno@jp.ibm.com>
(commit: 638507b)
The file was modifiedcompiler/runtime/Helpers.inc (diff)
Commit 8bad6c9db8b7b1a957ae4c45ad164293e2701659 by maier
Remove CodeCacheBase