• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Export Word
    • Attachments
    • Page Information

    Loading...
  1. Dashboard
  2. HotSpot
  3. Main
  4. Runtime
  5. Async Monitor Deflation

Page History

View, compare, or restore historical versions of this page. Older versions may be automatically deleted based on rules set by your administrator.

  Version Published Changed By Comment Actions
CURRENT (v. 79) Jun 02, 2020 16:27 (UTC) Daniel Daugherty Update for CR14/v2.14/17-for-jdk15 rebased to jdk-15+25.  
v. 78 Jun 01, 2020 19:17 (UTC) Daniel Daugherty Update Introduction to discuss the two stages of Async Monitor Deflation and make it clear that there is a handshake in between the two stages. Minor edits in other sub sections.
v. 77 Jun 01, 2020 18:51 (UTC) Daniel Daugherty Add a note about handshaking to "T-enter Wins".
v. 76 May 27, 2020 17:20 (UTC) Daniel Daugherty Update for CR14/v2.14/17-for-jdk15.
v. 75 May 21, 2020 21:07 (UTC) Daniel Daugherty Remove mention of 'MonitorBound' option; add relevant whitebox functions to the invocation sub-section.
v. 74 May 21, 2020 20:42 (UTC) Daniel Daugherty Number of callers to install_displaced_markword_in_object() has changed. Also make updates to the hashcode section.
v. 73 May 21, 2020 18:52 (UTC) Daniel Daugherty Update webrev links for CR13/v2.13/16-for-jdk15.
v. 72 May 21, 2020 16:33 (UTC) Daniel Daugherty Update webrev links for CR12/v2.12/15-for-jdk15.
v. 71 May 09, 2020 00:25 (UTC) Daniel Daugherty Finished first pass at updating the wiki for v2.11.
v. 70 May 09, 2020 00:21 (UTC) Daniel Daugherty Update "An Example of ObjectMonitor Interference Detection" subsection for v2.11.
v. 69 May 08, 2020 22:10 (UTC) Daniel Daugherty Update "Hashcodes and Object Header Interference" for v2.11.
v. 68 May 07, 2020 22:01 (UTC) Daniel Daugherty Update ObjectSynchronizer::deflate_monitor_list_using_JT.
v. 67 May 07, 2020 21:38 (UTC) Daniel Daugherty Start making changes for v2.11.
v. 66 Feb 27, 2020 20:54 (UTC) Daniel Daugherty Clarify SafepointSynchronize::is_cleanup_needed() and SafepointSynchronize::do_cleanup_tasks().
v. 65 Feb 26, 2020 21:23 (UTC) Daniel Daugherty First pass at updates for CR10/v2.10/13-for-jdk15.
v. 64 Dec 21, 2019 00:01 (UTC) Daniel Daugherty Add "lock_next_for_traversal() Helper Function" sub-section.
v. 63 Dec 18, 2019 22:17 (UTC) Daniel Daugherty First pass at updates for CR9/v2.09/12-for-jdk14.
v. 62 Oct 17, 2019 21:26 (UTC) Daniel Daugherty Add new "The Lists and Which Threads Touch Them" sub-section.
v. 61 Oct 16, 2019 22:28 (UTC) Daniel Daugherty Fix typos after a quick check of the "diffs".
v. 60 Oct 16, 2019 22:12 (UTC) Daniel Daugherty First pass at updates for CR7/v2.07/10-for-jdk14.
v. 59 Oct 03, 2019 21:44 (UTC) Daniel Daugherty Add "Background: ObjectMonitor Movement Between the Lists" top-level section. Make another editorial pass over the two "Lock-Free Monitor List Management ..." top-level sections
v. 58 Sep 10, 2019 19:54 (UTC) Daniel Daugherty Update note about load-acquire in mark_list_head().
v. 57 Sep 10, 2019 19:43 (UTC) Daniel Daugherty Add notes to make it clear which code and analysis is for v2.06 (current version being reviewed) and v2.07 (the next version). Move helper function subsections to match what v2.07 needs.
v. 56 Sep 10, 2019 16:52 (UTC) Daniel Daugherty Fix "release_store" typo.
v. 55 Sep 10, 2019 16:05 (UTC) Daniel Daugherty Update "Prepending To A List That Also Allows Deletes" and correct error in race description with thread T2.
v. 54 Sep 10, 2019 13:53 (UTC) Daniel Daugherty Editorial pass on "The Not So Simple Case" and "Marking to Solve the A-B-A Race".
v. 53 Sep 10, 2019 00:06 (UTC) Daniel Daugherty Update "The Simple Case" with David H's feedback; add "The Not So Simple Case" and the "Marking to Solve the A-B-A Race" subsections to introduce why we need to solve the A-B-A race.
v. 52 Sep 05, 2019 19:26 (UTC) Daniel Daugherty Add a "Table of Contents" to make the top-level sections and subsections easier to find.
v. 51 Sep 05, 2019 19:21 (UTC) Daniel Daugherty See if "[TOC]" directive works.
v. 50 Sep 05, 2019 19:19 (UTC) Daniel Daugherty Add "deflate_idle_monitors()" and "deflate_common_idle_monitors_using_JT()" subsections.
v. 49 Sep 05, 2019 19:00 (UTC) Daniel Daugherty Added "deflate_monitor_list_using_JT()" subsection; minor edits elsewhere.
v. 48 Sep 05, 2019 16:34 (UTC) Daniel Daugherty Add deflate_monitor_list().
v. 47 Sep 05, 2019 15:36 (UTC) Daniel Daugherty Add om_flush() subsection; a minor typo edit in passing.
v. 46 Sep 05, 2019 14:12 (UTC) Daniel Daugherty Add missing code to om_release() and update wording a bit.
v. 45 Sep 05, 2019 01:49 (UTC) Daniel Daugherty Add "Using The New Lock-Free Monitor List Functions" new top-level section and "om_alloc()", "om_release()" and "mark_next_loop()" subsections.
v. 44 Sep 04, 2019 21:48 (UTC) Daniel Daugherty Add "Taking From The Start Of A List" and "mark_list_head() Helper Function" subsections.
v. 43 Sep 04, 2019 20:12 (UTC) Daniel Daugherty Add "Prepending To A List That Also Allows Deletes" and "mark_next(), mark_om_ptr(), and set_next() helper functions" subsections.
v. 42 Sep 04, 2019 16:11 (UTC) Daniel Daugherty Try #3 to fix code block indenting.
v. 41 Sep 04, 2019 16:00 (UTC) Daniel Daugherty Try #2 to fix code block indenting.
v. 40 Sep 04, 2019 15:57 (UTC) Daniel Daugherty Try to fix code block indenting.
v. 39 Sep 03, 2019 22:40 (UTC) Daniel Daugherty Add "The Simple Case" sub-section to new "Lock-Free Monitor List Management" top-level section.
v. 38 Sep 03, 2019 21:12 (UTC) Daniel Daugherty Fix typo in latest full webrev link.
v. 37 Sep 03, 2019 21:10 (UTC) Daniel Daugherty Updated the wiki to match CR6/v2.06/9-for-jdk14 version except for the lock-free Monitor List management changes.
v. 36 Aug 14, 2019 21:48 (UTC) Daniel Daugherty Make changes to match CR5/v2.05/8-for-jdk13 (2019.07.11).
v. 35 Jun 26, 2019 00:50 (UTC) Daniel Daugherty Cleanup the "Monitor Deflation Invocation Details" section and update the webrevs to CR4/v2.04/7-for-jdk13.
v. 34 Jun 25, 2019 13:30 (UTC) Daniel Daugherty First draft of invoke section.
v. 33 May 06, 2019 22:31 (UTC) Daniel Daugherty Update the wiki to match the current version: CR3/v2.03/6-for-jdk13.
v. 32 May 03, 2019 15:38 (UTC) Daniel Daugherty Minor edits after a read through.
v. 31 May 03, 2019 01:00 (UTC) Daniel Daugherty Initial pass at switching from 'contentions' to 'ref_count' for the async deflation protocol.
v. 30 Apr 26, 2019 20:40 (UTC) Daniel Daugherty Add a theoretical "T-enter and T-deflate Both Lose" subsection.
v. 29 Apr 26, 2019 19:08 (UTC) Daniel Daugherty Make the T-enter "contentions and owner" check block match between the three diagrams in "An Example of ObjectMonitor Interference".
v. 28 Apr 26, 2019 18:45 (UTC) Daniel Daugherty Finish updating wiki to match CR2/v2.02/5-for-jdk13.
v. 27 Apr 26, 2019 17:00 (UTC) Daniel Daugherty Update the "Hashcodes and Object Header Interference" section to recognize a large negative ref_count value as a marker that async deflation has won the race.
v. 26 Apr 23, 2019 16:20 (UTC) Daniel Daugherty Updated the wiki to match the current version out for review (CR1/v2.01/4-for-jdk13).
v. 25 Apr 23, 2019 16:17 (UTC) Daniel Daugherty Add "restore obj header" to "T-deflate Wins" and "T-deflate and T-hash Both Lose" subsections.
v. 24 Apr 22, 2019 20:40 (UTC) Daniel Daugherty Change T-deflate diagrams in "T-enter Wins" and "T-enter Wins By A-B-A" subsections to show the same code from "T-deflate Wins" as an untaken branch; this matches the style of later diagrams.
v. 23 Apr 22, 2019 20:06 (UTC) Daniel Daugherty Make another editorial read thru pass; this time focused on the bullet points.
v. 22 Apr 22, 2019 19:32 (UTC) Daniel Daugherty More "count" -> "contentions" changes.
v. 21 Apr 22, 2019 19:29 (UTC) Daniel Daugherty Update "An Example of ObjectMonitor Interference" for "count" -> "contentions" rename and add "deflate_monitor_using_JT() {" to diagrams; also add markers to "T-enter Wins By A-B-A" diagram since there is more than one ObjectMonitor box shown.
v. 20 Apr 22, 2019 18:59 (UTC) Daniel Daugherty Editorial pass on An Example of "Object Header Interference" section; primarily add "install_displaced_markword_in_object() {" to the diagrams.
v. 19 Apr 22, 2019 18:37 (UTC) Daniel Daugherty Editorial pass on "Hashcodes and Object Header Interference" section.
v. 18 Apr 19, 2019 22:36 (UTC) Daniel Daugherty Add "T-deflate and T-hash Both Lose" subsection.
v. 17 Apr 19, 2019 21:58 (UTC) Daniel Daugherty Fix intro sentence for "T-hash Wins Scenario 2" subsection.
v. 16 Apr 19, 2019 21:54 (UTC) Daniel Daugherty More updates to "Hashcodes and Object Header Interference" section. Add "T-hash Wins Scenario 2" subsection which shows why deflate_monitor_using_JT() needs a ref_count check for the third phase of the protocol. Update "T-deflate Wins" subsection to include "ref_count == 0" in the third phase check.
v. 15 Apr 19, 2019 20:52 (UTC) Daniel Daugherty Update "Hashcodes and Object Header Interference" section for "count" field rename to "contentions" and save_om_ptr() update to check both "owner" and "contentions". Add markers in the "code" to show where each thread is for a particular ObjectMonitor box.
v. 14 Apr 09, 2019 00:08 (UTC) Daniel Daugherty Fix incorrect "ref_count" value in "Racing Threads" in "Hashcodes and Object Header Interference" section. Thanks Karen!
v. 13 Apr 04, 2019 20:31 (UTC) Daniel Daugherty Change "hash code" to "hashcode" for consistency with HotSpot code.
v. 12 Apr 04, 2019 20:00 (UTC) Daniel Daugherty Minor edits in "Hash Codes and Object Header Interference" section.
v. 11 Apr 03, 2019 21:15 (UTC) Daniel Daugherty Add explanatory bullets after diagrams in "Hash Codes and Object Header Interference"; add additional ObjectMonitor boxes to show changes as needed; rework the "T-hash Wins" example.
v. 10 Apr 03, 2019 20:08 (UTC) Daniel Daugherty Add explanatory bullets after diagrams in "An Example of Object Header Interference" section.
v. 9 Apr 03, 2019 19:44 (UTC) Daniel Daugherty Clarify when bailing out on deflation has to undo work.
v. 8 Apr 03, 2019 19:33 (UTC) Daniel Daugherty Add "T-enter Wins By A-B-A" section.
v. 7 Apr 03, 2019 18:11 (UTC) Daniel Daugherty Add explanatory bullets after diagrams in "An Example of ObjectMonitor Interference" section.
v. 6 Apr 02, 2019 18:24 (UTC) Daniel Daugherty Correct diagrams in "Hash Codes and Object Header Interference" section.
v. 5 Apr 02, 2019 14:22 (UTC) Daniel Daugherty Fixed minor typos.
v. 4 Mar 24, 2019 13:56 (UTC) Daniel Daugherty Webrev is now live.
v. 3 Mar 21, 2019 21:08 (UTC) Daniel Daugherty Use "Preformatted" paragraphs for the "Diagrams".
v. 2 Mar 21, 2019 21:02 (UTC) Daniel Daugherty Initial import of content and initial pass at setting up the wiki format. The "Diagrams" are not done yet.
v. 1 Mar 21, 2019 20:16 (UTC) Daniel Daugherty

Return to Page Information

Overview
Content Tools
ThemeBuilder

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 398, "requestCorrelationId": "5cc11e53a1c8f4ca"}