Oracle Developer Studio, formerly named Oracle Solaris Studio, Sun Studio, Sun WorkShop, Forte Developer, and SunPro Compilers, is
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
's flagship software development product for the
Solaris and
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s. It includes optimizing C, C++, and Fortran
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
s, 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.
Version 12.4 adds partial support for the
C++11
C++11 is a version of the ISO/ IEC 14882 standard for the C++ programming language. C++11 replaced the prior version of the C++ standard, called C++03, and was later replaced by C++14. The name follows the tradition of naming language versio ...
language standard. 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.
Languages
*
C
*
C++
*
Fortran
Supported architectures
*
SPARC
SPARC (Scalable Processor Architecture) is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system developed ...
* i86pc (
x86 and
x86-64
x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging ...
)
Components
The Oracle Developer software suite includes:
* C, C++, and Fortran compilers and support libraries
*
dbx and frontends
*
lint
Lint may refer to:
* Fibrous coat of thick hairs covering the seeds of the cotton plant
* Lint (material), an accumulation of fluffy fibers that collect on fabric
Places
* Lint, Belgium, a municipality located in Antwerp, Belgium
* Linț, a vill ...
* A
NetBeans-based
IDE
*
Performance Analyzer
* Thread analyzer
* Sun performance library
* Distributed make
Compiler optimizations
A common
optimizing backend is used for code generation.
A high-level intermediate representation called ''
Sun IR
The Sun is the star at the center of the Solar System. It is a nearly perfect ball of hot plasma, heated to incandescence by nuclear fusion reactions in its core. The Sun radiates this energy mainly as light, ultraviolet, and infrared radia ...
'' 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
Scalar may refer to:
*Scalar (mathematics), an element of a field, which is used to define a vector space, usually the field of real numbers
*Scalar (physics), a physical quantity that can be described by a single element of a number field such a ...
*
Strength reduction
*
Automatic vectorization, with
-xvector=simd
OpenMP
The
OpenMP
OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating sy ...
shared memory parallelization API is native to all three compilers.
Code coverage
Tcov, a source
code coverage
In computer science, test coverage is a percentage measure of the degree to which the source code of a program is executed when a particular test suite is run. A program with high test coverage has more of its source code executed during testing ...
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
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
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
The GNU Compiler Collection (GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. The Free Software Foundation (FSF) distributes GCC as free sof ...
'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.
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) and ''Phased Transactional Memory'' (PhTM), to investigate support and possible HTM optimizations.
History
– Source:
References
External links
Oracle Developer Studio home pageon Oracle Developer Network
Product documentationCool Tools - GCC for SPARC SystemsOracle Studio ForumsApplication Performance Tuning on Sun Platform(archived Jan 29, 2008)
{{Oracle
Sun Microsystems software
C++ compilers
C (programming language) compilers
Fortran compilers
compilers and interpreters
computer libraries