Comments (1)
The layout could be like this:
- For each package, a directory which includes the class loader e.g.
boot/java/lang/
- Each package has multiple object files:
methods.o
contains the method code and non-object variablesoop_fields.o
contains all object literal and static field referencesobjects.o
contains all regular heap objects (not including root class objects)
One complication is that we must continue to store the root classes array in topologically-sorted order (i.e. in order by type ID), so these should remain in a single dedicated root object file (e.g. root_classes.o
in the root output directory) to ensure proper ordering.
When linking, we'd link in order: all method.o
followed by all oop_fields.o
followed by the singular root_classes.o
file, and then lastly all objects.o
.
from qbicc.
Related Issues (20)
- Better handling of `undef` values in llvm codegen
- Improve exception handling in diagnostics HOT 1
- Stack smashing bug on Linux in java.net.NetworkInterface$_qbicc.addif HOT 1
- Linux-specific hang using CountDownLatches -- futex bug?
- Ambiguity with `ptr<Object>` HOT 2
- Fix up stack traces
- `org.qbicc.object.Function*` should not be locked to `FunctionType`
- Matching monitor enter/exits
- "Fix non-reducible loops" step
- Inline assembly return type doesn't work well with pointers
- Reflection on interfaces includes `Object` methods
- Interpreter support for `ByteBuffer` HOT 1
- Instanceless virtual allocator methods HOT 1
- Intrinsic methods for memory fill, clear, copy, and swap
- `Convert` and `ValueConvertLiteral` are not equivalent HOT 1
- Fix safepoint calling conventions HOT 1
- Improve monitor implementation
- Allow `enum` to be used for native constants
- Only include runtime modules corresponding to the backend HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qbicc.