SuccessChanges

Summary

  1. Change Node::mayUse() function to return TR_UseOnlyAliasSetInterface (commit: d84ed6f) (details)
  2. Change Node::mayKill() function to return TR_UseDefAliasSetInterface (commit: ea2fdde) (details)
  3. Remove Node Alias (commit: 18abdd2) (details)
  4. Add isRelocatable boolean inside loadAddressConstant (commit: 27d55ea) (details)
  5. Correctly use loadAddressConstant API for lookup IL (commit: bf75a9c) (details)
  6. Specify isRelocatable bool for TR_DataAddress (commit: 46db497) (details)
  7. Don't do local relocation for remote compilations (commit: 4f716ae) (details)
  8. Generate relocatable code in emitFloatingPointConstant (commit: f26c557) (details)
  9. Don't emit data for remote compilations (commit: 858f77e) (details)
  10. Generate relocation record in ConstantDataSnippet (commit: 35705c4) (details)
  11. Add relocation record for TR_DataAddress in JITServer (commit: 6608d75) (details)
  12. Remove OMR::ILOpCode::unsignedShiftLeftOpCode function (commit: 57977c0) (details)
  13. Concurrent GC Yield and Resume after CM GC Exclusive (commit: 7a612ac) (details)
  14. Add OMR_THR_MCS_LOCKS flag to enable/disable the MCS lock (commit: fa1f0e0) (details)
  15. Fix formatting of ifdefs (commit: 8d65b32) (details)
  16. Initialize variables, fix null checks and use OMR_ARE_*_BITS_SET macros (commit: 75e0da2) (details)
  17. Remove unnecessary NULL checks around omrthread_free_memory (commit: 7ad834a) (details)
  18. AArch64: Set destination address in ARM64ImmSymInstruction (commit: 9c28af4) (details)
  19. Keep contracted LOA size not smaller than minimum LOA size (commit: 3c7df4a) (details)
  20. Fix checkAndReplaceRotation 32/64 bit ambiguity (commit: b5ea61d) (details)
  21. Fix the compile failure related to the lockExchange function on AIX (commit: 18c567b) (details)
  22. remove generation of deprecated unsigned load opcodes (commit: 946b00e) (details)
  23. Remove generations of deprecated unsigned store opcodes (commit: 67c1af8) (details)
  24. Add relocation records correctly inside ConstantDataSnippets (commit: b289414) (details)
  25. Create TR_MethodCallAddress relocation for resolved methods (commit: d743c95) (details)
  26. Disable ExpandInstructionsPhase on codegens that don't use it (commit: bcc882c) (details)
  27. Handle __fetch_and_swap(lp) across XLC versions used by OMR consumers (commit: 5166fff) (details)
  28. AArch64: Implement PrefetchEvaluator (commit: b725d82) (details)
  29. Use linkage entry point API for recursive method calls (commit: 9754e65) (details)
  30. Remove deprecated X86 outlined allocation helpers (commit: 5a94db8) (details)
  31. Remove Unused Options (commit: d2daaaf) (details)
  32. Refactor callsite constructor macro (commit: 38a8038) (details)
  33. Refactor the optimizer to allocate UseDefInfo through a central location (commit: 775d7cf) (details)
  34. Forward format args to trace function in nonfatal assertion (commit: 3a66828) (details)
  35. Remove avl_internal.h (commit: 446aa57) (details)
  36. AArch64: Set first instruction to block in BBStartEvaluator (commit: 62eb789) (details)
  37. AArch64: Add floatRemainder and doubleRemainder helpers (commit: 28444ec) (details)
  38. Include correct concrete class header files (commit: 51665bb) (details)
  39. Add AArch64 helpers to getRuntimeHelperName() (commit: c62b512) (details)
  40. Remove all the definitions of deprecated ILOpCode TR:: iumul (commit: 6ff92ce) (details)
  41. Rewrote parser in tril (commit: 393044a) (details)
  42. Created Function Prototypes for OMRSocketAPI (commit: cf8987d) (details)
  43. Remove isAOT check in order to enable relo logging for JITServer (commit: 19eb6bf) (details)
  44. Fix missing defines in Power SPP files when building with CMake (commit: b199666) (details)
  45. Fix OMRMonitor.cpp failing to compile on AIX (commit: e355f32) (details)
  46. Remove all the definictions of deprected ILOpCode TR::cmul (commit: f6a932c) (details)
  47. Remove all the definitions of deprecated ILOpCode TR::buternary (commit: eed978c) (details)
  48. Remove all the definitions of deprecated ILOpCode TR::iuternary (commit: 7b0e52e) (details)
  49. Remove all the definitions of deprecated ILOpCode TR::luternary (commit: 6695ff8) (details)
  50. Remove all the definitions of deprecated ILOpCode TR::suternary (commit: 01d3018) (details)
  51. Enable Tril and test compiler hacks on AIX (commit: 107365c) (details)
  52. Fix mmap with MAP_ANONYMOUS not working on AIX (commit: 675f519) (details)
  53. Fix incorrect use of PRId64/PRIu64 in ShiftAndRotateTest (commit: ca854e6) (details)
  54. Make Tril::SimpleCompiler return a function descriptor on AIX (commit: 9146ec1) (details)
  55. Skip Tril tests affected by #3525 on Power BE (commit: 5240cd3) (details)
  56. Fix tril_compiler and tril_dumper failing to link on AIX (commit: 7e7a800) (details)
  57. Add hacks for running JitBuilder on AIX (commit: 24bad33) (details)
  58. Disable Tril's IlGenTest on AIX (commit: f816690) (details)
  59. Disable test compiler tests on AIX (commit: c29da09) (details)
  60. Enable the JIT for AIX CI jobs (commit: 3a9a956) (details)
  61. Remove Flex/Bison from AppVeyor and Travis (commit: 578eb17) (details)
  62. Remove the last few mentions of flex/lex/bison/yacc (commit: b17af5c) (details)
  63. Created Test Stubs for OMR Socket API (commit: 99cc5fa) (details)
  64. Add code to allocate and free OMRThreadMCSNodes (commit: e7ad4e9) (details)
  65. Initialize J9Thread->mcsNodes (commit: 9752b52) (details)
  66. Initialize and reset J9ThreadMonitor->queueTail (commit: 2a693b3) (details)
  67. Remove PPCAlignedLabelInstruction (commit: add4358) (details)
  68. AArch64: Add VirtualGuardNOPInstruction (commit: 5c3348c) (details)
  69. AArch64: Implement virtualGuardHelper function (commit: fe4fcf3) (details)
  70. Relocated FrontEnd.hpp and modified relevent directives (commit: d993cf6) (details)
  71. Add an alignment nop instruction class on Power (commit: 76b04ee) (details)
  72. Refactor alignment of loop start labels on Power (commit: 358b1ff) (details)
  73. Make group-ending nops apparent in the tracefile (commit: d42c647) (details)
  74. remove all definitions of deprecated ILOpcode TR::cshl (commit: 0d4c1ae) (details)
  75. emove all the definitions of deprecated ILOpcode TR::iushl (commit: df4c1ca) (details)
  76. Remove all the definitions of deprecated ILOpCode TR::lushl (commit: a6e9687) (details)
  77. Remove all the definitions of deprecated ILOpcode TR::ishfl/TR::lshfl (commit: 0060a4f) (details)
  78. Remove all the definitions of deprecated ILOpcode TR::iushfl/TR::lushfl (commit: 5e70828) (details)
  79. Remove all the definitions of deprecated ILOpcode TR::bshfl/TR::sshfl (commit: 2f58068) (details)
  80. Remove all the definitions of deprecated ILOpcode TR::bushfl/TR::sushfl (commit: 1669582) (details)
  81. Runtime compressed refs work (commit: ac1e00f) (details)
  82. Fix mis-spellings of 'count' (commit: 546e9c3) (details)
  83. Add FE query to add relocations for TR_HelperAddress (commit: 464c81d) (details)
  84. Add omrstr_convert target code page CP_ACP/CP_THREAD_ACP (commit: 1fc5b76) (details)
  85. Apply suggestions from code review (commit: adfbbf4) (details)
  86. Having X86 return true value from 'getSupportsHardwareSQRT()' (commit: 64b26da) (details)
  87. Adding 'dsqrtEvaluator' in x86 (commit: 48d13f2) (details)
  88. Remove references to OpenJ9 private linkage (commit: c6cd450) (details)
  89. Fix IA32PrivateLinkage static_cast typo (commit: d1e0170) (details)
  90. Change Dwarf_CU_Context files list from vector to map (commit: 4b9df41) (details)
  91. gtest: Do not reference temporaries past their lifetimes (commit: 1e71054) (details)
  92. AArch64: Handle resolved class pointer in loadRelocatableConstant() (commit: 4ef5339) (details)
  93. AArch64: Add "nop" and "vgdnop" to ARM64Debug.cpp (commit: 7f2e813) (details)
  94. AArch64: Implement ARM64Trg1MemSrc1Instruction (commit: 57218a3) (details)
  95. Peephole optimizations for BNDCHK evaluator on Z (commit: d1c6a04) (details)
  96. Fix Bugs in splitPostGRA (commit: 7eb746e) (details)
  97. Fix spelling of 'label' (commit: 1c4c564) (details)
  98. Removed API within DAA for which Java implementations do not exist (commit: 20af3ad) (details)
  99. Removed helper method for `inlineTrailingZerosQuadWordAtATime_` (commit: cb6d3ec) (details)
  100. Fix compile error with Concurrent Scavenger enabled on macOS (commit: 601ca0e) (details)
  101. Make PPCAlignmentNopInstruction::setAlignment private (commit: 62dadbb) (details)
  102. Used fgets to read file in parseFile (commit: dc817b9) (details)
  103. Runtime compressed refs work (commit: 6944795) (details)
  104. Add findOr{Create,Fabricate}ShadowSymbol functions (commit: fb355ed) (details)
  105. Remove unsigned support in Z::imulEvaluator (commit: 1e69d6f) (details)
  106. Fix issue with GC during idle cycle (commit: 290fef8) (details)
  107. Fix missing conversion in splitPostGRA (commit: 76484b9) (details)
  108. AArch64: Implement ARM64Trg1ImmSymInstruction (commit: 2cd0f0b) (details)
  109. Don't default initialize isRelocatable boolean (commit: 313b2fa) (details)
  110. Rename doc/compiler/README (commit: 509443c) (details)
  111. Compact trigger adjustment (commit: 538fd9b) (details)
  112. Update uses of loadAddressConstant API (commit: c71a701) (details)
  113. Fixes bug found when assigning a new real register (commit: a12a2d0) (details)
  114. CMake: Add ability to handle split debug info (commit: ecc077e) (details)
  115. Move codegen/FrontEnd.cpp to env/FrontEnd.cpp (commit: 0995e26) (details)
  116. Move NullChkEvaluators to OpenJ9 for ARM, Power, Z and Aarch64 codegen (commit: 8588a6e) (details)
  117. Add new needRelocationsForLookupEvaluationData query (commit: c158ab0) (details)
  118. Update loadAddressConstant API consumers (commit: fae6238) (details)
  119. Share implementation to re-reserve trampolines on code cache switch (commit: 4b5d965) (details)
  120. AArch64: Fix code generation for adr and adrp instructions (commit: d54781f) (details)
  121. Runtime compressed refs work (commit: c6ec740) (details)
  122. Break unneeded class dependencies on OMRLinkage (commit: 6de2de3) (details)
  123. Only unblock an asynchronous signal if it is used (commit: 717082e) (details)
  124. Add new overload for loadAddressConstant (commit: e01ecad) (details)
  125. AArch64: Add extraRegister to OMRMemoryReference (commit: 3377516) (details)
  126. Implement omrthread_mcs_lock, which is part of the MCS Lock API (commit: c196dd3) (details)
  127. Implement omrthread_mcs_trylock, which is part of the MCS Lock API (commit: 2c3bdd4) (details)
  128. Implement omrthread_mcs_unlock, which is part of the MCS Lock API (commit: cf627e1) (details)
  129. Implement omrthread_mcs_node_allocate, which is part of the MCS Lock API (commit: 46dd324) (details)
  130. Implement omrthread_mcs_node_free, which is part of the MCS Lock API (commit: a81723b) (details)
  131. Relocate getMonClass and addMonClass to OpenJ9 (commit: 2339b26) (details)
  132. CMake: Update FindLibElf (commit: db0d2fd) (details)
  133. Runtime compressed refs work (commit: 91483b0) (details)
  134. Fixes to match prototypes to old socket API (commit: a2f1d3e) (details)
  135. Defined private copy constructor for TypeDictionary (commit: 2c3f67d) (details)
  136. Avoid buffer overflow in expandString() (commit: 9d712f3) (details)
  137. Avoid buffer overflow in count_threads() (commit: 448e32e) (details)
  138. Ensure strings are NUL-terminated in omrosdump_helpers (commit: 7a932ad) (details)
  139. Ensure string is NUL-terminated in omrsysinfo_get_OS_type() (commit: b399ceb) (details)
  140. Avoid compiler warning in omrvmem_numa_get_node_details() (commit: 5a11f35) (details)
  141. Introduce new query to replace JITServer checks (commit: 7e87e0c) (details)
  142. AArch64: Correct the condition code for fcmp/dcmp (commit: c3d0cf1) (details)
  143. AArch64: Implement igotoEvaluator (commit: 9eaddae) (details)
  144. Remove stale comment (commit: f937c1b) (details)
  145. Clean up lowerTreesPreChildrenVisit (commit: c0b6b9e) (details)
  146. Add option disabling inline JSR292 without peeking (commit: 67022e8) (details)
  147. Change isInteger to is32BitOp in lowerTreesPreChildrenVisit (commit: a010217) (details)
  148. Add eaEscapeHelperSymbol (commit: 424b0a5) (details)
  149. Remove creation of nodes with deprecated unsigned Constant opcodes (commit: 2e4a572) (details)
  150. Remove Creation of nodes with deprecated unsigned Equality opcodes (commit: d3ec5fa) (details)
  151. Fatal assert any creation of node with deprecated unsigned opcode of (commit: 2c0db86) (details)
  152. Fatal assert any creation of nodes with deprecated constant opcodes (commit: 14de6f2) (details)
  153. Trust maps file parser if no errors occur (commit: abf241c) (details)
  154. Move the calls to AC_PROG_CC/CXX higher (commit: bd69387) (details)
  155. AArch64: Add call to TR_Debug::print(TR::ARM64RecompilationSnippet) (commit: c8c7b8e) (details)
  156. Move arithmeticNeedsLiteralFromPool function from OMR to OpenJ9 (commit: 37bcd6a) (details)
  157. Remove unused features from S390LabelInstruction (commit: cb5ee35) (details)
  158. Add new 'MinimalTest' suite to compilertriltest. (commit: f492938) (details)
  159. Remove unused isHint from Z register dependencies (commit: f19de60) (details)
  160. Remove unused conflictsResolved field from Z (commit: 48e9d87) (details)
  161. AArch64: Implement generateARM64OutOfLineCodeSectionDispatch() (commit: bf81292) (details)
  162. AArch64: Add computedCallTargetRegister to ARM64LinkageProperties (commit: b112d81) (details)
  163. AArch64: Implement OMR::ARM64::RegisterDependencyConditions::clone (commit: 9056b3b) (details)
  164. Fix JNI performance regression (commit: 0b75141) (details)
  165. DDR: add support for xlc/xlclang version 16 (commit: bac4aa2) (details)
  166. Make ccache treat omrcfg.h as a dependency for every object (commit: b17e3eb) (details)
  167. Rename TR_DisableTOCForConstants to TR_DisableTOC (commit: 7ea1fec) (details)
  168. Update monitor_enter_three_tier to use the MCS lock (commit: b38c492) (details)
  169. Update omrthread_monitor_try_enter_using_threadId to use the MCS lock (commit: abd9930) (details)
  170. omrthread_mcs_node_free should not assert if mcsNode is NULL (commit: cb2aa35) (details)
  171. Update monitor_exit to use the MCS lock (commit: ecd89fe) (details)
  172. Update monitor_wait_original to use the MCS lock (commit: 58b3577) (details)
  173. Update monitor_wait_three_tier to use the MCS lock (commit: 2806dba) (details)
  174. Update monitor_notify_three_tier to use the MCS lock (commit: cad1146) (details)
  175. unblock_spinlock_threads not used with the MCS lock (commit: 1cb7d01) (details)
  176. Update postForkResetMonitors to work with the MCS lock (commit: ffa97f0) (details)
  177. Update postForkResetThreads to work with the MCS lock (part 1) (commit: 711c379) (details)
  178. Update postForkResetThreads to work with the MCS lock (part 2) (commit: b6822a4) (details)
  179. Restrict the number of threads allowed to spin per monitor with MCS lock (commit: 615b0b4) (details)
  180. [DONT MERGE] Enable the OMR_THR_MCS_LOCKS flag to verify compilation (commit: 94e76ea) (details)
  181. Using scanFileName variable instead of /proc file system. (commit: 96a156f) (details)
  182. AArch64: Implement tableEvaluator (commit: 1804d0f) (details)
  183. AArch64: Add jitCollapseJNIReferenceFrame helper (commit: 0249da0) (details)
  184. Add data section and header to relocatable elf file (commit: 35eaa4d) (details)
  185. Removed codegen/FrontEnd.hpp and codegen/FrontEnd.cpp (commit: cb323c5) (details)
  186. Rework accessStaticItem in Power's OMRMemoryReference (commit: a31fb11) (details)
  187. Add new needRelocationsForCurrentMethodPC query (commit: f907278) (details)
  188. Don't use needRelocationsForStatics query when redundant (commit: fa3a153) (details)
  189. Revert "DDR: add support for xlc/xlclang version 16" (commit: 0b28f10) (details)
  190. Disable PPC TOC if TR_DisableTOC option is set (commit: a3342a3) (details)
  191. AArch64: Make logicImmediateHelper available outside BinaryEvaluator.cpp (commit: f09a782) (details)
  192. Do not remove config.guess/sub in distclean (commit: 05019a0) (details)
  193. Do not run distclean in builds (commit: 0ea6946) (details)
  194. CMake: Make ddr scan j9pool.h (commit: 395ce20) (details)
  195. CMake: Link ddr tooling against omr thread/port libraries (commit: b1a949d) (details)
  196. CMake: Move header templates location (commit: 4b64904) (details)
  197. CMake: Add flag for GC_DOUBLE_MAP_ARRAYLETS (commit: bd9102d) (details)
  198. AArch64: Allow negative immediate offset for memory access (commit: 02c7167) (details)
  199. RISC-V: Add RISC-V compiler backend (commit: bf87314) (details)
  200. Update configure scripts for RISC-V in OMR (part1/misc) (commit: c00692b) (details)
  201. Add compilation local TR::Environment (commit: 9c8092e) (details)
  202. Pass CG pointer to TR_X86ProcessorInfo::initialize (commit: ffd0b10) (details)
  203. Delete #ifdef 0 guarded code (commit: 5862179) (details)
  204. Use compiler local target environment (commit: ff1ec54) (details)
  205. Add query in Linkage to get target from comp (commit: 7a2e974) (details)
  206. Remove unnecessary queries of target environment (commit: 444c94e) (details)
  207. CMake: Refactor DDR support (commit: c565a4f) (details)
  208. CMake: Fix ddr on osx (commit: 150a9dc) (details)
  209. Redefine CG queries to return correct answer (commit: a1105d3) (details)
  210. Add OMR macros for processor feature detection (commit: 0f824c6) (details)
  211. CMake: Update FindDiaSDK (commit: eeaaa20) (details)
  212. Runtime compressed refs work (commit: 907e5f8) (details)
  213. Remove uses of J9VM_OUT_OF_PROCESS (commit: 09c8952) (details)
  214. Revert "Migrate processor/feature detection from OpenJ9 to OMR Part 1" (commit: 58cda61) (details)
  215. CMake: Enable OMR_EXE_LAUNCHER support when launching ddrgen (commit: 6103d11) (details)
  216. Propagate prex arg info during inlining (commit: 2fc1630) (details)
  217. Stop IAP setting site specific information on parm symbol (commit: bc01a98) (details)
  218. Add OMR_PORT_SOCKET_SUPPORT flag to enable/disable usage of socket API (commit: 2221bfe) (details)
  219. Modified files related to OMR Socket API to use flag (commit: abf078f) (details)
  220. DDR: add support for xlc/xlclang version 16 (commit: 051260b) (details)
  221. Export omrthread_attr_set_detachstate (commit: ea23cbc) (details)
  222. Update makefile scripts for RISC-V in OMR (part3/omr) (commit: 41a8693) (details)
  223. Disable the OMR_THR_MCS_LOCKS flag (commit: 7f039b8) (details)
  224. Add OMR macros for processor feature detection (commit: a42f6f5) (details)
  225. AArch64: Add generateBinaryEncodingPrePrologue in OMRCodeGenerator (commit: 225e17e) (details)
  226. Fix incorrect binary encoding for vmax* instructions (commit: 9fca434) (details)
  227. Fixes incorrect register copy and GPR0 use in memory reference (commit: 71536e1) (details)
  228. Fix incorrect binary encoding for tabortwc (commit: 4f484f5) (details)
  229. Ensured calls to findBestFreeRegister provide a Register Mask and modify (commit: a62433c) (details)
  230. AArch64: Add Constant Data Snippet (commit: 297d842) (details)
  231. Remove definitions and uses of J9VM_ flags (commit: 4342618) (details)
  232. Interface and abstract class can not be final (commit: 435546a) (details)
  233. AArch64: Add TR_ASSERT_FATAL() to generateCompareImmInstruction() (commit: cce8a35) (details)
  234. AArch64: Use madd and msub instructions when applicable (commit: cc6632f) (details)
  235. Add TR::Region::reset helper function (commit: 071ded8) (details)
  236. Added ASTToTRNode classes for tril ilgen (commit: 0c82527) (details)
  237. Deprecate assignRegistersNoDependencies as it is no longer used (commit: 4432282) (details)
  238. Add a flag for ternary (commit: a0d1e7a) (details)
  239. Enable CFG Simplifier (commit: 51f5ca7) (details)
  240. AArch64: Add AOT relocation to address constant (commit: 95dacb0) (details)
  241. Add jit newValue helper (commit: b24b476) (details)
  242. Rename VMX record form compare instructions (commit: f162c57) (details)
  243. AArch64: Correctly decode logic immediate in ARM64Debug (commit: 6396708) (details)
  244. Remove redundant parm to avoid incorrect usage (commit: 2b49314) (details)
  245. Disable ResumableTraps when TR_DisableTraps option is set (commit: 5e9133a) (details)
  246. Added support for loadaddr in copy propagation. Replace a load of an (commit: d27fc61) (details)
  247. Remove redundant NULL check code to fix xlc 16 compile error (commit: 40de28e) (details)
  248. Add NoRecompilationRecoverableILGenException (commit: 44323c9) (details)
  249. AArch64: Load StartPC constant with pc-relative load instruction (commit: e4894dd) (details)
  250. Change control access of isLargePage in MemoryManager to public (commit: 54e7090) (details)
  251. Add arraylet double map request field (commit: b8a91ce) (details)
  252. Remove redundant z13 processor checks on Z (commit: f05e533) (details)
  253. Remove xlC V1R11 workaround in optimizer (commit: 679e117) (details)
  254. Revert PR4699 "Added support for loadaddr in copy propagation." (commit: f394417) (details)
  255. Remove references to TR_NodeAliasSetInterface (commit: aa50364) (details)
  256. Introduce arraylet double mapping verbose GC option (commit: 2c0470c) (details)
  257. Runtime compressed refs work (commit: 688c417) (details)
  258. AArch64: Add generateNop to code generator (commit: a32deed) (details)
  259. Remove references of const IL Opcode TR::buconst (commit: e2a164e) (details)
  260. Remove references of IL opcodes TR::iuconst (commit: e20a9bd) (details)
  261. Remove References of IL Opcode TR::luconst (commit: d3fb383) (details)
  262. Remove creation of nodes with deprecated unsigned add/sub opcodes (commit: d2e005b) (details)
  263. Fatal assert creation of any deprecated call/reture Add/Sub opcodes (commit: 5394e1b) (details)
  264. Fix VSX record form instruction properties (commit: a463941) (details)
  265. Added -Xjit option TR_DisableImmutableFieldAliasing (commit: d18a6c8) (details)
  266. Add unit tests for the Power binary encoder (commit: f7d5985) (details)
  267. CMake: Add exported symbol support for gcc (commit: dc49663) (details)
  268. AArch64: Set prepareForOSR helper to system linkage (commit: 8a5ad90) (details)
  269. Deprecate getFirstReadWriteMemoryReference (commit: cda8169) (details)
  270. Fix recursive case in JitBuilder recfib test (commit: 440a3f8) (details)
  271. Fix XPLINK call descriptor generation for callouts (commit: c3cad6f) (details)
  272. Use __malloc31 on z/OS to allocate code cache related memory (commit: 302d04c) (details)
  273. Added support for loadaddr in copy propagation (commit: e1519a0) (details)
  274. Fix Tril lexer transition table size for z/OS (commit: d457bb6) (details)
  275. Remove the unused Power ba and bla instructions (commit: db06abf) (details)
  276. Fix linkage register preservation in prologue on z/OS (commit: 7069efe) (details)
  277. Skip MinimalTest on non-x86 platforms because of #1645 (commit: 19c0bd9) (details)
  278. Make double map default value true (commit: 0722898) (details)
  279. Add a new dynamic constant API to dereference the pointer (commit: 2ff39ed) (details)
  280. Fixes https://github.com/eclipse/openj9/issues/8020 (commit: 7e2e1c4) (details)
  281. Change the port code for RISC-V in OMR (part4/port) (commit: 2fb7d58) (details)
  282. Enhance Simplifier to minimize child PassThroughs (commit: 31ed890) (details)
  283. Fix null pointer deref when encoding a MemoryReference (commit: 945d244) (details)
  284. Runtime compressed refs work (commit: 1a7fa89) (details)
  285. Fix JitBuilder and TestCompiler JIT shutdown sequence (commit: 5de40f9) (details)
  286. Fix code cache cleanup in JitBuilder and TestCompiler on z/OS (commit: 4a3841c) (details)
  287. Move ThreadLocal.h to ThreadLocal.hpp (commit: 6254aed) (details)
  288. Run the largest passing subset of tests on z/OS (commit: 4d51b47) (details)
  289. Add Unix rlimit support for RLIMIT_DATA (commit: 9303454) (details)
  290. AArch64: Enable OSR (commit: 4566223) (details)
  291. Disable Tril's IlGenTest on z/OS (commit: 7a3c45e) (details)
  292. Move object meta data flag defines to omrgcconsts.h (commit: f764995) (details)
  293. Fix compiler warnings (commit: 9be0c29) (details)
  294. Enhance CFGSimplifier simplifyBooleanStore (commit: 27bfdfc) (details)
  295. Change misc code for RISC-V in OMR (part5/misc) (commit: 072ca7c) (details)
  296. Revert "Added support for loadaddr in copy propagation" (commit: e4c4a05) (details)
  297. CMake: Fix typo in gc (commit: 30f43fb) (details)
  298. Add byte and short multipliers to x86 (commit: 5abbe78) (details)
  299. Disable test compiler tests on z/OS (commit: eb3b237) (details)
  300. Move setParameterLinkageRegisterIndex from OMR to OpenJ9 (commit: 505071d) (details)
  301. Consider callee type in exceptionRaised/OSRPoint query (commit: b3c40ab) (details)
  302. AArch64: Add code for compressed refs to memory reference (commit: b64b701) (details)
  303. AArch64: Add code for compressed refs - istoreEvaluator (commit: d65d146) (details)
  304. Revert "Make double map true as default option " (commit: b7dec38) (details)
  305. CMake: avoid splitting debug symbols multiple times (commit: 456873f) (details)
  306. Implement setParameterLinkageRegisterIndex on z/OS XPLINK (commit: a03a579) (details)
  307. Implement setParameterLinkageRegisterIndex on Linux (commit: 93ae438) (details)
  308. Add more parameters to JitBuilder SystemLinkageTest (commit: 96f9e75) (details)
  309. Fix stack argument passing on Linux on Z and z/OS (commit: 3fe0329) (details)
  310. Disable ThreadExtendedTest on z/OS (commit: 175dcf4) (details)
  311. Disable porttest on z/OS (commit: bf1e56d) (details)
  312. Enable testing via ctest on z/OS (commit: 06a3681) (details)
  313. Fix LIBPATH on Jenkins pipeline on z/OS (commit: 32842c4) (details)
  314. Skip SystemLinkageTest on Power because of #4765 (commit: 830e76d) (details)
  315. CMake: Refactor _LONG_LONG definition (commit: ea2e3d4) (details)
  316. Added new variables and variable definitions for OMRSOCK API (commit: 45799e3) (details)
  317. Add Per Thread Buffer (PTB) functions specific for OMRSOCK API usage (commit: 4e2dcdd) (details)
  318. Modify CMakeLists and Objects to compile Per Thread Buffer files (commit: 58140fc) (details)
  319. Add OMRSock API startup and shutdown functions in common/omrsock.c (commit: 0e2ad31) (details)
  320. Mirror common/omrsock.c to win32/omrsock.c and unix/omrsock (commit: 1dbd854) (details)
  321. Added new error codes for OMRSOCK API (commit: 600575e) (details)
  322. Add omrsock_[startup|shutdown] implementations in [unix|win32]/omrsock.c (commit: 0846003) (details)
  323. Added OMRSOCK API startup and shutdown functions to PortLibrary (commit: 4edb544) (details)
  324. Add Unix implementation for omrsock_getaddrinfo_create_hints (commit: 6ace67c) (details)
  325. Add OMRSock tests in omrsockTest.cpp to test OMRSock PTB (commit: e9c4ad4) (details)
  326. AArch64: Add code for compressed refs - astoreEvaluator (commit: 25d27aa) (details)
  327. Use setProperty instead of setProperties in Z system linkages (commit: d000355) (details)
  328. Change how far conditional branch expansion works on Power (commit: 0fbf852) (details)
  329. RISC-V: add CI pipelines for RISC-V (commit: 91e6bfb) (details)
  330. heapReconfigure API Rework Follow-Up (commit: 239042b) (details)
  331. AArch64: Add code for compressed refs - l2aEvaluator, aloadEvaluator (commit: 25163bd) (details)
  332. Moving supportVMInternalNatives from OMR to Openj9 (commit: a8b330b) (details)
  333. Fix some minor issues in the binary encoder unit tests (commit: 3c75b24) (details)
  334. Remove duplicate if branches from addConstantToLong (commit: eaea1bc) (details)
  335. Scan Queue splitting defaults (commit: 6b41925) (details)
  336. Add VectorFacilityEnhancement1 feature on Z::CPU (commit: c7f5395) (details)
  337. Fix generateS390CompareAndBranchOpsHelper (commit: cebf06d) (details)
  338. Change ilgen exception to correct exception type (commit: 0d5b952) (details)
  339. Remove references of IL Opcode TR::cconst (commit: 28194ab) (details)
  340. Remove TR::Node::cconst() (commit: 4ad4ed6) (details)
  341. CMake: Fix shared library extension on AIX (commit: 99d97b2) (details)
  342. CMake: Fix rpath of rastest on AIX (commit: a9dda57) (details)
  343. Track the total usage of the code cache (commit: eb772ee) (details)
  344. RISC-V: remove unused methods from instruction hierarchy (commit: 2c8ece3) (details)
  345. RISC-V: remove duplicated `estimateBinaryLength()` (commit: 70a7ebd) (details)
  346. Add Identityless node flag (commit: 936fc56) (details)
  347. RISC-V: fix memory reference to work for NULL pointer (commit: 147450d) (details)
  348. RISC-V: implement `getKind()` for each instruction class (commit: 4eae449) (details)
  349. RISC-V: implement instruction printers (commit: 99dc4a0) (details)
  350. Compile with xlc_r on AIX (commit: 493d4fe) (details)
  351. Add Git Crash Course (commit: a8e19d1) (details)
  352. CMake: Fix bug in stripping debug info on xlc (commit: e720f09) (details)
  353. Remove old aliases for record-form VMX instructions (commit: 88557fd) (details)
  354. Remove dynamicConstant(int32_t cpIndex) (commit: b469ad3) (details)
  355. Fix rebasing figures and minor typo in Git Crash Course (commit: fee47f7) (details)
  356. AArch64: Fix logic allocating fp register when child node register is (commit: 180bcf2) (details)
  357. AArch64: Fix for populateMemoryReference() with no base register (commit: 0054368) (details)
  358. CMake: Remove guards for windows around ddr code (commit: 3ec2436) (details)
  359. Fix PPC64LE system linkage for stack arguments (commit: b1ac27f) (details)
  360. Fix big endian Power system linkage stack parameter alignment (commit: cb0ff02) (details)
  361. Re-enable tests disabled due to Power system linkage issues (commit: 590ff3d) (details)
  362. Remove the unused depend Power pseudoinstruction (commit: 53bc0e1) (details)
  363. Fatal asserts any creation of deprecated unsigned load/store opcodes (commit: bc27b06) (details)
  364. Add new omrsysinfo_get_CPU_load API for Linux, AIX, and OSX (commit: 7d46312) (details)
  365. Add new omrsysinfo_get_CPU_load API for Windows (commit: 8c7de4c) (details)
  366. Add new omrsysinfo_get_CPU_load API for z/OS (commit: e949267) (details)
  367. Add a unit test for omrsysinfo_get_CPU_load (commit: 75571dc) (details)
  368. Constrain VFT of object with resolved class constraint (commit: 5cd30eb) (details)
  369. Fix missing volatile in CS large object copy (commit: b829897) (details)
  370. Enable various sub-int32 tests on Z (commit: 63be14b) (details)
  371. Implement bmul and smul evaluators on Z (commit: b8ae22c) (details)
  372. Implement badd and sadd evaluators on Z (commit: 584920c) (details)
  373. Implement bsub and ssub evaluators on Z (commit: 8c12f68) (details)
  374. Fix z10- paths of generateShiftAndKeepSelected(32|64)Bit APIs (commit: 810fd03) (details)
  375. Fix debug print code for the newValue JIT helper (commit: 25c076b) (details)
  376. Use VFT test for hierarchy guard converted from profiled guard (commit: 0107b24) (details)
  377. Enable ternary sub-int32 tests on Z and Power (commit: ed20e65) (details)
  378. Fix ILGen GPF if last block is malformed (commit: 780fc5c) (details)
  379. Clean up PRE trace msg (commit: 39451a1) (details)
  380. Configure OMR Signal Macros for z/TPF (commit: 5a8440d) (details)
  381. Added support for loadaddr in copy propagation (commit: b4a3828) (details)
  382. Rudimentary support for RIP-relative symbols (commit: b312753) (details)
  383. Fix DeadTreeElimination for volatile load (commit: a75c342) (details)
  384. AArch64: Implement lookupEvaluator() (commit: dabc703) (details)
  385. Add support for finding executable name on bsd (commit: 72d75b6) (details)
Commit d84ed6fceb42e241fc39343da5c6aa2a5f487c65 by aaronwang0407
Change Node::mayUse() function to return TR_UseOnlyAliasSetInterface
This commit make Node::mayUse() function to initialize the
AliasInterface from the TR_SymAliasSetInterface class directly instead
of from the TR_NodeUseAliasSetInterface class. This helps remove the
NodeAliasing class.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: d84ed6f)
The file was modifiedcompiler/il/OMRNode_inlines.hpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/il/AliasSetInterface.hpp (diff)
Commit ea2fdde26daf629ae5c6a3fdb6ed6155ec8be86b by aaronwang0407
Change Node::mayKill() function to return TR_UseDefAliasSetInterface
This commit make Node::mayKill() function to initialize the
AliasInterface from the TR_SymAliasSetInterface class directly instead
of from the TR_NodeKillAliasSetInterface class. This helps remove the
NodeAliasing class.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: ea2fdde)
The file was modifiedcompiler/optimizer/OMRLocalCSE.cpp (diff)
The file was modifiedcompiler/il/AliasSetInterface.hpp (diff)
The file was modifiedcompiler/optimizer/OMRLocalCSE.hpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/il/OMRNode_inlines.hpp (diff)
The file was modifiedcompiler/optimizer/LoopVersioner.cpp (diff)
The file was modifiedcompiler/optimizer/LocalAnticipatability.cpp (diff)
Commit 18abdd23123fc43334b72b1334144a0a067ffaf3 by aaronwang0407
Remove Node Alias
Remove all the references and definitions of
TR_NodeKillAliasSetInterface and TR_NodeUseAliasSetInterface.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 18abdd2)
The file was modifiedcompiler/il/AliasSetInterface.hpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
Commit 27d55ea5401ccb194cefc1a2d601675da56a41cb by Dhruv.C.Chopra
Add isRelocatable boolean inside loadAddressConstant
This boolean can be set by the caller to indicate that the instructions
generated by loadAddressConstant need to be relocated.
The reason we use this boolean is because the
cg->comp()->compileRelocatableCode() query may not always return the
correct answer for when relocatable code needs to be generated. For
example: a regular JIT compile done remotely. So for now, we allow the
caller to make the decision on if the instructions needs to be
relocatable when not in an AOT compile.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 27d55ea)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.hpp (diff)
Commit bf75a9cfe5bb7938bb49dc064900ce1071691b8a by Dhruv.C.Chopra
Correctly use loadAddressConstant API for lookup IL
lookup schmemes 3 and 4 use the loadAddressConstant API to materialize
addresses into a register. These instructions need to be relocatable.
This commit specifies the boolean parameter correctly in order to
indicate to the API that relocation for the instructions is necessary.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: bf75a9c)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
Commit 46db4975adcb17d852cd1e98eac3c6b9e23fb387 by Dhruv.C.Chopra
Specify isRelocatable bool for TR_DataAddress
When generating a TR_DataAddress contant using the loadAddressConstant
API in accessStaticItem, we must provide the correct value for the
isRelocatable parameter. This will allow the routine to create
relocatable instructions for remote compilations.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 46db497)
The file was modifiedcompiler/p/codegen/OMRMemoryReference.cpp (diff)
Commit 4f716ae1ede541ceca622304f1dbc4c50b85ba42 by Dhruv.C.Chopra
Don't do local relocation for remote compilations
Doing a local relocation is problematic because when we do a relocation
on the client, if there is already data in the location that needs to be
patched, then we end up with garbage. This is becase we expect the patch
location to be populated with zeroes and at patch time we OR the new
data in (on Power).
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 4f716ae)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
Commit f26c557312b1fd23369b436e7b82dab8732c60db by Dhruv.C.Chopra
Generate relocatable code in emitFloatingPointConstant
For remote compilations, emitFloatingPointConstant emits unrelocatable
code. This commit addresses that issue.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: f26c557)
The file was modifiedcompiler/p/codegen/OMRConstantDataSnippet.cpp (diff)
Commit 858f77e994ffdf020272e791b3c6fee2b147ea5b by Dhruv.C.Chopra
Don't emit data for remote compilations
For remote compilations, we must not emit the actual address when
generating a fixed sequence on power during a remote compilation. This
is because during relocation time on the client, the new data will be
OR'ed in. This infrastructure depends on the fact that the data in the
patch location is initially zero.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 858f77e)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
Commit 35705c44754860aba193d2dd25dbfe9c486173e3 by Dhruv.C.Chopra
Generate relocation record in ConstantDataSnippet
When emitting an addressConstant, a relocation record must be created
for ConstantDataSnippet. This commit adds the appropriate check to add a
relocation when doing a remote compile.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 35705c4)
The file was modifiedcompiler/p/codegen/OMRConstantDataSnippet.cpp (diff)
Commit 6608d750f71a758a502c9eeb23b2628cb1a76447 by Dhruv.C.Chopra
Add relocation record for TR_DataAddress in JITServer
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 6608d75)
The file was modifiedcompiler/z/codegen/ConstantDataSnippet.cpp (diff)
Commit 57977c0f4609130ff826b8763a1a69707af32998 by aaronwang0407
Remove OMR::ILOpCode::unsignedShiftLeftOpCode function
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 57977c0)
The file was modifiedcompiler/il/OMRILOps.hpp (diff)
Commit 7a612ac4e987ae6e1a605a89903c5b4b2b66a30a by salman.rana
Concurrent GC Yield and Resume after CM GC Exclusive
Previously, after terminating and yielding to an exclusive access
request, Concurrent Scavenger would only resume if it yielded to an
external VM access request. However, CS should also resume after
yielding to internal GC request during CM init as it completely
terminates CS and results in missed opportunity for CS to make progress.
- upon GC termination request, `_concurrentState` is no longer
transitioned to `concurrent_state_complete`, it's left in scan state.
- Introduced `_concurrentResumable` configuration param for
`MasterGCThread` which is set to true if the collector is resumable.
(initialized to true for Scavenger, defaults to false for balanced)
Signed-off-by: Salman Rana <salman.rana@ibm.com>
(commit: 7a612ac)
The file was modifiedgc/base/MasterGCThread.cpp (diff)
The file was modifiedgc/base/MasterGCThread.hpp (diff)
The file was modifiedgc/base/standard/Scavenger.cpp (diff)
Commit fa1f0e02b8754407fa5625c83e79795b43d80fb9 by sbabneet
Add OMR_THR_MCS_LOCKS flag to enable/disable the MCS lock
OMR_THR_MCS_LOCKS flag will be used to enable/disable the usage of the
MCS lock in the OMR thread monitor.
Related: https://github.com/eclipse/omr/pull/4086.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: fa1f0e0)
The file was modifiedconfigure (diff)
The file was modifiedcmake/config.cmake (diff)
The file was modifiedinclude_core/omrcfg.h.in (diff)
The file was modifiedomrcfg.CMakeTemplate.h (diff)
The file was modifiedconfigure.ac (diff)
The file was modifiedomrmakefiles/configure.mk.in (diff)
Commit 8d65b32a300a0fd0e0d6bd0b975d900b20b93c83 by sbabneet
Fix formatting of ifdefs
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 8d65b32)
The file was modifiedthread/common/omrthread.c (diff)
Commit 75e0da29a342622954e1dfcccf9557862946588b by sbabneet
Initialize variables, fix null checks and use OMR_ARE_*_BITS_SET macros
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 75e0da2)
The file was modifiedthread/common/omrthread.c (diff)
Commit 7ad834a1c8826bbe8232bad88d04fc588fe41279 by sbabneet
Remove unnecessary NULL checks around omrthread_free_memory
omrthread_free_memory does an internal NULL check. So, wrapping
omrthread_free_memory calls with a NULL check is irrelevant. Such NULL
checks have been removed.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 7ad834a)
The file was modifiedthread/common/omrthread.c (diff)
Commit 9c28af44439a2ef9f603c987ed3c46047793ce5a by konno
AArch64: Set destination address in ARM64ImmSymInstruction
This commit adds code for setting the destination address of "bl"
instruction in ARM64ImmSymInstruction when possible, to improve the
readability of trace files.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: 9c28af4)
The file was modifiedcompiler/aarch64/codegen/ARM64BinaryEncoding.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64Instruction.hpp (diff)
Commit 3c7df4a7e0875a9d00f99a9a87984cec02878a5b by linhu
Keep contracted LOA size not smaller than minimum LOA size
- Keep LOA size not smaller than minimum LOA size during
resizeLOA and resetLOA, expandWithRange, redistributeFreeMemory
to avoid potential crash on some platforms.
- Add assertion check for the case.
- Enable size heapAlignment assertion by default.
Signed-off-by: Lin Hu <linhu@ca.ibm.com>
(commit: 3c7df4a)
The file was modifiedgc/base/MemoryPoolLargeObjects.cpp (diff)
Commit b5ea61dd08e562856757a5dfdbbf9df94b809353 by jkingdon
Fix checkAndReplaceRotation 32/64 bit ambiguity
checkAndReplaceRotation tests for pattern validity by comparing an
expected shift amount based on the size of the operand with the constant
from the multiply node:
if ( (1 << correctLeftShiftAmount) != mulConst )
     return false;
