Skip to content
This repository
branch: master

Mar 16, 2014

  1. Sriram Srinivasan

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

    …nstVal's weren't matching. Fixed, thanks to Andrew Bate.
    
    	modified:   src/kilim/analysis/Value.java

Nov 28, 2013

  1. Sriram Srinivasan

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

    …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
    authored November 28, 2013

Nov 26, 2013

  1. Sriram Srinivasan

    Removed debug statement

    	modified:   src/kilim/Cell.java
    authored November 26, 2013
  2. Sriram Srinivasan

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

    …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
    authored November 26, 2013

Nov 15, 2013

  1. Sriram Srinivasan

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

    - for changes to Detector
    - making Task.wrongPC static
    - calling visitEnd even for abstract methods
    authored November 15, 2013
  2. Sriram Srinivasan

    Line number mapping: two bugs resolved.

    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
    authored November 15, 2013

Sep 26, 2013

  1. Kresten Krab Thorup

    Undo wrongPC change

    now has correct one from kilim/master
    authored September 26, 2013
  2. Kresten Krab Thorup

    Merge branch 'master' of https://github.com/kilim/kilim

    authored September 26, 2013
  3. Kresten Krab Thorup

    Make sure to always call mv.visitEnd()

    The MethodWeaver is not following protocol; it
    needs to call mv.visitEnd() even for abstract
    methods.
    authored September 26, 2013

Sep 10, 2013

  1. Sriram Srinivasan

    Cosmetic fix to checking content length.

    	modified:   src/kilim/http/HttpResponse.java
    authored September 10, 2013
  2. Sriram Srinivasan

    Check content-length property before setting it.

    	modified:   src/kilim/http/HttpResponse.java
    authored September 10, 2013

Aug 26, 2013

  1. Sriram Srinivasan

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

    	modified:   src/kilim/analysis/MethodWeaver.java
  2. Sriram Srinivasan

    Merge remote-tracking branch 'erjang/master'

Aug 22, 2013

  1. Kresten Krab Thorup

    Fix usage of Detector.commonSuperClass

    The code was a bit messy, sometimes passing
    "Lfoo/Bar;" and sometimes "foo/Bar".  This
    cleans up matters to always use the latter.
    authored August 22, 2013
  2. Kresten Krab Thorup

    Fix wrongPC call

    The codegen calls Fiber.wrongPC using INVOKESTATIC
    but the implementation is non-static.  To make 
    matters simple we just declare the wrongPC
    function static.
    authored August 22, 2013

Aug 19, 2013

  1. Kresten Krab Thorup

    Erjang specific methods inside Kilim

    These are some special methods (mostly on Mailbox)
    to provide the look-ahead semantics needed for
    Erlang's selective receive.
    authored August 19, 2013
  2. Kresten Krab Thorup

    Make analysis.ClassWriter use the Detector API

    authored August 19, 2013
  3. Kresten Krab Thorup

    Make line numbers work again

    authored August 19, 2013
  4. Kresten Krab Thorup

    Make cached stateClasses be a ThreadLocal

    In Erjang, we need to run multiple Kilim
    "instances" concurrently, so we need this
    static state to be thread-local.
    authored August 19, 2013

Aug 15, 2013

  1. zbigniew-mandziejewicz

    Assigning random available port in IO/HTTP unit tests

Jul 28, 2013

  1. Sriram Srinivasan

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

    	modified:   ../../README.txt
    	modified:   ../../docs/IFAQ.txt
  2. Sriram Srinivasan

    Merge pull request #25 from pellcorp/classwriter-classloader-support

    add classloader support to classweaver
    authored July 27, 2013
  3. Sriram Srinivasan

    Merge pull request #24 from pellcorp/classinfo-duplicate-list-fix

    ClassInfo did not have an equals method and List contains checks would a...
    authored July 27, 2013
  4. Sriram Srinivasan

    Merge pull request #23 from pellcorp/basic-maven-support-with-ant

    basic unobtrusive maven support - just wraps the ant build and deploys t...
    authored July 27, 2013

Jul 26, 2013

  1. Jason Pell

    moved the asm ClassWriter subclass to analysis directory.

    authored July 26, 2013
  2. Jason Pell

    add classloader support to classweaver

    authored July 26, 2013
  3. Jason Pell

    simplify up equals and hashCode

    authored July 26, 2013

Jul 17, 2013

  1. Jason Pell

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

    …d always return false resulting in duplicate kilim state classes being generated
    authored July 17, 2013
  2. Jason Pell

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

    …s the jar file with a new maven target
    authored July 17, 2013

May 26, 2013

  1. Sriram Srinivasan

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

    …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

Nov 29, 2012

  1. Sriram Srinivasan

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

    …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
    authored November 29, 2012

Nov 19, 2012

  1. Sriram Srinivasan

    Fix for Issue #17 thanks to ted stockwell.

    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
    authored November 19, 2012

Oct 31, 2012

  1. Sriram Srinivasan

    Fix for issue #15. Contribution by tstockwell.

    	modified:   src/kilim/analysis/BasicBlock.java

Oct 28, 2012

  1. Sriram Srinivasan

    Accept http header with leading crlf.

    	modified:   src/kilim/http/HttpRequest.java
  2. Sriram Srinivasan

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

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