oil

Overview

oil is a fork(rewrite) of the liboil (Library of Optimized Inner Loops).

oil modules

oil has three modules:

oilcore
Support function classes and implements.
oiltest
A testing framework. e.g. test sample generating, profiling and precision checking.
oilfuncs
Pre-defined function classes and implements.

The relationship among these three modules is shown by the following diagram:

slots, function classes and implements

In oil, there is a number of public function pointers(slots), each slot belongs to a function class. A function class contains a group of implement functions that have the same prototype & function. You can select one implement as the active implement of a function class.

The above can be illustrated with the following diagram:

work flow

About

contact project's owner by chenj@lemote.com

If you have any issues, login and create a newticket

Source

Access git repository:

  • git://dev.lemote.com/oil.git (git protocal, anonymous)
  • http://dev.lemote.com/http_git/oil.git (http protocal, if the git protocal is blocked by firewall)
  • git@dev.lemote.com:oil.git (ssh protocal, if you are this project's owner)
  • Browser source code

Purpose

  • Manage inline assembly easily
  • Gather useful instructions of MIPS and Godson
  • Clarify information about ABI, ELF ...

Documents

Some reference documents:

There is an overview, it's here [zh_CN (obsolete)]

Example

See oilfuncs/tests/full.c, type "make check" to compile and run full.c

TODO

TODO

FAQ

Why fork?
The difference between liboil and oil
Under what license, oil is distributed?
LGPLv2

Attachments