kosaki8 has joined #ruby-core
kosaki2 has joined #ruby-core
<
drbrain>
ok, I understand the bug now
<
drbrain>
in 1.9, String#<=> returns nil unless the other object is a String or has #to_str
davidbalbert is now known as davidbalber|away
<
drbrain>
now, if the other object does not have #to_str it tries other <=> self
nari has quit [Ping timeout: 264 seconds]
agarie has joined #ruby-core
kosaki2 has quit [Remote host closed the connection]
kosaki8 has quit [Ping timeout: 264 seconds]
indirect has joined #ruby-core
indirect has quit [Quit: Oh, bother.]
indirect has joined #ruby-core
bovi_ has joined #ruby-core
bovi has quit [Ping timeout: 252 seconds]
charliesome has joined #ruby-core
kosaki2 has joined #ruby-core
kosaki8 has joined #ruby-core
kosaki2 has quit [Remote host closed the connection]
kosaki2 has joined #ruby-core
kosaki2 has quit [Remote host closed the connection]
kosaki2 has joined #ruby-core
kosaki2 has quit [Remote host closed the connection]
kosaki2 has joined #ruby-core
kosaki2 has quit [Remote host closed the connection]
kosaki2 has joined #ruby-core
idkazuma has quit [Remote host closed the connection]
davidbalber|away is now known as davidbalbert
kosaki2 has quit [Remote host closed the connection]
davidbalbert is now known as davidbalber|away
idkazuma has joined #ruby-core
indirect has quit [Quit: Oh, bother.]
indirect has joined #ruby-core
nari has joined #ruby-core
kosaki8 has quit [Ping timeout: 256 seconds]
kosaki has joined #ruby-core
kosaki2 has joined #ruby-core
tenderlove has quit [Remote host closed the connection]
kosaki2 has quit [Remote host closed the connection]
nari has quit [Ping timeout: 276 seconds]
davidbalber|away is now known as davidbalbert
tenderlove has joined #ruby-core
davidbalbert is now known as davidbalber|away
davidbalber|away is now known as davidbalbert
kosaki has quit [Ping timeout: 256 seconds]
davidbalbert is now known as davidbalber|away
agarie has quit [Remote host closed the connection]
agarie has joined #ruby-core
agarie has quit [Remote host closed the connection]
nari has joined #ruby-core
<
_ko1>
https://bugs.ruby-lang.org/projects/ruby-trunk/issues?c[]=tracker&c[]=status&c[]=priority&c[]=subject&c[]=assigned_to&c[]=updated_on&f[]=status_id&f[]=fixed_version_id&f[]=&group_by=&op[fixed_version_id]=%3D&op[status_id]=%3D&page=1&set_filter=1&sort=assigned_to%2Cpriority%3Adesc%2Cupdated_on%3Adesc&v[fixed_version_id][]=6&v[status_id][]=1&v[status_id][]=2
nari has quit [Ping timeout: 244 seconds]
<
charliesome>
_ko1: better than 86!
<
_ko1>
charliesome: I found another problem about inline cache invalidate
<
charliesome>
_ko1: i decided that there are too many edge cases
<
charliesome>
so i am working on another patch
<
charliesome>
invalidating by class hierarchy
<
charliesome>
so i have a linked list of subclass weakrefs in rb_classext_t*
<
charliesome>
as well as a pointer to the linked list node in the parent class
<
charliesome>
and i modify the gc to unlink a class from its parent's linked list when it is collected
<
_ko1>
i don't like this approach because it is too complex
<
_ko1>
and need some time to invalidation
<
charliesome>
i think it's better than invalidating by id
<
charliesome>
because in most cases, any method definitions will be done at classes near the bottom of the hierarchy
<
_ko1>
we need to make competition
<
charliesome>
haha yes!
<
_ko1>
my finding problem is
<
_ko1>
now VM caches `method_missing'
nari has joined #ruby-core
<
_ko1>
this affects your last patch and class hierarchy approach
<
_ko1>
charliesome: what is your `corner cases' ?
<
charliesome>
with class hierarchy approach?
<
_ko1>
ah, we need to discuss on ML to record our knowlege about it
<
_ko1>
i'll sent it
<
charliesome>
ok, cool
<
charliesome>
so what i think:
<
charliesome>
classes need to know their subclasses (weakref)
<
charliesome>
modules need to know their iclasses (also weakref)
<
charliesome>
anything else?
<
_ko1>
care about prepend and refinement
<
charliesome>
refinements might be problematic, because i don't know how they are implemented
<
_ko1>
me too (hehe
<
charliesome>
prepend just modifies the inheritance chain, am i correct?
<
charliesome>
ie. method lookups with prepend still follow a linear path
<
charliesome>
so in theory: prepend should "just work" with class hierarchy invalidation
nari has quit [Ping timeout: 255 seconds]
kosaki8 has joined #ruby-core
nokada_ has joined #ruby-core
nokada has quit [Read error: Connection reset by peer]
kosaki2 has joined #ruby-core
kosaki2 has quit [Remote host closed the connection]
kosaki8 has quit [Ping timeout: 248 seconds]
idkazuma has quit [Remote host closed the connection]
idkazuma has joined #ruby-core
idkazuma has quit [Ping timeout: 245 seconds]
enebo has joined #ruby-core
enebo has quit [Client Quit]
n0kada has quit [Ping timeout: 244 seconds]
nokada_ has quit [Ping timeout: 255 seconds]
nokada has joined #ruby-core
n0kada-freenode has joined #ruby-core
davidbalber|away is now known as davidbalbert
tenderlove has quit [Remote host closed the connection]
tenderlove has joined #ruby-core
tenderlove has quit [Remote host closed the connection]
n0kada-freenode has quit [Ping timeout: 255 seconds]
nokada has quit [Ping timeout: 252 seconds]
nokada has joined #ruby-core
n0kada-freenode has joined #ruby-core
davidbalbert is now known as davidbalber|away
ex9t has quit [Read error: Connection reset by peer]
ex9t has joined #ruby-core
sora_h has quit [Excess Flood]
sora_h has joined #ruby-core
agarie has joined #ruby-core
idkazuma has joined #ruby-core
nokada_ has joined #ruby-core
nokada has quit [Read error: Connection reset by peer]
nokada has joined #ruby-core
nokada_ has quit [Read error: Connection reset by peer]
kosaki2 has joined #ruby-core
xibbar has joined #ruby-core
xibbar has quit [Remote host closed the connection]
xibbar has joined #ruby-core
drbrain has quit [Ping timeout: 245 seconds]
drbrain has joined #ruby-core
nari has joined #ruby-core
kosaki2 has quit [Remote host closed the connection]
his_shadow has joined #ruby-core