Oracle Developer Studio
{{Short description|Integrated development environment}}
{{primary sources|date=April 2011}}
{{one source|date=April 2011}}
{{Infobox software
| name = Oracle Developer Studio
| developer = Oracle Corporation/Sun Microsystems
| latest release version = 12.6{{cite web
|url = https://blogs.oracle.com/solaris/http%3awwworaclecomtechnetworkserver-storagedeveloperstudiooverviewindexhtml
|title = Announcing Oracle Developer Studio 12.6!
|access-date = 2017-09-13
|author = Ikroop Dhillon
|date = 2017-07-05
|work = Oracle Blogs
|publisher = Oracle Corporation
}}
| latest release date = {{start date and age|2017|07|05}}
| operating system = Solaris, OpenSolaris, RHEL, Oracle Linux[https://www.theregister.co.uk/2011/12/19/oracle_studio_compilers_tuxedo/ Oracle gooses Studio compilers for Solaris, Linux]
| genre = Compiler, debugger, software build, integrated development environment
| website = {{URL|http://www.oracle.com/technetwork/server-storage/developerstudio/overview}}
| language = English, Japanese
Simplified Chinese
| license = Free for download and use as described in the product license
}}
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.{{cite web|title=Oracle Developer Studio - Downloads |url=http://www.oracle.com/technetwork/server-storage/developerstudio/downloads/index.html |publisher=Oracle Corporation|access-date=2018-03-16}}
Version 12.4 added partial support for the C++11 language standard.{{citation|title=What's New in Oracle® Solaris Studio 12.4|chapter=Support for the C++11 Standard |url=http://docs.oracle.com/cd/E37069_01/html/E37071/gncix.html |publisher=Oracle Corporation|access-date=2018-03-16}} 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.{{citation|title=Oracle® Developer Studio 12.6: C++ User's Guide |chapter=1.5 Standards Conformance |url=https://docs.oracle.com/cd/E77782_01/html/E77789/bkabg.html |publisher=Oracle|access-date=2018-03-16}}
Languages
Supported architectures
Components
The Oracle Developer software suite includes:
- C, C++, and Fortran compilers and support libraries
- dbx and frontends
- lint
- A NetBeans-based IDE
- Performance Analyzer{{cite web| url = http://docs.oracle.com/cd/E19205-01/819-5264
| title = Oracle Solaris Studio 12.2: Performance Analyzer
| access-date = 2010-09-11
| publisher = Oracle Corporation
}}
- Thread analyzer
- Sun performance library
- Distributed make{{cite web
| url = http://docs.oracle.com/cd/E19205-01/819-5273/
| title = Sun Studio 12: Distributed Make (dmake)
| access-date = 2016-06-01
| publisher = Oracle Corporation
}}
Compiler optimizations
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:
- Copy propagation
- Constant folding and constant propagation
- Dead code elimination
- Interprocedural optimization analysis
- Loop optimizations
- Automatic parallelization
- Profile-guided optimization
- Scalar replacement
- Strength reduction
- Automatic vectorization, with
-xvector=simd
OpenMP
The OpenMP shared memory parallelization API is native to all three compilers.
Code coverage
{{Main article|Tcov}}
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
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.{{cite web
| url = http://cooltools.sunsource.net/gcc/4.2.0/crosscompile.html
| title = Cool Tools - GCC for Sun Systems 4.2.0 as a Cross Compiler
| access-date = 2008-07-31
| publisher = Sun Microsystems
}}
Research platform
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){{cite web
| url = http://labs.oracle.com/scalable/pubs/ASPLOS2006.pdf
| title = Hybrid Transactional Memory
| access-date = 2007-11-10
| publisher = Sun Microsystems
}} and Phased Transactional Memory (PhTM),{{cite web
| url = http://labs.oracle.com/scalable/pubs/TRANSACT2007-PhTM.pdf
|archive-url = https://web.archive.org/web/20120211131402/http://labs.oracle.com/scalable/pubs/TRANSACT2007-PhTM.pdf
|archive-date = 2012-02-11
| title = PhTM: Phased Transactional Memory
| access-date = 2016-06-01
| publisher = Sun Microsystems
}} to investigate support and possible HTM optimizations.
History
class="wikitable plainrowheaders" style="text-align:center" |
scope="col" | Product name
!C/C++ compiler ! scope="col" | Supported Operating Systems ! scope="col" | Release date |
---|
scope="row" |SPARCworks 1.0
|1.0 |SunOS 4 |1991 |
scope="row" |SPARCworks 2.0 (SPARCompiler)
|2.0 |Solaris 2.x, SunOS 4.1.x |June 1992 |
scope="row" |SunSoft Workshop 1.0
|3.0 |Solaris 2.x, SunOS 4.1.x |July 1994 |
scope="row" |SunSoft Workshop 2.0
|4.0 |Solaris 2.2 or later |March 1995 |
scope="row" |Sun Workshop 3.0 / 4.0
|4.2 |Solaris 2.4, 2.5, 2.6, 7 |January 1997 |
scope="row" |Sun Workshop 5.0
|5.0 |Solaris 2.5.1, 2.6, 7 |December 1998 |
scope="row" | Forte Developer 6 (Sun WorkShop 6)
|5.1 | Solaris 2.6, 7, 8 || {{dts|2000|05}} |
scope="row" | Forte Developer 6 update 1
|5.2 | Solaris 2.6, 7, 8 || {{dts|2000|11}} |
scope="row" | Forte Developer 6 update 2
|5.3 | Solaris 2.6, 7, 8, 9 || {{dts|2001|07}} |
scope="row" | Sun ONE Studio 7 (Forte Developer 7)
|5.4 | Solaris 7, 8, 9 || {{dts|2002|05}} |
scope="row" | Sun ONE Studio 8 Compiler Collection
|5.5 | Solaris 7, 8, 9, 10|| {{dts|2003|05}} |
scope="row" | Sun Studio 8
|5.5|| Solaris 7, 8, 9, 10 || {{dts|2004|03}} |
scope="row" | Sun Studio 9
|5.6|| Solaris 8, 9, 10; Linux || {{dts|2004|07}} |
scope="row" | Sun Studio 10
|5.7|| Solaris 8, 9, 10; Linux || {{dts|2005|01}} |
scope="row" | Sun Studio 11
|5.8|| Solaris 8, 9, 10; Linux || {{dts|2005|11}} |
scope="row" | Sun Studio 12
|5.9|| Solaris 9, 10 1/06; Linux || {{dts|2007|06}} |
scope="row" | Sun Studio 12 Update 1
|5.10|| Solaris 10 1/06; OpenSolaris 2008.11, 2009.06; Linux || {{dts|2009|06}} |
scope="row" | Oracle Solaris Studio 12.2
|5.11|| Solaris 10 1/06 and above; Linux || {{dts|2010|09}} |
scope="row" | Oracle Solaris Studio 12.3
|5.12|| Solaris 10 10/08 and above, 11; Linux || {{dts|2011|12}} |
scope="row" | Oracle Solaris Studio 12.4
|5.13|| Solaris 10 8/11, 10 1/13, 11.2; Linux || {{dts|2014|11}} |
scope="row" | Oracle Developer Studio 12.5
|5.14|| Solaris 10 1/13, 11.3; Linux || {{dts|2016|06}} |
scope="row" | Oracle Developer Studio 12.6
|5.15|| Solaris 10 1/13, 11.3; Linux || {{dts|2017|06}} |
References
{{reflist|30em}}
External links
- [http://www.oracle.com/technetwork/server-storage/developerstudio/overview/ Oracle Developer Studio home page] on Oracle Developer Network
- [http://www.oracle.com/technetwork/server-storage/developerstudio/documentation/ Product documentation]
- [https://web.archive.org/web/20071214013716/http://cooltools.sunsource.net/gcc/ Cool Tools - GCC for SPARC Systems]
- [https://forums.oracle.com/community/developer/english/development_tools/application_development_in_c__c%2B%2B__and_fortran Oracle Studio Forums]
- [https://web.archive.org/web/20080129213345/http://wikis.sun.com/display/AppPerfTuning/Application+Performance+Tuning+Home Application Performance Tuning on Sun Platform] (archived Jan 29, 2008)
- [http://www.oracle.com/technetwork/server-storage/developerstudio/downloads/index.html Download Oracle Developer Studio]
- [http://www.oracle.com/technetwork/server-storage/developerstudio/training/index-jsp-141991.html Oracle Developer Studio Component Matrix]
{{Integrated development environments}}
{{Sun Microsystems}}
{{Oracle}}
Category:Sun Microsystems software