Oracle Developer Studio

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Oracle Developer Studio
DeveloperOracle Corporation/Sun Microsystems
Stable release
12.6[1] / July 5, 2017; 8 years ago (2017-07-05)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemSolaris, OpenSolaris, RHEL, Oracle Linux[2]
    Available inEnglish, Japanese
    Simplified Chinese
    TypeCompiler, debugger, software build, integrated development environment
    LicenseFree for download and use as described in the product license
    Websitewww.oracle.com/technetwork/server-storage/developerstudio/overview

    Oracle Developer Studio, formerly named Oracle Solaris Studio, Sun Studio, Sun WorkShop, Forte Developer, and SunPro Compilers, is the Oracle Corporation's flagship software development product for the Solaris and Linux operating systems. It includes optimizing C, C++, and Fortran compilers, libraries, and performance analysis and debugging tools, for Solaris on SPARC and x86 platforms, and Linux on x86/x64 platforms, including multi-core systems.

    Oracle Developer Studio is downloadable and usable at no charge; however, there are many security and functionality patch updates which are only available with a support contract from Oracle.[3]

    Version 12.4 added partial support for the C++11 language standard.[4] All C++11 features are supported except for concurrency and atomic operations, and user-defined literals. Version 12.6 supports the C++14 language standard.[5]

    Languages

    [edit | edit source]

    Supported architectures

    [edit | edit source]

    Components

    [edit | edit source]

    The Oracle Developer software suite includes:

    Compiler optimizations

    [edit | edit source]

    A common optimizing backend is used for code generation.

    A high-level intermediate representation called Sun IR is used, and high-level optimizations done in the iropt (intermediate representation optimizer) component are operated at the Sun IR level. Major optimizations include:

    OpenMP

    [edit | edit source]

    The OpenMP shared memory parallelization API is native to all three compilers.

    Code coverage

    [edit | edit source]

    Tcov, a source code coverage analysis and statement-by-statement profiling tool, comes as a standard utility. Tcov generates exact counts of the number of times each statement in a program is executed and annotates source code to add instrumentation.

    The tcov utility gives information on how often a program executes segments of code. It produces a copy of the source file, annotated with execution frequencies. The code can be annotated at the basic block level or the source line level. As the statements in a basic block are executed the same number of times, a count of basic block executions equals the number of times each statement in the block is executed. The tcov utility does not produce any time-based data.

    GCCFSS

    [edit | edit source]

    The GCC for SPARC Systems (GCCFSS) compiler uses GNU Compiler Collection's (GCC) front end with the Oracle Developer Studio compiler's code-generating back end. Thus, GCCFSS is able to handle GCC-specific compiler directives, while it is also able to take advantage of the compiler optimizations in the compiler's back end. This greatly facilitates the porting of GCC-based applications to SPARC systems.

    GCCFSS 4.2 adds the ability to be used as a cross compiler; SPARC binaries can be generated on an x86 (or x64) machine running Solaris.[8]

    Research platform

    [edit | edit source]

    Before its cancellation, the Rock would have been the first general-purpose processor to support hardware transactional memory (HTM). The Oracle Developer Studio compiler is used by a number of research projects, including Hybrid Transactional Memory (HyTM)[9] and Phased Transactional Memory (PhTM),[10] to investigate support and possible HTM optimizations.

    History

    [edit | edit source]
    Product name C/C++ compiler Supported Operating Systems Release date
    SPARCworks 1.0 1.0 SunOS 4 1991
    SPARCworks 2.0 (SPARCompiler) 2.0 Solaris 2.x, SunOS 4.1.x June 1992
    SunSoft Workshop 1.0 3.0 Solaris 2.x, SunOS 4.1.x July 1994
    SunSoft Workshop 2.0 4.0 Solaris 2.2 or later March 1995
    Sun Workshop 3.0 / 4.0 4.2 Solaris 2.4, 2.5, 2.6, 7 January 1997
    Sun Workshop 5.0 5.0 Solaris 2.5.1, 2.6, 7 December 1998
    Forte Developer 6 (Sun WorkShop 6) 5.1 Solaris 2.6, 7, 8 May 2000
    Forte Developer 6 update 1 5.2 Solaris 2.6, 7, 8 November 2000
    Forte Developer 6 update 2 5.3 Solaris 2.6, 7, 8, 9 July 2001
    Sun ONE Studio 7 (Forte Developer 7) 5.4 Solaris 7, 8, 9 May 2002
    Sun ONE Studio 8 Compiler Collection 5.5 Solaris 7, 8, 9, 10 May 2003
    Sun Studio 8 5.5 Solaris 7, 8, 9, 10 March 2004
    Sun Studio 9 5.6 Solaris 8, 9, 10; Linux July 2004
    Sun Studio 10 5.7 Solaris 8, 9, 10; Linux January 2005
    Sun Studio 11 5.8 Solaris 8, 9, 10; Linux November 2005
    Sun Studio 12 5.9 Solaris 9, 10 1/06; Linux June 2007
    Sun Studio 12 Update 1 5.10 Solaris 10 1/06; OpenSolaris 2008.11, 2009.06; Linux June 2009
    Oracle Solaris Studio 12.2 5.11 Solaris 10 1/06 and above; Linux September 2010
    Oracle Solaris Studio 12.3 5.12 Solaris 10 10/08 and above, 11; Linux December 2011
    Oracle Solaris Studio 12.4 5.13 Solaris 10 8/11, 10 1/13, 11.2; Linux November 2014
    Oracle Developer Studio 12.5 5.14 Solaris 10 1/13, 11.3; Linux June 2016
    Oracle Developer Studio 12.6 5.15 Solaris 10 1/13, 11.3; Linux June 2017

    – Source: [11]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Oracle gooses Studio compilers for Solaris, Linux
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]