Browse Prior Art Database

Method and apparatus for automatic release of nested locks at exception handling

IP.com Disclosure Number: IPCOM000013333D
Original Publication Date: 2001-Oct-22
Included in the Prior Art Database: 2003-Jun-18
Document File: 1 page(s) / 39K

Publishing Venue

IBM

Abstract

Disclosed is a method to analyze nested critical sections. This method intends to analyze how those critical

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 88% of the total text.

Page 1 of 1

  Method and apparatus for automatic release of nested locks at exception handling

        Disclosed is a method to analyze nested critical sections. This method intends to analyze how those critical
sections are nested at each program point.

We assume that a program calls primitives for critical sections. For example, in Windows' API (Win32), they are EnterCriticalSection and LeaveCriticalSection. These primitives use a critical section data structure to prevent other threads (or processes) from entering the same critical section specified by the critical section data structure.

To analyze nested critical sections in a program, a processor of the program: splits a basic block at each call site of a critical section primitive

connects these split basic blocks in the original order

nullifies the current critical section nest information

builds the critical section nest information, which describes how the program entered critical sections,

at each basic block if the current basic block starts with a call to the critical section entering primitive with a critical section

data structure, pushes the ID of the data structure to the current critical section nest information and keep the current critical section nest information if the current basic block starts with a call to the critical section leaving primitive with a critical section

data structure, pops the ID of the data structure to the current critical section nest information and keep the current critical section nest in...