[go: up one dir, main page]

MX2009000858A - Proteccion de transaccion de software de punteros manejados. - Google Patents

Proteccion de transaccion de software de punteros manejados.

Info

Publication number
MX2009000858A
MX2009000858A MX2009000858A MX2009000858A MX2009000858A MX 2009000858 A MX2009000858 A MX 2009000858A MX 2009000858 A MX2009000858 A MX 2009000858A MX 2009000858 A MX2009000858 A MX 2009000858A MX 2009000858 A MX2009000858 A MX 2009000858A
Authority
MX
Mexico
Prior art keywords
techniques
software transactional
compiler
technique
recovered
Prior art date
Application number
MX2009000858A
Other languages
English (en)
Inventor
John Joseph Duffy
Michael M Magruder
Goetz Graefe
David Detlefs
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MX2009000858A publication Critical patent/MX2009000858A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • G06F8/434Pointers; Aliasing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4441Reducing the execution time required by the program code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Se describen varias tecnologías y técnicas que proporcionan protección de transacción de software de punteros manejados. Un sistema de memoria de transacción de software interactúa con y/o incluye un recopilador. En el momento de la recopilación, el recopilador determina que existen uno o más argumentos de referencia en uno o más segmentos de código que se recopilan cuya fuente no puede recuperarse. El recopilador ejecuta un procedimiento para seleccionar una o más técnicas o combinaciones apropiadas de los mismos para comunicar las fuentes de las variables referenciadas a los segmentos de código llamados para asegurar que las variables referenciadas pueden recuperarse cuando sea necesario. Algunos ejemplos de estas técnicas incluyen una técnica por referencia aplanada, una técnica de aplanamiento estático, una técnica de tipo de Información por Referencia dinámica, y otros. Una o más combinaciones de estas técnicas pueden utilizarse según sea apropiado.
MX2009000858A 2006-08-04 2007-07-03 Proteccion de transaccion de software de punteros manejados. MX2009000858A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/499,191 US8601456B2 (en) 2006-08-04 2006-08-04 Software transactional protection of managed pointers
PCT/US2007/015404 WO2008018962A1 (en) 2006-08-04 2007-07-03 Software transactional protection of managed pointers

Publications (1)

Publication Number Publication Date
MX2009000858A true MX2009000858A (es) 2009-02-03

Family

ID=39030740

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2009000858A MX2009000858A (es) 2006-08-04 2007-07-03 Proteccion de transaccion de software de punteros manejados.

Country Status (5)

Country Link
US (1) US8601456B2 (es)
EP (1) EP2049992B1 (es)
MX (1) MX2009000858A (es)
RU (1) RU2009103626A (es)
WO (1) WO2008018962A1 (es)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843906B1 (en) * 2006-10-16 2014-09-23 The Mathworks, Inc. Inferring data types from compiler call site
US8719807B2 (en) * 2006-12-28 2014-05-06 Intel Corporation Handling precompiled binaries in a hardware accelerated software transactional memory system
US20080243943A1 (en) * 2007-03-27 2008-10-02 Shih-Wei Liao Method and apparatus for efficient execution of interprocedural transactional memory code while maintaining safety
US8196123B2 (en) * 2007-06-26 2012-06-05 Microsoft Corporation Object model for transactional memory
US8839213B2 (en) * 2008-06-27 2014-09-16 Microsoft Corporation Optimizing primitives in software transactional memory
US8581912B2 (en) * 2008-06-27 2013-11-12 Microsoft Corporation Dynamic subroutine linkage optimizing shader performance
US8769514B2 (en) * 2008-06-27 2014-07-01 Microsoft Corporation Detecting race conditions with a software transactional memory system
US8473933B2 (en) * 2010-05-12 2013-06-25 Microsoft Corporation Refactoring call sites
US8677331B2 (en) * 2011-09-30 2014-03-18 Oracle International Corporation Lock-clustering compilation for software transactional memory
US9058192B2 (en) * 2012-08-09 2015-06-16 Advanced Micro Devices, Inc. Handling pointers in program code in a system that supports multiple address spaces
US9329875B2 (en) * 2014-04-28 2016-05-03 International Business Machines Corporation Global entry point and local entry point for callee function
US9250878B1 (en) 2014-11-24 2016-02-02 Red Hat, Inc. Function attribute for dynamic stack allocation
US10108407B2 (en) 2016-10-24 2018-10-23 International Business Machines Corporation Loading optimized local entry points for local-use-only function pointers

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0694858B2 (ja) 1987-03-13 1994-11-24 三信工業株式会社 船舶推進機の始動装置
US5121498A (en) 1988-05-11 1992-06-09 Massachusetts Institute Of Technology Translator for translating source code for selective unrolling of loops in the source code
US5781753A (en) 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
US5274820A (en) 1989-08-14 1993-12-28 International Business Machines Corporation Method and system for eliminating operation codes from intermediate prolog instructions
GB2239334B (en) 1989-12-22 1994-07-06 Intel Corp Synchronous communication between execution environments in a data processing system employing an object-oriented memory protection mechanism
US5157777A (en) 1989-12-22 1992-10-20 Intel Corporation Synchronous communication between execution environments in a data processing system employing an object-oriented memory protection mechanism
US5263155A (en) 1991-02-21 1993-11-16 Texas Instruments Incorporated System for selectively registering and blocking requests initiated by optimistic and pessimistic transactions respectively for shared objects based upon associated locks
US5446899A (en) 1992-06-26 1995-08-29 Digital Equipment Corporation Hint generation in smart recompilation
JPH0784851A (ja) 1993-09-13 1995-03-31 Toshiba Corp 共有データ管理方法
CA2115464C (en) 1994-02-11 1998-12-15 William G. O'farrell Concurrent processing in object oriented parallel and near parallel systems
US5875334A (en) 1995-10-27 1999-02-23 International Business Machines Corporation System, method, and program for extending a SQL compiler for handling control statements packaged with SQL query statements
US5761477A (en) 1995-12-04 1998-06-02 Microsoft Corporation Methods for safe and efficient implementations of virtual machines
US5802373A (en) 1996-01-29 1998-09-01 Digital Equipment Corporation Method for providing a pipeline interpreter for a variable length instruction set
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
CA2200812A1 (en) * 1997-03-24 1998-09-24 Archambault, Roch George Optimizing compilation of pointer variables
US5960436A (en) 1997-08-29 1999-09-28 International Business Machines Corp. Transaction compaction for replay of transactions from client to server
US6085035A (en) 1997-09-09 2000-07-04 Sun Microsystems, Inc. Method and apparatus for efficient operations on primary type values without static overloading
US6047125A (en) 1997-10-01 2000-04-04 Sun Microsystems, Inc. Garbage collection system for improved use of memory by removal of reference conflicts
US6865734B2 (en) 1997-10-06 2005-03-08 Sun Microsystems, Inc. Method and apparatus for performing byte-code optimization during pauses
US7076784B1 (en) 1997-10-28 2006-07-11 Microsoft Corporation Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment
US6240413B1 (en) 1997-12-22 2001-05-29 Sun Microsystems, Inc. Fine-grained consistency mechanism for optimistic concurrency control using lock groups
US5983225A (en) 1998-01-26 1999-11-09 Telenor As Parameterized lock management system and method for conditional conflict serializability of transactions
US6138269A (en) 1998-05-20 2000-10-24 Sun Microsystems, Inc. Determining the actual class of an object at run time
US6952829B1 (en) 1998-06-29 2005-10-04 International Business Machines Corporation Dynamically adapting between pessimistic and optimistic notifications to replicated objects
US6219666B1 (en) 1998-07-13 2001-04-17 Oracle Corporation Autonomous transactions in a database system
US6223335B1 (en) 1998-12-09 2001-04-24 Sun Microsystems, Inc. Platform independent double compare and swap operation
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6173442B1 (en) 1999-02-05 2001-01-09 Sun Microsystems, Inc. Busy-wait-free synchronization
US6317870B1 (en) * 1999-02-26 2001-11-13 Hewlett-Packard Company System and method for optimization of inter-module procedure calls
US6553384B1 (en) 1999-06-14 2003-04-22 International Business Machines Corporation Transactional name service
US6549959B1 (en) 1999-08-30 2003-04-15 Ati International Srl Detecting modification to computer memory by a DMA device
US6546443B1 (en) 1999-12-15 2003-04-08 Microsoft Corporation Concurrency-safe reader-writer lock with time out support
US7000234B1 (en) 2000-01-20 2006-02-14 Sun Microsystems, Inc. Maintaining a double-ended queue as a linked-list with sentinel nodes and delete flags with concurrent non-blocking insert and remove operations using a double compare-and-swap primitive
US20020010911A1 (en) 2000-02-16 2002-01-24 Ben-Chung Cheng Compile time pointer analysis algorithm statement of government interest
US6856993B1 (en) 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US6718542B1 (en) 2000-04-14 2004-04-06 Sun Microsystems, Inc. Disambiguating memory references based upon user-specified programming constraints
AU2001259089A1 (en) 2000-04-18 2001-11-07 Sun Microsystems, Inc. Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value
WO2001080015A2 (en) 2000-04-18 2001-10-25 Sun Microsystems, Inc. Concurrent shared object implemented using a linked-list with amortized node allocation
US6981249B1 (en) 2000-05-02 2005-12-27 Microsoft Corporation Methods for enhancing type reconstruction
US6922685B2 (en) 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
FR2809511B1 (fr) 2000-05-26 2003-09-12 Bull Sa Systeme et procede de gestion des transactions de composants ejb dans un annuaire accede par ldap
US6874141B1 (en) 2000-06-29 2005-03-29 Microsoft Corporation Method of compiling schema mapping
US6721945B1 (en) 2000-09-18 2004-04-13 International Business Machines Corporation Optimization of calls in programming languages using pointers for passing reference parameters
US6704926B1 (en) 2000-09-28 2004-03-09 International Business Machines Corporation Bimodal Java just-in-time complier
US6586993B2 (en) * 2000-11-08 2003-07-01 Research In Motion Limited Impedance matching low noise amplifier having a bypass switch
US6735760B1 (en) 2000-11-08 2004-05-11 Sun Microsystems, Inc. Relaxed lock protocol
US7089244B2 (en) 2000-11-15 2006-08-08 North Dakota State University Multiversion read-commit order concurrency control
US6718349B2 (en) 2000-12-14 2004-04-06 Borland Software Corporation Intelligent, optimistic concurrency database access scheme
US7069545B2 (en) 2000-12-29 2006-06-27 Intel Corporation Quantization and compression for computation reuse
US6681226B2 (en) 2001-01-30 2004-01-20 Gemstone Systems, Inc. Selective pessimistic locking for a concurrently updateable database
PT1356381E (pt) 2001-02-02 2016-02-22 Opentv Inc Método e aparelho para a compilação de uma linguagem interpretativa para televisão interactiva
US6850938B1 (en) 2001-02-08 2005-02-01 Cisco Technology, Inc. Method and apparatus providing optimistic locking of shared computer resources
US7086044B2 (en) 2001-03-22 2006-08-01 International Business Machines Corporation Method, article of manufacture and apparatus for performing automatic intermodule call linkage optimization
US20040205740A1 (en) 2001-03-29 2004-10-14 Lavery Daniel M. Method for collection of memory reference information and memory disambiguation
US7028293B2 (en) 2001-03-30 2006-04-11 Microsoft Corporation Constant return optimization transforming indirect calls to data fetches
US6654760B2 (en) 2001-06-04 2003-11-25 Hewlett-Packard Development Company, L.P. System and method of providing a cache-efficient, hybrid, compressed digital tree with wide dynamic ranges and simple interface requiring no configuration or tuning
US7293028B2 (en) 2001-06-08 2007-11-06 Sap Ag Cache-conscious concurrency control scheme for database systems
US7428725B2 (en) 2001-11-20 2008-09-23 Microsoft Corporation Inserting devices specific content
AU2003207526A1 (en) 2002-01-11 2003-07-30 Sun Microsystems, Inc. Lock-free implementation of dynamic-sized shared data structure
US7127710B2 (en) 2002-06-24 2006-10-24 Intel Corporation Identifying pure pointers to disambiguate memory references
US7254586B2 (en) 2002-06-28 2007-08-07 Microsoft Corporation Secure and opaque type library providing secure data protection of variables
US7395274B2 (en) 2002-07-16 2008-07-01 Sun Microsystems, Inc. Space- and time-adaptive nonblocking algorithms
US7254808B2 (en) 2002-07-20 2007-08-07 Microsoft Corporation Method for specifying and parsing expressions
US7082600B1 (en) 2002-11-04 2006-07-25 Savaje Technologies, Inc. Method and apparatus for integrating a computer application programming language runtime environment with an operating system kernel
US7080364B2 (en) 2003-04-28 2006-07-18 Intel Corporation Methods and apparatus for compiling a transcendental floating-point operation
US7418699B2 (en) * 2004-02-20 2008-08-26 Intel Corporation Method and system for performing link-time code optimization without additional code analysis
US7716640B2 (en) 2004-05-21 2010-05-11 Sap Portals Israel Ltd. Techniques for developing portal snippets using an integrated development environment (IDE)
US7395382B1 (en) * 2004-08-10 2008-07-01 Sun Microsystems, Inc. Hybrid software/hardware transactional memory
US7774319B2 (en) 2004-08-11 2010-08-10 Sap Ag System and method for an optimistic database access
US20060136454A1 (en) 2004-12-16 2006-06-22 Tchouati Constant W Method for managing a hybrid distributed database in a communication network
US7536517B2 (en) 2005-07-29 2009-05-19 Microsoft Corporation Direct-update software transactional memory
US7802239B2 (en) * 2005-11-09 2010-09-21 Oracle America, Inc. Supporting method references in the JAVA language
US7747565B2 (en) 2005-12-07 2010-06-29 Microsoft Corporation Garbage collector support for transactional memory
US7478210B2 (en) 2006-06-09 2009-01-13 Intel Corporation Memory reclamation with optimistic concurrency
US7895582B2 (en) 2006-08-04 2011-02-22 Microsoft Corporation Facilitating stack read and write operations in a software transactional memory system
US7434010B2 (en) 2006-08-04 2008-10-07 Microsoft Corporation Combined pessimistic and optimisitic concurrency control

Also Published As

Publication number Publication date
RU2009103626A (ru) 2010-08-10
US20080034359A1 (en) 2008-02-07
EP2049992B1 (en) 2019-04-03
EP2049992A4 (en) 2011-10-26
EP2049992A1 (en) 2009-04-22
US8601456B2 (en) 2013-12-03
WO2008018962A1 (en) 2008-02-14

Similar Documents

Publication Publication Date Title
MX2009000858A (es) Proteccion de transaccion de software de punteros manejados.
WO2009149219A3 (en) Appliance development toolkit
MX2009004893A (es) Compilacion de codigo ejecutable en un espacio de direccion menos confiable.
MX2014001629A (es) Sistema de tiempo de ejecucion.
WO2007050667A3 (en) Methods, media and systems for detecting anomalous program executions
BR112016021725A2 (pt) Apoio de comportamento dinâmico em programas estatisticamente compilados
WO2005091772A3 (en) Targeted runtime compilation
WO2010140883A3 (en) Improvements in embedded system development
BR0302004A (pt) Modelo de objeto e linguagem de marcação para gráficos vetoriais
WO2007018771A3 (en) Compiler supporting programs as data objects
WO2011159739A3 (en) Register mapping techniques for efficient dynamic binary translation
WO2008024743A3 (en) Secure web application development and execution environment
WO2006133222A3 (en) Constraint injection system for immunizing software programs against vulnerabilities and attacks
WO2009014779A3 (en) System for malware normalization and detection
WO2011116987A8 (en) A method for automatically generating a trace data set for a software system, a computer system, and a computer program product
GB2491768A (en) Performing aggressive code optimization with an ability to rollback changes made by the aggressive optimizations
GB2509653A (en) Linking code for an enhanced application binary interface (abi) with decode time instruction optimization
NO20081583L (no) Optimalisering av transaksjonsminne-programvareoperasjoner
WO2015011567A3 (en) Method and system for compiler optimization
MY163577A (en) Techniques for generating and executing browser-hosted applications
NZ588999A (en) Compositions for enhancing the antibacterial activity of myeloperoxidase and methods of use thereof
WO2007099484A3 (en) Optimised profile-driven compilation method for conditional code for a processor with predicated execution
TW200725391A (en) Power-gating control placement for leakage power reduction
DE602006012721D1 (de) Verringern von mit privaten variablen in parallelen programmen assoziiertem speicherreferenz-overhead
BR112014028947A2 (pt) método de configuração de um processador, dispositivo para configuração de um processador, processador, e produto de programa de computador

Legal Events

Date Code Title Description
FA Abandonment or withdrawal