1. 背景 android14-release init 進(jìn)程的 main 函數(shù)的簡(jiǎn)化版本如下: 2. 各種 stage 說(shuō)明 這里先給一個(gè)結(jié)論。如上圖所示,各種 stage...
1. 背景 android14-release init 進(jìn)程的 main 函數(shù)的簡(jiǎn)化版本如下: 2. 各種 stage 說(shuō)明 這里先給一個(gè)結(jié)論。如上圖所示,各種 stage...
默認(rèn)情況下面,GCC risc-v 使用的 code model 是 medlow,在這種情況下,編譯器生成的代碼使用 lui 來(lái)構(gòu)造全局變量的地址。 比如下面這段代碼: r...
xv6-riscv 有這樣一行代碼: 對(duì)應(yīng)的,Makefile 里有這個(gè): 然后我就不禁要問(wèn)了,我拿個(gè) main 函數(shù)的地址,關(guān)這個(gè) cmodel 啥事?網(wǎng)上翻了一圈后,就有...
字長(zhǎng)這里我們指一個(gè)指針的 bit 數(shù),在 32 位系統(tǒng)上是 32,64 位系統(tǒng)是 64(而不是 x86 匯編的那個(gè) word,x86 的 word 是 16bit) 查看 j...
簡(jiǎn)單說(shuō),偏向鎖 在 jdk15 被設(shè)置為 deprecated,17 obsolete,19 則直接移除了;因?yàn)閷?duì)于大部分程序,他并沒(méi)有很好地起到原先設(shè)想的作用。 至于詳情,...
系統(tǒng)環(huán)境:macOS 13.3.1 xcode:14.3;xcode 是必須的,只有 command line tools 搞不了 代碼:git@github.com:ope...
起因 這篇文章的起因是某個(gè)非常奇怪的 bug,bug 的部分 logcat 日志如下: 已知: log 時(shí)間后面的第一個(gè)數(shù)字是進(jìn)程號(hào)(pid) 第二個(gè)數(shù)字是打印日志的線程的線...
class_def_item、class_data_item dex::TypeIndex 兩個(gè)字節(jié),所以其后跟著一個(gè) 2 bytes 的 padding。這樣才是 4 字節(jié)...
這是個(gè)人第一篇寫(xiě) ART 虛擬機(jī)相關(guān)的文章,使用的源碼是 Android 11(對(duì)應(yīng) ART 的 android11-release 分支)。決定寫(xiě)這么一些文章,一方面是逼自...
一些參考資料 YAHFA 作者寫(xiě)了兩篇文章,可以作為參考:YAHFA--ART環(huán)境下的Hook框架[http://rk700.github.io/2017/03/30/YAH...
與其說(shuō)協(xié)程是一個(gè)輕量級(jí)線程,我更愿意把它當(dāng)然一個(gè)個(gè)待執(zhí)行/可執(zhí)行的任務(wù)。這樣就引申出一個(gè)問(wèn)題——協(xié)程是運(yùn)行在哪個(gè)線程上的?這就是本篇文章想要探討的問(wèn)題,同時(shí)我們也將學(xué)習(xí)如何讓...
用線程做類(lèi)比的話,協(xié)程的 context 可以認(rèn)為是協(xié)程的“線程私有變量”,同時(shí)這個(gè)私有變量是不可變的。也就是說(shuō),我們?cè)趧?chuàng)建一個(gè)協(xié)程的時(shí)候,他的 context 攜帶的信息就...
嘗試過(guò)事無(wú)巨細(xì)一行一行代碼分析源碼,也試過(guò)以感性的方式總結(jié)源碼;第一種方式總覺(jué)得容易把讀者繞進(jìn)去,第二種則有些人看后覺(jué)得好像什么也沒(méi)說(shuō)。這里我嘗試使用第三種方法,回到我們閱讀...
什么是沉浸式體驗(yàn) 沉浸式就是要給用戶(hù)提供完全沉浸的體驗(yàn),使用戶(hù)有一種置身于虛擬世界之中的感覺(jué)。這種體驗(yàn)在各類(lèi)游戲中被廣泛應(yīng)用,絕大部分的游戲都會(huì)在打開(kāi)后,使得屏幕被完全被游戲...
看 Linux 的 wait_event 源碼時(shí),聯(lián)想到我們平時(shí)經(jīng)常用得比較多的 wait/notify、double-check 和 volatile,突然意識(shí) wait_...
原文地址 jekton.github.io,未經(jīng)允許,不得轉(zhuǎn)載。 源碼使用 Linux 2.6.24,基于 x86 平臺(tái);參考書(shū)是《深入理解 LINUX 內(nèi)核》第三版 內(nèi)核跟...