Skip to content

[invokedynamic] Instance var sites do not age, do not handle dup'ed classes well #155

@headius

Description

@headius

Instance variable call sites currently attempt to cache in a way similar to method calls. However, they do not ever age out (i.e. give up trying to update the indy call site) and as a result sites that encounter a large number of types will either grow the PIC forever or continually blow out the call site cache.

This needs to be fixed for JRuby 1.7, so that megamorphic ivar call sites failover to a simple inline cache.

An example of invokedynamic.log.binding output showing the continual rebinding of ivars is here: http://pastie.org/3855673

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions