HOME

TheInfoList



OR:

Oracle Developer Studio, formerly named Oracle Solaris Studio, Sun Studio, Sun WorkShop, Forte Developer, and SunPro Compilers, is the
Oracle Corporation Oracle Corporation is an American Multinational corporation, multinational computer technology company headquartered in Austin, Texas. Co-founded in 1977 in Santa Clara, California, by Larry Ellison, who remains executive chairman, Oracle was ...
's flagship software development product for the Solaris and
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
s. It includes optimizing C, C++, and Fortran
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
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 added partial support for the
C++11 C++11 is a version of a joint technical standard, ISO/IEC 14882, by the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC), for the C++ programming language. C++11 replaced the prior vers ...
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 * i86pc ( x86 and
x86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit extension of the x86 instruction set architecture, instruction set. It was announced in 1999 and first available in the AMD Opteron family in 2003. It introduces two new ope ...
)


Components

The Oracle Developer software suite includes: * C, C++, and Fortran compilers and support libraries *
dbx dbx or DBX may refer to: * dbx (debugger), a Unix source-level debugger * dbx (company), a professional audio recording equipment company ** dbx (noise reduction), a noise reduction system invented by dbx, Inc. * .dbx, the file extension for Micros ...
and frontends * lint * A
NetBeans NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...
-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'' 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 Interprocedural optimization (IPO) is a collection of compiler techniques used in computer programming to improve performance in programs containing many frequently used Function (computer science), functions of small or medium length. IPO differs ...
analysis *
Loop optimization In compiler theory, loop optimization is the process of increasing execution speed and reducing the overheads associated with loops. It plays an important role in improving cache performance and making effective use of parallel processing capa ...
s * Automatic parallelization * Profile-guided optimization * Scalar replacement * Strength reduction *
Automatic vectorization Automatic vectorization, in parallel computing, is a special case of automatic parallelization, where a computer program is converted from a scalar implementation, which processes a single pair of operands at a time, to a vector implementatio ...
, with -xvector=simd


OpenMP

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


Code coverage

Tcov Tcov is a source code coverage analysis and statement-by-statement profiling tool for software written in Fortran, C and C++. Tcov generates exact counts of the number of times each statement in a program is executed and annotates source cod ...
, a source
code coverage In software engineering, code coverage, also called 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 code coverage has more of its ...
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 or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
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 In compiler construction, a basic block is a straight-line code sequence with no branches in except to the entry and no branches out except at the exit. This restricted form makes a basic block highly amenable to analysis. Compilers usually decom ...
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 a collection of compilers from the GNU Project that support various programming languages, Computer architecture, hardware architectures, and operating systems. The Free Software Foundation (FSF) distributes ...
'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 In computer science and computer engineering, engineering, transactional memory attempts to simplify concurrent programming by allowing a group of load and store instructions to execute in an linearizability, atomic way. It is a concurrency control ...
'' (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 page
on Oracle Developer Network
Product documentation

Cool Tools - GCC for SPARC Systems

Oracle Studio Forums

Application Performance Tuning on Sun Platform
(archived Jan 29, 2008)



{{Oracle Sun Microsystems software C++ compilers C (programming language) compilers Fortran compilers computer libraries 1991 software