Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for handling primitives/builtin functions, and language settings #1

Merged
merged 13 commits into from
Aug 18, 2017

Commits on Aug 18, 2017

  1. Support for handling primitives/builtin functions

    This adds basic infrastructure to use annotations to handle primitives in Truffle languages.
    
    It supports parse-time and eager run-time specialization. During specialization, the normal method call can be replaced with a specific operation. This means, there is no overhead for a method call anymore in the interpreter.
    
    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    b521aa8 View commit details
    Browse the repository at this point in the history
  2. Added configuration mechanism

    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    570d1a4 View commit details
    Browse the repository at this point in the history
  3. Remove requires source section and eager wrapping from config

    These config options aren’t necessary anymore.
    We are going to deal with these two options via an initializer method.
    
    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    1e53042 View commit details
    Browse the repository at this point in the history
  4. Added interface for eager primitives and specializable nodes

    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    0af069a View commit details
    Browse the repository at this point in the history
  5. Added PreevaluatedExpression interface to simplify specialization

    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    48970b3 View commit details
    Browse the repository at this point in the history
  6. Added WithContext interface for nodes

    Nodes might need access to the langauge’s state or behavior, which is available via a ‘context’ object.
    
    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    be034bb View commit details
    Browse the repository at this point in the history
  7. Don’t need to declare context in @primitive anymore

    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    9526342 View commit details
    Browse the repository at this point in the history
  8. Adapt Specializer to rely on new interfaces

    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    fd4ca2b View commit details
    Browse the repository at this point in the history
  9. Added Operation interface, used by tools like DynamicMetrics

    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    9199e06 View commit details
    Browse the repository at this point in the history
  10. Add PrimitiveLoader initialization, avoid exposing low-level helpers

    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    ae762cb View commit details
    Browse the repository at this point in the history
  11. Added basic tests for PrimitiveLoader

    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    05ea3a3 View commit details
    Browse the repository at this point in the history
  12. Use Class.forName instead of class loader

    Class loader seems to be null on the bootclasspath
    
    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    a7409f6 View commit details
    Browse the repository at this point in the history
  13. Fix codacy token

    Signed-off-by: Stefan Marr <git@stefan-marr.de>
    smarr committed Aug 18, 2017
    Configuration menu
    Copy the full SHA
    f997d9c View commit details
    Browse the repository at this point in the history