Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: c1f1065a681f^
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: e13b2ceaf915
Choose a head ref
  • 2 commits
  • 4 files changed
  • 1 contributor

Commits on Sep 13, 2016

  1. Revert "[Truffle] Disable ecosystem tests for now."

    This reverts commit fb568f7.
    eregon committed Sep 13, 2016
    Copy the full SHA
    c1f1065 View commit details
  2. [Truffle] Remove buggy condition for visibility when looking methods.

    * It also makes some actionmodel test fail.
    eregon committed Sep 13, 2016

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    e13b2ce View commit details
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ matrix:
- env: JT='test specs :truffle'
- env: JT='test integration'
- env: JT='test gems' COMMAND=test/truffle/gems/install-gems.sh
# - env: JT='test ecosystem' JAVA_OPTS="$JAVA_OPTS -Xmx512m" HAS_REDIS=true COMMAND=test/truffle/ecosystem-travis-install.sh
- env: JT='test ecosystem' JAVA_OPTS="$JAVA_OPTS -Xmx512m" HAS_REDIS=true COMMAND=test/truffle/ecosystem-travis-install.sh
- env: JT='test tck'
- env: JT='check_ambiguous_arguments' SKIP_BUILD=true V=1
- env: JT='test mri'
2 changes: 1 addition & 1 deletion ci.hocon
Original file line number Diff line number Diff line change
@@ -361,7 +361,7 @@ builds: [
{name: ruby-test-integration} ${common} ${gate-caps} {run: [${jt} [test, integration]]},
{name: ruby-test-cexts} ${common} ${gate-caps} ${test-cexts},
{name: ruby-test-gems} ${common} ${gate-caps} ${test-gems},
// {name: ruby-test-ecosystem} ${common} ${gate-caps} ${test-ecosystem},
{name: ruby-test-ecosystem} ${common} ${gate-caps} ${test-ecosystem},
{name: ruby-test-tarball} ${common} ${gate-caps} {run: [${jt} [tarball]]},

{name: ruby-test-compiler-graal-core} ${common} ${graal-core} ${gate-caps} {run: [${jt} [test, compiler]]},
Original file line number Diff line number Diff line change
@@ -51,7 +51,7 @@ protected InternalMethod lookup(
String name,
boolean ignoreVisibility) {
return LookupMethodNode.lookupMethodWithVisibility(getContext(), frame, receiver, name,
ignoreVisibility, getHeadNode().onlyCallPublic, getDispatchAction() == DispatchAction.RESPOND_TO_METHOD);
ignoreVisibility, getHeadNode().onlyCallPublic);
}

protected Object resetAndDispatch(
Original file line number Diff line number Diff line change
@@ -78,7 +78,7 @@ protected DynamicObject metaClass(Object object) {
}

protected InternalMethod doLookup(VirtualFrame frame, Object self, String name) {
return lookupMethodWithVisibility(getContext(), frame, self, name, ignoreVisibility, onlyLookupPublic, false);
return lookupMethodWithVisibility(getContext(), frame, self, name, ignoreVisibility, onlyLookupPublic);
}

@TruffleBoundary
@@ -113,17 +113,9 @@ protected static InternalMethod doLookup(RubyContext context,
}

protected static DynamicObject getCallerClass(RubyContext context, VirtualFrame callingFrame,
boolean ignoreVisibility, boolean onlyLookupPublic, boolean callingFrameIsRespondTo) {
boolean ignoreVisibility, boolean onlyLookupPublic) {
if (ignoreVisibility || onlyLookupPublic) {
return null; // No need to check visibility
} else if (callingFrameIsRespondTo) {
final FrameInstance instance = context.getCallStack().getCallerFrameIgnoringSend();
if (instance == null) {
return context.getCoreLibrary().getMetaClass(context.getCoreLibrary().getMainObject());
} else {
final Frame callerFrame = instance.getFrame(FrameInstance.FrameAccess.READ_ONLY, true);
return context.getCoreLibrary().getMetaClass(RubyArguments.getSelf(callerFrame));
}
} else {
InternalMethod method = RubyArguments.getMethod(callingFrame);
if (!context.getCoreLibrary().isSend(method)) {
@@ -138,9 +130,9 @@ protected static DynamicObject getCallerClass(RubyContext context, VirtualFrame

public static InternalMethod lookupMethodWithVisibility(RubyContext context, VirtualFrame callingFrame,
Object receiver, String name,
boolean ignoreVisibility, boolean onlyLookupPublic, boolean callingFrameIsRespondTo) {
boolean ignoreVisibility, boolean onlyLookupPublic) {
DynamicObject callerClass = getCallerClass(context, callingFrame,
ignoreVisibility, onlyLookupPublic, callingFrameIsRespondTo);
ignoreVisibility, onlyLookupPublic);
return doLookup(context, callerClass, receiver, name, ignoreVisibility, onlyLookupPublic);
}