Unfortunately, the implicit int constant '1' allows the C++ compiler to
ignore the possibility of shift amounts>32 (undefined behaviour),
resulting in 1<<n giving the same answer as 1<<(n+32). This allowed the
simplification to proceed on a 64 bit operand with shift values that
were only valid for 32 bit operands.
The shift has been updated with code crafted by Leonardo which allows
the test to correctly differentiate between 32 and 64 bit valid
patterns.
Signed-off-by: James Kingdon <jkingdon@ca.ibm.com>
(commit: b5ea61d)
The file was modifiedcompiler/optimizer/OMRSimplifierHandlers.cpp (diff)
Commit 18c567b7adbab7b3e19f9ddeaf837a3fdbd41f15 by sbabneet
Fix the compile failure related to the lockExchange function on AIX
Details: 1540-0256 (S) A parameter of type "volatile unsigned long *"
cannot be initialized with an expression of type "volatile long *".
1540-1205 (I) The error occurred while converting to parameter 1 of
"__fetch_and_swaplp(volatile unsigned long *, unsigned long)".
Related: https://github.com/eclipse/omr/pull/4469.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 18c567b)
The file was modifiedinclude_core/AtomicSupport.hpp (diff)
Commit 946b00eaa77625eeb453146eae6532b4abfeb8dd by aaronwang0407
remove generation of deprecated unsigned load opcodes
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 946b00e)
The file was modifiedcompiler/optimizer/DebuggingCounters.cpp (diff)
The file was modifiedcompiler/il/OMRIL.cpp (diff)
Commit 67c1af8649e2482c7f8ee7756ba9d7d419591923 by aaronwang0407
Remove generations of deprecated unsigned store opcodes
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 67c1af8)
The file was modifiedcompiler/optimizer/DebuggingCounters.cpp (diff)
The file was modifiedcompiler/il/OMRIL.cpp (diff)
Commit b289414a7beebf5c5d606d80b8055d09e5f5e511 by Dhruv.C.Chopra
Add relocation records correctly inside ConstantDataSnippets
Use FE query to decide if data represented by RamMethodConst and
JNITargetAddress need relocation records.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: b289414)
The file was modifiedcompiler/z/codegen/ConstantDataSnippet.cpp (diff)
Commit d743c95e9e3ac5da00faef60f896666782ef91be by Dhruv.C.Chopra
Create TR_MethodCallAddress relocation for resolved methods
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: d743c95)
The file was modifiedcompiler/z/codegen/S390Instruction.cpp (diff)
Commit bcc882c6505e63fdecfda93aaa01e850839dfbc5 by ben
Disable ExpandInstructionsPhase on codegens that don't use it
Previously, ExpandInstructionsPhase would iterate over every instruction
and call a virtual method on each, even if the codegen in question
wasn't making use of it. Since only the Power codegen currently has
plans to make immediate use of this phase, other codegens do not need to
be doing this. To avoid performing unnecessary work, expandInstructions
is now stubbed out on all codegens other than Power.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: bcc882c)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.hpp (diff)
Commit 5166fff7626cbb97a2dfe8924c9fa7a8b81c9c91 by sbabneet
Handle __fetch_and_swap(lp) across XLC versions used by OMR consumers
For XLC versions < 13.1.3, the following __fetch_and_swap(lp)
definitions are supported: i) __fetch_and_swaplp(volatile long *, long)
ii) __fetch_and_swap(volatile int *, int)
For XLC versions >= 13.1.3, the following __fetch_and_swap(lp)
definitions are supported: i) __fetch_and_swaplp(volatile unsigned long
*, unsigned long) ii) __fetch_and_swap(volatile unsigned int *, unsigned
int)
Co-Authored-By: Robert Young <rwy0717@gmail.com>
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 5166fff)
The file was modifiedinclude_core/AtomicSupport.hpp (diff)
Commit b725d82a4d791d1c402594aa9e0361dee4969ca1 by konno
AArch64: Implement PrefetchEvaluator
This commit implements a PrefetchEvaluator for AArch64. It does not
generate "PRFM" instructions yet.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: b725d82)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
Commit 9754e658082060ff8ef8ba6bd5a092e60bb1990b by maier
Use linkage entry point API for recursive method calls
When encoding a recursive compiled method call instruction, ask the
linkage for the compiled method entry point.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 9754e65)
The file was modifiedcompiler/aarch64/codegen/ARM64BinaryEncoding.cpp (diff)
Commit 5a94db8ceca8d6560905f42eb7470ccc47df0a9c by maier
Remove deprecated X86 outlined allocation helpers
Not used in OMR nor any known downstream project.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 5a94db8)
The file was modifiedcompiler/ras/Debug.cpp (diff)
The file was modifiedcompiler/runtime/Helpers.inc (diff)
Commit d2daaafd25383ac7e1ee516734d5d17673618877 by Alen.Badel
Remove Unused Options
TR_EnableLargePages and TR_EnableLargeCodePages are not being used
anywhere. They might be remnants of removed code.
Signed-off-by: AlenBadel <Alen.Badel@ibm.com>
(commit: d2daaaf)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
The file was modifiedcompiler/control/OMROptions.hpp (diff)
Commit 38a8038c84bda1d466865c09bd8e6a424d08821b by yizhang
Refactor callsite constructor macro
The old macro doesn't support callsite subclasses for defining more
complicated constructor other than initailizing the fields that exists
in the super class. Adding this ability by breaking the single macro
into three parts 1. TR_ALLOC 2. constructor signature and super classes
field initialization 3. constructor method body
Signed-off-by: Yi Zhang <yizhang@ca.ibm.com>
(commit: 38a8038)
The file was modifiedcompiler/optimizer/CallInfo.hpp (diff)
Commit 775d7cf5233519ae3d1009b9a27a732596cfd1d0 by mobile
Refactor the optimizer to allocate UseDefInfo through a central location
This change implements the recommended refactoring suggested by
@andrewcraik in the review comments for
https://github.com/eclipse/omr/pull/2823.
The background is that we need to allow setting of the _hasCallAsUses
flag depending on the language front-end. However this is currently hard
coded to false. Following is a copy of Andrew's recommendation.
Setting _hasCallAsUses should be handled as part of the constructor if
it needs to be configured by different languages. This is the first time
we are going to have a language specific override of a flag like this
for UseDefInfo. Looking at how it is currently used instances of
TR_UseDef_info are allocated in the OMROptimizer.cpp,
ValueNumberInfo.cpp and LoadExtensions.cpp. There is some variation
between them in how they configure UseDefInfo for globals. I think the
best way to handle this is to create a new API on the Optimizer object
(eg OMROptimizer.hpp and OMROptimizer.cpp) which all current allocation
sites switch to calling - the method will accept as parameters the bools
which vary between the different request sites within the compiler. The
value for _hasCallAsUses could be either stored as a flag in the
optimizer or by overriding the build method to change how UseDefInfo is
built. I would prefer the later since it means languages have a common
place to configure UseDefInfo according to their needs. This small
refactor would ideally be done as a separate commit and pull request
ahead of changes introducing the new flag to the constructor. I hope
that makes sense - if it doesn't do keep asking questions and I'll try
to clarify more on how this would work.
An added bonus of this is that we could improve the UseDefInfo memory
management in a follow-on item which would be a another good reason to
Refactor the optimizer to allocate UseDefInfo through a central
location.
End quote.
Note that this change does not address the construction of
TR_OSRDefInfo, which extends the TR_UseDefInfo class.
To allow language front-ends to control this flag when use defs are
analysed we need a callsAsUses flag to be held by the Optimizer and we
need methods to get and set the flag. This flag will be used when
constructing TR_UseDefInfo objects.
The callsAsUses parameter is controlled by a virtual method in the
Optimizer that front-end language implementations may override to change
the default behaviour.
Also the TR_UseDefInfo constructor has been made protected to avoid
users making a mistake trying to construct it directly.
Signed-off-by: Dibyendu Majumdar <mobile@majumdar.org.uk>
(commit: 775d7cf)
The file was modifiedcompiler/optimizer/OMROptimizer.cpp (diff)
The file was modifiedcompiler/optimizer/ValueNumberInfo.cpp (diff)
The file was modifiedcompiler/optimizer/UseDefInfo.cpp (diff)
The file was modifiedcompiler/optimizer/OMROptimizer.hpp (diff)
The file was modifiedcompiler/optimizer/UseDefInfo.hpp (diff)
The file was modifiedcompiler/optimizer/LoadExtensions.cpp (diff)
Commit 3a668284a8c315adb740f36c03f5936193a98517 by rwy0717
Forward format args to trace function in nonfatal assertion
TR::Assertion is passing the format string, but not the variadic
arguments, to fatal assert. This is causing crashes in the printing
helper.
This commit introduces a new function, va_fatal_assertion, which accepts
a va_list argument. Both assertion and fatal_assertion call this helper.
Using this helper, the arguments should be forwarded along correctly to
the printing helper.
Fixes: #4423 Signed-off-by: Robert Young <rwy0717@gmail.com>
(commit: 3a66828)
The file was modifiedcompiler/infra/Assert.cpp (diff)
Commit 446aa576234f9a37eda7efe3ab8f5bf5377c0e21 by devinn
Remove avl_internal.h
Header does not provide anything
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 446aa57)
The file was modifiedutil/avl/avlsup.c (diff)
The file was removedutil/avl/avl_internal.h
Commit 62eb789305d6c2c1ed63bec9f70a8a3685939c4e by saiaki
AArch64: Set first instruction to block in BBStartEvaluator
Set first instruction to the block of the node.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 62eb789)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.cpp (diff)
Commit 28444ec2487dda4eefe9c750dd962aca9bde6bc7 by saiaki
AArch64: Add floatRemainder and doubleRemainder helpers
Add floatRemainder and doubleRemainder helper entries.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 28444ec)
The file was modifiedcompiler/runtime/Helpers.inc (diff)
Commit 51665bbf15e84e1fb211535a93cde810b4f5e094 by qbha
Include correct concrete class header files
There exist many instances where we do not include the concrete
implementation of the headerfile. Fix all instances.
Fixes #3973
Signed-off-by: Aidan Ha <qbha@edu.uwaterloo.ca>
(commit: 51665bb)
The file was modifiedcompiler/il/OMRSymbolReference.cpp (diff)
The file was modifiedcompiler/optimizer/VPHandlersCommon.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/codegen/OMRRegisterPair.cpp (diff)
The file was modifiedcompiler/z/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenPhase.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/infra/OMRMonitor.cpp (diff)
The file was modifiedcompiler/codegen/OMRInstOpCode.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.cpp (diff)
The file was modifiedcompiler/optimizer/OMROptimization.cpp (diff)
The file was modifiedcompiler/z/codegen/InstOpCodeTables.cpp (diff)
The file was modifiedcompiler/runtime/OMRCodeCacheManager.cpp (diff)
The file was modifiedcompiler/runtime/OMRCodeMetaData.cpp (diff)
The file was modifiedcompiler/il/OMRBlock.cpp (diff)
The file was modifiedcompiler/codegen/OMRMachine.cpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
The file was modifiedcompiler/runtime/OMRCodeMetaDataManager.cpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationCommon.cpp (diff)
The file was modifiedcompiler/codegen/OMRRealRegister.cpp (diff)
The file was modifiedcompiler/runtime/OMRCodeCache.cpp (diff)
The file was modifiedcompiler/env/FEBase.cpp (diff)
The file was modifiedcompiler/infra/OMRCfg.cpp (diff)
The file was modifiedcompiler/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/codegen/OMRELFRelocationResolver.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/optimizer/OMRValuePropagation.cpp (diff)
The file was modifiedcompiler/optimizer/VPHandlers.cpp (diff)
The file was modifiedcompiler/codegen/OMRRegister.cpp (diff)
The file was modifiedcompiler/codegen/OMRGCStackAtlas.cpp (diff)
The file was modifiedcompiler/optimizer/VPConstraint.cpp (diff)
The file was modifiedcompiler/z/runtime/VirtualGuardRuntime.cpp (diff)
The file was modifiedcompiler/codegen/PreInstructionSelection.cpp (diff)
The file was modifiedcompiler/p/runtime/OMRCodeCacheConfig.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/codegen/CodeGenPrep.cpp (diff)
The file was modifiedcompiler/codegen/NodeEvaluation.cpp (diff)
The file was modifiedcompiler/codegen/CodeGenGC.cpp (diff)
The file was modifiedcompiler/compile/OMRAliasBuilder.cpp (diff)
The file was modifiedcompiler/compile/TLSCompilationManager.cpp (diff)
The file was modifiedcompiler/codegen/CodeGenRA.cpp (diff)
The file was modifiedcompiler/il/OMRNode.cpp (diff)
The file was modifiedcompiler/codegen/OMRUnresolvedDataSnippet.cpp (diff)
Commit c62b5127ccde73378272855c1cc2d9957d333701 by konno
Add AArch64 helpers to getRuntimeHelperName()
This commit adds AArch64 helpers to getRuntimeHelperName() in Debug.cpp.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: c62b512)
The file was modifiedcompiler/ras/Debug.cpp (diff)
Commit 6ff92cebb02cde82e3cd4cdc0006be7c282004c4 by aaronwang0407
Remove all the definitions of deprecated ILOpCode TR:: iumul
Remove all of its definitions, including its declaration, property and
all other lists/enums that defines the behavior of thos ILOpcode. Also
removed functions: ARM64::iumulEvaluator(), constrainIumul() TR::iumul
is completely removed after this commit.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 6ff92ce)
The file was modifiedcompiler/optimizer/VPHandlers.cpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodeProperties.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodesEnum.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
Commit 393044a773f06033afaf1f77bbc7be0fee3f3857 by Yuehan.Lin
Rewrote parser in tril
Signed-off-by: Yuehan-Lin <Yuehan.Lin@ibm.com>
(commit: 393044a)
The file was addedfvtest/tril/tril/parser.cpp
The file was removedfvtest/tril/tril/tril.y
The file was modifiedfvtest/tril/tril/CMakeLists.txt (diff)
The file was removedfvtest/tril/tril/tril.l
Commit cf8987d2c3c58363d8413fe58a74f6e0fee513d6 by haleycao88
Created Function Prototypes for OMRSocketAPI
Created Unimplemented Function Prototypes in omrsock.c
-Modified omr files to be able to see and compile omrsock code
-Added new omrsock.c file for common for all operating systems, this
includes function prototypes proposed by the Socket API proprosal
-Added omrsock variables needed by the function prototypes. They are
created in omrportsock.h
Issue: #4102
Co-authored-by: Babneet Singh <sbabneet@ca.ibm.com>
Signed-off-by: Haley Cao <haleycao88@hotmail.com>
(commit: cf8987d)
The file was modifiedport/omrportpriv.h (diff)
The file was modifiedport/common/omrport.c (diff)
The file was modifiedinclude_core/omrport.h (diff)
The file was addedinclude_core/omrportsock.h
The file was modifiedport/port_objects.mk (diff)
The file was modifiedport/CMakeLists.txt (diff)
The file was addedport/common/omrsock.c
Commit 19eb6bf1e65fa8283a063f88078f64cee7878236 by Dhruv.C.Chopra
Remove isAOT check in order to enable relo logging for JITServer
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 19eb6bf)
The file was modifiedcompiler/codegen/OMRCodeGenPhase.cpp (diff)
Commit b1996667abf3c6e905a320166959603095975f52 by ben
Fix missing defines in Power SPP files when building with CMake
For legacy reasons, the assembly files for Power are run through the C
preprocessor separately from when they are assembled. However, some
defines (namely platform ones such as TR_HOST_64BIT) were not being
correctly passed to the C preprocessor when running these assembly files
through it when building with CMake. This has now been corrected.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: b199666)
The file was modifiedcmake/modules/OmrCompilerSupport.cmake (diff)
Commit e355f32138638a9fb8cab449b3dfa37558273b19 by ben
Fix OMRMonitor.cpp failing to compile on AIX
Previously, OMRMonitor.hpp contained a workaround for an XLC issue with
private delete operators in it. However, this workaround was only used
when compiling on z/OS, meaning that attempting to build the OMR
compiler on AIX with XLC would fail with an error in OMRMonitor.cpp.
This workaround has now been enabled on AIX.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: e355f32)
The file was modifiedcompiler/infra/OMRMonitor.hpp (diff)
Commit f6a932c6f710353e0c34f7e286cb3057ec37e6eb by aaronwang0407
Remove all the definictions of deprected ILOpCode TR::cmul
There is no definitions and declarations to this opcode. Removed all
commentted codes that reference this TR::cmul. Also removed
cmulEvaluator() functions. TR::cmul is completely removed from OMR after
this commit.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: f6a932c)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/x/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
Commit eed978c3b69ab8d8702b9cb4840487e8a0fa347b by aaronwang0407
Remove all the definitions of deprecated ILOpCode TR::buternary
Remove all of its definitions, declarations, properties and all other
lists/enums that defines the behavior of this ILOpCode. TR::buternery
will be completely removed after this commit.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: eed978c)
The file was modifiedcompiler/il/OMRILOpCodesEnum.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodeProperties.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
Commit 7b0e52e8a108ce963d5d4633f3e7064449f91f07 by aaronwang0407
Remove all the definitions of deprecated ILOpCode TR::iuternary
Remove all of its definitions, declarations, properties and all other
lists/enums that defines the behavior of this ILOpCode. TR::iuternery
will be completely removed after this commit.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 7b0e52e)
The file was modifiedcompiler/il/OMRILOpCodeProperties.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodesEnum.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
Commit 6695ff8e9fb441736650814fe8f086e6df439872 by aaronwang0407
Remove all the definitions of deprecated ILOpCode TR::luternary
Remove all of its definitions, declarations, properties and all other
lists/enums that defines the behavior of this ILOpCode. TR::luternery
will be completely removed after this commit.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 6695ff8)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodeProperties.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodesEnum.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
Commit 01d30187882b48fccde617b83c02b66cfdbf9148 by aaronwang0407
Remove all the definitions of deprecated ILOpCode TR::suternary
Remove all of its definitions, declarations, properties and all other
lists/enums that defines the behavior of this ILOpCode. TR::suternery
will be completely removed after this commit.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 01d3018)
The file was modifiedcompiler/il/OMRILOpCodesEnum.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodeProperties.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
Commit 107365cedff231d4baa33c61858403a7a0e310fe by ben
Enable Tril and test compiler hacks on AIX
Previously, there were a number of hacks to work around xlc issues in
Tril. However, these hacks were not being enabled on AIX since they were
explicitly guarded by checking J9ZOS390, as z/OS was previously the only
platform supported by Tril that used xlc. In order to allow Tril to
compile on AIX, these hacks have now been enabled on AIX.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 107365c)
The file was modifiedthird_party/gtest-1.8.0/include/gtest/internal/gtest-port.h (diff)
The file was modifiedfvtest/tril/tril/method_compiler.hpp (diff)
The file was modifiedfvtest/compilertriltest/TypeConversionTest.cpp (diff)
The file was modifiedfvtest/omrGtestGlue/CMakeLists.txt (diff)
The file was modifiedfvtest/compilertriltest/ArithmeticTest.cpp (diff)
The file was modifiedfvtest/compilertest/tests/OpCodesTest.hpp (diff)
Commit 675f519eb995a1d8ad72111a5d808038f078ddfb by ben
Fix mmap with MAP_ANONYMOUS not working on AIX
It turns out that AIX's implementation of the mmap function requires
that the file descriptor be set to -1 when using MAP_ANONYMOUS.
Previously, there were a couple places that were trying to use
MAP_ANONYMOUS without setting the file descriptor to -1, resulting in
them erroring out. This has been corrected and they should now work
correctly.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 675f519)
The file was modifiedjitbuilder/runtime/JBCodeCacheManager.cpp (diff)
The file was modifiedfvtest/compilertest/runtime/TestCodeCacheManager.cpp (diff)
Commit ca854e65e9e9fe27d0b646cab8c81200e77788a7 by ben
Fix incorrect use of PRId64/PRIu64 in ShiftAndRotateTest
Previously, a number of places in ShiftAndRotateTest were using PRId64
and PRIu64 directly in their format strings. However, this does not work
correctly on AIX. These have been corrected to use OMR_PRId64 and
OMR_PRIu64 instead.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: ca854e6)
The file was modifiedfvtest/compilertriltest/ShiftAndRotateTest.cpp (diff)
Commit 9146ec1058f0acfa0fc3432f4844e6ceebb8693e by ben
Make Tril::SimpleCompiler return a function descriptor on AIX
On most platforms, function pointers are simply pointers to the first
instruction in the function. However, on AIX and z/OS this is not true:
they are instead pointers to data structures that themselves contain
such a pointer. Support for calling Tril-compiled functions has now been
added on AIX by adding the ability for Tril::SimpleCompiler to create
such a function descriptor on AIX.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 9146ec1)
The file was modifiedfvtest/tril/tril/simple_compiler.cpp (diff)
Commit 5240cd3711a5c649291938c6b8c61be7320ab3fd by ben
Skip Tril tests affected by #3525 on Power BE
A number of Tril tests are currently affected by #3525, in which the
code generators spill sub-integer arguments to stack slots incorrectly.
While this works correctly on little endian machines, it does not work
on big endian machines. Previously, such tests were already being
skipped on Z, but this issue also affects the Power codegen when run on
a big-endian machine. In order to allow Tril tests to be run on AIX,
such tests are now skipped when run on Power BE.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 5240cd3)
The file was modifiedfvtest/compilertriltest/ArithmeticTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/ShiftAndRotateTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/TypeConversionTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/TernaryTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/BitPermuteTest.cpp (diff)
Commit 7e7a800758f8a4b470cbb3dd59586b99507d5eb9 by ben
Fix tril_compiler and tril_dumper failing to link on AIX
Due to failing to link against libpthread, neither the tril_compiler nor
tril_dumper executables would link correctly on AIX. This has been
corrected by forcing the tril library itself to link against libpthread,
which in turn forces tril_compiler and tril_dumper to link against it as
well.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 7e7a800)
The file was modifiedfvtest/tril/tril/CMakeLists.txt (diff)
Commit 24bad33231939adcc7ae6b48229f53fc8a77760b by ben
Add hacks for running JitBuilder on AIX
Previously, JitBuilder did not work properly on AIX due to similar
problems to what Tril was previously facing. Since enabling Tril tests
also enables JitBuilder tests, it is necessary to ensure that JitBuilder
works at least minimally on AIX before Tril tests can be run in pull
request builds for AIX.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 24bad33)
The file was modifiedjitbuilder/control/Jit.cpp (diff)
Commit f81669079bc16abbb75e6f43c54fcdc60cb9de37 by ben
Disable Tril's IlGenTest on AIX
The IlGenTest from Tril's internal tests is currently broken on AIX,
since it is not valid on AIX to use the return value of
compileMethodFromDetails as a function pointer. Until such a time as
this test is fixed, it has been temporarily disabled on AIX.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: f816690)
The file was modifiedfvtest/tril/test/IlGenTest.cpp (diff)
Commit c29da09d9ac2fbb2898f474b0d36f56fd1aca4b9 by ben
Disable test compiler tests on AIX
The test compiler tests make the assumption that function pointers can
simply be called using the regular call opcodes in the IL. This is not
true on AIX, since function pointers do not actually point to the
address of the first instruction of the function on AIX. As a result,
the test compiler tests will always segfault when run on AIX. However,
since the test compiler tests are effectively deprecated and were never
previously run on AIX in the first place, this is not considered to be
something worth fixing. Thus, the test compiler tests will no longer be
run on AIX when using ctest.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: c29da09)
The file was modifiedfvtest/compilertest/CMakeLists.txt (diff)
Commit 3a9a956a8b6c6eabc0b374779ae10e9ad362c7e6 by ben
Enable the JIT for AIX CI jobs
Previously, the AIX pull request and build CI jobs explicitly disabled
the JIT and all related components. However, recent work has now made it
possible to compile the OMR JIT and run JitBuilder and Tril tests on
AIX. Since this now works correctly, the JIT is no longer disabled in
the AIX CI jobs.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 3a9a956)
The file was modifiedbuildenv/jenkins/jobs/pull-requests/PullRequest-aix_ppc-64 (diff)
The file was modifiedbuildenv/jenkins/jobs/builds/Build-aix_ppc-64 (diff)
Commit 578eb174e06706e16622e1d9e6a263d64e3b2323 by fjeremic
Remove Flex/Bison from AppVeyor and Travis
With the merge of #4345 we no longer depend on Flex and Bison being
installed for our testing. AppVeyor seems to be broken at the moment in
that checksums are failing when installing this package. We fix the
issue by removing the dependency as it is no longer needed.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 578eb17)
The file was modified.travis.yml (diff)
The file was modified.appveyor.yml (diff)
Commit b17af5c5849e4537f5b38a3b8fa3ea3b7e0c8df8 by rwy0717
Remove the last few mentions of flex/lex/bison/yacc
Signed-off-by: Robert Young <rwy0717@gmail.com>
(commit: b17af5c)
The file was removedcmake/modules/FindLEX.cmake
The file was removedcmake/modules/FindYACC.cmake
The file was modifiedfvtest/tril/tril/ast.h (diff)
The file was modifiedfvtest/tril/README.md (diff)
The file was modifiedfvtest/tril/tril/CMakeLists.txt (diff)
Commit 99cc5fa996188c3b8c796679700c1d6d3b6d5fac by haleycao88
Created Test Stubs for OMR Socket API
Created test stubs in omrsockTest.cpp, in test set PortSockTest in Port
Tests
-Created 2 helper function stubs, one for setting up  a server socket,
one
for setting up a client socket. These functions will be called multiple
times,
in multiple tests.
-Created 4 test stubs in PortSockTest.
-Will need to add other tests during implementation.
Issue: #4102
Signed-off-by: Haley Cao <haleycao88@hotmail.com>
(commit: 99cc5fa)
The file was addedfvtest/porttest/omrsockTest.cpp
The file was modifiedfvtest/porttest/CMakeLists.txt (diff)
The file was modifiedfvtest/porttest/makefile (diff)
Commit e7ad4e9fd294aca4d6dd7ed1b818beafcb65e57d by sbabneet
Add code to allocate and free OMRThreadMCSNodes
Two static functions, allocate_mcs_nodes and free_mcs_nodes, are added
to allocate and free an OMRThreadMCSNodes structure respectively.
The code is wrapped using OMR_THR_MCS_LOCKS ifdefs.
Related: https://github.com/eclipse/omr/pull/4086.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: e7ad4e9)
The file was modifiedthread/common/omrthread.c (diff)
Commit 9752b5202ccf56afcdd4900b1c7ef3bad508e357 by sbabneet
Initialize J9Thread->mcsNodes
The entry points where J9Thread->mcsNodes needs to be allocated and
initialized: 1) omrthread_attach_ex 2) threadCreate
The exit point where J9Thread->mcsNodes needs to be freed: 1)
threadDestroy
OMRTHREAD_ERR_CANT_ALLOC_MCS_NODES added to tag errors related to
allocating J9Thread->mcsNodes.
The code is wrapped using OMR_THR_MCS_LOCKS ifdefs.
Related: https://github.com/eclipse/omr/pull/4086.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 9752b52)
The file was modifiedthread/common/omrthread.c (diff)
The file was modifiedinclude_core/omrthread_generated.h (diff)
Commit 2a693b39e9aebcbe816d974ec9b688e5528a3b70 by sbabneet
Initialize and reset J9ThreadMonitor->queueTail
The entry point where J9ThreadMonitor->queueTail needs to be initialized
is: 1) monitor_init
The two exit points where J9ThreadMonitor->queueTail needs to be reset
are: 1) monitor_free_nolock 2) monitor_free
For initialization and reset, queueTail is set to NULL.
The code is wrapped using OMR_THR_MCS_LOCKS ifdefs.
Related: https://github.com/eclipse/omr/pull/4086.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 2a693b3)
The file was modifiedthread/common/omrthread.c (diff)
Commit add43580d98baa7f67e9e1130af0203f815e9370 by ben
Remove PPCAlignedLabelInstruction
Previously, the Power codegen had a class of instruction called
PPCAlignedLabelInstruction. This class was meant to be used for labels
that should be aligned on a given boundary, but it was unused. On top of
that, there's no reason to conflate labels and alignment at all: we
could theoretically want to align instructions without adding a label.
For these reasons, this old class of instruction is being removed.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: add4358)
The file was modifiedcompiler/p/codegen/GenerateOMRInstructions.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRInstructionKindEnum.hpp (diff)
The file was modifiedcompiler/p/codegen/GenerateInstructions.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCInstruction.hpp (diff)
The file was modifiedcompiler/p/codegen/PPCDebug.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCBinaryEncoding.cpp (diff)
Commit 5c3348c1d925e85596d2f2b2ad5b53e4291d683c by saiaki
AArch64: Add VirtualGuardNOPInstruction
This commit adds VirtualGuardNOPInstruction to aarch64 codegen.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 5c3348c)
The file was modifiedcompiler/aarch64/codegen/GenerateInstructions.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRInstructionKindEnum.hpp (diff)
The file was modifiedcompiler/ras/Debug.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRInstOpCodeEnum.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64BinaryEncoding.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64Instruction.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/GenerateInstructions.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64Debug.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OpBinary.cpp (diff)
Commit fe4fcf3a3442bb366d96fb799ac7694abf124c3f by saiaki
AArch64: Implement virtualGuardHelper function
Implement virtualGuardHelper function and use it from ificmpHelper.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: fe4fcf3)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ControlFlowEvaluator.cpp (diff)
Commit d993cf606e3619d72f69f4cc996c741b693fa3f5 by Yuehan.Lin
Relocated FrontEnd.hpp and modified relevent directives
Signed-off-by: Yuehan-Lin <Yuehan.Lin@ibm.com>
(commit: d993cf6)
The file was modifiedcompiler/ras/DebugCounter.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/control/CompileMethod.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRMachine.cpp (diff)
The file was modifiedcompiler/z/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/control/CompilationController.cpp (diff)
The file was modifiedcompiler/optimizer/OSRDefAnalysis.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
The file was modifiedcompiler/ras/LimitFile.cpp (diff)
The file was modifiedcompiler/optimizer/InductionVariable.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Instruction.cpp (diff)
The file was modifiedcompiler/codegen/PreInstructionSelection.cpp (diff)
The file was modifiedjitbuilder/runtime/JBJitConfig.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Debug.cpp (diff)
The file was modifiedcompiler/optimizer/IsolatedStoreElimination.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/il/OMRSymbol.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCHelperCallSnippet.cpp (diff)
The file was modifiedcompiler/codegen/FrontEnd.hpp (diff)
The file was modifiedcompiler/il/OMRRegisterMappedSymbol.cpp (diff)
The file was modifiedcompiler/il/OMRSymbolReference.cpp (diff)
The file was modifiedcompiler/optimizer/SwitchAnalyzer.cpp (diff)
The file was modifiedcompiler/optimizer/CompactLocals.cpp (diff)
The file was modifiedcompiler/optimizer/StructuralAnalysis.cpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/x/codegen/BinaryCommutativeAnalyser.cpp (diff)
The file was modifiedjitbuilder/env/FrontEnd.hpp (diff)
The file was modifiedcompiler/optimizer/UseDefInfo.cpp (diff)
The file was modifiedcompiler/p/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/GenerateInstructions.cpp (diff)
The file was modifiedcompiler/z/codegen/TranslateEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenPhase.cpp (diff)
The file was modifiedcompiler/control/OMROptions.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRInstruction.cpp (diff)
The file was modifiedfvtest/compilertest/env/FrontEnd.hpp (diff)
The file was modifiedcompiler/optimizer/VirtualGuardHeadMerger.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationCommon.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCTableOfConstants.cpp (diff)
The file was modifiedcompiler/optimizer/LocalTransparency.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was modifiedcompiler/x/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedfvtest/compilertest/ilgen/TestIlGeneratorMethodDetails.cpp (diff)
The file was modifiedcompiler/ilgen/ByteCodeIteratorWithState.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifier.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRRegisterDependency.hpp (diff)
The file was modifiedcompiler/z/codegen/BinaryAnalyser.cpp (diff)
The file was modifiedcompiler/infra/Assert.cpp (diff)
The file was modifiedcompiler/optimizer/OMROptimization.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRConstantDataSnippet.cpp (diff)
The file was modifiedcompiler/il/Aliases.cpp (diff)
The file was modifiedcompiler/optimizer/VirtualGuardCoalescer.cpp (diff)
The file was modifiedcompiler/optimizer/OMROptimizer.cpp (diff)
The file was modifiedcompiler/optimizer/InductionVariable.hpp (diff)
The file was modifiedcompiler/optimizer/RedundantAsyncCheckRemoval.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Peephole.cpp (diff)
The file was modifiedcompiler/optimizer/VPHandlers.cpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/Structure.hpp (diff)
The file was modifiedcompiler/z/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/infra/HedgeTree.hpp (diff)
The file was modifiedcompiler/optimizer/CopyPropagation.cpp (diff)
The file was modifiedcompiler/optimizer/OMRValuePropagation.cpp (diff)
The file was modifiedcompiler/optimizer/LocalDeadStoreElimination.cpp (diff)
The file was modifiedjitbuilder/CMakeLists.txt (diff)
The file was addedcompiler/env/FrontEnd.hpp
The file was modifiedcompiler/runtime/Trampoline.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRLinkage.cpp (diff)
The file was modifiedjitbuilder/ilgen/JBIlGeneratorMethodDetails.cpp (diff)
The file was modifiedcompiler/x/codegen/FPBinaryArithmeticAnalyser.cpp (diff)
The file was modifiedcompiler/codegen/CodeGenRA.cpp (diff)
The file was modifiedcompiler/z/codegen/UnaryEvaluator.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/x/codegen/UnaryEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/ConstantDataSnippet.cpp (diff)
The file was modifiedcompiler/x/codegen/IntegerMultiplyDecomposer.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRInstruction.cpp (diff)
The file was modifiedcompiler/optimizer/LocalReordering.cpp (diff)
The file was modifiedcompiler/z/codegen/S390HelperCallSnippet.cpp (diff)
The file was modifiedcompiler/optimizer/GeneralLoopUnroller.cpp (diff)
The file was modifiedcompiler/optimizer/RegisterCandidate.cpp (diff)
The file was modifiedcompiler/optimizer/LoopReducer.cpp (diff)
The file was modifiedcompiler/ras/OptionsDebug.cpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/SinkStores.cpp (diff)
The file was modifiedcompiler/z/codegen/CallSnippet.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/il/OMRResolvedMethodSymbol.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRMachine.cpp (diff)
The file was modifiedcompiler/env/OMRKnownObjectTable.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/TreeEvaluatorVMX.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRMachine.cpp (diff)
The file was modifiedcompiler/infra/SimpleRegex.cpp (diff)
The file was modifiedcompiler/optimizer/ReachingDefinitions.cpp (diff)
The file was modifiedcompiler/p/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/ReorderIndexExpr.cpp (diff)
The file was modifiedcompiler/x/codegen/X86FPConversionSnippet.cpp (diff)
The file was modifiedcompiler/z/codegen/OpMemToMem.cpp (diff)
The file was modifiedcompiler/x/codegen/HelperCallSnippet.cpp (diff)
The file was modifiedcompiler/il/OMRBlock.cpp (diff)
The file was modifiedcompiler/optimizer/VPConstraint.cpp (diff)
The file was modifiedcompiler/ras/Debug.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/optimizer/OrderBlocks.cpp (diff)
The file was modifiedcompiler/x/codegen/CompareAnalyser.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Peephole.hpp (diff)
The file was modifiedcompiler/optimizer/GlobalRegisterAllocator.cpp (diff)
The file was modifiedcompiler/env/FEBase.hpp (diff)
The file was modifiedcompiler/optimizer/LocalAnalysis.cpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/compile/OSRData.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRRegisterDependency.cpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/codegen/FrontEnd.cpp (diff)
The file was modifiedcompiler/optimizer/OMROptimizationManager.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRSnippet.cpp (diff)
The file was modifiedcompiler/il/OMRResolvedMethodSymbol.hpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkageLinux.cpp (diff)
The file was modifiedcompiler/x/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/x/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/env/TRMemory.cpp (diff)
The file was modifiedcompiler/ilgen/IlGenRequest.cpp (diff)
The file was modifiedcompiler/optimizer/Dominators.cpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCDebug.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/arm/codegen/ConstantDataSnippet.cpp (diff)
The file was modifiedcompiler/optimizer/LocalOpts.cpp (diff)
The file was modifiedcompiler/optimizer/LocalLiveRangeReducer.cpp (diff)
The file was modifiedcompiler/z/runtime/VirtualGuardRuntime.cpp (diff)
The file was modifiedcompiler/codegen/CodeGenPrep.cpp (diff)
The file was modifiedcompiler/optimizer/LoopVersioner.cpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.hpp (diff)
The file was modifiedcompiler/x/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/x/codegen/X86BinaryEncoding.cpp (diff)
The file was modifiedcompiler/optimizer/FieldPrivatizer.cpp (diff)
The file was modifiedcompiler/control/OMRRecompilation.cpp (diff)
The file was modifiedcompiler/compile/OMRSymbolReferenceTable.cpp (diff)
The file was modifiedcompiler/il/OMRNode.cpp (diff)
The file was modifiedcompiler/optimizer/OMRLocalCSE.cpp (diff)
The file was modifiedcompiler/compile/VirtualGuard.cpp (diff)
The file was modifiedcompiler/runtime/OMRCodeCache.cpp (diff)
The file was modifiedcompiler/z/codegen/S390GenerateInstructions.cpp (diff)
The file was modifiedcompiler/optimizer/VPHandlersCommon.cpp (diff)
The file was modifiedcompiler/compile/OMRSymbolReferenceTable.hpp (diff)
The file was modifiedcompiler/p/codegen/UnaryEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/LocalAnticipatability.cpp (diff)
The file was modifiedcompiler/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/StripMiner.cpp (diff)
The file was modifiedcompiler/ras/IgnoreLocale.cpp (diff)
The file was modifiedcompiler/optimizer/GlobalAnticipatability.cpp (diff)
The file was modifiedcompiler/optimizer/LoopReplicator.cpp (diff)
The file was modifiedcompiler/optimizer/DebuggingCounters.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCBinaryEncoding.cpp (diff)
The file was modifiedcompiler/optimizer/PrefetchInsertion.cpp (diff)
The file was modifiedcompiler/optimizer/DeadTreesElimination.cpp (diff)
The file was modifiedcompiler/optimizer/Inliner.cpp (diff)
The file was modifiedcompiler/optimizer/PartialRedundancy.cpp (diff)
The file was modifiedcompiler/optimizer/LoopCanonicalizer.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/runtime/OMRCodeCacheManager.cpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRMemoryReference.cpp (diff)
Commit 76b04eee42157e8be802d6a0022a22e84eb362f0 by ben
Add an alignment nop instruction class on Power
In some cases, it is beneficial to ensure that an instruction is aligned
to a specific number of bytes by padding the instruction stream with
nops. The Power codegen was previously doing this ad-hoc in the binary
encoder, but a better solution would be to allow tree evaluators to
signal where this should happen. This is now possible using the new
PPCAlignmentNopInstruction class of instruction. When binary encoded,
this instruction will generate the necessary number of nops to ensure
that the next instruction is aligned on the requested boundary.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 76b04ee)
The file was modifiedcompiler/p/codegen/GenerateOMRInstructions.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRInstructionKindEnum.hpp (diff)
The file was modifiedcompiler/p/codegen/GenerateInstructions.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCInstruction.hpp (diff)
The file was modifiedcompiler/p/codegen/PPCBinaryEncoding.cpp (diff)
The file was modifiedcompiler/ras/Debug.hpp (diff)
The file was modifiedcompiler/p/codegen/PPCDebug.cpp (diff)
Commit 358b1ffbba0f13cf8c8f647c1113d2c3a9a01d2b by ben
Refactor alignment of loop start labels on Power
Previously, the Power codegen would perform alignment of loop start
labels in the binary encoding loop by checking the node for which a
label instruction was emitted. This is surprising behaviour, so it has
been replaced by using the new PPCAlignmentNopInstruction.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 358b1ff)
The file was modifiedcompiler/p/codegen/OMRInstruction.hpp (diff)
The file was modifiedcompiler/p/codegen/PPCBinaryEncoding.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/OMRInstruction.cpp (diff)
Commit d42c6471f19eaa4f182b9f96f7a3b2a6d035b4f7 by ben
Make group-ending nops apparent in the tracefile
Previously, the genop instruction had the unhelpful name of "nop",
making it indistinguishable in tracefiles from the normal nop
instruction. This caused some confusion when debugging the new loop
label alignment, as it made it seem like the group-ending nop was not
being emitted. In order to make the difference apparent, group-ending
nops will now show up as genop in the tracefile.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: d42c647)
The file was modifiedcompiler/p/codegen/OMRInstOpCodeProperties.hpp (diff)
Commit 0d4c1aee0dd797a07a84c31df4c489bd3135f796 by aaronwang0407
remove all definitions of deprecated ILOpcode TR::cshl
Since most of its denitions are aready removed. I only removed the
comments and a few evaluators associate with this ILOpcode. TR::cshl
will be completely removed aftet this commit.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 0d4c1ae)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/x/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
Commit df4c1ca94b25892cd7836cd7e8705ec6714d5444 by aaronwang0407
emove all the definitions of deprecated ILOpcode TR::iushl
Remove all of its definitions, declarations, properties and all other
lists/enums that defines the behavior of this ILOpCode. TR::iushl will
be completely removed after this commit.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: df4c1ca)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodeProperties.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodesEnum.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
Commit a6e9687be50caed158e24aa9f28f6db8aaee38ba by aaronwang0407
Remove all the definitions of deprecated ILOpCode TR::lushl
Remove all of its definitions, declarations, properties and all other
lists/enums that defines the behavior of this ILOpCode. Also removes a
reference to TR::lushl in function Z::genericLongShiftSingle() TR::lushl
will be completely removed after this commit.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: a6e9687)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodeProperties.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodesEnum.hpp (diff)
The file was modifiedcompiler/z/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
Commit 0060a4fd3d5f2c21449362c8525df2312c4cfd44 by aaronwang0407
Remove all the definitions of deprecated ILOpcode TR::ishfl/TR::lshfl
Remove all of its definitions, declarations, properties and all other
lists/enums that defines the behavior of these 2 ILOpCode. TR::ishfl and
TR::lshfl  will be completely removed after this commit.
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 0060a4f)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodeProperties.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodesEnum.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
Commit 5e708287ceb3920be28590ca1a3dc71660b1769b by aaronwang0407
Remove all the definitions of deprecated ILOpcode TR::iushfl/TR::lushfl
Remove all of its definitions, declarations, properties and all other
lists/enums that defines the behavior of these 2 ILOpCode. TR::iushfl
and TR::lushfl will be completely removed after this commit
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 5e70828)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodeProperties.hpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodesEnum.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
Commit 2f58068082d0148df8dc1bcd96de98f462adf08f by aaronwang0407
Remove all the definitions of deprecated ILOpcode TR::bshfl/TR::sshfl
Remove all of its definitions, declarations, properties and all other
lists/enums that defines the behavior of these 2 ILOpCode. TR::bshfl and
TR::sshfl will be completely removed after this commit
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 2f58068)
The file was modifiedcompiler/il/OMRILOpCodesEnum.hpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodeProperties.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
Commit 1669582ef410c2d696115f07069b4a63513769b4 by aaronwang0407
Remove all the definitions of deprecated ILOpcode TR::bushfl/TR::sushfl
Remove all of its definitions, declarations, properties and all other
lists/enums that defines the behavior of these 2 ILOpCode. TR::bushfl
and TR::sushfl will be completely removed after this commit
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 1669582)
The file was modifiedcompiler/il/OMRILOpCodeProperties.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationTable.hpp (diff)
The file was modifiedcompiler/il/OMRILOpCodesEnum.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierTableEnum.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
Commit ac1e00f441e2412b06b8d65a0b4170c98bed0e79 by graham_chapman
Runtime compressed refs work
Update SlotObject for runtime compressed refs.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: ac1e00f)
The file was modifiedgc/base/SlotObject.hpp (diff)
Commit 546e9c32becab97bb2b8387f5f8b5a4b9a41651a by keithc
Fix mis-spellings of 'count'
[ci skip]
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 546e9c3)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRCodeGenerator.cpp (diff)
Commit 464c81df01bb86d3a98692f08532e94e6a4aef70 by Dhruv.C.Chopra
Add FE query to add relocations for TR_HelperAddress
This query can be overriden by consumer projects such as OpenJ9
depending on project requirements. A use of an older version of this
query is also replaced in the X codegen.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 464c81d)
The file was modifiedcompiler/x/codegen/X86BinaryEncoding.cpp (diff)
The file was modifiedcompiler/z/codegen/OpMemToMem.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit 1fc5b76250ad056b24afd218322c2e27f6212d8f by fengj
Add omrstr_convert target code page CP_ACP/CP_THREAD_ACP
Added target encoding J9STR_CODE_WINDEFAULTACP/J9STR_CODE_WINTHREADACP
for Windows code page CP_ACP/CP_THREAD_ACP.
Signed-off-by: Jason Feng <fengj@ca.ibm.com>
(commit: 1fc5b76)
The file was modifiedport/common/omrstr.c (diff)
Commit adfbbf4a336bcfedafe338181ed1df883c0cc145 by haleycao88
Apply suggestions from code review
Accept suggested and requested changes
- Deletion of the test entry and exit reports
- Grammar fixes
- Added more descriptive test names
Issue: #4102
Co-Authored-By: Babneet Singh <sbabneet@ca.ibm.com>
Signed-off-by: Haley Cao <haleycao88@hotmail.com>
(commit: adfbbf4)
The file was modifiedfvtest/porttest/omrsockTest.cpp (diff)
Commit 64b26da362aede57c8a0b8a13fc756179ea66f9b by simonameng97
Having X86 return true value from 'getSupportsHardwareSQRT()'
Having X86 return true value from 'getSupportsHardwareSQRT()', in order
to make use of the reduce from `StrictMath.sqrt()` and `Math.sqrt()` to
`dsqrt` in `J9RecognizedCallTransformer.cpp`.
Signed-off-by: simonameng <simonameng97@gmail.com>
(commit: 64b26da)
The file was modifiedcompiler/x/env/OMRCPU.cpp (diff)
The file was modifiedcompiler/x/env/OMRCPU.hpp (diff)
Commit 48d13f280e149f59c1cc4f471a31bdc60401607a by simonameng97
Adding 'dsqrtEvaluator' in x86
Implementing `dsqrtEvaluator` in x86. `StrictMath.sqrt()` and
`Math.sqrt()` will be reduced to `dsqrt` instead of calling
`inlineMathSQRT` function.
Signed-off-by: simonameng <simonameng97@gmail.com>
(commit: 48d13f2)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRTreeEvaluator.hpp (diff)
Commit c6cd450ae8284ce20754232b18853180db321abe by maier
Remove references to OpenJ9 private linkage
J9 private linkage has been largely isolated to OpenJ9 and moved into
the J9 namespace.  Remove unused references in OMR and for code guarded
in project-specific macros reference the appropriate private linkage
class in the J9 namespace.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: c6cd450)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/IA32SystemLinkage.hpp (diff)
Commit d1e01700b1dedb7a2f535a5c61b3ded338e3330c by maier
Fix IA32PrivateLinkage static_cast typo
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: d1e0170)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluator.cpp (diff)
Commit 4b9df414f954227e26f9f5e9943de047bf24e4df by mike.h.zhang
Change Dwarf_CU_Context files list from vector to map
The current dwarf parser for OSX does not actually prune duplicate file
names, which leads to wasted time parsing the file name list later on.
Switching the container for the file names from list to map would allow
us to remove the duplicate file names from the list and thus improve the
performance of ddrgen. On AIX, we keep a separate set for this purpose
and this change would also do away with that. We need a map instead of a
set so that dwarf_srcfiles returns the file list in the correct order
indicated by the DW_AT_decl_file attribute.
Signed-off-by: Mike Zhang <mike.h.zhang@ibm.com>
(commit: 4b9df41)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfFunctions.cpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/AixSymbolTableParser.cpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfParser.cpp (diff)
The file was modifiedddr/include/ddr/scanner/dwarf/DwarfFunctions.hpp (diff)
Commit 1e71054fb8b396430422735004a22cbfa6dfc058 by rwy0717
gtest: Do not reference temporaries past their lifetimes
This is an error in gtest, not in OMR.
This same error is repeated in a few places, causing different types of
bad behaviour on AIX, including breaking almost all logging and option
processing.
Rather than bind a const mytype& to a temporary result, copy the result
into a local, which ensures it is safe to access the value later in the
program.
When a reference is bound to a temporary value, that reference is
invalid when the value dies, at the end of the "full expression" that
created it. Using this reference to a temporary in a later expression
results in a kind of "use after destruction" error.
Fixes: #4537 Signed-off-by: Robert Young <rwy0717@gmail.com>
(commit: 1e71054)
The file was modifiedthird_party/gtest-1.8.0/src/gtest.cc (diff)
The file was modifiedthird_party/gtest-1.8.0/src/gtest-typed-test.cc (diff)
Commit 4ef53393bfbe4633ee9d7ca4204f8865f34fb8b0 by konno
AArch64: Handle resolved class pointer in loadRelocatableConstant()
This commit adds code to loadRelocatableConstant() in OMRMemoryReference
for AArch64, so that it can handle resolved class pointer.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: 4ef5339)
The file was modifiedcompiler/aarch64/codegen/OMRMemoryReference.cpp (diff)
Commit 7f2e813c53909c59d0f46359a30bbcb6179a10bb by konno
AArch64: Add "nop" and "vgdnop" to ARM64Debug.cpp
This commit adds "nop" and "vgdnop" instructions to ARM64Debug.cpp.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: 7f2e813)
The file was modifiedcompiler/aarch64/codegen/ARM64Debug.cpp (diff)
Commit 57218a362ac6069328e532ead62454a2356f5738 by konno
AArch64: Implement ARM64Trg1MemSrc1Instruction
This commit implements ARM64Trg1MemSrc1Instruction, for generating
AArch64 "store exclusive" instructions.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: 57218a3)
The file was modifiedcompiler/aarch64/codegen/ARM64Instruction.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRInstructionKindEnum.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64BinaryEncoding.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64Debug.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64Instruction.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/GenerateInstructions.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/GenerateInstructions.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/ras/Debug.hpp (diff)
Commit d1c6a04fa87950008219a4f407fd77d22d3f18ef by shubhamv.sv
Peephole optimizations for BNDCHK evaluator on Z
- `CLR` and `BRC` instructions are reduced to `CLRJ`
- Reduction happens only if CC is not consumed by any instruction
in the immediate window of 5 instructions, in both branch taken and
fall through paths
- We do not need to check if CC is consumed in branch taken path if
branch target is a Snippet
Signed-off-by: Shubham Verma <shubhamv.sv@gmail.com>
(commit: d1c6a04)
The file was modifiedcompiler/z/codegen/S390Peephole.cpp (diff)
Commit 7eb746e4983a5bc9b6ca54dc1307b036c345910d by rahil
Fix Bugs in splitPostGRA
In post GRA block splitter there are some issue which we found in tests.
This commits fixes following two issues. 1. While creating approprite
symbol reference for to be uncommoned node to
  store on temp slot or global register, it checks if that node is
