An error occurred fetching the project authors.
  1. 04 Dec, 2015 2 commits
    • Marius Wachtler's avatar
      Define i1 as int64 and rename it to llvm_compat_bool · bca915e6
      Marius Wachtler authored
      because when calling a function with return type BOOL we currently expect it to return a i64.
      This got triggered by the inliner
      bca915e6
    • Marius Wachtler's avatar
      Don't generate patchpoints for calls to fixed functions which don't need patching · 67360572
      Marius Wachtler authored
      Previously we generated patchpoints for every call because the callee could do a frame introspection
      and we could not retrieve the frame info without the additional patchpoint informations.
      
      This change moves all required information inside the FrameInfo.
      Because the FrameInfo does not have a fixed offset (different num of stack args and OSR functions reuse the frame info from the interpreter),
      we generate at function entry a stack variable which points to the frame_info and than we emit a stackmap intrinsic
      in order to know which basepointer relative address it has.
      The current statement inside the FrameInfo gets only updated on direct calls - patchpoints still attach it directly instead of updating the memory.
      Because always updating the variable is a small slowdown.
      
      This allows us todo inlining of trivial call sites at the llvm IR level.
      67360572
  2. 02 Sep, 2015 1 commit
  3. 12 Aug, 2015 1 commit
  4. 03 Aug, 2015 1 commit
  5. 30 Jul, 2015 1 commit
  6. 28 Jul, 2015 1 commit
    • Kevin Modzelewski's avatar
      Templatize runtimeCall for different exception styles · a62ba58f
      Kevin Modzelewski authored
      Which also involves templatizing most of the things that it
      calls as well.
      
      CompiledFunction's now have an additional parameter "exception_style",
      and we will try to call a version of the function with the requested
      style.  All of our runtime functions are written to the CXX style,
      and there's not a whole lot of benefit until we templatize the runtime
      functions individually.
      a62ba58f
  7. 18 Jul, 2015 1 commit
    • Kevin Modzelewski's avatar
      Remove list locks · 81b321dc
      Kevin Modzelewski authored
      They're not used any more, and even though they are
      empty NopLocks, they change the struct structure.
      81b321dc
  8. 17 Jul, 2015 1 commit
  9. 03 Jul, 2015 2 commits
  10. 06 Mar, 2015 1 commit
  11. 13 Feb, 2015 1 commit
  12. 09 Jan, 2015 1 commit
    • Kevin Modzelewski's avatar
      Large refactor for basic tp_alloc support · 0c20808b
      Kevin Modzelewski authored
      Use operator new() to get access to tp_alloc in a C++-ish way.
      
      Instead of passing the object's class to the constructor, pass
      it to new().  We need to do this since the class gets to pick how
      the object gets allocated, including how large it will end up being.
      
      Unfortunately it looks like defining an operator new on a subclass
      hides the operator new from a superclass, even if they have different
      signatures.  Macros to the rescue.
      0c20808b
  13. 05 Jan, 2015 1 commit
  14. 06 Aug, 2014 1 commit
    • Kevin Modzelewski's avatar
      Make the GC-header managed by the GC · cd11e1d5
      Kevin Modzelewski authored
      Previously the gc header had to be set and managed by the user of the GC,
      which didn't make much sense.
      
      Also took this opportunity to clean up a bunch of old cruft.
      
      Also got rid of ObjectFlavors and AllocationKinds, in preference for
      a GCKind which I think makes more sense.  Right now there are only three
      different GCKinds, but I'm not sure if the previous AllocationKinds
      should each get their own GCKind.
      cd11e1d5
  15. 17 Jun, 2014 2 commits
    • Kevin Modzelewski's avatar
      Makefile cleanup · 87202332
      Kevin Modzelewski authored
      Make rules more general, and generate rules that can't be patterns
      Made it easy to add a pyston_grwl target
      87202332
    • Kevin Modzelewski's avatar
      Add enough locking to make the GRWL somewhat safe · 94061fa5
      Kevin Modzelewski authored
      Add some basic locking to:
      - code generation (one lock for all of it)
      - garbage collection (spin lock for allocations, global serialization for collections)
      - lists (mutex per list object)
      
      Can run the GRWL on some simple tests (microbenchmarks/thread_contention.py and thread_uncontended.py)
      Performance is not great yet
      94061fa5
  16. 07 Jun, 2014 1 commit
    • Kevin Modzelewski's avatar
      Implement defaults, keywords, varargs and kwargs · 6acfb996
      Kevin Modzelewski authored
      Not all exposed to python code yet
      
      This commit is pretty large because it contains two separate but interrelated changes:
      - Rewrite the function argument handling code (callCompiledFunction and resolveCLFunc)
        into a single callFunc that does its own rewriting, and support the new features.
      -- this required a change of data representations, so instead of having each function
         consist of variants with unrelated signatures, we can only have a single signature,
         but multiple type specializations of that signature
      - To do that, had to rewrite all of the stdlib functions that used signature-variation
        (ex range1 + range2 + range3) to be a single function that took default arguments, and
        then took action appropriately.
      6acfb996
  17. 03 Jun, 2014 2 commits
  18. 02 Jun, 2014 1 commit
    • Kevin Modzelewski's avatar
      Fix a list GC bug · fa787025
      Kevin Modzelewski authored
      The presence of an allocated "elts" pointer is determined by capacity>0,
      but the GC handler was incorrectly only choosing to visit it if size>0.
      Not all code paths free the elts array if size goes down to zero, so
      it could happen that capacity>0 and size=0, and then the elts array would
      not be tracked even though it was expected to be.
      
      Added a test that illustrates this.
      fa787025
  19. 30 May, 2014 1 commit
  20. 20 May, 2014 1 commit
  21. 13 May, 2014 1 commit
    • Kevin Modzelewski's avatar
      Run clang-format ("make format") on the codebase · daefbbb6
      Kevin Modzelewski authored
      Changed the indentation of pretty much the entire codebase.
      
      It did some things that I don't like that seem not configurable,
      but overall it seems like an improvement, and nice to have a
      canonical format going forward.
      daefbbb6
  22. 30 Apr, 2014 1 commit
  23. 21 Apr, 2014 1 commit
  24. 03 Apr, 2014 1 commit