-
-
Notifications
You must be signed in to change notification settings - Fork 925
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
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: 4cefae4f538c
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 4ef46af9e541
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 4 commits
- 9 files changed
- 1 contributor
Commits on Dec 15, 2015
-
Configuration menu - View commit details
-
Copy full SHA for f7088b9 - Browse repository at this point
Copy the full SHA f7088b9View commit details -
Move Queue impl used by Fiber to FiberQueue.
Queue impl is changing, so I'm isolating Fiber's use of it to a separate class to avoid volatility in Fiber logic.
Configuration menu - View commit details
-
Copy full SHA for e892863 - Browse repository at this point
Copy the full SHA e892863View commit details -
Reimplement Queue and SizedQueue like MRI and add #close.
MRI implements Queue and SizedQueue differently than we had been: * Implicitly locking around all operations, due to the GIL. * Notification of just those waiting to push for SizedQueue. In addition, the new #close method wakes up all threads waiting to pop or push, which was not easily done by wrapping JDK's LinkedBlockingQueue. This new impl is somewhat more in line with MRI, with regards to locking and notification. This locking will likely introduce some overhead compared to the old implementation, but the use of a simple ArrayList may balance that out somewhat. All tests in 2.3's thread/test_queue.rb pass now except for one relating to a a peculiarity in MRI's implementation: if you remove marshal_dump it falls back on Struct marshaling, since in MRI both Queue and SizedQueue are Structs. Ours are not Struct and I do not see a good reason to make them be so.
Configuration menu - View commit details
-
Copy full SHA for 2531143 - Browse repository at this point
Copy the full SHA 2531143View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ef46af - Browse repository at this point
Copy the full SHA 4ef46afView commit details
There are no files selected for viewing