1. 27 Apr, 2018 7 commits
  2. 26 Apr, 2018 6 commits
  3. 16 Nov, 2015 1 commit
  4. 02 Oct, 2015 1 commit
  5. 27 Apr, 2015 2 commits
  6. 09 Oct, 2014 1 commit
    • Lubomir Bulej's avatar
      DiSL: use the logging infrastructure instead of standard output/error to produce any messages. · 55b410df
      Lubomir Bulej authored
      DiSL: mark the constructor as deprecated because of the amount of work done in it, and provide an init() static factory method.
      DiSL: selectShadowsWithGuards() converted to the streams API.
      DiSL: dropped getters from InstrumentedClass, as it is private class that only serves to return a multi-value result.
      DiSL: introduce the usage of the CodeOption enums to determine how to instrument code, so far in backwards compatibility mode.
      
      AbstractParser: use logger instead of stdout to print out warning.
      AbstractParser: added ensure*() methods to check for expected properties in snippets.
      AnnotationMapper: new class for processing Java annotations.
      ArgProcessorParser: cleaned up the parsing code, switched several loops to the streams API.
      ContextKind: introduced to represent the various kinds of contexts.
      DiSLClasses: use a set of CodeOption enums instead of boolean flags when loading DiSL classes.
      SnippetParser: extracted the Contexts class into ContextUsage class.
      SnippetParser: cleaned up snippet validation and parsing.
      ParserRuntimeException: introduced as an internal exception for class parser classes.
      
      Code, UnprocessedCode: use MethodNode as a reference to code, instead of separate instruction and try-catch-block lists.
      Code, UnprocessedCode: drop context kind usage information, because it is not used by any code.
      Code: only expose information on local variables and static context methods as unmodifiable sets.
      Code, UnprocessedCode, SnippetCode, SnippetUnprocessedCode: introduce a copy contructor for use in the clone() method.
      ContextUsage: extracted from SnippetParser and slightly refactored.
      InvalidStaticContextInvocationException: introduced as an internal exception for code representation classes.
      UnprocessedCode: added className(), methodName(), and location(AbstractInsn) methods.
      UnprocessedCode: cleaned up translateThreadLocalVars() method and renamed it to __rewriteThreadLocalVarAccesses().
      UnprocessedCode: converted many loops in helper methods to the streams API, sometimes even using parallel streams.
      
      ArgumentContextImpl: just wrap ProcMethodInstance instead of duplicating the information.
      GuardHelper: use ProcMethodInstance in guardApplicable() method instead of passing argument context parameters explicitly.
      
      ArgProcessorParserException: repurposed to ParserRuntimeException.
      ParserException, ParserRuntimeException, ProcessorException, StaticContextGenException: added constructor(s) for formatted messages and cleaned up formatting.
      
      ArgProcessor: added getReferencedSCMs() method to collected static context methods referenced in argument processor methods.
      ArgProcessorKind: removed valueOf(ProcessAlso.Type) because it is not used.
      ArgProcessorMethod: use Code and UnprocessedCode instead of ProcCode and ProcUnprocessedCode.
      ArgProcessorMethod: replaced getTypes() with handlesType(ArgProcessorKind) to make the class do more work.
      ArgProcessorMethod, Snippet: make sure getCode() can be only called after the template code has been expanded.
      ArgProcessorMethod, Snippet, SnippetUnprocessedCode: use the template code as a source of the snippet origin class and method names.
      ProcCode, ProcUnprocessedCode: removed, as their function is subsumed by Code and UnprocessedCode classes.
      PIResolver: cleaned up and simplified the equals() implementation.
      ProcGenerator: use handlesType() instead of getTypes().contains() on ArgProcessorMethod.
      ProcGenerator: pass ProcMethodInstance into guardApplicable() invocations, eliminated isPMGuardApplicable() private method.
      ProcMethodInstance: use Code instead of ProcCode.
      ProcMethodInstance: renamed getArgPos() to getArgIndex().
      ProcMethodInstance: renamed getArgType() to getKind() because that is what it does.
      ProcMethodInstance: changed getArgTypeDesc() to getArgType() and made it to return Type, instead of string type descriptor to keep the abstraction higher.
      
      Snippet: use Integer.compare() on snippet order in the compareTo() method.
      Snippet: cleaned up code and javadoc formatting.
      SnippetCode: decorate Code instead of extending it, besides other things it makes cloning much simpler.
      SnippetCode: build the set of reference static context methods lazily based on the SCMs referenced in the template code and the associated argument processor methods.
      SnippetUnprocessedCode: decorate UnprocessedCode instead of extending it, makes cloning much simpler.
      SnippetUnprocessedCode: dropped context kind usage information, it is not used anywhere.
      SnippetUnprocessedCode, UnprocessedCode: cleaned up and added comments to the process() method.
      SnippetUnprocessedCode: dropped getters from the privater ProcessorInfo class.
      SnippetUnprocessedCode: cleaned up the insnInvokesProcessor() method.
      SnippetUnprocessedCode: cleaned up the insertExceptionHandler() method and renamed it to __insertExceptionHandler().
      SnippetUnprocessedCode: cleaned up the insertDynamicBypass() method and renamed it to __insertDynamicBypassControl().
      
      SCGenerator: simplified computeStaticInfo() and cleaned up the formatting.
      
      AsmHelper: removed the deprecated helper methods, they now reside closer to where they are used.
      
      WeavingCode: reflect the changes in ProcMethodInstance method names.
      
      RequestProcessor: use DiSL.init() instead of new DiSL(), and convert "dislserver.disablebypass" property to "disl.disablebypass" to preserve compatibility.
      
      OnPlaceTransformer, Transformer: use DiSL.init() instead of new DiSL()
      55b410df
  7. 06 Oct, 2014 1 commit
  8. 08 Jul, 2014 1 commit
  9. 20 Jun, 2014 1 commit
    • Lubomir Bulej's avatar
      DiSLServer: use logging to produce messages. · 9c8acb73
      Lubomir Bulej authored
      DiSLServer: cleaned up error handling and reporting.
      DiSLServer: support for indicating server readiness and shutdown.
      DiSLServer: moved to Executor framework for thread management.
      DiSLServer: collect timing information for communication and request processing.
      DiSLServer, MesageChannel: switch to channel-based buffered I/O.
      Worker: moved connection handling to DiSLServer.ConnectionHandler.
      Worker: cleaned up and renamed to RequestProcessor.
      9c8acb73
  10. 29 May, 2014 1 commit
    • Lubomir Bulej's avatar
      - Merged the new DiSL agent code. Code generations options are not yet used. · ed524974
      Lubomir Bulej authored
      - Removed the old DiSL agent code as well as the old Java agent.
      - Copied old shared DiSL agent headers to Shadow VM agent.
      - Added JDK includes for JNI and JVMTI to avoid looking for them.
      - Unified the naming of source directories.
      - Updated the test infrastructure to the new build system layout.
      - Examples can be now run even from the source distribution.
      ed524974