#1497: Expose 'meth_cache' attribute of class.pmc
-----------------------------+----------------------------------------------
Reporter: Austin_Hastings | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: none | Version: 2.1.0
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
-----------------------------+----------------------------------------------
Taking over `find_method` for a class currently does not totally work
because object.pmc checks to see if a method appears in the class object's
`meth_cache` before proceeding to any other form of dispatch.
In theory, this is great if `find_method` is returning the same method all
the time, *and* if the method in question hasn't been called prior to
taking over the `find_method` vtable.
Both of those are questionable (read: invalid) assumptions.
The cache is a good idea, but either (1) the vtable override should take
precedence over the cache; or (2) the cache should be manageable from the
introspection interface.
If (2), then (2.a.) the cache should be clearable, or automatically
cleared whenever a vtable override occurs; and (2.b.) there needs to be a
way to turn caching off, so that a method which does not return the same
sub all the time can function.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1497>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets