{"push_id":3136458877,"size":36,"distinct_size":0,"ref":"refs/heads/openj9","head":"b9a13682d8421a346df1554d416726b3cfaaabc7","before":"85e2a6fd463e232126565956ca30cfe3340b483e","commits":[{"sha":"318c2bcfc4748391adaf70665ec6eaa143f135c7","author":{"name":"Devin Nakamura","email":"29e5deeef2ca9c3333207aabdcc38207cba1d1b5@ca.ibm.com"},"message":"Compiler: Rename extensible enums to match classes convention\n\nRename the base enum files to be OMR<name>.enum This is in line with\nthe naming for headers and extensible classes\n\nSigned-off-by: Devin Nakamura <devinn@ca.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/318c2bcfc4748391adaf70665ec6eaa143f135c7"},{"sha":"c7c35eda88ab439c17e90e3add7010ccf52bbc4f","author":{"name":"Devin Nakamura","email":"29e5deeef2ca9c3333207aabdcc38207cba1d1b5@ca.ibm.com"},"message":"Compiler: Add default implementations of extensible enums\n\nSigned-off-by: Devin Nakamura <devinn@ca.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/c7c35eda88ab439c17e90e3add7010ccf52bbc4f"},{"sha":"34e0dd256d663edc62140e319331987861039bf2","author":{"name":"knn-k","email":"dcce18c1bceade117d2b062b1463e1670d375091@jp.ibm.com"},"message":"AArch64: Implement lcmpeqEvaluator(), etc.\n\nThis commit implements lcmpeqEvaluator() and similar evaluators.\n\nSigned-off-by: knn-k <konno@jp.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/34e0dd256d663edc62140e319331987861039bf2"},{"sha":"260a6f319c35a7b27a2af34d49fe5fd2b5e03326","author":{"name":"knn-k","email":"dcce18c1bceade117d2b062b1463e1670d375091@jp.ibm.com"},"message":"AArch64: Implement lcmpEvaluator()\n\nThis commit implements lcmpEvaluator(), which returns -1, 0, or 1 from\ncomparison of two long values.\n\nSigned-off-by: knn-k <konno@jp.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/260a6f319c35a7b27a2af34d49fe5fd2b5e03326"},{"sha":"bbcbed63a2afcf2135582cb25170eb93093c4bee","author":{"name":"Henry Zongaro","email":"100255d9dced3045c921ee08f370d6bd7239070d@ca.ibm.com"},"message":"Add extra assertions for atomic non-helpers on Power\n\nAdded assertion that we're running a 64-bit JVM when trying to inline\none of the atomic non-helpers, as 32-bit code generation is not yet\nsupported for it.\n\nAlso if a call to codegen inlineDirectCall from directCallEvaluator does\nnot inline a call, added an assertion that the symbol is not one of the\natomic non-helpers.\n\nSigned-off-by:  Henry Zongaro <zongaro@ca.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/bbcbed63a2afcf2135582cb25170eb93093c4bee"},{"sha":"d6d364d25b9abcf445765d9ec972fe8086768c7b","author":{"name":"Henry Zongaro","email":"100255d9dced3045c921ee08f370d6bd7239070d@ca.ibm.com"},"message":"Add Doxygen comments for non-helper support methods\n\nAdded Doxygen comments for isNonHelper and getNonHelperSymbol methods.\n\nSigned-off-by:  Henry Zongaro <zongaro@ca.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/d6d364d25b9abcf445765d9ec972fe8086768c7b"},{"sha":"bbafa6af013ff017781ba4430778ed02e1703b2b","author":{"name":"knn-k","email":"dcce18c1bceade117d2b062b1463e1670d375091@jp.ibm.com"},"message":"AArch64: Implement ificmpeqEvaluator(), etc.\n\nThis commit implements ificmpeqEvaluator(), similar evaluators(), and\nrelated functions.\n\nSigned-off-by: knn-k <konno@jp.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/bbafa6af013ff017781ba4430778ed02e1703b2b"},{"sha":"e034a3d527bc5b91989733db4a11a5c6656031f1","author":{"name":"knn-k","email":"dcce18c1bceade117d2b062b1463e1670d375091@jp.ibm.com"},"message":"AArch64: Remove ARM64Ops.hpp\n\nThis commit removes the file ARM64Ops.hpp, which is no longer used.\n\nSigned-off-by: knn-k <konno@jp.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/e034a3d527bc5b91989733db4a11a5c6656031f1"},{"sha":"5eae28b4104d181aff4834dfbac0a510d6e7e4b5","author":{"name":"Igor Braga","email":"1149e989d17b31ac0b2dbaa02eeac1ed2bd1b3a5@gmail.com"},"message":"Provide classes to record JitBuilder API calls\n\nRecorder is part of the record and replay functionality.\nThe ultimate goal for such feature is to remove the JIT from\nruntimes and provide it as a service. The recorder part of this\nfeature, as the name implies, will record the IL at the client side\nand send it to be compiled in the server. The server then\nreplays/parses the IL and compiles it, to then send machine code\nback to the client so that it can execute the requested IL. The IL\ncontains services that have recording support (e.g. Add, Sub, Xor,\nStore, Loop, etc. More to come). This commit is dedicated to the\nRecorder initial functionality. More details as follows.\n\nJitBuilderRecorder defines the basic structure of a JitBuilder IL\n(ljbil) representation. The following files provide implementations\nthat write this representation to a binary buffer, binary file, text\nfile, respectively:\nOMRJitBuilderRecorderBinaryBuffer\nOMRJitBuilderRecorderBinaryFile\nOMRJitBuilderRecorderTextFile\n\nTo enable replay compilation and a host of other useful facilities,\nI have implemented a very simple format that can capture the calls\nmade to JitBuilder services on builder objects in a readily persisted\n(stored to disk, saved in buffers, etc) form.\n\nMore details:\n\nThis commit defines the basic structure of a JitBuilder IL (ljbil)\nrepresentation along with representations as a binary buffer,\nbinary file, and text file.\n\nThe fundamental elements of the jbil representation are (currently):\n\tString (length then characters)\n\tNumber (8, 16, 32, 64, float, double)\n\tID (32-bit)\n\t\tStatement\n\t\tType\n\t\tValue\n\t\tBuilder\n\t\tLocation\n\nAn ID is just a number used to identify different Strings, Builder\nobjects, Values, Types, Locations, and Statements. A std::map is\nused to associate an ID with pointers corresponding to these\ndifferent categories. Rather than embed pointers into the jbil\noutput, we embed IDs.\n\nIlBuilder, MethodBuilder, and BytecodeBuilder objects will need\nto create some jbil output for each service that is called on\nthese objects. New objects need to be assigned IDs (by calling\nStoreID() ) before they can be referenced by their ID.\n\nEach time an IlBuilder object is created, for example, the NewIlBuilder\ncan be used to assign it an ID, and that ID can be referenced by\nsubsequent statements to call new services on it.\n\nEvery jbil output starts with (see start() function):\n\tString(RECORDER_SIGNATURE); // 4 (16 bits) \"JBIL\"\n\tNumber(VERSION_MAJOR);      // 0 (16 bits)\n\tNumber(VERSION_MINOR);      // 0 (16 bits)\n\tNumber(VERSION_PATCH);      // 0 (16 bits)\n\nThis header can be encoded in as little as 12 bytes. This version\ncan be used to understand how the jbil was produced and enables\nprocessing tools to precisely understand the format of the jbil.\n\nFollowing the header is a sequence of statements.  There are only\ntwo predefined statements. The first predefined statement assigns\nan ID to a string:\n\t0 \"Statement String\"\n\nAll statements begin with the builder object they apply to.\nThe predefined statement references the special builder ID\n0 which cannot be used by any other builder object. This\nstatement causes the provided string to be assigned the\nnext available ID (starting at 1). Subsequent statements\nare all of the form:\n\n\t<BuilderID> <StatementID> <required values>\n\nDepending on the statement, any number of additional\nvalues may be required, but each statement has a\nparticular set of values it requires.\n\nThe statement strings are defined in StatementNames.hpp\nas STATEMENT_<statement name> . For example, STATEMENT_LOAD\nrepresents a call to IlBuilder::Load() while STATEMENT_ADD\nrepresents a call to IlBuilder::Add().\n\nThe sequence of statements ends when the second predefined\nstatement is encountered using the special Builder(1)\nobject followed by the JBIL_COMPLETE string (\"Done\");\n\nAt the end of the representation, the following trailer is\nadded (see end() function):\n\tBuilder(1);\n\tString(JBIL_COMPLETE);      // 4 (16 bits) \"Done\"\n\nThis commit doesn't show how IlBuilder, MethodBuilder, or\nBytecodeBuilder can use JitBuilderRecorder to record\njbil; that will come in later commits.\n\nCo-authored-by: Sharon Wang <sharon-wang-cpsc@outlook.com>\nCo-authored-by: Mark Stoodley <mstoodle@ca.ibm.com>\nCo-authored-by: Andrew Young <youngar17@gmail.com>\nCo-authored-by: Charlie Gracie <charlie.gracie@gmail.com>\n\nSigned-off-by: Igor Braga <higorb1@gmail.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/5eae28b4104d181aff4834dfbac0a510d6e7e4b5"},{"sha":"33f71a7737b3ed5b1a9e91f394fde367684008ae","author":{"name":"Mark Stoodley","email":"71075689203269c9a7b270dbd188ad1e2aa1ec6a@ca.ibm.com"},"message":"Provide Dockerfile for easy x86 build failure reproduction\n\nWhile working on a recent PR on my MacBook, I needed to reproduce\na failure in the Linux x86 testing. To do that, I built a Docker\ncontainer to build and run tests and to diagnose the failure.\n\nIt seemed like something others might find useful, so I cleaned\nit up a bit to make it a bit more consumable. It's not perfect\nbut its gets you to having a workin Linux x86 build with only\na couple of commands.  The basic directions are provided in\nthe Dockerfile, which I'll reproduce here to save a bit of time:\n\nBasic usage (adapt to your environment and scenario):\n  git clone https://github.com/eclipse/omr (or cd to a directory that contains an OMR repository)\n  cd omr/buildenv/docker && docker build -f x86_64/ubuntu16/Dockerfile -t buildomr .\n  cd ../../../\n  docker run --privileged -v $PWD/omr:/omr -it buildomr\n\nThe container will automatically run cmake to configure itself and\nthen initiate the build.  Once the build completes, you'll be left\nsitting at a prompt in the container so you can run more commands.\nI had the container also install gdb, vim, and emacs but we could\nadd some other useful commands too.\n\nSigned-off-by: Mark Stoodley <mstoodle@ca.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/33f71a7737b3ed5b1a9e91f394fde367684008ae"},{"sha":"4dd15c71161b6d309e89da80df2a01dad1e9769e","author":{"name":"Pavel Samolysov","email":"6f1fcf954d441b01751b39f5c198405aaa04dae3@gmail.com"},"message":"Consolidate implementations of RegisterIterator\n\nEach code generator implements a 'RegisterIterator' class which appears\nto be implemented solely to assist register assignment tracing dumps in\n'ras/Debug.cpp'. The DNA of these classes across all the code generators\nmust be at least 90% identical, and there is no doubt that with a bit of\nthought a single, common implementation shared by all code generators\ncould be developed.\n\nA generic implementation of the 'TR::RegisterIterator' is implemented\nand all platform-specific 'OMR::ARCH::RegisterIterator' classes are\nremoved from the codebase. The signature of the class constructor is\nchanged a bit: the constructor takes the machine as well as the first\nand last assignable registers, no TR_RegisterKinds is used:\n\nself()->setGPRegisterIterator(new (self()->trHeapMemory()) TR::RegisterIterator(self()->machine(),\n    TR::RealRegister::FirstGPR, TR::RealRegister::LastAssignableGPR));\nself()->setFPRegisterIterator(new (self()->trHeapMemory()) TR::RegisterIterator(self()->machine(),\n    TR::RealRegister::FirstXMMR, TR::RealRegister::LastXMMR));\n\nIssue: #2645\nSigned-off-by: Pavel Samolysov <samolisov@gmail.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/4dd15c71161b6d309e89da80df2a01dad1e9769e"},{"sha":"ab9f001d2e4c1f7253b2c0068f3e64b944e2bf4f","author":{"name":"Pavel Samolysov","email":"6f1fcf954d441b01751b39f5c198405aaa04dae3@gmail.com"},"message":"Consolidate the getRealRegister method\n\nThe 'getRealRegister(TR::RealRegister::RegNum regNum)' method has\nbeen moved to the common codegen OMRMachine.hpp header file\n('compiler/codegen/OMRMachine.hpp').\n\nIssue: #2645\nSigned-off-by: Pavel Samolysov <samolisov@gmail.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/ab9f001d2e4c1f7253b2c0068f3e64b944e2bf4f"},{"sha":"29fdcbeae9861b7385696780fa1f50acfddf6d24","author":{"name":"Pavel Samolysov","email":"6f1fcf954d441b01751b39f5c198405aaa04dae3@gmail.com"},"message":"Remove unuseful comments after includes\n\nComments after the '#include' preprocessor directive such the following:\n\n'#include \"env/TRMemory.hpp\"                   // for TR_Memory, etc'\n\nlooks unuseful and they have a high maintenance with code moving around.\nThe committers have decided we should remove them.\n\nCloses: #2645\nSigned-off-by: Pavel Samolysov <samolisov@gmail.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/29fdcbeae9861b7385696780fa1f50acfddf6d24"},{"sha":"1064c0fa4ee9a30071a81f7cea90c44e183f29ab","author":{"name":"knn-k","email":"dcce18c1bceade117d2b062b1463e1670d375091@jp.ibm.com"},"message":"Tril tests for b2i, s2l, etc.\n\nThis commit adds tril test cases for integer extension evaluators\nsuch as b2i and s2l.\n\nSigned-off-by: knn-k <konno@jp.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/1064c0fa4ee9a30071a81f7cea90c44e183f29ab"},{"sha":"f4c4c23600b5bfd224c71f7f548f30625289b963","author":{"name":"Daryl Maier","email":"04babc56297ff17e6845dac082142a3f971b0934@ca.ibm.com"},"message":"Merge pull request #3287 from samolisov/consolidate-all-register-iterators\n\nConsolidate all register iterators","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/f4c4c23600b5bfd224c71f7f548f30625289b963"},{"sha":"7b1d6060bc7dd322b282e675180f0c921d486c66","author":{"name":"Leonardo2718","email":"cc967cf84e9abca35de15a83c23299ac3e9fa509@protonmail.com"},"message":"Merge pull request #3312 from knn-k/aarch64triltest4\n\nTril tests for b2i, s2l, etc.","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/7b1d6060bc7dd322b282e675180f0c921d486c66"},{"sha":"acb1f05bb3222fb73a93600615971d3b73f98cc4","author":{"name":"Marius Pirvu","email":"f30fa3620f2a649390a126f916222815ae0a6f68@ca.ibm.com"},"message":"Supporting options and code to allow AOT at cheap warm level\n\nThis commit adds a new option -Xaot:disableAOTAtCheapWarm to control the\nlogic that will force AOT compilations to be performed at a \"cheap\"\nwarm level. A \"cheap\" warm level is an optimization level where the\ninliner has been subdued somewhat (the same inliner changes are applied\nto the Xtune:virtualized mode in OpenJ9 JVM).\nUpgrades of AOT bodies through sampling are also subdued if the\nguarded counting recompilation (GCR) is enabled.\n\nSigned-off-by: Marius Pirvu <mpirvu@ca.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/acb1f05bb3222fb73a93600615971d3b73f98cc4"},{"sha":"dfcc2a554c93226dce5037d292558575a72eabfe","author":{"name":"Daryl Maier","email":"04babc56297ff17e6845dac082142a3f971b0934@ca.ibm.com"},"message":"Remove deprecated OMRRegisterIterator.cpp from AArch64 CMakeLists.txt\n\nSigned-off-by: Daryl Maier <maier@ca.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/dfcc2a554c93226dce5037d292558575a72eabfe"},{"sha":"55a7a78d8eba91e9c34d406b1941ff069ed025c3","author":{"name":"Peter Bain","email":"d8d59724287b8e09f502ba45690745c09aeef8e2@ca.ibm.com"},"message":"Fix get_OS_version for MacOS\n\nAlso define platform-specific constants to reduce the complexity of the ifdefs\nand reduce duplicated code.\n\nSigned-off-by: Peter Bain <peter_bain@ca.ibm.com>","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/55a7a78d8eba91e9c34d406b1941ff069ed025c3"},{"sha":"6494b74dc2d51689a8b18238f275701ef579cd64","author":{"name":"Leonardo2718","email":"cc967cf84e9abca35de15a83c23299ac3e9fa509@protonmail.com"},"message":"Merge pull request #3329 from 0xdaryl/regit\n\nRemove deprecated OMRRegisterIterator.cpp from AArch64 CMakeLists.txt","distinct":false,"url":"https://api.github.com/repos/keithc61/omr/commits/6494b74dc2d51689a8b18238f275701ef579cd64"}]}
{"actor":{"display_login":"keithc61"}}