Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Truffle] Use the OM more efficiently and create a DSL to help us do that #3258

Merged
merged 108 commits into from
Aug 17, 2015

Conversation

chrisseaton
Copy link
Contributor

You will probably have to pull locally to review this, and even then it's going to be very hard as all RubyBasicObject and subclasses have been replaced with DynamicObject.

Shootout benchmarks all compile. Those that use arrays are around running at around 60%, but I think I know what this bug is. No speedups yet - but those that we might expected to speedup are those that currently have that regression.

Conflicts:
	truffle/src/main/java/org/jruby/truffle/nodes/constants/LookupConstantNode.java
	truffle/src/main/java/org/jruby/truffle/nodes/core/ThreadNodes.java
	truffle/src/main/java/org/jruby/truffle/nodes/core/array/ArrayBuilderNode.java
…ch lets us better check that the shape is constant.
- It causes all objects with a final field to have a separate shape.
- It doesn't actually make the value compilation constant.
… different core classes where we have a specific layout.
@chrisseaton chrisseaton added this to the truffle-dev milestone Aug 16, 2015
@chrisseaton chrisseaton self-assigned this Aug 16, 2015
chrisseaton added a commit that referenced this pull request Aug 17, 2015
[Truffle] Use the OM more efficiently and create a DSL to help us do that
@chrisseaton chrisseaton merged commit bbc3db3 into master Aug 17, 2015
headius added a commit that referenced this pull request Sep 3, 2015
@headius
Copy link
Member

headius commented Sep 3, 2015

The jnr-ffi commit above is unrelated...meant for #3285.

kares added a commit that referenced this pull request Sep 16, 2015
* jruby-1_7:
  spec how non-public inner classes currently behave on the Ruby constant level (#933)
  delegate java_send with 1-3 args.length to overloaded versions - less array mangling
  [find-bugs] do no ask for getMethodsForWrite() twice esp. since its synchronized
  [find-bugs] avoid potentially creating the same File instance twice
  [find-bugs] avoid unnecessary calling getRuntime() and getCurrentContext() twice
  [find-bugs] use local map instead of calling the same method again in ScriptingContainer
  [find-bugs] avoid calling same method twice - keep module.getClass(Type) locally
  [find-bugs] avoid string concatenation while using a StringBuilder + guess size
  [find-bugs] avoid using a ternary operator to cast a boolean to true/false
  [find-bugs] inefficient string buffering - avoid passing concatenating string to builder
  [find-bugs] inner private classes can be made static
  [find-bugs] equalsIgnoreCase with "" (empty string) passed
  [find-bugs] avoid some String instances of length == 1 in favor of chars
  [find-bugs] use System.arraycopy instead of manual array-copy (of stack-traces)
  [find-bugs] (private) inner classes that can be mate static
  Fix java_implements for multiple interfaces
  Remove redundant test-jruby-jars (complete tests same stuff).
  Fix jruby versions in antlib/extra.xml.
  [build] use yecht-1.1-SNAPSHOT
  Update to jnr-ffi-2.0.4-SNAPSHOT for #3258.

Conflicts:
	.travis.yml
	antlib/extra.xml
	core/pom.xml
	core/src/main/java/org/jruby/Ruby.java
	core/src/main/java/org/jruby/RubyClassPathVariable.java
	core/src/main/java/org/jruby/RubyDir.java
	core/src/main/java/org/jruby/RubyModule.java
	core/src/main/java/org/jruby/RubyProc.java
	core/src/main/java/org/jruby/java/proxies/JavaProxy.java
	core/src/main/java/org/jruby/javasupport/JavaSupport.java
	core/src/main/java/org/jruby/runtime/ThreadContext.java
	lib/ruby/shared/jruby/compiler/java_class.rb
	spec/java_integration/jrubyc/java/implements_spec.rb
	spec/java_integration/types/retrieval_spec.rb
@chrisseaton chrisseaton deleted the truffle-om-dsl branch January 18, 2016 13:14
@enebo enebo added this to the Non-Release milestone Dec 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants