{"push_id":1460266323,"size":28,"distinct_size":28,"ref":"refs/heads/master","head":"0d8a096077d3713c7af9a91902cbe267fccb0cdc","before":"1dfae2008c40db5f1ccd358d065426529925cc54","commits":[{"sha":"8ac56e53fb6d993928b553817e4f5ed0e700e646","author":{"name":"jimmyk","email":"a99a8600bba8eed1373a94d3463473d30256d499@ca.ibm.com"},"message":"Add Vector support to Register Assigner on x\n\nRegister Assigner on x now recognizes \"TR_VRF\" virtual register as\nbeing a vector register and will attempt to assign a XMM register to\nthem.\n\nCreated method isFPRUsedAsVFR. It checks if the processor supports SSE2\nand if so attempts to assign vector registers if the system has TR_FPR\nreal registers.\n\nCreated method getSupportsOpCodeForAutoSIMD. It is used to check which\nvector opcode are currently supported for autoSIMD. Currently there are\nnone so it always returns false.\n\nAdded code to handle spilling and filling of registers for 128 bit\nvector sized data.\n\nFirst check-in failed so I fixed the compile error\nAdded a self before isFPRUsedAsVFR because of the following error:\n\"Implicit this receivers are prohibited in extensible classes\"\n\nIssue: #431\nSigned-off-by: jimmyk <jimmyk@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/8ac56e53fb6d993928b553817e4f5ed0e700e646"},{"sha":"55c9e68a6604a89b7cfdeb921f69723bcb146b55","author":{"name":"Lukas Lorimer","email":"1b541ef11838ef0e0fde9d399373ce04311ea247@ca.ibm.com"},"message":"Change configure flags for JIT components\n\nAdd separate configure flags for the Test compiler and JitBuilder;\n`--enable-TEST_COMPILER` and `--enable-JITBUILDER` respectively.\n\nSigned-off-by: Lukas Lorimer <lukasl@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/55c9e68a6604a89b7cfdeb921f69723bcb146b55"},{"sha":"4324c4cb958597d62c86d4ad5cc4c8f28e6d336f","author":{"name":"Mark Stoodley","email":"578460a5f28145c61712c0df07c3bcddb0a4475f@ca.ibm.com"},"message":"Add notion of virtual machine state to JitBuilder\n\nThe primary purpose of JitBuilder is to help developers create JITs for\nlanguage runtimes. JIT compilers need to understand the virtual machine\nstate for the runtime in which the generated code will operate. In\nparticular, it is often necessary for the generated code to call code\nthat runs in the interpreter. One way to do that is for the generated\ncode to fully maintain the interpreter's virtual machine state at\nall times. It is possible to that today with JitBuilder, but it's not\nthe most effective way to write a JIT compiler because maintaining\nthat state all the time isn't always efficient because the compiler\ncannot always optimize the virtual machine state updates.\n\nA more effective approach is for the JIT compiler to simulate the\nvirtual machine state as it is generating the code for each bytecode\nand to only \"commit\" that simulated state to the interpreter's\nvirtual machine state when a transition has to occur.\n\nThis commit introduces an interface called VirtualMachineState that\ncan be used as part of this simulation process. I also created three\nkinds of virtual machine state implementations: one for virtual\nmachine register (basically a value stored at some address in the\nvirtual machine), one for a virtual machine register that resides\nin some readily accessible struct (for example, a \"thread\" structure\npassed as a parameter to the compiled method), and one for an\noperand stack as used in many bytecode-based virtual machines.\n\nA JIT created using JitBuilder can use directly or subclass these\nstructures to create their own representation of the virtual machine\nstate for their language runtime, and then describe it to JitBuilder.\nThe BytecodeBuilder and MethodBuilder objects have also been\naugmented to automatically create and propagate virtual machine\nstate while a method is being compiled via JitBuilder. At any\ntime that control will flow to the interpreter, the language JIT\ncan simply call the Commit() function and pass the builder object\nrepresenting the execution path that leads to the interpreter,\nand the operations needed to make the interpreter's virtual\nmachine state match the simulated state will be automatically\nappended to that builder object.\n\nNote that parallel services (to IlBuilder) have been added to\nBytecodeBuilder to handle control flow between BytecodeBuilder\nobjects: Goto, IfCmpEqual, and IfCmpNotEqual. I'll complete\nthe set in a subsequent commit.\n\nA subsequent commit will also add JitBuilder tests for these\nnew structures and also demonstrate how they are expected\nto be used in conjunction with BytecodeBuilders.\n\nSigned-off-by: Mark Stoodley <mstoodle@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/4324c4cb958597d62c86d4ad5cc4c8f28e6d336f"},{"sha":"ef46a4c578978efb0aea7e02906f2eaf74a3f6af","author":{"name":"Mark Stoodley","email":"578460a5f28145c61712c0df07c3bcddb0a4475f@ca.ibm.com"},"message":"Rearrange files in JitBuilder .gitignore and Makefile\n\nList files alphabetically so easy to find and change all goals and\nlists of files to be one-per-line to make it easier to add/remove\ntests/files in the right places. I also consolidated the three\nlists of tests into just two lists to make it easier to add/remove\ntests: one list is the dependences, one list is the commands to run\nall the tests.\n\nSigned-off-by: Mark Stoodley <mstoodle@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/ef46a4c578978efb0aea7e02906f2eaf74a3f6af"},{"sha":"545ab84d7b86dd5e6ced9f260612b1aac07c526d","author":{"name":"Mark Stoodley","email":"578460a5f28145c61712c0df07c3bcddb0a4475f@ca.ibm.com"},"message":"Fix macro inconsistency in AtomicOperations.hpp\n\nAtomicOperations.hpp uses ATOMICOPS_INCL in the\nthem the same (ATOMICOPS_INCL).\n\nSigned-off-by: Mark Stoodley <mstoodle@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/545ab84d7b86dd5e6ced9f260612b1aac07c526d"},{"sha":"b50da3d70c5c4cc5be543e63a17f21c3741beb3e","author":{"name":"Mark Stoodley","email":"578460a5f28145c61712c0df07c3bcddb0a4475f@ca.ibm.com"},"message":"Add tests for VirtualMachineRegisters and VirtualMachineOperandStack\n\nThis test contains two basic methods to test VirtualMachineRegister and\nVirtualMachineOperandStack as well as VirtualMachineRegisterInStruct\nand VirtualMachineOperandStack. The methods share almost all their code\nexcept for two main differences:\n        1) the first test uses VirtualMachineRegister while the second\n           uses VirtualMachineRegisterInStruct\n        2) there is an if-then-else diamond at the end of the method:\n           the first method takes the \"then\" path while the second one\n           takes the \"else\" path.\n\nCode generation simulates a sequences of stack operations and computes\nsome simple expressions using the stack operands. At certain points,\nbuildIL() will generate callouts to native functions (unimaginatively\ncalled verifyResultN() ) to test whether the operations performed by\nthe function are visible outside the method and to make sure the\ncorrect results are being generated. Before making some of these\ncallouts, buildIL calls Commit() on the virtual machine state. At\nthe end, buildIL generates a set of BytecodeBuilder objects to\ndemonstrate how virtual machine state is automatically propagated\nwhen control flow edges are created between those objects. The\ntest prints a summary of pass/fail at the end along with\n\"ALL PASS\" if successful.\n\nThe test defines a subclass of VirtualMachineState called TestState\nwhich collects a stack top register along with an operand stack.\nIt implements the Commit(), Reload(), MergeInto(), and MakeCopy()\ndelegators.\n\nThis test can be considered an example for how someone could use\nthe VirtualMachine* classes to have a compiled method simulate\nactions on the real virtual machine state.\n\nBy default, the tests will provide minimal output to show progress.\nIf you run with --verbose option, copious output will be presented\nto explain what's happening.\n\nSigned-off-by: Mark Stoodley <mstoodle@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/b50da3d70c5c4cc5be543e63a17f21c3741beb3e"},{"sha":"d5ad7fda938619ff039e3237831efc7344b2f025","author":{"name":"Mark Stoodley","email":"578460a5f28145c61712c0df07c3bcddb0a4475f@ca.ibm.com"},"message":"Fix OperandStackTests and Commit() in VirtualMachineOperandStack\n\nThis is why developers should write tests for their own code. Somehow\nI managed to reverse the order of writes to the virtual operand stack so\nthat the stack was written in reverse order. Then I also managed to do the\nsame thing in writing the OperandStackTests test. Two mistakes == not really\nright.\n\nThis commit reverses the order in Commit and also in the test.\n\nSigned-off-by: Mark Stoodley <mstoodle@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/d5ad7fda938619ff039e3237831efc7344b2f025"},{"sha":"2292ac840554dc30cfb410d400f0c43c67450402","author":{"name":"Mark Stoodley","email":"578460a5f28145c61712c0df07c3bcddb0a4475f@ca.ibm.com"},"message":"Add more control flow services to BytecodeBuilder and fix existing ones\n\nThe set of control flow services accessible to BytecodeBuilder was not complete\nand did not include IfCmpEqualZero, IfCmpNotEqualZero, IfCmpLessThan, or\nIfCmpGreaterThan. This commit adds those services to BytecodeBuilder.\n\nThere was also some scary stuff going on in the control flow services that were\nadded to BytecodeBuilder to intercept and add the virtual machine state\nmanagement. I don't think anything untoward was happening in any code currently\nusing these services but, at the same time, code evolves. I have created\na set of services in IlBuilder that take a pointer to IlBuilder as a destination\nbuilder object; these services require that the object not be NULL. The\ndouble pointer version still exists and takes care of allocating something\nif needed. BytecodeBuilder has versions of these that take BytecodeBuilder\nobjects. The hiding of the IlBuilder services for BytecodeBuilders should\nprobably be documented better (future commit).\n\nSigned-off-by: Mark Stoodley <mstoodle@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/2292ac840554dc30cfb410d400f0c43c67450402"},{"sha":"b71156ff63e379d811758e4ecbbf2b29eaef9839","author":{"name":"Lukas Lorimer","email":"1b541ef11838ef0e0fde9d399373ce04311ea247@ca.ibm.com"},"message":"Remove empty enum of options\n\nThis enum causes many compiler warnings under clang.\nIf needed in the future, it can be easily readded.\n\nSigned-off-by: Lukas Lorimer <lukasl@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/b71156ff63e379d811758e4ecbbf2b29eaef9839"},{"sha":"1e493ca975c8dc42f9824090a70506095304718e","author":{"name":"Lukas Lorimer","email":"1b541ef11838ef0e0fde9d399373ce04311ea247@ca.ibm.com"},"message":"Cleanup processing `verbose` option flag\n\nThere are two separate option flags for setting verbose options:\n`verbose` and `verbose=`. In the former case, default options are\ntaken from the options table.\n\nThis cleans up the process of applying those default options.\n\nSigned-off-by: Lukas Lorimer <lukasl@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/1e493ca975c8dc42f9824090a70506095304718e"},{"sha":"ce9a63c908d17c84208878319a918f2f2d36fbe7","author":{"name":"Aleksandar Micic","email":"623ede5cb1eb353f67c9b86c7d92d865da2a4db1@ca.ibm.com"},"message":"Complete CS cycle in progress before starting STW global GC\n\nMore generic solution of https://github.com/eclipse/omr/pull/579. This\none additionally covers the case of plain Parallel Global GC, rather\nthan more typical ConcurrentGC (STW phase of it).\n\nAn example is running Java's Gencon GC policy with Concurrent Marking\nexplicitly disabled.\n\nSigned-off-by: Aleksandar Micic <amicic@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/ce9a63c908d17c84208878319a918f2f2d36fbe7"},{"sha":"bf761322c04fe2e308a2106e1c61fadf94ef2927","author":{"name":"Charlie Gracie","email":"0e02fed2408d1fa282d2fba36068cde7cf71e330@gmail.com"},"message":"Merge pull request #444 from noryb009/add-jit-component-flags\n\nChange configure flags for JIT components","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/bf761322c04fe2e308a2106e1c61fadf94ef2927"},{"sha":"a3603e7194029755206dd39f257d96704f8f7354","author":{"name":"Ryan Santhirarajan","email":"93b41a42c5a5ab8698111693409c2a2af6fd7d12@pjavarhel01.rtp.raleigh.ibm.com"},"message":"Load Power Table Of Constants in method prologue\n\nThe Power Table of Constants (TOC) was not being loaded into r2 as\nspecified by the Power System Linkage. When the caller does not do this,\nthe callee will try to use the TOC base register, r2, resulting in an\nerror. To remedy this, the TOC will be loaded when the prologue is\ncreated.\n\nSigned-off-by: Ryan Santhirarajan <rsanth@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/a3603e7194029755206dd39f257d96704f8f7354"},{"sha":"3de3d2cb3e5ec574971b7943c10699100aba10f0","author":{"name":"Daryl Maier","email":"654c53488e76faec3e98e87271e048eabb668dc6@ca.ibm.com"},"message":"Merge pull request #565 from R-Santhir/master\n\nLoad Power Table Of Constants in method prologue","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/3de3d2cb3e5ec574971b7943c10699100aba10f0"},{"sha":"7f54e19cd95b23a55395d589272540c93cdc0aa6","author":{"name":"jimmyk","email":"a99a8600bba8eed1373a94d3463473d30256d499@ca.ibm.com"},"message":"Add Vector support to Register Assigner on x\n\nFixed typos. Changed \"VFR\" to \"VRF\" in \"isFPRUsedAsVFR\"\n\nAdded comment to better explain what isFPRUsedAsVRF is.\n\nEdited comment to better explain the use of isFPRUsedAsVRF in\nprepareRegistersForAssignment.\n\nIssue: #431\nSigned-off-by: jimmyk <jimmyk@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/7f54e19cd95b23a55395d589272540c93cdc0aa6"},{"sha":"7ed890c65d375b9138023c405f134355c3f16b95","author":{"name":"Mark Stoodley","email":"578460a5f28145c61712c0df07c3bcddb0a4475f@ca.ibm.com"},"message":"Merge pull request #584 from noryb009/cleanup-options\n\nCleanup uses of option flags","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/7ed890c65d375b9138023c405f134355c3f16b95"},{"sha":"eeff6be44eef4eb4421ae6215c1b409e3ab11dd4","author":{"name":"Charlie Gracie","email":"0e02fed2408d1fa282d2fba36068cde7cf71e330@gmail.com"},"message":"Merge pull request #592 from amicic/concurrent-scavenger\n\nComplete CS cycle in progress before starting STW global GC","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/eeff6be44eef4eb4421ae6215c1b409e3ab11dd4"},{"sha":"faca8a715bf150c71a4767e8c2bb1cd4c826b2db","author":{"name":"Mark Stoodley","email":"578460a5f28145c61712c0df07c3bcddb0a4475f@ca.ibm.com"},"message":"Correct compare between pointer and number in OMRCompilation.cpp\n\nA char * pointer was being compared against 0 using >. The fix\nis to correct the pointer comparison against NULL using != and\nalso to convert the integer value expected to be in that string\nand test it for > 0.\n\nSigned-off-by: Mark Stoodley <mstoodle@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/faca8a715bf150c71a4767e8c2bb1cd4c826b2db"},{"sha":"f4e08864babe2bdf1b1d87d4e28c3e32d37dddca","author":{"name":"Aman Kumar","email":"c0f44089ff49afddfaeb1941f82d0b2e627fb7d6@ca.ibm.com"},"message":"Create log file tests\n\nCurrently, log files are not being generated in the testing\nframework.\n\nThree new tests have been added to check the following:\n\n* Log files are generated when the compiler is run with the right\noptions.\n* The log files generated have content.\n* The log files have certain keywords present (see LogFileTest.cpp).\n\nMore types of logs and keywords to look for in a particular type of log\ncan be added in the last test.\n\n[ci skip] Commit message change\n\nSigned-off-by: Aman Kumar <amank@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/f4e08864babe2bdf1b1d87d4e28c3e32d37dddca"},{"sha":"ee74bd0bb2970c1b2173aba1183b9186a3692538","author":{"name":"Daryl Maier","email":"654c53488e76faec3e98e87271e048eabb668dc6@ca.ibm.com"},"message":"Merge pull request #422 from amankumar1/addLogFileTests\n\nCreate log file tests","distinct":true,"url":"https://api.github.com/repos/zl-wang/omr/commits/ee74bd0bb2970c1b2173aba1183b9186a3692538"}]}
{"actor":{"display_login":"zl-wang"}}