DirectedGraph Specs : Removing a vertex doesn't remove edges from the graph #303

wants to merge 32 commits into


None yet
7 participants

prathamesh-sonpatki commented Sep 18, 2012

Removing a vertex from a graph doesn't remove the edges from the graph itself. So after removing edges associated with vertex, i deleted it from the associated graph also.

Prathamesh Sonpatki and others added some commits Sep 9, 2012

no need to report memory/stack as properties
as they are resolved from RuntimeMXBean (see 5d86783)
Fix for issue #276
This commit fixes issue #276 which is a regression introduced by  The bug was caused by a erroneous
behavour when yielding splat for a block of arity of one: MRI doesn't unsplat
the passed value, whilst jruby was.

See GH-276_yield_splat_behaviour_causes_pp_to_break.rb for details on behaviour
Modifications to bring our RubyGems more in line with original.
* Removed Maven support.
* Have 'gem' just load 'jgem' in the same dir, since that's the
one that RubyGems updates.
* JRUBY-6883 Enable subclassing of Java classes on Dalvik
* Made JavaProxyClassFactory#invokeDefineClass protected to enable overriding it.
* Removed unused import.
* Added logging of custom proxy class factory.  Quiet for default.
Fix JRUBY-6892: Calling #drop on an Enumerator doesn't work properly
When "drop" is called on an Enumerator, the memory locations for the members of the return value were reused.
This resulted in a wrong result that the ticket describes. We address the problem by calling dup() whenever appropriate.
Performance improvements for defined? logic.
* Return a cached, frozen string rather than recreating each time.
* Cache variable accessors for ivar defined? checks.
Improve interpreted DStr by avoiding transient strings.
For an expression like "foo#{i}bar" we sometimes would create the
"foo" and "bar" strings only to concatenate them. For interpreter,
this only occurred if encodings were different, which was rare. I
fix that in this commit to always use the "foo" and "bar" ByteList

Compiler still creates "foo" and "bar" all the time. That must be
Improvements for DStr/DSymbol interpretation for #301.
* Special-case core classes in RubyString.append19 to avoid
dyncalls and transient objects.
* Special-case core classes in DNode's EvStr handling to use
append19 directly rather than coercing to a throw-away transient
* Don't create a shared string in DNode, since it's a new ByteList
that's almost immediately written to anyway.
* DSymbol knows super will produce a String, so use more direct
path that doesn't immediately convert to Java String. See #300.
Eliminate most transient strings in compiled D*Nodes.
* Static portions are cached bytelist, direct append.
* EvStr with Fixnum/Float/Symbol body append object directly.
* Remaining cases coerce to String as before.
Additional fix to go with #276 and its fix #293.
* Compiler needed the same logic.
* Invalid block needs to be checked or arity().getValue will NPE.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment