{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":104359190,"defaultBranch":"master","name":"openj9","ownerLogin":"jdmpapin","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2017-09-21T14:32:53.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/22403820?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1711150277.0","currentOid":""},"activityList":{"items":[{"before":"dc5644368e4c35129a204c9c6685deea4b7e82f5","after":"78f3bb783e52712ff0ba358c2571ea82471d34d9","ref":"refs/heads/master","pushedAt":"2024-05-14T18:08:24.000Z","pushType":"push","commitsCount":88,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Merge pull request #19285 from knn-k/macOSBreakpoint\n\nEnable JIT breakpoint on macOS","shortMessageHtmlLink":"Merge pull request eclipse-openj9#19285 from knn-k/macOSBreakpoint"}},{"before":"2103d46424428958a9a37ceeba942aabb63b1f92","after":"f3783e061ae7781e74e72e6740adcf2eb073fc03","ref":"refs/heads/redef-gc-44","pushedAt":"2024-03-22T23:33:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Avoid heap walk and GC for MemberName fix-up on class redefinition\n\nIn class redefinition the affected MemberName objects were previously\nidentified by iterating over all objects in the heap. The heap walk also\nnecessitated a GC cycle to eliminate dead objects, which could otherwise\ncause the fix-up to crash.\n\nThis heap walk and GC cycle were causing a significant performance\nregression in redefinition for builds using OpenJDK MethodHandles (i.e.\nJava 17+) vs. ones using J9 MethodHandles. The regression was especially\ndrastic in fast HCR mode, where no other heap walk is necessary and\ntherefore the time taken for redefinition should be largely independent\nof the number of objects in the heap.\n\nNow instead each J9Class has a list of JNI weak global references to all\nof the MemberName objects that are resolved (i.e. have vmtarget set) to\na member of that class (as determined by the clazz field). Redefinition\nuses these lists to identify the affected MemberNames without inspecting\nany other objects, and in particular without walking the heap. Because\nthe heap walk is no longer needed, neither is the GC cycle, and both are\neliminated.\n\nThe use of weak references ensures that these lists don't prevent\nMemberName objects from being reclaimed, and in particular that they\ndon't prevent class unloading.\n\nWhen a MemberName is reclaimed, its corresponding weak reference is\ncleared, and both that reference and its linked list node become\nunnecessary. To avoid leaking this memory, such entries are removed just\nprior to the addition of a MemberName, but only if it can be expected\nthat there are any. To this end, the VM now provides an implementation\nof a native method MethodHandleNatives.markClassForMemberNamePruning(),\nwhich is expected to (exist and) be called when a MemberName that is on\na per-class list becomes unreachable (really, phantom reachable), such\nas from a cleaning action or finalizer.\n\nWithout this adjustment to the Java sources, the mechanism implemented\nin this commit will still work, but the MemberName list will leak memory\nif many MemberNames for the same class are created and then reclaimed.\n\n(cherry picked from commit e06a34ca513dc9bcbe722a7eb2c054c3d25b3334)","shortMessageHtmlLink":"Avoid heap walk and GC for MemberName fix-up on class redefinition"}},{"before":null,"after":"2103d46424428958a9a37ceeba942aabb63b1f92","ref":"refs/heads/redef-gc-44","pushedAt":"2024-03-22T23:31:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"}},{"before":"6f1339f8c215c82304da96ef8804e4b65d6dc18c","after":"e06a34ca513dc9bcbe722a7eb2c054c3d25b3334","ref":"refs/heads/redef-gc","pushedAt":"2024-03-22T01:04:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Avoid heap walk and GC for MemberName fix-up on class redefinition\n\nIn class redefinition the affected MemberName objects were previously\nidentified by iterating over all objects in the heap. The heap walk also\nnecessitated a GC cycle to eliminate dead objects, which could otherwise\ncause the fix-up to crash.\n\nThis heap walk and GC cycle were causing a significant performance\nregression in redefinition for builds using OpenJDK MethodHandles (i.e.\nJava 17+) vs. ones using J9 MethodHandles. The regression was especially\ndrastic in fast HCR mode, where no other heap walk is necessary and\ntherefore the time taken for redefinition should be largely independent\nof the number of objects in the heap.\n\nNow instead each J9Class has a list of JNI weak global references to all\nof the MemberName objects that are resolved (i.e. have vmtarget set) to\na member of that class (as determined by the clazz field). Redefinition\nuses these lists to identify the affected MemberNames without inspecting\nany other objects, and in particular without walking the heap. Because\nthe heap walk is no longer needed, neither is the GC cycle, and both are\neliminated.\n\nThe use of weak references ensures that these lists don't prevent\nMemberName objects from being reclaimed, and in particular that they\ndon't prevent class unloading.\n\nWhen a MemberName is reclaimed, its corresponding weak reference is\ncleared, and both that reference and its linked list node become\nunnecessary. To avoid leaking this memory, such entries are removed just\nprior to the addition of a MemberName, but only if it can be expected\nthat there are any. To this end, the VM now provides an implementation\nof a native method MethodHandleNatives.markClassForMemberNamePruning(),\nwhich is expected to (exist and) be called when a MemberName that is on\na per-class list becomes unreachable (really, phantom reachable), such\nas from a cleaning action or finalizer.\n\nWithout this adjustment to the Java sources, the mechanism implemented\nin this commit will still work, but the MemberName list will leak memory\nif many MemberNames for the same class are created and then reclaimed.","shortMessageHtmlLink":"Avoid heap walk and GC for MemberName fix-up on class redefinition"}},{"before":"f27b9dd44183ee5f73b503d19be3cd230caae8f3","after":"dc5644368e4c35129a204c9c6685deea4b7e82f5","ref":"refs/heads/master","pushedAt":"2024-03-21T03:20:51.000Z","pushType":"push","commitsCount":130,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Merge pull request #19194 from cjjdespres/fix-openssl-compilation\n\nDefine OpenSSL error constant if not present","shortMessageHtmlLink":"Merge pull request eclipse-openj9#19194 from cjjdespres/fix-openssl-c…"}},{"before":"d8fc90e4fe3cba8683cf8dcf473c4cc5799c7f76","after":"6f1339f8c215c82304da96ef8804e4b65d6dc18c","ref":"refs/heads/redef-gc","pushedAt":"2024-03-20T20:06:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"}},{"before":"d0fb1e70a83dfb6c6d61582306b86ece4de4823e","after":"e48f0979d657f5ee6e368478353df161533c13aa","ref":"refs/heads/inl-const-replay","pushedAt":"2024-03-20T19:59:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Record/replay InterpreterEmulator constants\n\nInlining uses constant folding to help determine call targets, so it's\nimportant for the corresponding IL (if any is generated) to be\nconsistent with what the inliner saw.\n\nInterpreterEmulator now remembers constants for each TR_CallTarget that\nmust be folded consistently in the IL, and IL generation consults these\nto repeat the same constant folding as needed.\n\nThis repeated folding is important whenever a value might be allowed to\nbe folded despite the possibility of a later change. It also allows\nconstants to be speculative by specifying the assumptions that are\nnecessary in order for the folding to be correct, and by informing the\nIL generator of the locations where such assumptions have been made.\nHowever, InterpreterEmulator does not yet do speculative folding.\n\nThis commit also removes a bunch of unused code, mostly related to class\nlookahead, from TR_J9ByteCodeIlGenerator::loadStatic().","shortMessageHtmlLink":"Record/replay InterpreterEmulator constants"}},{"before":null,"after":"d8fc90e4fe3cba8683cf8dcf473c4cc5799c7f76","ref":"refs/heads/redef-gc","pushedAt":"2024-03-19T19:45:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"}},{"before":null,"after":"d0fb1e70a83dfb6c6d61582306b86ece4de4823e","ref":"refs/heads/inl-const-replay","pushedAt":"2024-03-06T18:49:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"}},{"before":null,"after":"d5714f34d74892e00f20d965d1fb0442ad767d14","ref":"refs/heads/jitdump-outermost","pushedAt":"2024-03-04T20:26:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Recompile the outermost method in JIT dump when compilation crashes\n\nPreviously the JIT dump would recompile the \"current method,\" which is\nsensitive to ongoing IL generation. If the compiler crashed during IL\ngeneration for an inlined method, then only that inlined method would be\nrecompiled.\n\nNow the JIT dump will always recompile the outermost method so that\nthere will be a chance of reproducing IL generator crashes even if they\nare related to inlining.","shortMessageHtmlLink":"Recompile the outermost method in JIT dump when compilation crashes"}},{"before":"c4d445d91df75cfcfe3e4b8c34008ffb50db32f3","after":"f27b9dd44183ee5f73b503d19be3cd230caae8f3","ref":"refs/heads/master","pushedAt":"2024-02-29T23:27:47.000Z","pushType":"push","commitsCount":159,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Merge pull request #19032 from JasonFengJ9/vminternalgetprops\n\nAdd VM.internalGetProperties() helper method","shortMessageHtmlLink":"Merge pull request eclipse-openj9#19032 from JasonFengJ9/vminternalge…"}},{"before":"ce6d6778968e040535b13f33b437dcea96f73a62","after":"83cf08f5916fe25af427ee98b8a5e70941f29364","ref":"refs/heads/linkToNative-j2i","pushedAt":"2024-02-26T20:08:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Recognize linkToNative() in the JIT compiler to allow J2I calls\n\n- Treat linkToNative() as signature-polymorphic.\n- Pass an extra argument to reserve space for the appendix.\n- Always compile-time resolve to ensure the extra argument is passed.","shortMessageHtmlLink":"Recognize linkToNative() in the JIT compiler to allow J2I calls"}},{"before":"b669217a6bfffc51e01fd48d364af4bf120e3c21","after":"c4d445d91df75cfcfe3e4b8c34008ffb50db32f3","ref":"refs/heads/master","pushedAt":"2024-02-23T18:11:41.000Z","pushType":"push","commitsCount":142,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Merge pull request #18885 from hangshao0/Test\n\nUse a small shared cache size for SimpleApp in CacheManagement test","shortMessageHtmlLink":"Merge pull request eclipse-openj9#18885 from hangshao0/Test"}},{"before":"83cf08f5916fe25af427ee98b8a5e70941f29364","after":"ce6d6778968e040535b13f33b437dcea96f73a62","ref":"refs/heads/linkToNative-j2i","pushedAt":"2024-02-20T17:31:33.000Z","pushType":"push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"}},{"before":"84d6cd3e1e8b9f1e9ee76221652f58b2cf6e6942","after":"83cf08f5916fe25af427ee98b8a5e70941f29364","ref":"refs/heads/linkToNative-j2i","pushedAt":"2024-01-24T22:30:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Recognize linkToNative() in the JIT compiler to allow J2I calls\n\n- Treat linkToNative() as signature-polymorphic.\n- Pass an extra argument to reserve space for the appendix.\n- Always compile-time resolve to ensure the extra argument is passed.","shortMessageHtmlLink":"Recognize linkToNative() in the JIT compiler to allow J2I calls"}},{"before":null,"after":"84d6cd3e1e8b9f1e9ee76221652f58b2cf6e6942","ref":"refs/heads/linkToNative-j2i","pushedAt":"2024-01-24T22:26:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"}},{"before":"61056440d0bd2bfb9471f7baa40af62b61e03b3e","after":"b669217a6bfffc51e01fd48d364af4bf120e3c21","ref":"refs/heads/master","pushedAt":"2024-01-24T17:28:13.000Z","pushType":"push","commitsCount":173,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Merge pull request #18768 from pshipton/templogger21\n\nDon't cache instances of TemporaryLoggerFinder for jdk21","shortMessageHtmlLink":"Merge pull request eclipse-openj9#18768 from pshipton/templogger21"}},{"before":"00be3cf26a5883240d614dd0f2914115f1430776","after":"2e1a47cc5238c3bf40c4bc97bf4bcb36e1afbbce","ref":"refs/heads/should-be-initialized","pushedAt":"2024-01-09T23:51:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Return true from Unsafe.shouldBeInitialized when called from \n\nWhen initialization of the class has started but not yet completed, and\nshouldBeInitialized is called from the initializing thread, its result\nshould be true, but it has been returning false instead.\n\nDirectMethodHandle.checkInitialized calls ensureClassInitialized and\nthen uses this method to determine whether initialization is incomplete\nbecause it is still ongoing on the current thread. This fix should allow\nthat usage to work as intended.","shortMessageHtmlLink":"Return true from Unsafe.shouldBeInitialized when called from <clinit>"}},{"before":"e6f9a4c9fede1a36f1593ac918a0d65d6b63a958","after":"00be3cf26a5883240d614dd0f2914115f1430776","ref":"refs/heads/should-be-initialized","pushedAt":"2024-01-09T23:48:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"}},{"before":null,"after":"e6f9a4c9fede1a36f1593ac918a0d65d6b63a958","ref":"refs/heads/should-be-initialized","pushedAt":"2024-01-09T23:37:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"}},{"before":"f4f131b98742218587b51943308e91090d958c7d","after":"61056440d0bd2bfb9471f7baa40af62b61e03b3e","ref":"refs/heads/master","pushedAt":"2024-01-09T22:09:48.000Z","pushType":"push","commitsCount":459,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Merge pull request #18578 from keithc-ca/compiler\n\nAdapt tests for removal of java.lang.Compiler","shortMessageHtmlLink":"Merge pull request eclipse-openj9#18578 from keithc-ca/compiler"}},{"before":"8b3a3039fe2730671e184390319c54587dafee49","after":"33ea39c7d20740901eb94eeee963c2f831fdb44b","ref":"refs/heads/remove-removed-guards","pushedAt":"2023-12-08T21:27:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Delete now-unnecessary TR_Removed*Guard guard kinds\n\nAOT now takes care of generating the TR_Inlined*Method relocations for\ninlined methods without corresponding guards, so we can remove guards\nwithout creating stand-ins.","shortMessageHtmlLink":"Delete now-unnecessary TR_Removed*Guard guard kinds"}},{"before":null,"after":"8b3a3039fe2730671e184390319c54587dafee49","ref":"refs/heads/remove-removed-guards","pushedAt":"2023-12-08T17:47:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"}},{"before":null,"after":"0b457f0be690b995ce2537e986f75a703df73902","ref":"refs/heads/prepareToFixMemberNames-dark-matter","pushedAt":"2023-09-23T01:18:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Prevent prepareToFixMemberNames() from encountering dark matter\n\nPreviously it was possible for prepareToFixMemberNames() to come across\nan ostensible MemberName object that was actually dead, and whose fields\ncould therefore be dangling pointers. Because prepareToFixMemberNames()\nneeds to dereference some of the fields, this could lead to a crash.\n\nThe crash that has been observed involved a dead MemberName that used to\nrepresent a method of a class that had since been unloaded. Calling\ngetJNIMethodID() on the stale J9Method found what would have previously\nbeen the correct J9Class, and then crashed for lack of a class loader.\n\nOther similar crashes would have been possible as well. For example, if\nthe memory of the J9Method had been reused for something else, we could\nhave crashed in J9_CLASS_FROM_METHOD.\n\nWith this commit, class redefinition will run GC to eliminate any such\ndead objects (\"dark matter\"), ensuring that prepareToFixMemberNames()\nwon't see them.","shortMessageHtmlLink":"Prevent prepareToFixMemberNames() from encountering dark matter"}},{"before":"2534810e47f3316df15e7b10e7f125c054326207","after":"f4f131b98742218587b51943308e91090d958c7d","ref":"refs/heads/master","pushedAt":"2023-09-20T17:10:28.000Z","pushType":"push","commitsCount":178,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Merge pull request #18159 from JasonFengJ9/cracflag\n\nCRIU adds opt_openjdkCracSupport and OPENJDK_CRAC_SUPPORT","shortMessageHtmlLink":"Merge pull request eclipse-openj9#18159 from JasonFengJ9/cracflag"}},{"before":"40905c5545ec3c9ca191d0f512239317950f821d","after":"396b6c837004ef823ac56e94530b511d134554ca","ref":"refs/heads/linkto-direct","pushedAt":"2023-09-13T16:01:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Improve MethodHandle direct dispatch J2I-prevention transformations\n\n...by avoiding breaking the block containing the original call. There\nisn't much opportunity to optimize the inline logic anyway, so it's\nbetter to keep the IL neater.\n\nOn code generators that support doing so (initially just x86-64), calls\nto linkToStatic, linkToSpecial, and invokeBasic that have not been\nrefined are now changed in-place into calls to a new JIT non-helper\n, which takes the callee J9Method as an additional\n(first) argument. It has JIT private linkage, but the extra argument is\ntreated specially so that the other arguments are passed in exactly the\nway expected by (any JIT-compiled body for) the actual callee. The code\ngenerator generates a sequence that determines whether the callee is\ncompiled and jumps to the JIT entry point if it is. Otherwise, it jumps\nout of line to do a J2I transition.\n\nIf the environment variable TR_stressJitDispatchJ9MethodJ2I is set, then\nthe back end generates an unconditional jump to the J2I path, exercising\nit even when the callee is compiled.","shortMessageHtmlLink":"Improve MethodHandle direct dispatch J2I-prevention transformations"}},{"before":null,"after":"628139c301e0e0f8c6ef43cb9f7cb3132c700abc","ref":"refs/heads/zos-build-error-getMemberNameMethodInfo","pushedAt":"2023-09-07T14:36:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Fix z/OS build error in getMemberNameMethodInfo()","shortMessageHtmlLink":"Fix z/OS build error in getMemberNameMethodInfo()"}},{"before":"7243f7a4e79b039c28fc469fe64557ec46230bad","after":"2534810e47f3316df15e7b10e7f125c054326207","ref":"refs/heads/master","pushedAt":"2023-08-21T21:31:00.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Merge pull request #17991 from eclipse-openj9/revert-17934-tracePinned\n\nRevert \"Add support for jdk.tracePinnedThreads system property\"","shortMessageHtmlLink":"Merge pull request eclipse-openj9#17991 from eclipse-openj9/revert-17…"}},{"before":"493a30a579bd43b9ba4438f2986c04de0ce00097","after":"7243f7a4e79b039c28fc469fe64557ec46230bad","ref":"refs/heads/master","pushedAt":"2023-08-18T18:21:30.000Z","pushType":"push","commitsCount":37,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"},"commit":{"message":"Merge pull request #17943 from SajinaKandy/isCompilable\n\nisCompilable() fix for JITServer","shortMessageHtmlLink":"Merge pull request eclipse-openj9#17943 from SajinaKandy/isCompilable"}},{"before":"4f0bd2c432612a10f7c1896e1270c9fbb568979e","after":"40905c5545ec3c9ca191d0f512239317950f821d","ref":"refs/heads/linkto-direct","pushedAt":"2023-08-18T18:17:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jdmpapin","name":"Devin Papineau","path":"/jdmpapin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22403820?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEScXyygA","startCursor":null,"endCursor":null}},"title":"Activity · jdmpapin/openj9"}