representing
  internal pointer. In such case it needs get corresponding pinning
array symref
  if already exists and need to mark created symref with it. In case if
corresponding
  pinning array symref does not exist then it needs to find it and
create new pinning
  array pointer symref. Issue was, it was only checking variable load
nodes for already
  existing pinning array pointer symref while with splitting block after
GRA, we can have
  regLoad node which already contains it. 2. Second issue we found was
altering the Basic Block semantics and adding treetops
  in between branch treetop and BBEnd treetop in the Basic block.
Signed-off-by: Rahil Shah <rahil@ca.ibm.com>
(commit: 7eb746e)
The file was modifiedcompiler/il/OMRBlock.cpp (diff)
Commit 1c4c564b33b04a62c0388b53336141935350023c by keithc
Fix spelling of 'label'
* collapse multiple blank lines into a single blank line
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 1c4c564)
The file was modifiedcompiler/z/codegen/S390Peephole.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Instruction.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
Commit 20af3adc51eb11802f605cf724eb348f557059dc by shubhamv.sv
Removed API within DAA for which Java implementations do not exist
- Removed TR::com_ibm_dataaccess_ByteArrayUtils_trailingZeros
- Removed
TR::com_ibm_dataaccess_ByteArrayUtils_trailingZerosQuadWordAtATime_
Signed-off-by: Shubham Verma <shubhamv.sv@gmail.com>
(commit: 20af3ad)
The file was modifiedcompiler/compile/ResolvedMethod.cpp (diff)
Commit cb6d3ec6c0d718702051c8473f7dafb8d9a00e1e by shubhamv.sv
Removed helper method for `inlineTrailingZerosQuadWordAtATime_`
Signed-off-by: Shubham Verma <shubhamv.sv@gmail.com>
(commit: cb6d3ec)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
Commit 601ca0e57fbf61adf4a44d4d13fa6ba26971207a by salman.rana
Fix compile error with Concurrent Scavenger enabled on macOS
Removed unused private field `_bytesToScan` from
`ConcurrentScavengeTask` to resolve:
```
/ConcurrentScavengeTask.hpp:38:18: error: private field '_bytesToScan'
is not used [-Werror,-Wunused-private-field] uintptr_t const
_bytesToScan;   /**< The number of bytes that this must scan before it
will stop trying to do more work */
```
Signed-off-by: Salman Rana <salman.rana@ibm.com>
(commit: 601ca0e)
The file was modifiedgc/base/standard/Scavenger.cpp (diff)
The file was modifiedgc/base/standard/ConcurrentScavengeTask.hpp (diff)
Commit 62dadbbd27880353fe73bc854f63810a87f9dba3 by ben
Make PPCAlignmentNopInstruction::setAlignment private
Previously, the PPCAlignmentNopInstruction::setAlignment function had
public visibility. However, a point was brought up during code review
that there's really not any good reason for this function to be called
after an instruction is created and calling it after certain analyses
are run could cause problems.
Since there's no known valid reason to ever call this function outside
the constructors, it is being made private to prevent its accidental
misuse.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 62dadbb)
The file was modifiedcompiler/p/codegen/PPCInstruction.hpp (diff)
Commit dc817b92d1294bd608784934bc8850abc5aee01d by Yuehan.Lin
Used fgets to read file in parseFile
Issue:4524
Signed-off-by: Yuehan-Lin <Yuehan.Lin@ibm.com>
(commit: dc817b9)
The file was modifiedfvtest/tril/tril/parser.cpp (diff)
Commit 6944795d7a71067265044d2297366b2665cdb878 by graham_chapman
Runtime compressed refs work
Update HeapLinkedFreeHeader for runtime compressed refs.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: 6944795)
The file was modifiedgc/base/MemoryPoolAddressOrderedListBase.hpp (diff)
The file was modifiedgc/base/MemoryPoolHybrid.cpp (diff)
The file was modifiedgc/base/MemoryPoolSplitAddressOrderedList.hpp (diff)
The file was modifiedgc/base/standard/CompactScheme.cpp (diff)
The file was modifiedgc/base/TLHAllocationSupport.cpp (diff)
The file was modifiedgc/base/segregated/MemoryPoolAggregatedCellList.hpp (diff)
The file was modifiedgc/base/HeapLinkedFreeHeader.hpp (diff)
The file was modifiedgc/base/MemoryPoolBumpPointer.hpp (diff)
The file was modifiedgc/base/standard/Scavenger.cpp (diff)
The file was modifiedgc/base/MemoryPoolAddressOrderedList.cpp (diff)
The file was modifiedgc/structs/ForwardedHeader.hpp (diff)
The file was modifiedgc/base/MemoryPoolSplitAddressOrderedListBase.cpp (diff)
The file was modifiedgc/base/SlotObject.hpp (diff)
The file was modifiedgc/base/segregated/SegregatedAllocationInterface.cpp (diff)
The file was modifiedgc/base/segregated/MemoryPoolAggregatedCellList.cpp (diff)
The file was modifiedgc/base/MemoryPoolAddressOrderedListBase.cpp (diff)
The file was modifiedgc/base/standard/ConcurrentSweepScheme.cpp (diff)
The file was modifiedgc/base/MemoryPool.hpp (diff)
The file was modifiedgc/base/MemoryPoolSplitAddressOrderedList.cpp (diff)
The file was modifiedgc/base/MemoryPoolSplitAddressOrderedListBase.hpp (diff)
The file was modifiedgc/base/MemoryPoolBumpPointer.cpp (diff)
The file was modifiedgc/base/segregated/SweepSchemeSegregated.hpp (diff)
The file was modifiedgc/base/standard/CopyScanCacheChunkInHeap.cpp (diff)
Commit fb355edcc0085a3a32f0ccefcde2805cf7bcbb0b by leonardo2718
Add findOr{Create,Fabricate}ShadowSymbol functions
Add findOrCreateShadowSymbol function and findOrFabricateShadowSymbol to
accept a TR_OpaqueClassBlock. These will be needed for supporting value
types. The behavior of these are project specific, so their
implementation in OMR is empty. Downstream projects should override
these as needed.
Co-authored-by: Yiling Han <Yiling.Han@ibm.com> Signed-off-by: Leonardo
Banderali <leonardo2718@protonmail.com>
(commit: fb355ed)
The file was modifiedcompiler/compile/OMRSymbolReferenceTable.cpp (diff)
The file was modifiedcompiler/compile/OMRSymbolReferenceTable.hpp (diff)
Commit 1e69d6fb0ab657fae8ac5e71f62c805140dee9b4 by aaronwang0407
Remove unsigned support in Z::imulEvaluator
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 1e69d6f)
The file was modifiedcompiler/z/codegen/BinaryEvaluator.cpp (diff)
Commit 290fef8bfbf433c8477d0d8c656da3f170a68ef0 by salman.rana
Fix issue with GC during idle cycle
Fix for https://github.com/eclipse/openj9/issues/7679
- Forced system gc resulting from idleness now ignores any uncompleted
concurrent global cycle by aborting it and restarting in STW.
- Introduced new abort reason for verbose reporting purposes:
`ABORT_COLLECTION_IDLE_GC`
Signed-off-by: Salman Rana <salman.rana@ibm.com>
(commit: 290fef8)
The file was modifiedgc/base/standard/ConcurrentGC.cpp (diff)
The file was modifiedgc/verbose/handler_standard/VerboseHandlerOutputStandard.cpp (diff)
The file was modifiedinclude_core/omrgcconsts.h (diff)
Commit 76484b946bf0de9f5f779a8cd29d68081c9100d5 by rahil
Fix missing conversion in splitPostGRA
There was an issue with splitPostGRA where it was creating temp slot for
the node which was either of Int8 or Int16 type. To maintain alignment,
it needed conversion to Int32 type before storing it into memory.
splitPostGRA was missing this conversion and which was causing issues on
Z where it was storing a byte into memory without conversion and then
loads a byte from that slot causing us to load most significant byte
which contains 0 instead of the original value. This commit adds the
missing conversion piece of code for such nodes.
Signed-off-by: Rahil Shah <rahil@ca.ibm.com>
(commit: 76484b9)
The file was modifiedcompiler/il/OMRBlock.cpp (diff)
Commit 2cd0f0bd897500142dad46755dc1dccb4c736a79 by saiaki
AArch64: Implement ARM64Trg1ImmSymInstruction
This commit implements ARM64Trg1ImmSymInstruction, for generating PC
relative load register instructions.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 2cd0f0b)
The file was modifiedcompiler/aarch64/codegen/GenerateInstructions.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/GenerateInstructions.hpp (diff)
The file was modifiedcompiler/ras/Debug.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRInstructionKindEnum.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64Instruction.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64BinaryEncoding.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64Debug.cpp (diff)
Commit 313b2fa41bbbc397bb1178ad1e65e4111fbddde3 by Dhruv.C.Chopra
Don't default initialize isRelocatable boolean
This boolean will now be used to represent if a relocation is needed for
remote as well as AOT compiles. Doing so consolidates the two questions
that the routine needs to answer. Since OMR is not aware of remote
compilations, the decision on whether a relocation is required will not
have to be made explicitly by the caller.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 313b2fa)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.hpp (diff)
Commit 509443c36a32cc9ee8949d49782f513da5f0dc6f by maier
Rename doc/compiler/README
Give it an `md` extension so that it is automatically rendered properly
by GitHub.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 509443c)
The file was removeddoc/compiler/README
The file was addeddoc/compiler/README.md
Commit 538fd9b4ad17515bf47ef85073827feac84ea9a1 by amicic
Compact trigger adjustment
Dark matter and paging compact triggers currently only compare potential
free memory gains vs current free memory (with aim to reduce Global GC
frequency). While trigger thresholds are set rather high, they can still
easily trigger with Tenure being fairly full.
To account for the cost of work by doing the compact, the gains are not
just compared with total free memory but with total heap size, too.
That alone would make the trigger way less probable to occur, so as a
compromise: the weight of total heap that account into the formula is
set to 50%, and thresholds are cut by a factor of 2 or so.
Signed-off-by: Aleksandar Micic <amicic@ca.ibm.com>
(commit: 538fd9b)
The file was modifiedgc/base/standard/ParallelGlobalGC.cpp (diff)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
Commit c71a701e2fbd30bc9202828753aadf9330faf553 by Dhruv.C.Chopra
Update uses of loadAddressConstant API
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: c71a701)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
Commit a12a2d004dc1a3ede2f33d34c298d02364c3d7d9 by pushkar.bettadpur
Fixes bug found when assigning a new real register
When we assign a new real register to a virtual register (for GPRs), we
were not updating the virtual register to hold its new real register.
This led to a discrepancy between the real->virtual and virtual->real
mapping between registers. This commit ensures that the virtual register
now knows of its new real register.
Signed-off-by: Pushkar Bettadpur <pushkar.bettadpur@gmail.com>
(commit: a12a2d0)
The file was modifiedcompiler/z/codegen/OMRMachine.cpp (diff)
Commit ecc077e08ed099bb13ac55311bafcda6806cc986 by devinn
CMake: Add ability to handle split debug info
Add new flag OMR_SEPARATE_DEBUG_INFO. If set, debug info for a target is
copied into <target_file>.dbg, and debug info from <target_file> is
stripped.
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: ecc077e)
The file was modifiedcmake/modules/platform/toolcfg/xlc.cmake (diff)
The file was modifiedcmake/config.cmake (diff)
The file was modifiedcmake/modules/OmrDDRSupport.cmake (diff)
The file was modifiedcmake/modules/OmrPlatform.cmake (diff)
The file was modifiedcmake/modules/platform/toolcfg/gnu.cmake (diff)
Commit 0995e263489a65456e8bc5853e48462c3085ccdc by Yuehan.Lin
Move codegen/FrontEnd.cpp to env/FrontEnd.cpp
Signed-off-by: Yuehan-Lin <Yuehan.Lin@ibm.com>
(commit: 0995e26)
The file was modifiedcompiler/env/CMakeLists.txt (diff)
The file was modifiedcompiler/codegen/FrontEnd.cpp (diff)
The file was addedcompiler/env/FrontEnd.cpp
The file was modifiedcompiler/codegen/CMakeLists.txt (diff)
Commit 8588a6e9266ab2cfe72844d9926a097a61709ca7 by mhaque5
Move NullChkEvaluators to OpenJ9 for ARM, Power, Z and Aarch64 codegen
This commit moves the following functions from OMR to OpenJ9 for ARM,
Power, Z and Aarch64 codegen implementations:
- NULLCHKEvaluator
- resolveAndNULLCHKEvaluator
- evaluateNULLCHKWithPossibleResolve
All these functions are moved to OpenJ9 and are no longer needed in OMR.
Fixes: #3530 Signed-off-by: Md. Ariful Haque <mhaque5@unb.ca>
(commit: 8588a6e)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/arm/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
Commit c158ab06fb4c23752392fefed46cbcff0a39fbed by Dhruv.C.Chopra
Add new needRelocationsForLookupEvaluationData query
This query will maintain the current behaviour in OMR, while also
allowing downstream projects to override its behaviour.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: c158ab0)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
Commit fae623812f1b0c1107ab5786199d3f2dbfb9e69b by Dhruv.C.Chopra
Update loadAddressConstant API consumers
This commit updates the consumers of this API to use it correctly after
the new API changes.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: fae6238)
The file was modifiedcompiler/p/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
Commit 4b5d9659b7b37009f5c43542165e2aa955c533ed by maier
Share implementation to re-reserve trampolines on code cache switch
Each code generator duplicates logic to re-reserve a trampoline for a
call target if the code cache is switched between the time the
trampoline is first reserved (likely instruction selection) and binary
encoding.
The logic is nearly the same in all cases.  Provide a common version
that is shared by all code generators.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 4b5d965)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/x/codegen/X86BinaryEncoding.cpp (diff)
The file was modifiedcompiler/arm/codegen/ARMBinaryEncoding.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Instruction.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit d54781fec202208c9919b0a9388b45df2904693f by konno
AArch64: Fix code generation for adr and adrp instructions
This commit fixes the wrong encoding of the immediate value for "adr"
and "adrp" instructions. Those two instructions encode the lower 2 bits
of the immediate value in bits 29-30 of the instruction word, and the
upper 19 bits of the immediate value in bits 5-23 of the instruction
word. There was a mistake with masking and shifting the upper 19 bits.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: d54781f)
The file was modifiedcompiler/aarch64/codegen/ARM64Instruction.hpp (diff)
Commit c6ec7409dd705ffadb1e0fddfd3a5728c1c1ed17 by graham_chapman
Runtime compressed refs work
Remove obsolete API from HeapLinkedFreeHeader.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: c6ec740)
The file was modifiedgc/base/HeapLinkedFreeHeader.hpp (diff)
Commit 6de2de38c42421a0507464c3919af2c701af7b62 by maier
Break unneeded class dependencies on OMRLinkage
Do not include unnecessary header files to prevent downstream breakages.
Introduce include directives and forward declarations as appropriate to
compensate for removing header files from the extensible OMRLinkage.hpp
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 6de2de3)
The file was modifiedcompiler/x/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/arm/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/snippet/XPLINKCallDescriptorSnippet.cpp (diff)
The file was modifiedcompiler/z/codegen/snippet/XPLINKCallDescriptorSnippet.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64SystemLinkage.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/x/i386/codegen/IA32SystemLinkage.hpp (diff)
The file was modifiedcompiler/x/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/codegen/OMRLinkage.hpp (diff)
The file was modifiedcompiler/arm/codegen/ARMSystemLinkage.cpp (diff)
The file was modifiedcompiler/x/amd64/codegen/AMD64SystemLinkage.hpp (diff)
Commit 717082e8167571cba2a6980a750ff06cc189fc8a by sbabneet
Only unblock an asynchronous signal if it is used
Currently, all supported asynchronous signals are unblocked during
startup. A signal is unblocked even when a signal handler is not
installed for it. This conflicts with an OMR consumer, who wants to
block a set of signals. The OMR consumer blocks a set of signals but the
OMR signal library unblocks those signals at startup. OMR signal library
should only unblock a signal if a signal handler is registered for it.
In other words, a signal should not be unblocked if it is not used i.e.
a signal handler is not registered for it.
Fixes: https://github.com/eclipse/openj9/issues/7749
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 717082e)
The file was modifiedport/unix/omrsignal.c (diff)
Commit e01ecad0815c09b3e43fde2403ab04dd3e9e84db by Dhruv.C.Chopra
Add new overload for loadAddressConstant
This new overload allows the consumer of the API to determine if a
relocation record is needed. The overload is added because it will allow
all consumers of this API to use the new definition of
loadAddressConstant, while not breaking anything in downstream projects.
Once the new definition has been accepted by downstream projects, they
can begin to use the new API as well since if they choose to do so.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: e01ecad)
The file was modifiedcompiler/p/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.hpp (diff)
Commit 33775168363feaaaad2fa5932d696c0f61fa038b by konno
AArch64: Add extraRegister to OMRMemoryReference
This commit adds extraRegister and related code to OMRMemoryReference
for AArch64. It will be used by UnresolvedSnippet.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: 3377516)
The file was modifiedcompiler/aarch64/codegen/ARM64Instruction.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRMemoryReference.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRMemoryReference.cpp (diff)
Commit c196dd38a56a80f1458f0d83a920b9c3a358bea5 by sbabneet
Implement omrthread_mcs_lock, which is part of the MCS Lock API
Related: https://github.com/eclipse/omr/pull/4086.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: c196dd3)
The file was modifiedthread/common/threadhelpers.cpp (diff)
Commit 2c3bdd441a0fdb9f6ccd2854e9626586977648f3 by sbabneet
Implement omrthread_mcs_trylock, which is part of the MCS Lock API
Related: https://github.com/eclipse/omr/pull/4086.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 2c3bdd4)
The file was modifiedthread/common/threadhelpers.cpp (diff)
Commit cf627e1200ae55ea50be568892de019be18a36db by sbabneet
Implement omrthread_mcs_unlock, which is part of the MCS Lock API
Related: https://github.com/eclipse/omr/pull/4086.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: cf627e1)
The file was modifiedthread/common/threadhelpers.cpp (diff)
Commit 46dd3243dafb61e06a3169d012bfd0683b2e6b32 by sbabneet
Implement omrthread_mcs_node_allocate, which is part of the MCS Lock API
Related: https://github.com/eclipse/omr/pull/4086.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 46dd324)
The file was modifiedthread/common/threadhelpers.cpp (diff)
Commit a81723be78ef1aea5809b0909027fe006ca71b4d by sbabneet
Implement omrthread_mcs_node_free, which is part of the MCS Lock API
Related: https://github.com/eclipse/omr/pull/4086.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: a81723b)
The file was modifiedthread/common/threadhelpers.cpp (diff)
Commit 2339b26c5f82c5f6f5a5334493bfa36ec61c3630 by mnoor
Relocate getMonClass and addMonClass to OpenJ9
The OMR::CodeGenerator functions- getMonClass and addMonClass are
relocated to OpenJ9 CodeGenerator and removed from OMR.
The changes also include the array- _monitorMapping moving from OMR to
OpenJ9.
Closes: GitHub issue #1869
Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
(commit: 2339b26)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
Commit db0d2fdc354975e2d32624b66744c9bf0aa1111b by devinn
CMake: Update FindLibElf
Use data from pkg-config if available
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: db0d2fd)
The file was modifiedcmake/modules/FindLibElf.cmake (diff)
Commit 91483b0a2d73a4c78f640ebe10926fff67c59151 by graham_chapman
Runtime compressed refs work
Add new constructor to ForwardedHeader in preparation for the real work.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: 91483b0)
The file was modifiedgc/base/ObjectHeapIteratorAddressOrderedList.hpp (diff)
The file was modifiedgc/base/ObjectHeapIteratorAddressOrderedList.cpp (diff)
The file was modifiedgc/base/MarkingScheme.cpp (diff)
The file was modifiedgc/structs/ForwardedHeader.hpp (diff)
The file was modifiedexample/glue/ScavengerRootScanner.hpp (diff)
The file was modifiedgc/base/standard/Scavenger.cpp (diff)
The file was modifiedgc/base/MemcheckWrapper.cpp (diff)
The file was modifiedgc/structs/ForwardedHeader.cpp (diff)
The file was modifiedexample/glue/ScavengerDelegate.cpp (diff)
Commit a2f1d3ea1c68653e91e9ef00e5eb90e826503348 by haleycao88
Fixes to match prototypes to old socket API
Decided to match with old API until new socket API is done implementing.
-Made sure the function prototypes have the same arguments
Issue: #4102
Signed-off-by: Haley Cao <haleycao88@hotmail.com>
(commit: a2f1d3e)
The file was modifiedport/omrportpriv.h (diff)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedport/common/omrsock.c (diff)
Commit 2c3f67d1f018de073dc0578a57a13a9813a801db by Yuehan.Lin
Defined private copy constructor for TypeDictionary
Signed-off-by: Yuehan-Lin <Yuehan.Lin@ibm.com>
(commit: 2c3f67d)
The file was modifiedcompiler/ilgen/OMRTypeDictionary.hpp (diff)
The file was modifiedcompiler/ilgen/OMRTypeDictionary.cpp (diff)
Commit 9d712f37d05dc5e9c7bed58a1b33ca6021e0efa5 by keithc
Avoid buffer overflow in expandString()
The test in the old code (formatCursor >= MAX_IMAGE_PATH_LENGTH - 1)
only ensured there was room for one more character (plus the
NUL-terminator) in any iteration of the loop and thus the expansion of
'%p', '%d' or '%t' might not fit.
This was highlighted by a warning issued by gcc 9.
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 9d712f3)
The file was modifiedomrtrace/omrtracemisc.cpp (diff)
Commit 448e32e4f71fe01f024f862f2819a2f02c3a21f4 by keithc
Avoid buffer overflow in count_threads()
strncpy() does not add a NUL-terminator if not part of the specified
segment of the source, so if the file name was more than 11 characters
long, buf might not be NUL-terminated and the following strcat() may
write beyond the end of the buffer.
This was highlighted by a warning issued by gcc 9.
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 448e32e)
The file was modifiedport/unix/omrintrospect.c (diff)
Commit 7a932adea7e4dafd7f0feae84792cbab6d139af6 by keithc
Ensure strings are NUL-terminated in omrosdump_helpers
strncpy() does not add a NUL-terminator if not part of the specified
segment of the source, so the result may not be NUL-terminated; use
OMR's str_printf() instead. Affected functions are deriveCoreFileName()
and renameDump().
This was highlighted by a warning issued by gcc 9.
Also fixed typo in corePatternFormat parameter name.
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 7a932ad)
The file was modifiedport/linux/omrosdump_helpers.c (diff)
Commit b399cebf851a22456521e11087ba16dc4faf00aa by keithc
Ensure string is NUL-terminated in omrsysinfo_get_OS_type()
strncpy() does not add a NUL-terminator if not part of the specified
segment of the source, so the result may not be NUL-terminated. Even
though the buffer is explicitly NUL-terminated, the compiler still
issues a warning: use memcpy() instead.
This was highlighted by a warning issued by gcc 9.
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: b399ceb)
The file was modifiedport/unix/omrsysinfo.c (diff)
Commit 5a11f35cdb96623dc16e096a616efdc993798e5e by keithc
Avoid compiler warning in omrvmem_numa_get_node_details()
Even though strncat() always adds a NUL-terminator, gcc 9 issues a
warning about its use: use OMR's str_printf() function instead.
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 5a11f35)
The file was modifiedport/linux/omrvmem.c (diff)
Commit 7e87e0c8c20d532cbeec27e3d14b7ef5b86d1f74 by Dhruv.C.Chopra
Introduce new query to replace JITServer checks
This commit introduces a new query,
canEmitDataForExternallyRelocatableInstructions, that can be used to
determind if data can be emitted safely in an instruction that is the
target of a relocation record.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 7e87e0c)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRConstantDataSnippet.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.hpp (diff)
Commit c3d0cf15a655be8f6078339e4a7e8216310a1922 by konno
AArch64: Correct the condition code for fcmp/dcmp
This commit corrects the AArch64 condiiton codes used for fcmp and dcmp
operations.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: c3d0cf1)
The file was modifiedcompiler/aarch64/codegen/FPTreeEvaluator.cpp (diff)
Commit 9eaddae139c40566dee81398fe1e1e80fcf74ee4 by saiaki
AArch64: Implement igotoEvaluator
This commit adds implementation of igotoEvaluator.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 9eaddae)
The file was modifiedcompiler/aarch64/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluatorTable.hpp (diff)
Commit f937c1bfb5356995d142a4e12d899d01cb1c303d by leonardo2718
Remove stale comment
The comment was incorrect as the VM is *not* called to do lowering.
Furthermore, it provides no additional insight into what the code is
doing beyond what the function name already provides. Removing the
comment therefore seems appropriate.
Signed-off-by: Leonardo Banderali <leonardo2718@protonmail.com>
(commit: f937c1b)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
Commit c0b6b9e89a8202f53070b82b3a1bb87081382c4a by leonardo2718
Clean up lowerTreesPreChildrenVisit
Signed-off-by: Leonardo Banderali <leonardo2718@protonmail.com>
(commit: c0b6b9e)
The file was modifiedcompiler/codegen/CodeGenPrep.cpp (diff)
Commit 67022e814b3ca455d8d9ba9c6edf712b1124a9b9 by yizhang
Add option disabling inline JSR292 without peeking
Signed-off-by: Yi Zhang <yizhang@ca.ibm.com>
(commit: 67022e8)
The file was modifiedcompiler/control/OMROptions.hpp (diff)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
Commit a01021769886bfe16f9d72241068e834ec53e705 by leonardo2718
Change isInteger to is32BitOp in lowerTreesPreChildrenVisit
Signed-off-by: Leonardo Banderali <leonardo2718@protonmail.com>
(commit: a010217)
The file was modifiedcompiler/codegen/CodeGenPrep.cpp (diff)
Commit 424b0a5d10e84cbd801c8f46482d0b56d9d52cda by ajcraik
Add eaEscapeHelperSymbol
The OpenJ9 Escape Analysis optimization currently overloads the meaning
of the OSR helper callees as part of its analysis. This change
introduces a new non-helper symbol for this optimization pass to use to
avoid overloaded meanings and the resultant confustion in the codebase.
Signed-off-by: Andrew Craik <ajcraik@ca.ibm.com>
(commit: 424b0a5)
The file was modifiedcompiler/compile/OMRSymbolReferenceTable.cpp (diff)
The file was modifiedcompiler/ras/Debug.cpp (diff)
The file was modifiedcompiler/il/OMRNode.cpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/il/Aliases.cpp (diff)
The file was modifiedcompiler/compile/OMRSymbolReferenceTable.hpp (diff)
Commit 2e4a5720719e1f5724374bdaa4f41648fabcf9a8 by aaronwang0407
Remove creation of nodes with deprecated unsigned Constant opcodes
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 2e4a572)
The file was modifiedcompiler/il/OMRILOps.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierHandlers.cpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierHelpers.cpp (diff)
The file was modifiedcompiler/il/OMRNode.cpp (diff)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/optimizer/DebuggingCounters.cpp (diff)
Commit d3ec5fa2d0f35a23302068b4268b61ce0c5358f6 by aaronwang0407
Remove Creation of nodes with deprecated unsigned Equality opcodes
Specifically, remove creation of opcodes in Equality compare and
equality compare and branch
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: d3ec5fa)
The file was modifiedcompiler/optimizer/OMRSimplifierHandlers.cpp (diff)
Commit 2c0db864990826204a89974b987dea11f8d6726d by aaronwang0407
Fatal assert any creation of node with deprecated unsigned opcode of
equality
Add TR_ASSERT_FATAL to ensure there is no more creatation or recreation
of node with deprecated opcode in the equality compare and equality
compare branch category
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 2c0db86)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/il/OMRNode.cpp (diff)
Commit 14de6f2c6f0b277f58113fed41541d6ecde03f0c by aaronwang0407
Fatal assert any creation of nodes with deprecated constant opcodes
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 14de6f2)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
The file was modifiedcompiler/optimizer/DebuggingCounters.cpp (diff)
Commit abf241cac27b29a6663812b68df0793e43dfaeb4 by Dmitri_Pivkine
Trust maps file parser if no errors occur
If OMRPORT_VMEM_ALLOC_QUICK is used for virtual memory allocation we are
trying to find available memory interval by scanning maps file in
findAvailableMemoryBlockNoMalloc(). In case if it returns NULL (memory
interval with requested parameters is not available) we have choice to
trust this result and fail memory allocation request or continue with
slow allocation path to try any possible address range one by one.
In the past we noticed that sometimes (with unknown conditions
unfortunately) parser returns NULL, however slow path was able to
allocate memory eventually. So current code always execute slow path if
parsing fails. It creates possible delays in JVM startup time.
Currently parser in findAvailableMemoryBlockNoMalloc() can not
differentiate between cases parsing was complete with no error but no
memory range found or an error occur at the time of parsing. I believe
in first case we can trust parser results and fail allocation request
immediately. In second case however call of slow allocation path is
necessary.
So I am suggesting to add new output parameter that would report about
error occur at the parsing time.
Currently parser can not receive EOF condition because omrfile_read()
would mask it by returning -1. I added a recognition of EOF to parser.
Also I added a number of trace points to simplify analysis in case of
the failure in future. Please note that these trace points at the moment
because this call occur early in startup and Trace Engine has not been
initialized yet. However we are planning to fix this problem in the
future so these trace points become useful.
Also (by request from Service and have in mind we do not know why it
failed exactly) I added possibility to revert new behaviour to old one
by introducing a new key for Port Library. It will be used in case of
emergency to return back to old mode if this feature still be not
reliable enough.
Signed-off-by: Dmitri Pivkine <Dmitri_Pivkine@ca.ibm.com>
(commit: abf241c)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedport/unix_include/omrportpg.h (diff)
The file was modifiedport/common/omrport.tdf (diff)
The file was modifiedport/linux/omrvmem.c (diff)
The file was modifiedport/common/omrportcontrol.c (diff)
Commit bd6938751b3cbf9defe7406e6ee41ca80268a71b by rwy0717
Move the calls to AC_PROG_CC/CXX higher
Autoconf has a rudimentary macro-prerequisite feature, which allows
macros and tests to automatically invoke dependencies.
Because of this system, AC_PROG_CC is being automatically invoked in the
middle of a check for the size of void*, which is much earlier than
where we manually invoke the macros. For clarity, I'm moving the calls
to AC_PROG_CC/CXX higher, to the beginning of the "build environment"
section of the script, and a few lines before the sizeof_void_p test.
Signed-off-by: Robert Young <rwy0717@gmail.com>
(commit: bd69387)
The file was modifiedconfigure (diff)
The file was modifiedconfigure.ac (diff)
Commit c8c7b8e87482d98b419c2ddbcb679224d02c2462 by konno
AArch64: Add call to TR_Debug::print(TR::ARM64RecompilationSnippet)
This commit adds a call to TR_Debug::print() for
ARM64RecompilationSnippet.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: c8c7b8e)
The file was modifiedcompiler/aarch64/codegen/ARM64Debug.cpp (diff)
Commit 37bcd6a8cc27a3c28d769e59cd38d016cd9ad129 by mhaque5
Move arithmeticNeedsLiteralFromPool function from OMR to OpenJ9
This commit moves arithmeticNeedsLiteralFromPool function from OMR to
OpenJ9. arithmeticNeedsLiteralFromPool is not used in OMR, but it is
used in OpenJ9 for Z codegen implementation.
Fixes: #1870 Signed-off-by: Md. Ariful Haque <mhaque5@unb.ca>
(commit: 37bcd6a)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
Commit cb5ee35fd63a0e08912ef7305421914cd262aa07 by maier
Remove unused features from S390LabelInstruction
The following are not used in OMR nor any known downstream project.
* `targetReg` parameter from constructors
* `_handle` field
* PreservedForListing flag
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: cb5ee35)
The file was modifiedcompiler/z/codegen/S390Instruction.hpp (diff)
Commit f492938b6bef3ae3bff34ffdd4c9cc31d75d4455 by jan.vrany
Add new 'MinimalTest' suite to compilertriltest.
This suite contains a really minimal tests such as "return 42" or
"return arg + 10". These tests are useful when porting compiler to a new
architecture, such as RISC-V.
Signed-off-by: Jan Vrany <jan.vrany@fit.cvut.cz> Signed-off-by: Boris
Shingarov <shingarov@labware.com>
(commit: f492938)
The file was addedfvtest/compilertriltest/MinimalTest.cpp
The file was modifiedfvtest/compilertriltest/CMakeLists.txt (diff)
Commit f19de6019203854d0dd6da15745494b2740826e9 by maier
Remove unused isHint from Z register dependencies
Seems to have been required for access registers.
Also remove functions predicated on isHint being true.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: f19de60)
The file was modifiedcompiler/z/codegen/OMRRegisterDependency.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRRegisterDependency.cpp (diff)
Commit 48e9d87fd490a54b6e634f6584ebd95f5da1099b by maier
Remove unused conflictsResolved field from Z
RegisterDependencyConditions
Fold code assuming it is always false.
Signed-off-by: Daryl Maier <maier@ca.ibm.com>
(commit: 48e9d87)
The file was modifiedcompiler/z/codegen/OMRInstruction.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRRegisterDependency.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRRegisterDependency.cpp (diff)
Commit bf812926d1935634e0d9b683bdae92243aea22b0 by konno
AArch64: Implement generateARM64OutOfLineCodeSectionDispatch()
This commit implements generateARM64OutOfLineCodeSectionDispatch() in
TR_ARM64OutOfLineCodeSection.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: bf81292)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64OutOfLineCodeSection.cpp (diff)
Commit b112d81836abb63da812b47175aca448b45988ee by konno
AArch64: Add computedCallTargetRegister to ARM64LinkageProperties
This commit adds a member computedCallTargetRegister to
ARM64LinkageProperties.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: b112d81)
The file was modifiedcompiler/aarch64/codegen/ARM64SystemLinkage.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRLinkage.hpp (diff)
Commit 9056b3bbce225339c52c5c6334e84506cc0b8ad7 by saiaki
AArch64: Implement OMR::ARM64::RegisterDependencyConditions::clone
- This commits adds implementation of
`OMR::ARM64::RegisterDependencyConditions::clone`.
- It adds optional arguments to `clone` that enables cloning only
pre/post part of original dependency conditions.
- It adds utility methods `clonePre` and `clonePost` which call `clone`.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 9056b3b)
The file was modifiedcompiler/aarch64/codegen/OMRRegisterDependency.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRRegisterDependency.hpp (diff)
Commit 0b7514185196bf2e5311c268e43c0e06ecbe3587 by zlwang
Fix JNI performance regression
This is to check in the OMR portion ...
It was caused by changes committed for OpenJ9 issue #4893. When
JNILinkage is not set on the method symbol anymore, OutOfLine
performCall eventully evaluated it through PrivateLinkage and stuck in
interpreter. The fundamental reason is that a new node is created for
performCall but the isPreparedForJNI flag is not copied over and
performCall doesn't get the linkage right.
Resolve: #4132
Signed-off-by: Julian Wang <zlwang@ca.ibm.com>
(commit: 0b75141)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCOutOfLineCodeSection.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.hpp (diff)
Commit bac4aa2f85f723081b780f859c8acca2c032d758 by keithc
DDR: add support for xlc/xlclang version 16
* add support for continued STABS entries
* add support for C++ ellipses parameter types
* consider types '__\d+' un-named on AIX
* define DW_FORM_block* constants
* ensure __IBMCPP_TR1__ is always defined on AIX
(but only do so in config.hpp)
* extract function to get value of DW_AT_const_value attribute
* fix handling of pointer to member types
- skip past optional 'virtual' and 'multiple' base specifications
* fix handling of enum literal values
(they are expressed in decimal not hex in STABS entries)
* fix recognition of vtable pointers (xlclang defines __GNUC__)
* handle anonymous typedefs
* ignore static fields (xlc 13 doesn't produce STABS entries for them)
* don't return NULL for unknown builtin types
* fail if we can't decode a STABS string
* define macro ddr_constant(name, value)
- for handling anonymous nested types; expands to
     static enum { name = value } ddr_ref_ ## name
* recognize anonymous fields: '#bit_field_\d+'
* clean up:
- pass strings by reference
- remove useless const modifier for primitive type parameters
- remove redundant test
- streamline creation of dump command
- remove unused function shiftDecimal()
- whitespace (tabs should only appear at the beginning of a line)
- extract addRefToPopulate()
- issue error if reference resolution fails
- print error and exit on bad type reference
* fix handling of C++11 versus TR1
- clean up access to unordered_map
- remove definition of unused macro: OMR_HAVE_TR1
- remove useless using declarations (hash, runtime_error)
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: bac4aa2)
The file was modifiedddr/include/ddr/scanner/pdb/PdbScanner.hpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/AixSymbolTableParser.cpp (diff)
The file was modifiedddr/include/ddr/std/unordered_map.hpp (diff)
The file was modifiedinclude_core/omr.h (diff)
The file was modifiedddr/lib/ddr-blobgen/java/genBlobJava.cpp (diff)
The file was modifiedgc/base/standard/CompactScheme.hpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfFunctions.cpp (diff)
The file was modifiedddr/include/ddr/scanner/dwarf/AixSymbolTableParser.hpp (diff)
The file was modifiedddr/include/ddr/scanner/dwarf/DwarfScanner.hpp (diff)
The file was modifiedddr/include/ddr/scanner/dwarf/DwarfFunctions.hpp (diff)
The file was modifiedddr/tools/ddrgen/ddrgen.cpp (diff)
The file was modifiedddr/include/ddr/config.hpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfScanner.cpp (diff)
Commit b17e3eb9b528d70ad299b9df35ed576cd5e94a86 by rwy0717
Make ccache treat omrcfg.h as a dependency for every object
Signed-off-by: Robert Young <rwy0717@gmail.com>
(commit: b17e3eb)
The file was modifiedbuildenv/jenkins/jobs/pull-requests/PullRequest-aix_ppc-64 (diff)
The file was modifiedbuildenv/jenkins/jobs/builds/Build-aix_ppc-64 (diff)
Commit 7ea1fec98f850725f59590c20b24cb3ad17df8ad by Dhruv.C.Chopra
Rename TR_DisableTOCForConstants to TR_DisableTOC
The previous name for this option doesn't add much value and the new
name can be used to disable the TOC for any number of reasons.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 7ea1fec)
The file was modifiedcompiler/p/codegen/OMRConstantDataSnippet.cpp (diff)
The file was modifiedcompiler/arm/codegen/ConstantDataSnippet.cpp (diff)
The file was modifiedcompiler/control/OMROptions.hpp (diff)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
Commit b38c4920d1ecf0b814f53c3f41bec29b9e6e6faf by sbabneet
Update monitor_enter_three_tier to use the MCS lock
monitor_enter_three_tier is an entry point to acquire the MCS lock.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: b38c492)
The file was modifiedthread/common/omrthread.c (diff)
Commit abd993055fd76a69508c9bc901342b06d351f910 by sbabneet
Update omrthread_monitor_try_enter_using_threadId to use the MCS lock
omrthread_monitor_try_enter_using_threadId is an entry point to acquire
the MCS lock.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: abd9930)
The file was modifiedthread/common/omrthread.c (diff)
Commit cb2aa35d46e6f3901cb6e829dc95dedee343caa8 by sbabneet
omrthread_mcs_node_free should not assert if mcsNode is NULL
If mcsNode is NULL, omrthread_mcs_node_free should do nothing. An
assertion would terminate the application, which is undesirable for a
memory free operation.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: cb2aa35)
The file was modifiedthread/common/threadhelpers.cpp (diff)
Commit ecd89fe5044be31c82e565dc0d4e971e320cef1e by sbabneet
Update monitor_exit to use the MCS lock
monitor_exit is an exit point to release the MCS lock.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: ecd89fe)
The file was modifiedthread/common/omrthread.c (diff)
Commit 58b357712a5e32ba98bfbca00eda969359f43aa1 by sbabneet
Update monitor_wait_original to use the MCS lock
monitor_wait_original is an exit point to release the MCS lock. The MCS
lock needs to be released before waiting.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 58b3577)
The file was modifiedthread/common/omrthread.c (diff)
Commit 2806dba63391c6c3ccccfc8ca8c84d1abefd63c5 by sbabneet
Update monitor_wait_three_tier to use the MCS lock
monitor_wait_three_tier is an exit point to release the MCS lock. The
MCS lock needs to be released before waiting.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 2806dba)
The file was modifiedthread/common/omrthread.c (diff)
Commit cad11469a62a00730983600780ffcb00be2cbdd8 by sbabneet
Update monitor_notify_three_tier to use the MCS lock
J9THREAD_MONITOR_SPINLOCK_EXCEEDED is not used with the MCS lock.
monitor_notify_three_tier is updated to avoid using
J9THREAD_MONITOR_SPINLOCK_EXCEEDED with the MCS lock.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: cad1146)
The file was modifiedthread/common/omrthread.c (diff)
Commit 1cb7d010a1cadc914846786f2952fdb5340dffe1 by sbabneet
unblock_spinlock_threads not used with the MCS lock
unblock_spinlock_threads is not used with the MCS lock so it is disabled
when OMR_THR_MCS_LOCKS is enabled.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 1cb7d01)
The file was modifiedthread/common/omrthread.c (diff)
Commit ffa97f0699a3a1bb5bbbadc625dc6cbb49225d41 by sbabneet
Update postForkResetMonitors to work with the MCS lock
When the monitor state is set to unowned, queueTail is set to NULL in
order to signify the unowned state of the MCS lock.
J9THREAD_MONITOR_SPINLOCK_EXCEEDED is not used with the MCS lock.
postForkResetMonitors is updated to avoid usage of
J9THREAD_MONITOR_SPINLOCK_EXCEEDED with the MCS lock.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: ffa97f0)
The file was modifiedthread/common/omrthread.c (diff)
Commit 711c3798dd1c8c1412d0b47940269aa8f75938a1 by sbabneet
Update postForkResetThreads to work with the MCS lock (part 1)
For a thread other than the fork survivor, the stack head and J9Pool,
which is stored in J9Thread->mcsNodes, should be reset.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 711c379)
The file was modifiedthread/common/omrthread.c (diff)
Commit b6822a493939984030120e2d24f1177a6c064c59 by sbabneet
Update postForkResetThreads to work with the MCS lock (part 2)
Preserve the state of the MCS locks and nodes (monitors), which are
owned by the fork survivor thread.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: b6822a4)
The file was modifiedthread/common/omrthread.c (diff)
Commit 615b0b42a76a806fe53ff4fd4dc4e421ec2cf31a by sbabneet
Restrict the number of threads allowed to spin per monitor with MCS lock
The number of threads allowed to simultaneously spin per monitor, which
uses the MCS lock, is restricted to the number of logical CPUs available
on the machine.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 615b0b4)
The file was modifiedthread/common/threadhelpers.cpp (diff)
Commit 94e76ea931730163b31e254b8c02b99ae1ba68ab by sbabneet
[DONT MERGE] Enable the OMR_THR_MCS_LOCKS flag to verify compilation
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 94e76ea)
The file was modifiedcmake/caches/Appveyor.cmake (diff)
The file was modifiedcmake/caches/Travis.cmake (diff)
Commit 96a156fc51ffe41b78a5d84071b58bb27afb9b5f by zheddie
Using scanFileName variable instead of /proc file system.
Signed-off-by: Gavin Zhang <zheddie@163.com>
(commit: 96a156f)
The file was modifiedddr/include/ddr/scanner/dwarf/DwarfFunctions.hpp (diff)
The file was modifiedddr/include/ddr/scanner/dwarf/DwarfScanner.hpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/AixSymbolTableParser.cpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfScanner.cpp (diff)
Commit 1804d0f6a676366910063fa405a8e1f295b4fc04 by konno
AArch64: Implement tableEvaluator
This commit implements tableEvaluator() for AArch64.
Co-authored-by: KONNO Kazuhiro konno@jp.ibm.com Co-authored-by: Aaron
Graham aaron.graham@unb.ca Co-authored-by: Md. Mahbubur Rahman
mrahma15@unb.ca
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: 1804d0f)
The file was modifiedcompiler/aarch64/codegen/ControlFlowEvaluator.cpp (diff)
Commit 0249da0014ecc4b50aabec414c507f5f7e1e4f3a by saiaki
AArch64: Add jitCollapseJNIReferenceFrame helper
Add jitCollapseJNIReferenceFrame helper entry.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 0249da0)
The file was modifiedcompiler/runtime/Helpers.inc (diff)
Commit 35eaa4d73a0593f396e67cb5137cc9549f488db6 by qbha
Add data section and header to relocatable elf file
Signed-off-by: Aidan Ha <qbha@edu.uwaterloo.ca>
(commit: 35eaa4d)
The file was modifiedcompiler/codegen/ELFGenerator.hpp (diff)
The file was modifiedcompiler/codegen/ELFGenerator.cpp (diff)
Commit cb323c55979820c97dbf9abc910f8e7b6e0fa5df by Yuehan.Lin
Removed codegen/FrontEnd.hpp and codegen/FrontEnd.cpp
Signed-off-by: Yuehan-Lin <Yuehan.Lin@ibm.com>
(commit: cb323c5)
The file was modifiedfvtest/compilertest/build/files/common.mk (diff)
The file was modifiedjitbuilder/build/files/common.mk (diff)
The file was removedcompiler/codegen/FrontEnd.hpp
The file was removedcompiler/codegen/FrontEnd.cpp
Commit a31fb118f77834c4d691971d98087969b17aa480 by Dhruv.C.Chopra
Rework accessStaticItem in Power's OMRMemoryReference
This commit reorganizes this routine to broaden the scope of when
relocatable code can be generated. We now use front end queries to
determine when a relocatable instruction needs to be generated. This is
needed in cases where we are doing a remote compile.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: a31fb11)
The file was modifiedcompiler/p/codegen/OMRMemoryReference.cpp (diff)
Commit f9072781f301e53c0b2c11871c8411e1dfd0f97a by Dhruv.C.Chopra
Add new needRelocationsForCurrentMethodPC query
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: f907278)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRMemoryReference.cpp (diff)
Commit fa3a153500269ef926dd54d6824f309ab4f9e039 by Dhruv.C.Chopra
Don't use needRelocationsForStatics query when redundant
In some situations, this query was being used in addition to another
query that would also return the same answer. Since it doesn't make
sense to use this query anymore (as the other one is more appropriate
given the data type), this commit removes uses of such queries.
Additionally, use of the new needRelocationsForCurrentMethodPC query is
added for symbol->isCompiledMethod data types.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: fa3a153)
The file was modifiedcompiler/p/codegen/OMRMemoryReference.cpp (diff)
Commit 0b28f104a7d4f31a63c4f794200b80cc51c91c69 by keithc
Revert "DDR: add support for xlc/xlclang version 16"
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 0b28f10)
The file was modifiedinclude_core/omr.h (diff)
The file was modifiedddr/include/ddr/scanner/dwarf/AixSymbolTableParser.hpp (diff)
The file was modifiedddr/include/ddr/std/unordered_map.hpp (diff)
The file was modifiedddr/include/ddr/scanner/dwarf/DwarfScanner.hpp (diff)
The file was modifiedddr/lib/ddr-blobgen/java/genBlobJava.cpp (diff)
The file was modifiedddr/include/ddr/scanner/dwarf/DwarfFunctions.hpp (diff)
The file was modifiedddr/include/ddr/scanner/pdb/PdbScanner.hpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/AixSymbolTableParser.cpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfFunctions.cpp (diff)
The file was modifiedddr/tools/ddrgen/ddrgen.cpp (diff)
The file was modifiedgc/base/standard/CompactScheme.hpp (diff)
The file was modifiedddr/include/ddr/config.hpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfScanner.cpp (diff)
Commit a3342a38f57c122fb442923837ec6cee655ae2a1 by Dhruv.C.Chopra
Disable PPC TOC if TR_DisableTOC option is set
This commit makes the allocateChunk and lookup methods inside the
TR_PPCTableOfConstants class return PTOC_FULL_INDEX if the TR_DisableTOC
compiler option is set. Doing so will prevent the power code generator
from ever generating code that uses the TOC, effectively disabling the
TOC. Adding this option here allows downstream projects to easily
disable TOC when needed.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: a3342a3)
The file was modifiedcompiler/p/codegen/OMRConstantDataSnippet.cpp (diff)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCTableOfConstants.cpp (diff)
Commit f09a78240b25ba5ee0536f8795fd16d977aabd31 by saiaki
AArch64: Make logicImmediateHelper available outside BinaryEvaluator.cpp
This commit makes `logicImmediateHelper` available to the code outside
BinaryEvaluator.cpp.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: f09a782)
The file was modifiedcompiler/aarch64/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.hpp (diff)
Commit 05019a0d91bff85e9a45aed9018fc10964af797d by rwy0717
Do not remove config.guess/sub in distclean
We check in both config.guess and config.sub. There's no need to delete
these files as part of distclean. They shouldn't be considered generated
or external dependencies, they are a part of our source code.
Signed-off-by: Robert Young <rwy0717@gmail.com>
(commit: 05019a0)
The file was modifiedrun_configure.mk (diff)
Commit 0ea6946c1e1a5311bff2a1fdc9896e7889d5833b by rwy0717
Do not run distclean in builds
Builds start with a fresh checkout of OMR, there is no need to actually
run distclean.
Signed-off-by: Robert Young <rwy0717@gmail.com>
(commit: 0ea6946)
The file was modifiedbuildenv/jenkins/jobs/pull-requests/PullRequest-linux_x86-64_cmprssptrs (diff)
The file was modifiedscripts/build-on-travis.sh (diff)
The file was modifiedbuildenv/jenkins/jobs/builds/Build-linux_x86-64_cmprssptrs (diff)
Commit 395ce201458fde81dd063ce49f796820517093ec by devinn
CMake: Make ddr scan j9pool.h
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 395ce20)
The file was modifiedutil/pool/CMakeLists.txt (diff)
Commit b1a949df850a0f3f0565354e8b102a8af3e1b82d by devinn
CMake: Link ddr tooling against omr thread/port libraries
Its not gauranteed that consumers of omr will export the symbols we need
from their versions of the port and thread libraries
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: b1a949d)
The file was modifiedddr/tools/ddrgen/CMakeLists.txt (diff)
The file was modifiedddr/tools/blob_reader/CMakeLists.txt (diff)
Commit 4b649040fd2d2ddc3090d73a63d02add03dc3cfb by devinn
CMake: Move header templates location
Header templates should live next to their autoconf counterparts
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 4b64904)
The file was addedinclude_core/omrversionstrings.cmake.h.in
The file was removedomrcfg.CMakeTemplate.h
The file was modifiedCMakeLists.txt (diff)
The file was removedomrversionstrings.CMakeTemplate.h
The file was addedinclude_core/omrcfg.cmake.h.in
Commit bd9102d53eea3adc6eb92eb23ca0063559a19d2f by devinn
CMake: Add flag for GC_DOUBLE_MAP_ARRAYLETS
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: bd9102d)
The file was modifiedinclude_core/omrcfg.cmake.h.in (diff)
Commit 02c7167d05e9b3fca10d33c089246978030eb452 by konno
AArch64: Allow negative immediate offset for memory access
This commit rewrites the instruction "ldrimmw" (12-bit unsigned offset)
to "ldurw" (9-bit signed offset) when a negative value is used as the
offset.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: 02c7167)
The file was modifiedcompiler/aarch64/codegen/OMRMemoryReference.cpp (diff)
Commit bf87314933eff51d97178bc23fc3be662a661574 by jan.vrany
RISC-V: Add RISC-V compiler backend
This commit adds a compiler backend for RISC-V ISA.
The code has been tested on both QEMU and real hardware, a SiFive HiFive
Unleashed development board.
Signed-off-by: Jan Vrany <jan.vrany@fit.cvut.cz> Signed-off-by: Boris
Shingarov <shingarov@labware.com>
(commit: bf87314)
The file was addedcompiler/riscv/codegen/RVInstruction.cpp
The file was addedcompiler/riscv/codegen/TreeEvaluatorTable.hpp
The file was addedcompiler/riscv/codegen/Linkage.hpp
The file was modifiedcompiler/runtime/Runtime.hpp (diff)
The file was addedcompiler/riscv/codegen/RealRegisterEnum.hpp
The file was addedcompiler/riscv/codegen/OMRSnippet.hpp
The file was modifiedcompiler/env/OMRCPU.hpp (diff)
The file was addedcompiler/riscv/codegen/OMRRealRegister.cpp
The file was addedcompiler/riscv/codegen/RVOutOfLineCodeSection.hpp
The file was modifiedcompiler/ras/Debug.hpp (diff)
The file was addedcompiler/riscv/codegen/OMRInstructionKindEnum.hpp
The file was addedcompiler/riscv/env/OMREnvironment.hpp
The file was addedcompiler/riscv/codegen/MemoryReference.hpp
The file was addedcompiler/riscv/codegen/OMRTreeEvaluator.cpp
The file was modifiedcompiler/env/defines.h (diff)
The file was addedcompiler/riscv/codegen/OMRMachine.cpp
The file was addedcompiler/riscv/codegen/OMRRegisterDependency.cpp
The file was addedcompiler/riscv/codegen/OMRLinkage.cpp
The file was addedcompiler/riscv/codegen/UnaryEvaluator.cpp
The file was addedcompiler/riscv/codegen/OMRMachine.hpp
The file was addedcompiler/riscv/codegen/OMRRegisterDependencyStruct.hpp
The file was addedcompiler/riscv/CMakeLists.txt
The file was modifiedcompiler/runtime/Helpers.inc (diff)
The file was addedcompiler/riscv/codegen/OMRCodeGenerator.cpp
The file was addedcompiler/riscv/codegen/OMRCodeGenerator.hpp
The file was addedcompiler/riscv/codegen/OMRInstruction.cpp
The file was addedcompiler/riscv/codegen/RVDebug.cpp
The file was addeddoc/compiler/riscv/Building.md
The file was addedcompiler/riscv/codegen/InstOpCode.hpp
The file was addedcompiler/riscv/codegen/OMRInstOpCodeEnum.hpp
The file was addedcompiler/riscv/codegen/OMRLinkage.hpp
The file was addedcompiler/riscv/codegen/PseudoRegisterEnum.hpp
The file was addedcompiler/riscv/codegen/Instruction.hpp
The file was addedcompiler/riscv/codegen/OMRMemoryReference.cpp
The file was addedcompiler/riscv/codegen/OMRTreeEvaluator.hpp
The file was addedcompiler/riscv/codegen/RVSystemLinkage.hpp
The file was addedcompiler/riscv/codegen/OMRRealRegister.hpp
The file was addedcompiler/riscv/codegen/OMRInstruction.hpp
The file was addedcompiler/riscv/codegen/OpBinary.cpp
The file was addedcompiler/riscv/codegen/RealRegister.hpp
The file was addedcompiler/riscv/codegen/RVSystemLinkage.cpp
The file was addedcompiler/riscv/codegen/OMRRegisterDependency.hpp
The file was addedcompiler/riscv/codegen/RVInstruction.hpp
The file was addedcompiler/riscv/env/OMRDebugEnv.cpp
The file was addedcompiler/riscv/codegen/BinaryEvaluator.cpp
The file was addedcompiler/riscv/codegen/ControlFlowEvaluator.cpp
The file was addedcompiler/riscv/codegen/GenerateInstructions.cpp
The file was addedcompiler/riscv/codegen/FPTreeEvaluator.cpp
The file was addedcompiler/riscv/codegen/RVOutOfLineCodeSection.cpp
The file was addedcompiler/riscv/codegen/riscv-regs.h
The file was addedcompiler/riscv/codegen/OMRInstOpCode.hpp
The file was addedcompiler/riscv/codegen/OMRRegister.hpp
The file was addedcompiler/riscv/codegen/RegisterDependency.hpp
The file was removeddoc/compiler/r/Building.md
The file was addedcompiler/riscv/codegen/RealRegisterMaskEnum.hpp
The file was modifiedcompiler/env/OMRCPU.cpp (diff)
The file was addedcompiler/riscv/codegen/GenerateInstructions.hpp
The file was addedcompiler/riscv/env/OMRDebugEnv.hpp
The file was addedcompiler/riscv/codegen/OMRMemoryReference.hpp
The file was modifiedcompiler/ras/Debug.cpp (diff)
The file was addedcompiler/riscv/codegen/OMRSnippet.cpp
Commit c00692b1ade5f70faa1a7585775a0deacd4d9d3c by jincheng
Update configure scripts for RISC-V in OMR (part1/misc)
The changes mainly include configure scripts to enable RISC-V 64bit from
the OMR perspective.
Issue: eclipse#4426
Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
(commit: c00692b)
The file was modifiedcompiler/env/defines.h (diff)
The file was modifiedcmake/modules/platform/arch/riscv.cmake (diff)
The file was addedexample/glue/configure_includes/configure_linux_riscv.mk
The file was modifiedomrmakefiles/confighelpers.m4 (diff)
The file was modifiedCONTRIBUTING.md (diff)
The file was modifiedtools/configure (diff)
The file was modifiedrun_configure.mk (diff)
The file was modifiedconfigure (diff)
The file was modifiedconfigure.ac (diff)
Commit 9c8092e74e7882b38997bd5412d8cc8b7fbb5231 by dsouzai.gh
Add compilation local TR::Environment
Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
(commit: 9c8092e)
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.hpp (diff)
Commit ffd0b100c660c3006dd19ed14542ff665ae1a112 by dsouzai.gh
Pass CG pointer to TR_X86ProcessorInfo::initialize
Prepare TR_X86ProcessorInfo::initialize to have the means to query a
compilation local target environment.
Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
(commit: ffd0b10)
The file was modifiedcompiler/x/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/x/codegen/OMRCodeGenerator.cpp (diff)
Commit 5862179f83c13419aa8b49c48c05c187c013ccb0 by dsouzai.gh
Delete #ifdef 0 guarded code
Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
(commit: 5862179)
The file was modifiedcompiler/arm/codegen/ConstantDataSnippet.cpp (diff)
Commit ff1ec546638d533511cd39ff924c29ec7af26ee2 by dsouzai.gh
Use compiler local target environment
Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
(commit: ff1ec54)
The file was modifiedcompiler/z/codegen/OMRInstruction.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/optimizer/LoopReducer.cpp (diff)
The file was modifiedcompiler/arm/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/GeneralLoopUnroller.cpp (diff)
The file was modifiedcompiler/codegen/CodeGenGC.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/x/codegen/X86BinaryEncoding.cpp (diff)
The file was modifiedcompiler/z/codegen/OpMemToMem.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64BinaryEncoding.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCBinaryEncoding.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/x/codegen/BinaryCommutativeAnalyser.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Instruction.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRSnippet.cpp (diff)
The file was modifiedcompiler/x/codegen/IntegerMultiplyDecomposer.cpp (diff)
The file was modifiedcompiler/x/codegen/X86Debug.cpp (diff)
The file was modifiedcompiler/optimizer/LocalAnticipatability.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRX86Instruction.cpp (diff)
The file was modifiedcompiler/x/codegen/X86SystemLinkage.cpp (diff)
The file was modifiedcompiler/arm/codegen/UnaryEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/x/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/S390OutOfLineCodeSection.cpp (diff)
The file was modifiedcompiler/riscv/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/x/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/optimizer/ValuePropagationCommon.cpp (diff)
The file was modifiedcompiler/arm/codegen/ARMBinaryEncoding.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Peephole.cpp (diff)
The file was modifiedcompiler/p/codegen/TreeEvaluatorVMX.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/codegen/LiveRegister.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/optimizer/LocalOpts.cpp (diff)
The file was modifiedcompiler/x/codegen/SIMDTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/BinaryCommutativeAnalyser.cpp (diff)
The file was modifiedcompiler/optimizer/LocalDeadStoreElimination.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRInstruction.cpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/x/codegen/X86FPConversionSnippet.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
The file was modifiedcompiler/compile/VirtualGuard.cpp (diff)
The file was modifiedcompiler/x/codegen/HelperCallSnippet.cpp (diff)
The file was modifiedcompiler/ras/Debug.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenPhase.cpp (diff)
The file was modifiedcompiler/arm/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/S390HelperCallSnippet.cpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierHandlers.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkageLinux.cpp (diff)
The file was modifiedcompiler/codegen/Relocation.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCInstruction.cpp (diff)
The file was modifiedcompiler/z/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenPhase.cpp (diff)
The file was modifiedcompiler/il/Aliases.cpp (diff)
The file was modifiedcompiler/optimizer/DeadTreesElimination.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCAOTRelocation.cpp (diff)
The file was modifiedcompiler/p/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRRegisterDependency.cpp (diff)
The file was modifiedcompiler/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/LocalLiveRangeReducer.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRX86Instruction.hpp (diff)
The file was modifiedcompiler/optimizer/OMROptimizationManager.cpp (diff)
The file was modifiedcompiler/x/codegen/FPTreeEvaluator.cpp (diff)
The file was modifiedcompiler/arm/codegen/ConstantDataSnippet.cpp (diff)
The file was modifiedcompiler/ras/Tree.cpp (diff)
The file was modifiedcompiler/z/codegen/UnaryEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/LoadExtensions.cpp (diff)
The file was modifiedcompiler/optimizer/RegDepCopyRemoval.cpp (diff)
The file was modifiedcompiler/z/codegen/CallSnippet.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRInstruction.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/TranslateEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/UnaryEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/InductionVariable.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRMachine.cpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
The file was modifiedcompiler/optimizer/RegisterCandidate.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64HelperCallSnippet.cpp (diff)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRConstantDataSnippet.cpp (diff)
The file was modifiedcompiler/p/codegen/GenerateInstructions.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRMachine.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCDebug.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/z/codegen/S390GenerateInstructions.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/InstOpCode.cpp (diff)
The file was modifiedcompiler/z/codegen/ConstantDataSnippet.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCSystemLinkage.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCTableOfConstants.cpp (diff)
The file was modifiedcompiler/x/codegen/DataSnippet.cpp (diff)
The file was modifiedcompiler/x/codegen/DivideCheckSnippet.cpp (diff)
The file was modifiedcompiler/optimizer/OMRValuePropagation.cpp (diff)
The file was modifiedcompiler/optimizer/LoopVersioner.cpp (diff)
The file was modifiedcompiler/il/OMRNode_inlines.hpp (diff)
The file was modifiedcompiler/optimizer/OMRTransformUtil.cpp (diff)
The file was modifiedcompiler/z/codegen/BinaryAnalyser.cpp (diff)
The file was modifiedcompiler/arm/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/ras/DebugCounter.cpp (diff)
The file was modifiedcompiler/x/codegen/SubtractAnalyser.cpp (diff)
The file was modifiedcompiler/riscv/codegen/ControlFlowEvaluator.cpp (diff)
The file was modifiedcompiler/optimizer/LocalTransparency.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Debug.cpp (diff)
The file was modifiedcompiler/z/codegen/snippet/PPA1Snippet.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/optimizer/GlobalRegisterAllocator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/z/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/codegen/PreInstructionSelection.cpp (diff)
The file was modifiedcompiler/optimizer/PrefetchInsertion.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/codegen/CodeGenRA.cpp (diff)
The file was modifiedcompiler/p/codegen/PPCHelperCallSnippet.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/il/OMRNode.cpp (diff)
The file was modifiedcompiler/z/codegen/snippet/XPLINKCallDescriptorSnippet.cpp (diff)
The file was modifiedcompiler/optimizer/VPHandlers.cpp (diff)
Commit 7a2e9743a3b80cdc30b2671d4c82c60bb54e86a3 by dsouzai.gh
Add query in Linkage to get target from comp
In order to allow the target to be acquired in x/codegen/OMRLinkage.hpp,
this commit adds a static query to get the target from the compilation
object (which has only been forward declared in this header). It may not
be a good idea to include the Compilation class headers in case of
future circular dependancies.
Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
(commit: 7a2e974)
The file was modifiedcompiler/x/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRLinkage.hpp (diff)
Commit 444c94e1ca1e9385a2c759adb1339ce114606157 by dsouzai.gh
Remove unnecessary queries of target environment
Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
(commit: 444c94e)
The file was modifiedcompiler/arm/runtime/VirtualGuardRuntime.cpp (diff)
The file was modifiedcompiler/aarch64/runtime/VirtualGuardRuntime.cpp (diff)
The file was modifiedcompiler/runtime/Trampoline.cpp (diff)
Commit c565a4f635efd83422c05fa7c5ee7abd62a92e8a by devinn
CMake: Refactor DDR support
- Move the OMR_SEPARATE_DEBUG_INFO flag into OmrDDRSupport as consumers
may start using ddr before including omr
- Fix typo in osx split debug info support dysymutil->dsymutil
- Force use of split debug info on osx, as debug info is not stored in
libraries (needs to be extracted from input objects)
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: c565a4f)
The file was modifiedcmake/modules/OmrDDRSupport.cmake (diff)
The file was modifiedcmake/modules/platform/toolcfg/gnu.cmake (diff)
The file was modifiedcmake/config.cmake (diff)
Commit 150a9dc0c0c9b8a9daf5b1356da63baf7184106d by devinn
CMake: Fix ddr on osx
awk on osx does not behave properly when the result of split()
overwrites the input.
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 150a9dc)
The file was modifiedcmake/modules/ddr/cmake_ddr.awk (diff)
Commit a1105d3c4b9a9d40a0b7f112f62dc9813d3dfeef by Dhruv.C.Chopra
Redefine CG queries to return correct answer
The queries modified in this PR are used to replace the generic
compileRelocatableCode() query so that it is easier for downstream
projects to override them on a case-by-case basis. Since the queries are
replacing the original compileRelocatableCode() call, they should be
returning the same result as before in OMR. This commit fixes that
issue.
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: a1105d3)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
Commit 0f824c60338729eb8da4f891cbe3642fcd25308c by qbha
Add OMR macros for processor feature detection
Move required macros, enums and structs from OpenJ9 to OMR's port
library Add function signatures for processor/feature detection to OMR
Implement processor detection on Windows Add processor and feature
detection for Unix Includes Linux, AIX PPC and ZOS systems Add test to
verify processor/feature detection.
Signed-off-by: Aidan Ha <qbha@edu.uwaterloo.ca>
(commit: 0f824c6)
The file was modifiedport/omrportpriv.h (diff)
The file was modifiedport/zos390/omrsysinfo_helpers.h (diff)
The file was addedport/common/omrsysinfo_helpers.h
The file was addedport/linuxs390/omrsysinfo_helpers.h
The file was modifiedport/win32/omrsysinfo.c (diff)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedfvtest/porttest/si.cpp (diff)
The file was modifiedport/common/omrport.c (diff)
The file was modifiedport/unix_include/omrportpg.h (diff)
The file was modifiedport/zos390/omrportpg.h (diff)
The file was modifiedport/CMakeLists.txt (diff)
The file was modifiedport/common/omrport.tdf (diff)
The file was modifiedport/common/omrsysinfo.c (diff)
The file was modifiedport/port_objects.mk (diff)
The file was addedport/common/omrsysinfo_helpers.c
The file was modifiedport/unix/omrsysinfo.c (diff)
Commit eeaaa20785fcebcfbe4b9ab4f2813b88ef2e6263 by devinn
CMake: Update FindDiaSDK
- Honor the 'DiaSDK_ROOT' variable
- Use 64bit libraries when on a 64bit platform
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: eeaaa20)
The file was modifiedcmake/modules/FindDiaSDK.cmake (diff)
Commit 907e5f88164a20fe5e299a6e11d3e15a9dca8350 by graham_chapman
Runtime compressed refs work
Update ForwardedHeader for runtime compressed refs.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: 907e5f8)
The file was modifiedgc/structs/ForwardedHeader.hpp (diff)
The file was modifiedgc/structs/ForwardedHeader.cpp (diff)
Commit 09c895259568a8a54dea3da040d9feb63fc6a8d2 by graham_chapman
Remove uses of J9VM_OUT_OF_PROCESS
This define is never set, and the code guarded by it no longer compiles.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: 09c8952)
The file was modifiedinclude_core/thread_api.h (diff)
The file was modifiedthread/common/omrthreadinspect.c (diff)
Commit 58cda61c3470f289d102cb1a9093363eff8ff6d5 by noreply
Revert "Migrate processor/feature detection from OpenJ9 to OMR Part 1"
(commit: 58cda61)
The file was modifiedport/common/omrport.tdf (diff)
The file was removedport/common/omrsysinfo_helpers.c
The file was modifiedport/win32/omrsysinfo.c (diff)
The file was removedport/common/omrsysinfo_helpers.h
The file was modifiedport/unix/omrsysinfo.c (diff)
The file was modifiedport/common/omrsysinfo.c (diff)
The file was modifiedport/zos390/omrsysinfo_helpers.h (diff)
The file was modifiedfvtest/porttest/si.cpp (diff)
The file was modifiedport/unix_include/omrportpg.h (diff)
The file was removedport/linuxs390/omrsysinfo_helpers.h
The file was modifiedport/zos390/omrportpg.h (diff)
The file was modifiedport/port_objects.mk (diff)
The file was modifiedport/CMakeLists.txt (diff)
The file was modifiedport/common/omrport.c (diff)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedport/omrportpriv.h (diff)
Commit 6103d11fefdd13fc61d3797c5598fcb4f5456ac0 by devinn
CMake: Enable OMR_EXE_LAUNCHER support when launching ddrgen
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 6103d11)
The file was modifiedcmake/modules/ddr/DDRSetStub.cmake.in (diff)
Commit 2fc1630a8df29ff15b749375a462a49fa500499e by liqunl
Propagate prex arg info during inlining
Signed-off-by: Liqun Liu <liqunl@ca.ibm.com>
(commit: 2fc1630)
The file was modifiedcompiler/optimizer/PreExistence.hpp (diff)
The file was modifiedcompiler/optimizer/Inliner.cpp (diff)
The file was modifiedcompiler/optimizer/Inliner.hpp (diff)
Commit bc01a98a0a35ed6b51730e0a9cb216af19e03328 by liqunl
Stop IAP setting site specific information on parm symbol
Site specific information that is propagated from caller can not be
stored into parm symbols as the method can be called at different call
sites with different argument info. One exception is the fixed type info
on the outer most method's arguments, because the arguments exist before
entering the method.
Signed-off-by: Liqun Liu <liqunl@ca.ibm.com>
(commit: bc01a98)
The file was modifiedcompiler/optimizer/LocalOpts.cpp (diff)
The file was modifiedcompiler/optimizer/LocalOpts.hpp (diff)
Commit 2221bfe12823550dd2778406e454172bc42a9479 by haleycao88
Add OMR_PORT_SOCKET_SUPPORT flag to enable/disable usage of socket API
Created the flag for a more lightweight OMR library if user prefers
- Created the flag and added it to build systems including autoconf and
CMake.
- To run with the flag ON, run `cmake .. -DOMR_PORT_SOCKET_SUPPORT=ON`
in command line.
- Flag is set to be ON for CI and appveyor testing.
Issue: #4102
Co-authored-by: Babneet Singh <sbabneet@ca.ibm.com>
Signed-off-by: Haley Cao <haleycao88@hotmail.com>
(commit: 2221bfe)
The file was modifiedinclude_core/omrcfg.h.in (diff)
The file was modifiedcmake/caches/Travis.cmake (diff)
The file was modifiedcmake/caches/Appveyor.cmake (diff)
The file was modifiedcmake/config.cmake (diff)
The file was modifiedconfigure.ac (diff)
The file was modifiedomrmakefiles/configure.mk.in (diff)
The file was modifiedexample/glue/configure_includes/configure_common.mk (diff)
The file was modifiedinclude_core/omrcfg.cmake.h.in (diff)
The file was modifiedconfigure (diff)
Commit abf078f726a1fa62d8663c2848c9fa7538a86f47 by haleycao88
Modified files related to OMR Socket API to use flag
Updated makefile and CMakeList.txt to only compile socket related files
when flag on
- Also updated omrport.h, omrport.c and other files related to the OMR
Socket
API in port library.
- Wrap files, omrsock.c and omrsockTest.cpp with ifdefs and check if
flags were
previously defined, as well as wrapping around Objects for
compilations.
Issue: #4102
Signed-off-by: Haley Cao <haleycao88@hotmail.com>
(commit: abf078f)
The file was modifiedport/common/omrport.c (diff)
The file was modifiedport/common/omrsock.c (diff)
The file was modifiedport/omrportpriv.h (diff)
The file was modifiedfvtest/porttest/makefile (diff)
The file was modifiedfvtest/porttest/CMakeLists.txt (diff)
The file was modifiedport/CMakeLists.txt (diff)
The file was modifiedport/port_objects.mk (diff)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedfvtest/porttest/omrsockTest.cpp (diff)
Commit 051260bbe7c07a408aed8c6a57e1119255f57dcb by keithc
DDR: add support for xlc/xlclang version 16
* add support for continued STABS entries (but ignore unknown tags
that are likely due to truncated output of the dump utility)
* add support for C++ ellipses parameter types
* consider types '__\d+' un-named on AIX
* define DW_FORM_block* constants
* ensure __IBMCPP_TR1__ is always defined on AIX
(but only do so in config.hpp)
* extract function to get value of DW_AT_const_value attribute
* fix handling of pointer to member types
- skip past optional 'virtual' and 'multiple' base specifications
* fix handling of enum literal values
(they are expressed in decimal not hex in STABS entries)
* fix recognition of vtable pointers (xlclang defines __GNUC__)
* handle anonymous typedefs
* ignore static fields (xlc 13 doesn't produce STABS entries for them)
* don't return NULL for unknown builtin types
* fail if we can't decode a STABS string
* define macro ddr_constant(name, value)
- for handling anonymous nested types; expands to
     static enum { name = value } ddr_ref_ ## name
   (only for xlc/xlclang version 16)
* recognize anonymous fields: '#bit_field_\d+'
* clean up:
- pass strings by reference
- remove useless const modifier for primitive type parameters
- remove redundant test
- streamline creation of dump command
- remove unused function shiftDecimal()
- whitespace (tabs should only appear at the beginning of a line)
- extract addRefToPopulate()
- issue error if reference resolution fails
- print error and exit on bad type reference
* fix handling of C++11 versus TR1
- clean up access to unordered_map
- remove definition of unused macro: OMR_HAVE_TR1
- remove useless using declarations (hash, runtime_error)
Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
(commit: 051260b)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfScanner.cpp (diff)
The file was modifiedddr/include/ddr/scanner/dwarf/DwarfFunctions.hpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/AixSymbolTableParser.cpp (diff)
The file was modifiedddr/include/ddr/scanner/pdb/PdbScanner.hpp (diff)
The file was modifiedddr/tools/ddrgen/ddrgen.cpp (diff)
The file was modifiedddr/include/ddr/scanner/dwarf/AixSymbolTableParser.hpp (diff)
The file was modifiedddr/lib/ddr-scanner/dwarf/DwarfFunctions.cpp (diff)
The file was modifiedddr/lib/ddr-blobgen/java/genBlobJava.cpp (diff)
The file was modifiedinclude_core/omr.h (diff)
The file was modifiedddr/include/ddr/std/unordered_map.hpp (diff)
The file was modifiedddr/include/ddr/scanner/dwarf/DwarfScanner.hpp (diff)
The file was modifiedddr/include/ddr/config.hpp (diff)
The file was modifiedgc/base/standard/CompactScheme.hpp (diff)
Commit ea23cbc62c248cd8398770c16190be3560b68aeb by mehra.ashutosh
Export omrthread_attr_set_detachstate
For some reason omrthread_attr_set_detachstate was not exported, while
other similar functions are. omrthread_attr_set_detachstate is now
needed by OpenJ9 project as part of this PR:
https://github.com/eclipse/openj9/pull/7940.
Signed-off-by: Ashutosh Mehra <mehra.ashutosh@ibm.com>
(commit: ea23cbc)
The file was modifiedthread/thread_include.mk (diff)
The file was modifiedthread/exports.cmake (diff)
Commit 41a869309baa0302b9bc6a7ee8ac312daebe8a8a by jincheng
Update makefile scripts for RISC-V in OMR (part3/omr)
The changes mainly include makefile scripts at the omr-specific
directories to enable RISC-V 64bit from the OMR perspective.
Issue: eclipse#4426
Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
(commit: 41a8693)
The file was modifiedomrmakefiles/configure.mk.in (diff)
The file was modifiedomrmakefiles/rules.linux.mk (diff)
Commit 7f039b86bd3d805df16943e1d3f4d46b62436b78 by sbabneet
Disable the OMR_THR_MCS_LOCKS flag
https://github.com/eclipse/omr/pull/4596 was accidentally merged.
Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
(commit: 7f039b8)
The file was modifiedcmake/caches/Travis.cmake (diff)
The file was modifiedcmake/caches/Appveyor.cmake (diff)
Commit a42f6f58ebcc571ee3840bca4381ba2171295b32 by qbha
Add OMR macros for processor feature detection
Move required macros, enums and structs from OpenJ9 to OMR's port
library Add function signatures for processor/feature detection to OMR
Implement processor detection on Windows Add processor and feature
detection for Unix Includes Linux, AIX PPC and ZOS systems Add test to
verify processor/feature detection.
Signed-off-by: Aidan Ha <qbha@edu.uwaterloo.ca>
(commit: a42f6f5)
The file was modifiedport/zos390/omrsysinfo_helpers.h (diff)
The file was modifiedport/common/omrport.c (diff)
The file was addedport/linuxs390/omrsysinfo_helpers.h
The file was modifiedport/unix_include/omrportpg.h (diff)
The file was addedport/common/omrsysinfo_helpers.c
The file was modifiedport/omrportpriv.h (diff)
The file was modifiedport/win32/omrsysinfo.c (diff)
The file was modifiedfvtest/porttest/si.cpp (diff)
The file was modifiedport/CMakeLists.txt (diff)
The file was modifiedport/port_objects.mk (diff)
The file was modifiedport/common/omrport.tdf (diff)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedport/common/omrsysinfo.c (diff)
The file was modifiedport/unix/omrsysinfo.c (diff)
The file was addedport/common/omrsysinfo_helpers.h
The file was modifiedport/zos390/omrportpg.h (diff)
Commit 225e17e4fe9b4dbd26c62c9f5596bd7f008c7a3a by saiaki
AArch64: Add generateBinaryEncodingPrePrologue in OMRCodeGenerator
This commit adds generateBinaryEncodingPrePrologue, which is used to
generate meta data and pre-prologue before method body.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 225e17e)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.cpp (diff)
Commit 9fca434650ca52d236608e8256f179bfd56883a6 by ben
Fix incorrect binary encoding for vmax* instructions
Previously, the prototypes for the vmax* family of instructions were
incorrect. Sepcifically, trying to generate a vmaxs* instruction would
actually generate a vmaxu* instruction and vice-versa. This could cause
unpredictable and difficult to diagnose issues if these instructions
were used.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 9fca434)
The file was modifiedcompiler/p/codegen/OMRInstOpCodeProperties.hpp (diff)
Commit 71536e1245fdbccdc8e481a9bc19763c0905742a by pushkar.bettadpur
Fixes incorrect register copy and GPR0 use in memory reference
instructions
When `assignBestRegisterSingle` method looks to perform a register
shuffle on memory reference registers, it checks if the instruction
defines the register in question and if not, places the register copy
above the instruction in question. This is functionally incorrect as
registers freed as part of a shuffle can be allocated elsewhere and
subsequently get clobbered as part of the register copy.
This commit removes the erroneous modification to register copy location
and further, prevents the use of GPR0 across all registers in an
instruction involving a memory reference.
Signed-off-by: Pushkar Bettadpur <pushkar.bettadpur@gmail.com>
(commit: 71536e1)
The file was modifiedcompiler/z/codegen/OMRInstruction.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRMachine.cpp (diff)
Commit 4f484f5895ef0623875261ff57da34f02f07280a by ben
Fix incorrect binary encoding for tabortwc
Previously, the prototypes for the tabortwc extended mnemonics were
incorrect and were instead generating tabortdc instructions. This could
cause undefined behaviour, since the upper word of a register containing
a 32-bit value is generally considered undefined. This has now been
fixed and these instructions should generate the correct binary
encodings.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 4f484f5)
The file was modifiedcompiler/p/codegen/OMRInstOpCodeProperties.hpp (diff)
Commit a62433c6905465d2338f435c31e4a38d8d6979d3 by pushkar.bettadpur
Ensured calls to findBestFreeRegister provide a Register Mask and modify
check for useGPR0
The `findBestFreeRegister` API provides an argument to set what
registers are available/unavailable for allocation. However a lot of
invocations do not specify this argument and instead, a check is
performed within `findBestFreeRegister` for a memory reference register
and found, GPR0 is made unavailable. These checks lack the appropriate
context and it is conceptually cleaner for the caller to set what
registers it would like used.
This commit finds invocations of `findBestFreeRegister` and sets the
available registers field. It also removes the now unnecessary memory
reference check.
Signed-off-by: Pushkar Bettadpur <pushkar.bettadpur@gmail.com>
(commit: a62433c)
The file was modifiedcompiler/z/codegen/OMRMachine.cpp (diff)
Commit 297d8429b7d6d6acaa78c43917d21a4214e7f711 by saiaki
AArch64: Add Constant Data Snippet
This commit adds Constant Data Snippet for aarch64. The code generator
is changed to have a list of constant data snippets as x/z code
generator does. The snippet adds minimal meta data to the address as ppc
version does.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 297d842)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRSnippet.hpp (diff)
The file was addedcompiler/aarch64/codegen/ConstantDataSnippet.cpp
The file was addedcompiler/aarch64/codegen/ConstantDataSnippet.hpp
The file was modifiedcompiler/aarch64/CMakeLists.txt (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64Debug.cpp (diff)
The file was modifiedjitbuilder/build/files/target/aarch64.mk (diff)
Commit 4342618c19c4f058b941587838a1b2597f423ad0 by graham_chapman
Remove definitions and uses of J9VM_ flags
Remove always-defined flags and use OMR_ flags instead of J9VM_ ones.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: 4342618)
The file was modifiedgc/base/modronopt.h (diff)
The file was modifiedgc/base/standard/ParallelGlobalGC.cpp (diff)
The file was modifiedgc/base/standard/Scavenger.cpp (diff)
The file was modifiedinclude_core/omr.h (diff)
The file was modifiedinclude_core/omrcomp.h (diff)
The file was modifiedgc/base/Configuration.cpp (diff)
Commit 435546aa98d140096b989e5fcbcc017e6fef80a6 by liqunl
Interface and abstract class can not be final
For interface and abstract classes, even though they haven't been
extended, we can't treat them as currently final as they will be
extended later.
Also check that `refinedMethod` is not `NULL` before continue.
Signed-off-by: Liqun Liu <liqunl@ca.ibm.com>
(commit: 435546a)
The file was modifiedcompiler/optimizer/LocalOpts.hpp (diff)
The file was modifiedcompiler/optimizer/LocalOpts.cpp (diff)
Commit cce8a35b5e8bca5f432f4dbf59a37b9e27c30e5f by konno
AArch64: Add TR_ASSERT_FATAL() to generateCompareImmInstruction()
This commit adds a TR_ASSERT_FATAL() for the range of the immediate
value in generateCompareImmInstruction().
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: cce8a35)
The file was modifiedcompiler/aarch64/codegen/GenerateInstructions.cpp (diff)
Commit cc6632f480fba6750ee6220a436156f6c269b2b8 by konno
AArch64: Use madd and msub instructions when applicable
This commit adds code generation for madd and msub instructions to
iadd/ladd/isub/lsubEvaluators. It also removes an unused function
addOrSubInteger() from BinaryEvaluator.cpp.
Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
(commit: cc6632f)
The file was modifiedcompiler/aarch64/codegen/BinaryEvaluator.cpp (diff)
Commit 071ded81404ccbebf575c531ba192626a37885bd by qbha
Add TR::Region::reset helper function
Correctly releases memory managed by TR::Region
Signed-off-by: Aidan Ha <qbha@edu.uwaterloo.ca>
(commit: 071ded8)
The file was modifiedcompiler/env/Region.hpp (diff)
The file was modifiedcompiler/optimizer/RegisterCandidate.hpp (diff)
The file was modifiedcompiler/il/NodePool.cpp (diff)
The file was modifiedcompiler/infra/OMRCfg.cpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
Commit 0c825275e8356b4cd0cfe581ddca6968b55e8841 by Yuehan.Lin
Added ASTToTRNode classes for tril ilgen
Signed-off-by: Yuehan-Lin <Yuehan.Lin@ibm.com>
(commit: 0c82527)
The file was modifiedfvtest/tril/test/IlGenTest.cpp (diff)
The file was addedfvtest/tril/tril/state.hpp
The file was addedfvtest/tril/tril/converter.hpp
The file was addedfvtest/tril/tril/CallConverter.cpp
The file was modifiedfvtest/tril/tril/ilgen.cpp (diff)
The file was modifiedfvtest/tril/tril/CMakeLists.txt (diff)
The file was modifiedfvtest/tril/tril/ilgen.hpp (diff)
The file was modifiedcompiler/ilgen/OMRTypeDictionary.hpp (diff)
The file was addedfvtest/tril/tril/GenericNodeConverter.cpp
The file was addedfvtest/tril/tril/CallConverter.hpp
The file was modifiedcompiler/ilgen/OMRTypeDictionary.cpp (diff)
The file was addedfvtest/tril/tril/GenericNodeConverter.hpp
The file was modifiedfvtest/tril/tril/simple_compiler.cpp (diff)
Commit 44322820e7da746fba3029b44eeec4327acb469a by fjeremic
Deprecate assignRegistersNoDependencies as it is no longer used
This API is not used anywhere and its current implementation looks
incomplete. We remove it here to prevent people using it.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 4432282)
The file was modifiedcompiler/z/codegen/S390Instruction.hpp (diff)
The file was modifiedcompiler/z/codegen/S390Instruction.cpp (diff)
Commit a0d1e7a817eba832e35771322b237dd4689a6fd2 by Yiling.Han
Add a flag for ternary
A flag is added in codegen since ternary is only supported on x, p and z
for now.
Signed-off-by: Yiling Han <Yiling.Han@ibm.com>
(commit: a0d1e7a)
The file was modifiedcompiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/x/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
Commit 51f5ca727008d106fcfd66345c0dba5eed03c984 by Yiling.Han
Enable CFG Simplifier
CFG simplifier is turned on for x, p and z, since ternary used in CFG
simplifier is supported on those three platforms for now.
Signed-off-by: Yiling Han <Yiling.Han@ibm.com>
(commit: 51f5ca7)
The file was modifiedcompiler/optimizer/OMRCFGSimplifier.cpp (diff)
Commit 95dacb07a5e8512bebb6e1550dd60a585c6e26f9 by saiaki
AArch64: Add AOT relocation to address constant
This commit changes aconstEvaluator to add AOT relocation to address
constant.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 95dacb0)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRTreeEvaluator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/UnaryEvaluator.cpp (diff)
Commit b24b47687692ce10c6b74e58b9a1c45b0ce3a562 by atobia
Add jit newValue helper
Signed-off-by: Tobi Ajila <atobia@ca.ibm.com>
(commit: b24b476)
The file was modifiedcompiler/compile/OMRSymbolReferenceTable.hpp (diff)
The file was modifiedcompiler/runtime/Helpers.inc (diff)
The file was modifiedcompiler/il/Aliases.cpp (diff)
The file was modifiedcompiler/compile/OMRSymbolReferenceTable.cpp (diff)
The file was modifiedcompiler/ras/Debug.cpp (diff)
Commit f162c57ea35f6007f6bb25397417f3a1a6da91a7 by ben
Rename VMX record form compare instructions
Previously, the enumeration value names for the VMX record-form compare
instructions did not follow the general rule of adding '_r' to the name
of their non-record-form instructions. This was needlessly confusing and
inconsistent. These instructions have now had their names updated to
follow the usual style. Note that aliases have been left for the old
names, since OpenJ9 is referencing some of these instructions directly.
Additionally, the instruction properties table has been updated to
derive the properties of the VMX record-form compare instructions from
those of their non-record-form counterparts.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: f162c57)
The file was modifiedcompiler/p/codegen/OMRInstOpCodeProperties.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRInstOpCodeEnum.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRTreeEvaluator.cpp (diff)
Commit 6396708c88e1f6eaaa4a944702b13b7adda3b5d3 by saiaki
AArch64: Correctly decode logic immediate in ARM64Debug
Correctly decode immediate value for logical operator in ARM64Debug.cpp.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 6396708)
The file was modifiedcompiler/aarch64/codegen/ARM64Debug.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.hpp (diff)
Commit 2b4931420ef46fc38537713e9394098766592b1f by yizhang
Remove redundant parm to avoid incorrect usage
Both `detectInternalCycles` and `catchBlocksHaveRealPredecessors` are
intended to detect patterns in the CFG of the receiver method symbol.
When calling from `OMR::ResolvedMethodSymbol::genIL` the CFG of the
compiling method is passed in rather than the method whose IL is
generated which is incorrect. Remove the CFG parm which can be obtained
from self()->getFlowGraph() to avoid incorrect use of the API.
Signed-off-by: Yi Zhang <yizhang@ca.ibm.com>
(commit: 2b49314)
The file was modifiedcompiler/il/OMRResolvedMethodSymbol.hpp (diff)
The file was modifiedcompiler/il/OMRResolvedMethodSymbol.cpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
Commit 5e9133a8c89dc853fa43ffb33818d54b239367c6 by Dhruv.C.Chopra
Disable ResumableTraps when TR_DisableTraps option is set
Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
(commit: 5e9133a)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
Commit d27fc6166b643f07d8fc83d4c5cf5c7976bbb4ba by vijaysun
Added support for loadaddr in copy propagation. Replace a load of an
auto sym ref A by a loadaddr of an auto sym ref B if there was a store
of A : store A = loadaddr B feeding the load of sym ref A.
Signed-off-by: Vijay Sundaresan <vijaysun@ca.ibm.com>
(commit: d27fc61)
The file was modifiedcompiler/optimizer/CopyPropagation.cpp (diff)
Commit 40de28e7b0e557ab1851bfa59edd6484be26f119 by Peter_Shipton
Remove redundant NULL check code to fix xlc 16 compile error
Since buffer[] is stack allocated, it can never be NULL.
Fixes #4698
Signed-off-by: Peter Shipton <Peter_Shipton@ca.ibm.com>
(commit: 40de28e)
The file was modifiedport/unix/omrsysinfo.c (diff)
Commit 44323c9ef9f38bbb6a54ddb06947bd84c80f1de7 by yizhang
Add NoRecompilationRecoverableILGenException
Very often when failing ilgen is because of limitation of the compiler
we would want the caller's compilation to continue but don't want to
recompile the failing method itself because it would fail again due to
the limitation. Added NoRecompilationRecoverableILGenException for such
case.
Signed-off-by: Yi Zhang <yizhang@ca.ibm.com>
(commit: 44323c9)
The file was modifiedcompiler/compile/CompilationException.hpp (diff)
Commit e4894dd6aeb587f3aad465afab6f378ae1c0a961 by saiaki
AArch64: Load StartPC constant with pc-relative load instruction
This commit enables ARMTrg1ImmSymInstruction to handle StartPC constant,
and change loadRelocatableConstant to use it.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: e4894dd)
The file was modifiedcompiler/aarch64/codegen/ARM64BinaryEncoding.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64Instruction.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/ARM64Debug.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/GenerateInstructions.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/GenerateInstructions.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRMemoryReference.cpp (diff)
Commit 54e7090b9a9fcfa360e71034cd428940066d2825 by higorb1
Change control access of isLargePage in MemoryManager to public
This update is required by eclipse/openj9#8254
Signed-off-by: Igor Braga <higorb1@gmail.com>
(commit: 54e7090)
The file was modifiedgc/base/MemoryManager.hpp (diff)
Commit b8a91ce9708e218de14a50c6008eba4c63651fd4 by higorb1
Add arraylet double map request field
This update is required by eclipse/openj9#8254
Signed-off-by: Igor Braga <higorb1@gmail.com>
(commit: b8a91ce)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
Commit f05e533c80a36ad9d04bf7ab4d6ab5486567c2a6 by fjeremic
Remove redundant z13 processor checks on Z
Similarly to all other processors, since the migration of CPU checks to
the CPU class we no longer need to explicitly check for specific
"disableZ13*" options when also checking for processor support since
these checks are already performed for us.
We simplify the implementation here to stay consistent with all the
other checks for the various CPU processors.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: f05e533)
The file was modifiedcompiler/control/OMROptions.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
The file was modifiedcompiler/z/codegen/S390Peephole.cpp (diff)
Commit 679e117f983ee75f757ffb459f5e548b185cf656 by fjeremic
Remove xlC V1R11 workaround in optimizer
This workaround was for a very old version of xlC compiler (10 years
old) which we no longer build with. Code archeology reveals the original
bug was a compile time crash with the following backtrace:
```
Method_being_compiled=sun/io/Converters.cache(ILjava/lang/Object;)Ljava/lang/Class;
TR_J9VM::getBaseComponentClass(TR_OpaqueClassBlock*,int&)
TR_J9VMBase::getClassSignature(TR_OpaqueClassBlock*,int&,TR_Memory*)
TR_VPResolvedClass::create(TR_ValuePropagation*,TR_OpaqueClassBlock*)
constrainCheckcast(TR_ValuePropagation*,TR_Node*)
TR_ValuePropagation::processTrees(TR_TreeTop*,TR_TreeTop*)
TR_GlobalValuePropagation::processBlock(TR_StructureSubGraphNode*,bool,bool)
TR_GlobalValuePropagation::processRegionNode(TR_StructureSubGraphNode*,bool,bool)
TR_GlobalValuePropagation::processRegionSubgraph(TR_StructureSubGraphNode*,bool,bool,bool)
TR_GlobalValuePropagation::processRegionNode(TR_StructureSubGraphNode*,bool,bool)
TR_GlobalValuePropagation::processRegionSubgraph(TR_StructureSubGraphNode*,bool,bool,bool)
TR_GlobalValuePropagation::processStructure(TR_StructureSubGraphNode*,bool,bool)
TR_GlobalValuePropagation::processRegionSubgraph(TR_StructureSubGraphNode*,bool,bool,bool)
TR_GlobalValuePropagation::perform()
```
```
Method_being_compiled=java/util/WeakHashMap.isEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
TR_J9VM::getBaseComponentClass(TR_OpaqueClassBlock*,int&)
TR_J9VMBase::getClassSignature(TR_OpaqueClassBlock*,int&,TR_Memory*)
TR_VPFixedClass::create(TR_ValuePropagation*,TR_OpaqueClassBlock*)
constrainIfcmpeqne(TR_ValuePropagation*,TR_Node*,bool)
constrainIfcmpne(TR_ValuePropagation*,TR_Node*)
TR_ValuePropagation::processTrees(TR_TreeTop*,TR_TreeTop*)
TR_GlobalValuePropagation::processBlock(TR_StructureSubGraphNode*,bool,bool)
TR_GlobalValuePropagation::processRegionNode(TR_StructureSubGraphNode*,bool,bool)
TR_GlobalValuePropagation::processRegionNode(TR_StructureSubGraphNode*,bool,bool)
TR_GlobalValuePropagation::processRegionSubgraph(TR_StructureSubGraphNode*,bool,bool,bool)
TR_GlobalValuePropagation::perform()
TR_OptimizerImpl::performOptimization(TR_OptimizerImpl::Optimization*,int,int,int)
TR_OptimizerImpl::performOptimization(TR_OptimizerImpl::Optimization*,int,int,int)
TR_OptimizerImpl::optimize()
```
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 679e117)
The file was modifiedcompiler/optimizer/VPConstraint.cpp (diff)
Commit f3944170495ecace91caf810bda9f49ad0f29229 by ajcraik
Revert PR4699 "Added support for loadaddr in copy propagation."
Recent changes in PR4699 to adds support to copy propagation for
loadaddr nodes are responsible for acceptance build failures at OpenJ9
with a variety of crashes. This change backs out the changes in PR4699
until the cause of the problem is identified.
This reverts commit d27fc6166b643f07d8fc83d4c5cf5c7976bbb4ba.
Signed-off-by: Andrew Craik <ajcraik@ca.ibm.com>
(commit: f394417)
The file was modifiedcompiler/optimizer/CopyPropagation.cpp (diff)
Commit aa503641040f0986ccea5dfff68500c9fb186494 by aaronwang0407
Remove references to TR_NodeAliasSetInterface
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: aa50364)
The file was modifiedcompiler/il/OMRSymbolReference.hpp (diff)
Commit 2c0470c88ce45e61b16c8e8de7f69f80a67a9b03 by higorb1
Introduce arraylet double mapping verbose GC option
Introduce double mapping verbose GC option for balanced GC policy where
it outputs "true" if arraylet double mapping is enabled and "false"
otherwise
Update schema.xsd with balanced verbose gc options
Signed-off-by: Igor Braga <higorb1@gmail.com>
(commit: 2c0470c)
The file was modifiedgc/verbose/VerboseHandlerOutput.cpp (diff)
The file was modifiedgc/verbose/schema.xsd (diff)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
The file was modifiedgc/base/MemoryManager.cpp (diff)
Commit 688c417ee91e939ce668e05fa405d55f11b71524 by graham_chapman
Runtime compressed refs work
Remove explicit and implicit (pointer math) uses of
sizeof(fomrobject_t).
The example and fvtest code are not updated in this change.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: 688c417)
The file was modifiedgc/base/IndexableObjectScanner.hpp (diff)
The file was modifiedgc/base/ObjectScanner.hpp (diff)
The file was modifiedgc/base/standard/ConcurrentGC.cpp (diff)
The file was modifiedgc/base/ObjectModelBase.hpp (diff)
The file was modifiedgc/base/SlotObject.hpp (diff)
The file was modifiedgc/base/segregated/MemoryPoolSegregated.cpp (diff)
Commit a32deed8e21bfdd1962dd05f17ca1f1699ebbd86 by saiaki
AArch64: Add generateNop to code generator
This commit adds `generateNop` function to OMR::ARM64::CodeGenerator.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: a32deed)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.hpp (diff)
The file was modifiedcompiler/aarch64/codegen/OMRCodeGenerator.cpp (diff)
Commit e2a164e00769de64d21daf63a8faf31879e9bc1b by aaronwang0407
Remove references of const IL Opcode TR::buconst
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: e2a164e)
The file was modifiedcompiler/x/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/UnaryEvaluator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/il/OMRNode_inlines.hpp (diff)
The file was modifiedcompiler/z/codegen/OMRTreeEvaluator.cpp (diff)
Commit e20a9bde93fd28e647c9a8200259ee37a81de0fd by aaronwang0407
Remove references of IL opcodes TR::iuconst
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: e20a9bd)
The file was modifiedcompiler/optimizer/LocalOpts.cpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierHandlers.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/il/OMRNode_inlines.hpp (diff)
The file was modifiedcompiler/optimizer/VPHandlers.cpp (diff)
The file was modifiedcompiler/p/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/aarch64/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/arm/codegen/BinaryEvaluator.cpp (diff)
Commit d3fb3837f7f7f615cdc32ada6da3276567fad218 by aaronwang0407
Remove References of IL Opcode TR::luconst
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: d3fb383)
The file was modifiedcompiler/p/codegen/BinaryEvaluator.cpp (diff)
The file was modifiedcompiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRMemoryReference.cpp (diff)
The file was modifiedcompiler/il/OMRNode_inlines.hpp (diff)
The file was modifiedcompiler/p/codegen/UnaryEvaluator.cpp (diff)
Commit d2e005b1f5014166ffd95d11731afa06a9d36186 by aaronwang0407
Remove creation of nodes with deprecated unsigned add/sub opcodes
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: d2e005b)
The file was modifiedcompiler/optimizer/DebuggingCounters.cpp (diff)
The file was modifiedcompiler/il/OMRILOps.hpp (diff)
The file was modifiedcompiler/optimizer/OMRSimplifierHandlers.cpp (diff)
Commit 5394e1bca3fb68358c192cb09b6a585d685704b4 by aaronwang0407
Fatal assert creation of any deprecated call/reture Add/Sub opcodes
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
(commit: 5394e1b)
The file was modifiedcompiler/il/OMRNode.hpp (diff)
Commit a463941682ca657cc5e4a44230f8046314280aa6 by ben
Fix VSX record form instruction properties
Previously, the VSX compare instructions did not correctly set up their
properties to reflect that they have record form variants. Additionally,
the record form variants of these instructions did not inherit their
properties from the non-record form variants. These issues have now been
corrected.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: a463941)
The file was modifiedcompiler/p/codegen/OMRInstOpCodeProperties.hpp (diff)
Commit d18a6c840e0ed0973c3ae9e30d8e73e5c0492887 by langman
Added -Xjit option TR_DisableImmutableFieldAliasing
Signed-off-by: Kevin Langman <langman@ca.ibm.com>
(commit: d18a6c8)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
The file was modifiedcompiler/control/OMROptions.hpp (diff)
Commit f7d59850587ecd4e131f219a19c0a05de8b55bbd by ben
Add unit tests for the Power binary encoder
Previously, there was no direct testing of the Power codegen's binary
encoder. While portions of it would be exercised by the Tril tests and
through the test suites of downstream projects such as OpenJ9, there was
a significant amount of functionality that was not tested since it is
either currently unused or only used in very exotic situations that are
unlikely to be exercised by the existing test suite.
In order to better confirm that the Power binary encoder is working as
expected, a new set of unit tests are being added that should exercise
as much of its functionality as possible. The iteration of these tests
being contributed include comprehensive tests for most non-memory
opcodes currently in use by the Power codegen in either OMR or OpenJ9.
Note that a number of these tests are currently disabled due to known
issues in the Power binary encoder. These will be fixed as part of an
ongoing refactor to make the Power binary encoder easier to maintain.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: f7d5985)
The file was addedfvtest/compilerunittest/p/BinaryEncoder.cpp
The file was addedfvtest/compilerunittest/CodeGenTest.hpp
The file was modifiedfvtest/CMakeLists.txt (diff)
The file was addedfvtest/compilerunittest/CMakeLists.txt
The file was addedfvtest/compilerunittest/main.cpp
Commit dc49663fb56effc84ad73a9a44064a092162eab6 by devinn
CMake: Add exported symbol support for gcc
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: dc49663)
The file was addedcmake/modules/platform/toolcfg/gnu_exports.exp.in
The file was modifiedcmake/modules/platform/toolcfg/gnu.cmake (diff)
Commit 8a5ad907b6bf4762e2eff7d3ef724d6a28d4d893 by saiaki
AArch64: Set prepareForOSR helper to system linkage
This commit sets `prepareForOSR` helper to system linkage for aarch64.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 8a5ad90)
The file was modifiedcompiler/il/OMRResolvedMethodSymbol.cpp (diff)
Commit cda8169fbd6606e509aa4a04a05e7f04095f1436 by fjeremic
Deprecate getFirstReadWriteMemoryReference
This function is no longer used and is not needed.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: cda8169)
The file was modifiedcompiler/z/codegen/S390Instruction.hpp (diff)
The file was modifiedcompiler/z/codegen/S390Instruction.cpp (diff)
Commit 440a3f87941e194aa2fce4c5cf8f31570e23e31a by fjeremic
Fix recursive case in JitBuilder recfib test
The recursive case was incorrectly placed under a define when it should
be always on by default. We also take this opportunity to migrate some
statics which are only used within the function into local statics.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 440a3f8)
The file was modifiedjitbuilder/release/cpp/samples/RecursiveFib.cpp (diff)
Commit c3cad6f693a36745853c5df88f640b75858a3869 by fjeremic
Fix XPLINK call descriptor generation for callouts
The cursor currently needs to be specified to `genCallNOPAndDescriptor`
to ensure it is generated after the call instruction. Currently because
of the way the `TR::S390Imm2Instruction` constructor works it ends up
generating the call descriptor at the start of the instruction stream if
a `NULL` preceeding instruction is specified. This will be fixed in
outside the scope of this change.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: c3cad6f)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
Commit 302d04c222383c426add291c3a0bb32a067639c9 by fjeremic
Use __malloc31 on z/OS to allocate code cache related memory
We currently lack full trampoline support in OMR. To get JitBuilder
callouts to native functions working we must ensure we can encode the
distance from the JIT method body to the native with a `BRASL`
instruction which only has a signed 32-bit range.
The only way to currently achieve this is to allocate all code cache
memory below the bar. Once JitBuilder is hooked up to the port library
we should be able to safely use the port library APIs to accomplish
this. See #4719 for more details to references of how this is done in
OpenJ9.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 302d04c)
The file was modifiedjitbuilder/runtime/JBCodeCacheManager.cpp (diff)
The file was modifiedcompiler/env/FEBase_t.hpp (diff)
The file was modifiedfvtest/compilertest/runtime/TestCodeCacheManager.cpp (diff)
Commit e1519a01cd43304b4e15e8cdcf10f17af2a0445a by liqunl
Added support for loadaddr in copy propagation
Replace a load of an auto sym ref A by a loadaddr of an auto sym ref B
if there was a store of A : store A = loadaddr B feeding the load of sym
ref A.
Signed-off-by: Liqun Liu <liqunl@ca.ibm.com>
(commit: e1519a0)
The file was modifiedcompiler/optimizer/CopyPropagation.cpp (diff)
Commit d457bb6bbad62fd1af1c8c49cdaedce1bafd33fe by fjeremic
Fix Tril lexer transition table size for z/OS
The current Tril lexer transition table assumes ASCII so it only creates
128 entries for the transitions. This will not work on z/OS because the
native encoding is EBCDIC, so the table size needs to be bumped up to
256 to handle all EBCDIC characters so we have proper transitions.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: d457bb6)
The file was modifiedfvtest/tril/tril/parser.cpp (diff)
Commit db06abfbb2af4c204de93ec18c8769b4e4290a3a by ben
Remove the unused Power ba and bla instructions
Previously, the Power codegen had the ability to generate ba and bla
instructions. These instructions were able to branch to any absolute
sign-extended 24-bit address. However, the binary encoding logic never
supported these instructions and they would be exceedingly difficult to
use, as ensuring an address falls within the range a ba/bla instruction
could branch to would be difficult. As a result of this, these
instructions have been removed.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: db06abf)
The file was modifiedcompiler/p/codegen/OMRInstOpCodeProperties.hpp (diff)
The file was modifiedcompiler/p/codegen/OMRCodeGenerator.cpp (diff)
The file was modifiedcompiler/p/codegen/OMRInstOpCodeEnum.hpp (diff)
Commit 7069efe947801e0250758d8e318626509627b10d by fjeremic
Fix linkage register preservation in prologue on z/OS
The z/OS system linkage uses the `saveArguments` function to offload
arguments to the stack if needed. This function traverses the parameter
list looking for arguments which are part of the linkage (linkage
arguments) and if needed it stores them to the stack for use in the
method.
This is currently not done on z/OS for Doubles. What ends up happening
is that the linkage register index (lri) is -1 for Double parameters and
as such we never store them off to the stack. Subsequently the method
body when referencing such parameters tries to load them from the stack
and we get back garbage.
To fix this we simply enable the logic to mark Double linkage argument
registers with proper indices on z/OS.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 7069efe)
The file was modifiedcompiler/z/codegen/OMRLinkage.cpp (diff)
Commit 19c0bd92e36d1516e9a1abc8cca918c040ca11e7 by fjeremic
Skip MinimalTest on non-x86 platforms because of #1645
On z/OS and Linux on Z we also do not currently support calls, so skip
the MinimalTest on those platforms, including other ones which do not
support calls.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 19c0bd9)
The file was modifiedfvtest/compilertriltest/MinimalTest.cpp (diff)
Commit 0722898971ec12fe7f1797933d540749f38d0ac5 by higorb1
Make double map default value true
For more information: https://github.com/eclipse/openj9/pull/5318
Signed-off-by: Igor Braga <higorb1@gmail.com>
(commit: 0722898)
The file was modifiedgc/base/GCExtensionsBase.hpp (diff)
Commit 2ff39edcff4d53feceb24521938044a6daed950e by Annabelle.Huo
Add a new dynamic constant API to dereference the pointer
With `JITServer`, the dynamic constant object uintptrj_t needs to be
dereferenced at the client instead of the server. It’s taken care of by
`TR_ResolvedJ9JITServerMethod::dynamicConstant()`. To prevent the caller
from dereferencing the pointer directly, at the server, adding a new
dynamicConstant API to deference it. The server will send one message to
retrieve both the pointer and the object values in
`TR_ResolvedJ9JITServerMethod::dynamicConstant()`. Since the caller
could be run at the client or the server, the new API should always be
used when dereferencing the pointer. The old API
`dynamicConstant(int32_t cpIndex)` will be deprecated next.
Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
(commit: 2ff39ed)
The file was modifiedcompiler/compile/ResolvedMethod.cpp (diff)
The file was modifiedcompiler/compile/ResolvedMethod.hpp (diff)
Commit 7e2e1c4bbb916130d1578f8b2560220af97d1a35 by salman.rana
Fixes https://github.com/eclipse/openj9/issues/8020
- MarkMap init consolidated
MarkMap init logic has been merged to resolve the timing hole outlined
in https://github.com/eclipse/openj9/issues/8020. MarkMap init is
dependent on Concurrent State of the global collector, with the init
logic split between `heapAddRange` and `heapReconfigured`, any changes
in states between the two may leave expanded mark map uninited. Hence,
the decision to init (`setMarkBitsInRange`) the mark map has been moved
from `heapAddRange` to `heapReconfigured` which is where we determine if
an update to the init table is required
(`tuneToHeap`/`determineInitWork`). As a result, init is no longer
affected by the change in Concurrent state and we eliminate the timing
window. This guarantee that the MarkMap will be inited, either on the
spot or afterwards by updating the init table.
- Introduced HeapReconfigReason and reworked heapReconfigred API
heapReconfigred now distinguishes different reasons for reconfiguration
(Expand, contract, etc), this functionality is required for the Mark Map
init changes, specifically for Gencon and it is used when Scavenger
resizes tenure _(PhysicalSubArenaVirtualMemorySemiSpace)_ or global
collecter preforms a resize _(PhysicalSubArenaVirtualMemoryFlat)_. At
the time, this is new information is only consumed by Concurrent Global
Collecter (ConcurrentGC.cpp), for policies making use of other
collectors the HeapReconfigReason param defaults to `NONE`.
The Reconfig reasons are dealt in the following ways by Concurrent
Global Collector:
- We should never end up in `heapReconfigured` with `RECONFIG_NONE`
reason
- `RECONFIG_CONTRACT` signifies that `heapRemoveRange` had taken place,
in which case, we just need to update init table (`tuneToHeap`) when
Concurrent is Off, otherwise just `adjustTraceTargets`
- If `heapAddRange` takes place then `heapReconfigured` is called with
`RECONFIG_EXPAND` and have have two different cases:
     1)  heapAddRange was successful (return true), heap reconfig should
be provided with `lowAddress` & `highAddress` which will be used to init
mark map
     2) heapAddRange returns false, signifies a failed `heapAddRange`,
address params are expected to be NULL, in which case mark map won't be
inited but we'll still either `tuneToHeap` or `adjustTraceTarget`.
Signed-off-by: Salman Rana <salman.rana@ibm.com>
(commit: 7e2e1c4)
The file was modifiedgc/base/segregated/MemorySubSpaceSegregated.cpp (diff)
The file was modifiedgc/base/standard/Scavenger.cpp (diff)
The file was modifiedgc/base/Collector.hpp (diff)
The file was modifiedgc/base/segregated/MemorySubSpaceSegregated.hpp (diff)
The file was modifiedgc/base/segregated/SegregatedGC.cpp (diff)
The file was modifiedgc/base/segregated/SegregatedGC.hpp (diff)
The file was modifiedgc/base/MemorySpace.hpp (diff)
The file was modifiedgc/base/standard/Scavenger.hpp (diff)
The file was modifiedgc/base/MemorySpace.cpp (diff)
The file was modifiedgc/base/standard/ConcurrentGC.cpp (diff)
The file was modifiedgc/base/Heap.hpp (diff)
The file was modifiedgc/base/standard/ConcurrentGC.hpp (diff)
The file was modifiedgc/base/standard/PhysicalSubArenaVirtualMemorySemiSpace.cpp (diff)
The file was modifiedgc/base/standard/ConcurrentCardTable.cpp (diff)
The file was modifiedgc/base/standard/ParallelGlobalGC.hpp (diff)
The file was modifiedgc/base/MemorySubSpace.cpp (diff)
The file was modifiedgc/base/standard/ConcurrentCardTable.hpp (diff)
The file was modifiedinclude_core/omrgcconsts.h (diff)
The file was modifiedgc/base/PhysicalSubArenaVirtualMemoryFlat.cpp (diff)
The file was modifiedgc/startup/omrgcstartup.cpp (diff)
The file was modifiedgc/base/Heap.cpp (diff)
The file was modifiedgc/base/MemorySubSpace.hpp (diff)
The file was modifiedgc/base/standard/ParallelGlobalGC.cpp (diff)
Commit 2fb7d58c18f85641086b276a53dbc76abeb323df by jincheng
Change the port code for RISC-V in OMR (part4/port)
The changes mainly include code changes at the port directory to enable
RISC-V 64bit from the OMR perspective.
Issue: eclipse#4426
Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
(commit: 2fb7d58)
The file was modifiedport/CMakeLists.txt (diff)
The file was modifiedport/common/omrsysinfo.c (diff)
The file was modifiedport/unix/omrsysinfo.c (diff)
The file was modifiedport/linuxriscv64/omrsignal_context.c (diff)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedport/port_objects.mk (diff)
The file was modifiedport/unix/omrmmap.c (diff)
Commit 31ed890cf71c53e4b13bf3e303256f79fc67cbbf by ajcraik
Enhance Simplifier to minimize child PassThroughs
This change adds a check in the simplifier helper logic to see if a
child, which has been simplified, has become a PassThrough. If the root
node does not answer true to isNullChk() then attach the child of the
PassThrough to minimize the number of PassThrough nodes and maximize
opportunities for optimization.
Signed-off-by: Andrew Craik <ajcraik@ca.ibm.com>
(commit: 31ed890)
The file was modifiedcompiler/optimizer/OMRSimplifierHelpers.cpp (diff)
Commit 945d244e8f9bb484e3120638ffae8405b2193fd7 by ben
Fix null pointer deref when encoding a MemoryReference
Previously, there was an issue when encoding a TR::MemoryReference on
Power that used delayed indexed form but without an index register set.
The comment in the code implied that the correct thing to do here was to
use addi to add the displacement to the base register. However, instead
we were trying to fill one of the fields of the instruction with the
index register, which was NULL. This code has now been corrected to
encode the correct instruction.
Signed-off-by: Ben Thomas <ben@benthomas.ca>
(commit: 945d244)
The file was modifiedcompiler/p/codegen/OMRMemoryReference.cpp (diff)
Commit 1a7fa89548f064d50e984a294296de24ac47ec1a by graham_chapman
Runtime compressed refs work
Missed some pointer math in the last PR.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: 1a7fa89)
The file was modifiedgc/base/IndexableObjectScanner.hpp (diff)
Commit 5de40f9ea41d72ca22241a5461de19f94924fc06 by fjeremic
Fix JitBuilder and TestCompiler JIT shutdown sequence
The shutdown sequence for the compilation controller was never called.
On platforms such as z/OS this is problematic because JitBuilder and
Tril initialize and shutdown the JIT many times, each time leaking
resources in the compilation controller.
One such resource is the thread local TLS `OMR::compilation` variable
which is typically accessed through `TR::comp()`. This TLS variable was
not being properly freed with every shutdown, eventually resulting in
inability to allocate the TLS variable which causes crashes later on.
The JIT compiler currently assumes `TR::comp()` is always non-NULL in
places where it should be available, thus we add fatal asserts if we are
for some reason unable to allocate this variable. These asserts would
have made investigating this problem trivial.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 5de40f9)
The file was modifiedcompiler/infra/ThreadLocal.h (diff)
The file was modifiedjitbuilder/control/Jit.cpp (diff)
The file was modifiedfvtest/compilertest/control/TestJit.cpp (diff)
Commit 4a3841cb70fd3615c256d8a221f7b24b5b1f7ed0 by fjeremic
Fix code cache cleanup in JitBuilder and TestCompiler on z/OS
The allocated code cache memory was not being freed up on z/OS causing
memory leaks and eventual failure of tests which would not be able to
allocate code cache memory.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 4a3841c)
The file was modifiedfvtest/compilertest/runtime/TestCodeCacheManager.cpp (diff)
The file was modifiedjitbuilder/runtime/JBCodeCacheManager.cpp (diff)
Commit 6254aed07f5ef70b62f4d0c97ac5a3df47cf6b97 by fjeremic
Move ThreadLocal.h to ThreadLocal.hpp
For consistency with all other header files in the compiler component.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 6254aed)
The file was modifiedcompiler/control/CompilationController.cpp (diff)
The file was removedcompiler/infra/ThreadLocal.h
The file was addedcompiler/infra/ThreadLocal.hpp
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.hpp (diff)
The file was modifiedcompiler/compile/TLSCompilationManager.cpp (diff)
Commit 4d51b4743e3135745181c0843ecc8cd8f873886d by fjeremic
Run the largest passing subset of tests on z/OS
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 4d51b47)
The file was modifiedbuildenv/jenkins/jobs/pull-requests/PullRequest-zos_390-64 (diff)
The file was modifiedfvtest/compilertriltest/MinimalTest.cpp (diff)
The file was modifiedbuildenv/jenkins/jobs/builds/Build-zos_390-64 (diff)
The file was modifiedcompiler/control/CompilationController.cpp (diff)
The file was modifiedcompiler/z/codegen/OMRLinkage.cpp (diff)
The file was modifiedcompiler/z/codegen/SystemLinkagezOS.cpp (diff)
The file was modifiedfvtest/tril/tril/parser.cpp (diff)
The file was modifiedjitbuilder/runtime/JBCodeCacheManager.cpp (diff)
The file was modifiedcompiler/compile/TLSCompilationManager.cpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.cpp (diff)
The file was modifiedfvtest/compilertest/control/TestJit.cpp (diff)
The file was modifiedcompiler/compile/OMRCompilation.hpp (diff)
The file was modifiedcompiler/env/FEBase_t.hpp (diff)
The file was modifiedcompiler/infra/ThreadLocal.hpp (diff)
The file was modifiedjitbuilder/control/Jit.cpp (diff)
The file was modifiedfvtest/compilertest/runtime/TestCodeCacheManager.cpp (diff)
Commit 93034548ae86decbaa644500af0ea70e7aedeca7 by Peter_Shipton
Add Unix rlimit support for RLIMIT_DATA
Signed-off-by: Peter Shipton <Peter_Shipton@ca.ibm.com>
(commit: 9303454)
The file was modifiedinclude_core/omrport.h (diff)
The file was modifiedport/unix/omrsysinfo.c (diff)
Commit 45662237ee4fb8873de2797799353468e9ac8c68 by saiaki
AArch64: Enable OSR
This commit enables OSR for aarch64.
Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
(commit: 4566223)
The file was modifiedcompiler/control/OMROptions.cpp (diff)
Commit 7a3c45ef6d9b12ca7cee06754e1cc8ecba83ca3d by fjeremic
Disable Tril's IlGenTest on z/OS
This is a port of commit f8166907 for z/OS. The same reasoning applies
and will hopefully be fixed in #4719.
Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
(commit: 7a3c45e)
The file was modifiedbuildenv/jenkins/jobs/pull-requests/PullRequest-zos_390-64 (diff)
The file was modifiedbuildenv/jenkins/jobs/builds/Build-zos_390-64 (diff)
The file was modifiedfvtest/tril/test/IlGenTest.cpp (diff)
Commit f7649954e79fbe2c4aa462a73f342c2d074935d3 by jasonhal
Move object meta data flag defines to omrgcconsts.h
Signed-off-by: Jason Hall <jasonhal@ca.ibm.com>
(commit: f764995)
The file was modifiedgc/base/ObjectModelBase.hpp (diff)
The file was modifiedinclude_core/omrgcconsts.h (diff)
Commit 9be0c2944e81c318b06238434304b84da99e012e by graham_chapman
Fix compiler warnings
GC_SlotObject::subtractSlotPointers must return intptr_t rather than
uintptr_t to be compatible with the pointer subtraction it replaces.
Also fix the pointer math helpers to use direct pointer math instead of
computing the offsets manually.
Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
(commit: 9be0c29)
The file was modifiedgc/base/SlotObject.hpp (diff)
The file was modifiedgc/base/ObjectScanner.hpp (diff)
Commit 27bfdfcb821615cfb3d97fd421461fcd136927e4 by ajcraik
Enhance CFGSimplifier simplifyBooleanStore
Currently the CFG Simplifier simplifyBooleanStore routine allows
simplification when both sides of an if are storing indirectly to the
same symref number. This change enhances the code to also allow indirect
stores where the store is done to an offset from the same symref number
on both sides.
Signed-off-by: Andrew Craik <ajcraik@ca.ibm.com>
(commit: 27bfdfc)
The file was modifiedcompiler/optimizer/OMRCFGSimplifier.cpp (diff)
Commit 072ca7c47c6e817b803817d2fd266747885ffc46 by jincheng
Change misc code for RISC-V in OMR (part5/misc)
The changes mainly include miscellaneous code to enable RISC-V 64bit
from the OMR perspective.
Issue: eclipse#4426
Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
(commit: 072ca7c)
The file was modifiedomrtrace/omrtracelog.cpp (diff)
The file was modifiedthread/common/thrprof.c (diff)
The file was modifiedinclude_core/ute_dataformat.h (diff)
The file was modifiedutil/omrutil/gettimebase.c (diff)
Commit e4c4a0591669c755f6a79b7bf2798bc2b3de10b5 by liqunl
Revert "Added support for loadaddr in copy propagation"
This reverts commit e1519a01cd43304b4e15e8cdcf10f17af2a0445a.
Signed-off-by: liqunl <liqunl@ca.ibm.com>
(commit: e4c4a05)
The file was modifiedcompiler/optimizer/CopyPropagation.cpp (diff)
Commit 30f43fb88ad3f6a928359b966d99e3ee1a1a7aca by devinn
CMake: Fix typo in gc
Signed-off-by: Devin Nakamura <devinn@ca.ibm.com>
(commit: 30f43fb)
The file was modifiedgc/CMakeLists.txt (diff)
Commit 5abbe788fb9c284a64d9d90df07c77ca6afbe828 by sajina.kandy
Add byte and short multipliers to x86
Addition of bmul and smul for byte and short mutiplier on x86. Issue
#4408.
Closes: #4408
Signed-off-by:Sajina Kandy <sajina.kandy@ibm.com>
(commit: 5abbe78)
The file was modifiedcompiler/x/i386/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/amd64/codegen/OMRTreeEvaluatorTable.hpp (diff)
The file was modifiedcompiler/x/codegen/X86Ops.hpp (diff)
The file was modifiedfvtest/compilertriltest/ArithmeticTest.cpp (diff)
The file was modifiedfvtest/compilertriltest/JitTest.hpp (diff)
The file was modifiedcompiler/x/codegen/BinaryEvaluator.cpp (diff)