Skip to content
View 1.patch.patch
diff --git a/core/src/main/java/org/jruby/ir/IRBuilder.java b/core/src/main/java/org/jruby/ir/IRBuilder.java
index 4f2ec6a..0ebf86e 100644
--- a/core/src/main/java/org/jruby/ir/IRBuilder.java
+++ b/core/src/main/java/org/jruby/ir/IRBuilder.java
@@ -2201,6 +2201,13 @@ public class IRBuilder {
* ****************************************************************/
public Operand buildEnsureNode(EnsureNode ensureNode) {
+ // Save $! in a temp var so it can be restored when the exception gets handled.
+ Variable savedGlobalException = createTemporaryVariable();
View gist:5a511cedc4194f0f8968
diff --git a/build.xml b/build.xml
index 64c66cb..f347790 100644
--- a/build.xml
+++ b/build.xml
@@ -307,6 +307,7 @@
<zipfileset src="${build.lib.dir}/joda-time-1.6.1.jar"/>
<zipfileset src="${build.lib.dir}/yydebug.jar"/>
<zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/>
+ <zipfileset src="${build.lib.dir}/clojure.jar"/>
<metainf dir="${base.dir}/spi">
View gist:70d17716d1e2f5e2ae70
The Rubinius process is aborting with signal: SIGSEGV
--- begin system info ---
sysname: Darwin
nodename: Charless-MBP-2
release: 14.0.0
version: Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64
machine: x86_64
--- end system info ---
--- begin system backtrace ---
0 ruby 0x000000010bffd928 _ZN8rubiniusL12segv_handlerEi + 248
View blah.rb
10000.times do |i|
puts i
$namespace = Module.new
$namespace.module_eval "
autoload :Foo, 'foo.rb'
def self.go
Foo
end"
start = false
View gist:6caff73de251ef425740
p <<-EOS.gsub(/^ {6}/, '')
#{'――― ERROR REPORT TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――'}
- What did you do?
- What did you expect to happen?
- What happened instead?
Error details
#{$$}: #{$$}
#{$$}
View Fuuuuuu.java
/**
* Best attempt at breaking the code of arity values! We figure out how many fixed/required parameters
* must be supplied. Then we figure out if we need to mark the value as optional. Optional is indicated
* by multiplying -1 * (fixed + 1). Keyword args optional and rest values can indicate this optional
* condition but only if no required keyword arguments are present.
*/
public int arityValue() {
int oneForKeywords = requiredKwargs > 0 ? 1 : 0;
int fixedValue = pre() + post() + oneForKeywords;
boolean hasOptionalKeywords = kwargs - requiredKwargs > 0;
View Compiled method handle
Decoding compiled method 0x0000000103481a50:
Code:
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000000011a78ba00} 'invokeStatic_L6_L' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/LambdaForm$DMH'
# parm0: rsi:rsi = 'java/lang/Object'
# parm1: rdx:rdx = 'java/lang/Object'
# parm2: rcx:rcx = 'java/lang/Object'
# parm3: r8:r8 = 'java/lang/Object'
View gist:fd328074ac0e20a0a62f
percent live alloc'ed stack class
rank self accum bytes objs bytes objs trace name
1 13.76% 13.76% 30192480 377406 66869520 835869 436418 org.jruby.runtime.builtin.IRubyObject[]
2 8.29% 22.05% 18183744 378828 40121760 835870 436417 org.jruby.RubyArray
3 4.74% 26.79% 10402048 1 10402048 1 436358 byte[]
4 4.74% 31.53% 10402048 1 10402048 1 434525 byte[]
5 3.00% 34.53% 6584024 103390 6584024 103390 436490 byte[]
6 2.62% 37.15% 5747712 119744 15175824 316163 436391 org.jruby.RubyArray
7 1.89% 39.04% 4135600 103390 4135600 103390 436491 org.jruby.RubyString
8 1.89% 40.93% 4135600 103390 4135600 103390 436489 org.jruby.util.ByteList
View gist:2aec24578482427e88d9
diff --git a/core/src/main/java/org/jruby/javasupport/JavaClass.java b/core/src/main/java/org/jruby/javasupport/JavaClass.java
index 2d25d29..ab917e8 100644
--- a/core/src/main/java/org/jruby/javasupport/JavaClass.java
+++ b/core/src/main/java/org/jruby/javasupport/JavaClass.java
@@ -518,7 +518,7 @@ public class JavaClass extends JavaObject {
private RubyModule unfinishedProxyModule;
private RubyClass unfinishedProxyClass;
- private final ReentrantLock proxyLock = new ReentrantLock();
+ private final ReentrantLock proxyLock;
View gist:a78c68145e2f8c739b1e
// MRI: search_required
protected char searchRequired(String fname, String[] path) {
String tmp;
int extOffset;
String ext, ftptr;
char type, ft = 0;
String[] loadingP;
path[0] = null;
extOffset = (ftptr = fname).lastIndexOf('.');
Something went wrong with that request. Please try again.