Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: master
Commits on Mar 16, 2014
  1. @sriram-srinivasan

    Issue #35. Value.merge() assumed two values were equal even if the co…

    sriram-srinivasan authored
    …nstVal's weren't matching. Fixed, thanks to Andrew Bate.
    
    	modified:   src/kilim/analysis/Value.java
Commits on Nov 28, 2013
  1. @sriram-srinivasan

    For a pausable method in a class, the Weaver produces two versions: o…

    sriram-srinivasan authored
    …ne with the original signature, which throws an error if called, and another, with the Fiber argument in it.
    
    For an pausable method in an _interface_, the Weaver was "intentionally"(*) producing only the second version; it wasn't preserving the original version.
    
    (*) I forget the reason for the explicit check for interfaces.
    
    	modified:   .classpath
Commits on Nov 26, 2013
  1. @sriram-srinivasan

    Removed debug statement

    sriram-srinivasan authored
    	modified:   src/kilim/Cell.java
  2. @sriram-srinivasan

    Spurious wakeups trigger re-registration. Also, in some cases, the ms…

    sriram-srinivasan authored
    …g/space available listeners were not being deregistered. Also renamed Cell.msg to Cell.message, to visually distinguish between local vars and fields by the same name.
    
    	modified:   Cell.java
    	modified:   Mailbox.java
    	modified:   Task.java
Commits on Nov 15, 2013
  1. @sriram-srinivasan

    merge https://github.com/krestenkrab/kilim

    sriram-srinivasan authored
    - for changes to Detector
    - making Task.wrongPC static
    - calling visitEnd even for abstract methods
  2. @sriram-srinivasan

    Line number mapping: two bugs resolved.

    sriram-srinivasan authored
    1. Line numbers for non pausable methods was incorrectly done.
    2. For pausable methods, the line numbers were being mapped correctly, but apparently have to be issued in increasing order of line numbers. Simple fix was to use TreeMap instead of HashMap for MethodFlow.lineNumberNodes.
    	modified:   src/kilim/analysis/MethodFlow.java
Commits on Sep 26, 2013
  1. @krestenkrab

    Undo wrongPC change

    krestenkrab authored
    now has correct one from kilim/master
  2. @krestenkrab
  3. @krestenkrab

    Make sure to always call mv.visitEnd()

    krestenkrab authored
    The MethodWeaver is not following protocol; it
    needs to call mv.visitEnd() even for abstract
    methods.
Commits on Sep 10, 2013
  1. @sriram-srinivasan

    Cosmetic fix to checking content length.

    sriram-srinivasan authored
    	modified:   src/kilim/http/HttpResponse.java
  2. @sriram-srinivasan

    Check content-length property before setting it.

    sriram-srinivasan authored
    	modified:   src/kilim/http/HttpResponse.java
Commits on Aug 26, 2013
  1. @sriram-srinivasan

    Fiber.wrongPC() was incorrectly being called with invokestatic.

    sriram-srinivasan authored
    	modified:   src/kilim/analysis/MethodWeaver.java
  2. @sriram-srinivasan
Commits on Aug 22, 2013
  1. @krestenkrab

    Fix usage of Detector.commonSuperClass

    krestenkrab authored
    The code was a bit messy, sometimes passing
    "Lfoo/Bar;" and sometimes "foo/Bar".  This
    cleans up matters to always use the latter.
  2. @krestenkrab

    Fix wrongPC call

    krestenkrab authored
    The codegen calls Fiber.wrongPC using INVOKESTATIC
    but the implementation is non-static.  To make 
    matters simple we just declare the wrongPC
    function static.
Commits on Aug 19, 2013
  1. @krestenkrab

    Erjang specific methods inside Kilim

    krestenkrab authored
    These are some special methods (mostly on Mailbox)
    to provide the look-ahead semantics needed for
    Erlang's selective receive.
  2. @krestenkrab
  3. @krestenkrab
  4. @krestenkrab

    Make cached stateClasses be a ThreadLocal

    krestenkrab authored
    In Erjang, we need to run multiple Kilim
    "instances" concurrently, so we need this
    static state to be thread-local.
Commits on Aug 15, 2013
  1. @zbigniew-mandziejewicz
Commits on Jul 28, 2013
  1. @sriram-srinivasan

    Stackmaps + ASM 4.x support, version upgraded to 1.0 (finally)

    sriram-srinivasan authored
    	modified:   ../../README.txt
    	modified:   ../../docs/IFAQ.txt
  2. Merge pull request #25 from pellcorp/classwriter-classloader-support

    authored
    add classloader support to classweaver
  3. Merge pull request #24 from pellcorp/classinfo-duplicate-list-fix

    authored
    ClassInfo did not have an equals method and List contains checks would a...
  4. Merge pull request #23 from pellcorp/basic-maven-support-with-ant

    authored
    basic unobtrusive maven support - just wraps the ant build and deploys t...
Commits on Jul 26, 2013
  1. @pellcorp
  2. @pellcorp
  3. @pellcorp
Commits on Jul 17, 2013
  1. @pellcorp

    ClassInfo did not have an equals method and List contains checks woul…

    pellcorp authored
    …d always return false resulting in duplicate kilim state classes being generated
  2. @pellcorp

    basic unobtrusive maven support - just wraps the ant build and deploy…

    pellcorp authored
    …s the jar file with a new maven target
Commits on May 26, 2013
  1. @sriram-srinivasan

    (1) Added support for stackmap attribute. (2) Bumped up the version t…

    sriram-srinivasan authored
    …o 1.0, because Kilim has been stable for a while.
    
    Future versions of the JVM will make stackmaps mandatory if the classfile major version is >= 50. To enable stackmap support, we upgrade to version 4.x of ASM, which forces upon us a few changes:
    1. ASM Visitors are now abstract classes, not interfaces
    2. Use LabelNodes instead of Labels everywhere.
    
    The second one deserves some explanation. ASM's MethodNode.InsnList uses the 'AbstractInsnNode.next' to thread together instructions. This means that an instruction cannot belong to two different lists, and instructions cannot be squirreled away and added later on (as used to be the case when MethodNode.instructions was an array). Second, Labels contain flags such as Debug (corresponding to line numbers) that cannot be reset. This means that such labels cannot be made targets at a later stage.
    To accomodate this behavior of ASM, we stop dealing with Labels completely, and only deal with LabelNodes. When generating woven code, we strip the Labels off of LabelNodes to ensure that the labels from the original class file are not reused. The LabelNodes will generate new labels automatically.
    
            modified:   .classpath
            modified:   .gitignore
            modified:   .settings/org.eclipse.jdt.core.prefs
            modified:   build.sh
            modified:   build.xml
            modified:   docs/manual.html
            deleted:    libs/asm-all-2.2.3.jar
            new file:   libs/asm-all-4.1.jar
            modified:   src/kilim/Constants.java
            modified:   src/kilim/analysis/AsmDetector.java
            modified:   src/kilim/analysis/BasicBlock.java
            modified:   src/kilim/analysis/CallWeaver.java
            modified:   src/kilim/analysis/ClassFlow.java
            modified:   src/kilim/analysis/ClassWeaver.java
            modified:   src/kilim/analysis/MethodFlow.java
            modified:   src/kilim/analysis/MethodWeaver.java
            modified:   src/kilim/analysis/NopInsn.java
            modified:   src/kilim/mirrors/CachedClassMirrors.java
            modified:   src/kilim/mirrors/ClassMirror.java
            modified:   src/kilim/mirrors/Mirrors.java
            modified:   src/kilim/mirrors/RuntimeClassMirrors.java
            modified:   src/kilim/tools/Asm.java
            modified:   src/kilim/tools/DumpClass.java
            modified:   src/kilim/tools/FlowAnalyzer.java
            modified:   test.sh
            modified:   test/kilim/test/ex/ExJSR.j
Commits on Nov 29, 2012
  1. @sriram-srinivasan

    Fix for Issue #16. If a method is marked pausable, but doesn't make a…

    sriram-srinivasan authored
    …ny pausable calls, then the prelude was being generated incorrectly: the fiber argument was loaed onto the stack, but not popped on return.
    
    	modified:   src/kilim/analysis/MethodWeaver.java
    	modified:   test/kilim/test/ex/ExBasicBlock.java
Commits on Nov 19, 2012
  1. @sriram-srinivasan

    Fix for Issue #17 thanks to ted stockwell.

    sriram-srinivasan authored
    From the issue page:
    "The kilim.analysis.ClassWeaver class maintains a static list of state classes that have been generated. Therefore, when used in Eclipse, if kilim.S_L is generated once when one eclipse project is built, then it will not be generated again in a second eclipse project that requires it.
    "
    
    	modified:   src/kilim/analysis/ClassWeaver.java
Commits on Oct 31, 2012
  1. @sriram-srinivasan

    Fix for issue #15. Contribution by tstockwell.

    sriram-srinivasan authored
    	modified:   src/kilim/analysis/BasicBlock.java
Commits on Oct 28, 2012
  1. @sriram-srinivasan

    Accept http header with leading crlf.

    sriram-srinivasan authored
    	modified:   src/kilim/http/HttpRequest.java
  2. @sriram-srinivasan

    Fixes for issues #11,12,13 contributed by tstockwell.

    sriram-srinivasan authored
    	modified:   src/kilim/mirrors/CachedClassMirrors.java
    	modified:   src/kilim/mirrors/Detector.java
Something went wrong with that request. Please try again.