Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
CodeWarrior
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Development=== In February 1993, Galanos called McEnerney and asked if they could meet in [[Palo Alto]] so McEnerney could review a new C compiler Metrowerks had acquired. McEnerney was extremely impressed; the system looked like early versions of Think C, and was very fast. Describing it as "a diamond in the rough", McEnerney signed a contract with Metrowerks within hours. Hommel would extend his C compiler to a full [[C++]] implementation while disentangling it from the code generation stage. McEnerney would write a new PPC code generator that would be driven by Hommel's compiler. Hommel's existing 68K code generator would be used for that platform, slightly modified to support Pascal as well. Berardino Baratta and Marcel Achim in Montreal would continue developing the IDE and develop a Pascal compiler running on the same code generators.{{sfn|Mark|1996a}} Examining the new system, McEnerney decided to take an entirely new approach to code generation. Typical compilers of the era would repeatedly examine their [[intermediate representation]] (IR) producing more and more optimized versions of the code until they finally converted it to machine instructions. This approach was less important for [[RISC]] platforms, as the [[instruction set architecture]] was much simpler and there was far less work involved in deciding which particular type of instruction to use for a given task. Instead, McEnerney's new code generator took the initial IR and converted that directly to PPC code.{{sfn|Mark|1996a}} The major change was to implement [[Chaitin's algorithm]] for register use. This system, introduced in 1982, was a landmark development in compiler technique. It allowed a code generator to map [[local variable]]s to [[processor register]]s with very high efficiency. On a machine that relied on register use for performance, which is one of the primary concepts of RISC processors, this technique can lead to huge improvements. The downside is that it is expensive to calculate the results, being an [[Big O notation|O(N<sup>2</sup>)]] process.{{sfn|Mark|1996a}} To help develop the PPC compiler, Apple's Jordan Mattson sent McEnerney one of their [[RS/6000]] systems. By August 1993 the basic system was running. McEnerney got a phone call from a former Symantec colleague, Dan Podwall, who was looking for work at Metrowerks. Galanos called Podwall, who was immediately hired to write a [[debugger]], completed in only four weeks.{{sfn|Mark|1996a}} A prototype [[Power Macintosh]] machine was sent to the company in September 1993. At the time, the main IDE and compiler toolchain was still running on the 68k machines, producing PPC binaries that were then moved to the prototype and debugged. This allowed them to quickly port the system to the PPC, and by December the entire system was ready for production.{{sfn|Mark|1996a}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)