Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | wrapper: improve performance of verbose_log | Emmanuel Gil Peyrot | 2018-07-30 |
| | | | | | | | | This reduces the number of syscalls per call from 3 to 1, on one specific game when piping everything to /dev/null this reduces the runtime from 14.115s to 8.800s. Signed-off-by: Jari Vetoniemi <mailroxas@gmail.com> | ||
* | pthread: Implement pthread cleanup | Jari Vetoniemi | 2018-07-30 |
| | |||
* | pthread: Implement implicit sem init | Jari Vetoniemi | 2018-07-30 |
| | | | | | This should be undefined behaviour, but some android apps rely on default initialized semaphores. (Hearthstone) | ||
* | pthread: sizeof variable instead of type | Jari Vetoniemi | 2018-07-30 |
| | | | | Prevents copy-paste bugs. | ||
* | stdio: Wrap fflush | Jari Vetoniemi | 2018-07-30 |
| | |||
* | libc: Handle THREAD_SIGNAL correctly | Jari Vetoniemi | 2018-07-30 |
| | |||
* | android: Implement more asset stuff | Jari Vetoniemi | 2018-07-30 |
| | |||
* | Stub OpenSLES | Jari Vetoniemi | 2018-07-30 |
| | |||
* | app: Comment unused functions | Jari Vetoniemi | 2018-06-02 |
| | |||
* | libc: Wrap low level glibc io calls for stdio | Jari Vetoniemi | 2018-06-02 |
| | | | | This is much less work and actually works better. | ||
* | jvm: Store class names like they are in java | Jari Vetoniemi | 2018-06-02 |
| | | | | com.foo.bar instead of com/foo/bar, only convert to latter form when needed. | ||
* | jvm: better stubs, implement boolean array region | Jari Vetoniemi | 2018-06-02 |
| | | | | | Boolean array region was missed by mistake. Too lazy to split this commit so yeah, included here.. | ||
* | libc: Fix signal functions | Jari Vetoniemi | 2018-05-30 |
| | | | | | bionic uses different sized types, also bugs: https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md | ||
* | app: Remove cruft | Jari Vetoniemi | 2018-05-29 |
| | |||
* | Add libjvm-unity.c | Jari Vetoniemi | 2018-05-29 |
| | | | | Contains some unity specific java functions | ||
* | app: Unity related hacks | Jari Vetoniemi | 2018-05-29 |
| | | | | Mostly the -DWOLF define to switch between apks more easily | ||
* | pthread: Implement monotonic/relative wait funcs | Jari Vetoniemi | 2018-05-29 |
| | |||
* | jvm: Set max objects to 4096 temporarily | Jari Vetoniemi | 2018-05-29 |
| | | | | | | | Real Android has lower limit, (IIRC the 256 we had), but since we don't actually do any ref counting yet, nothing is ever unloaded. Thus lets just raise this limit for now. | ||
* | libc: Fix printf formatters | Jari Vetoniemi | 2018-05-29 |
| | |||
* | jvm/libjvm-*: implement stuff | Jari Vetoniemi | 2018-05-29 |
| | | | | Wolf simulator (lol) starts working | ||
* | jvm: superclass hack | Jari Vetoniemi | 2018-05-29 |
| | | | | | Tries call method from generic java object or class if implementation is not found for the topmost level. | ||
* | jvm: correct names for dynamic classes | Jari Vetoniemi | 2018-05-29 |
| | |||
* | jvm: log opaque objects better | Jari Vetoniemi | 2018-05-29 |
| | |||
* | jvm: better utf string functions | Jari Vetoniemi | 2018-05-21 |
| | |||
* | jvm: whitespace | Jari Vetoniemi | 2018-05-21 |
| | |||
* | jvm: Better proxy objects | Jari Vetoniemi | 2018-05-21 |
| | | | | | | | | Instead of creating class, return the method instead. Check for type mismatch in functions that use these objects in our jvm implementation, but on mismatch print the mismatch, but return a empty object (all-0) and stuff could still work. Essentially effect is having container/object with no data. | ||
* | libc: Temporary hack for sigaction | Jari Vetoniemi | 2018-05-16 |
| | | | | | For some reason doesn't work with NULL act, need to investigate more later. | ||
* | libc: Fix sa_flags in bionic sigaction struct | Jari Vetoniemi | 2018-05-16 |
| | |||
* | jvm: Implement jvm_get_object_of_type | Jari Vetoniemi | 2018-05-16 |
| | | | | | Currently doesn't do anything different from jvm_get_object, but can be used to log cases where unexpected object was returned. | ||
* | jvm: Return proxy objects for stubbed methods | Jari Vetoniemi | 2018-05-16 |
| | | | | | This is better than returning NULL, as we can track better where things go wrong and what needs to be implemented. | ||
* | jvm-android: cache dir properties | Jari Vetoniemi | 2018-05-08 |
| | |||
* | jvm-android: version properties | Jari Vetoniemi | 2018-05-08 |
| | |||
* | jvm: add some array implementation code | Jari Vetoniemi | 2018-05-08 |
| | |||
* | jvm: more verbose instance of | Jari Vetoniemi | 2018-04-19 |
| | |||
* | app: use android/app/Activity for main context | Jari Vetoniemi | 2018-04-19 |
| | |||
* | wrapper: fix trace blocking / fix indentation | Jari Vetoniemi | 2018-04-19 |
| | |||
* | linker: better sym == function detection | Jari Vetoniemi | 2018-04-19 |
| | |||
* | libc: support only android's libstdc++ | Jari Vetoniemi | 2018-04-19 |
| | | | | | Supporting host libstdc++ is going to be complicated. Because c++'s ABI is unstable and mess. | ||
* | libc: more verbose strlen | Jari Vetoniemi | 2018-04-19 |
| | |||
* | jvm: Add asserts | Jari Vetoniemi | 2018-04-19 |
| | |||
* | wrapper/linker: __cxa_demangle from linker | Jari Vetoniemi | 2018-04-19 |
| | | | | | We want to use android's libstdc++, so we need to pass __cxa_demangle from linker. | ||
* | linker: Use dladdr1 to get symbol info | Jari Vetoniemi | 2018-04-19 |
| | | | | Casting symbol is wrong. | ||
* | libc: Implement bionic's ctype | Jari Vetoniemi | 2018-04-19 |
| | |||
* | linker: s/APKENV_DEBUG/LINKER_DEBUG/ | Jari Vetoniemi | 2018-04-19 |
| | |||
* | linker: debug print to stderr | Jari Vetoniemi | 2018-04-19 |
| | |||
* | linker: Remove libc precond | Jari Vetoniemi | 2018-04-19 |
| | |||
* | linker/libc: don't wrap variable symbols | Jari Vetoniemi | 2018-04-19 |
| | | | | | This is why the bionic_file_to_glibc_file did not work with just pointers. The input is actually pointer to our wrapper, doh. | ||
* | libc: Wrap more stdio funcs | Jari Vetoniemi | 2018-04-19 |
| | |||
* | libc: stdio must be wrapped | Jari Vetoniemi | 2018-04-18 |
| | | | | | | | | | | | | | | Bionic libc does stupid stuff and defines standard streams as macros to reference of an array element. Thus we can't just point standard streams to their respective correct addresses. (Why does both glibc and bionic even expose the internal FILE structs??) So we have to wrap every function that takes FILE* as argument and mangle it with bionic_file_to_glibc_file. We can't just check addresses because gnu's libstdc++ copies the FILE*. I assume same thing happens with the c++ locale support, and we need to do more complex ctype wrapping. | ||
* | android/EGL: Mark ANativeWindow w/ header | Jari Vetoniemi | 2018-03-11 |
| | | | | | | | | Remove eglGetDisplay as it's called with NULL anyways (Reimplement if otherwise in some app) In eglCreateWindowSurface, check that our pointer really is ANativeWindow, otherwise try use it as is. |