MCPcopy
hub / github.com/sql-js/sql.js / _unlockBtreeIfUnused

Function _unlockBtreeIfUnused

js/sql-debug.js:76252–76304  ·  view source on GitHub ↗
($0)

Source from the content-addressed store, hash-verified

76250 return;
76251}
76252function _unlockBtreeIfUnused($0) {
76253 $0 = $0|0;
76254 var $$idx = 0, $$idx$i$i$i = 0, $$idx$val = 0, $$idx$val$i$i$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
76255 var label = 0, sp = 0;
76256 sp = STACKTOP;
76257 $1 = ((($0)) + 20|0);
76258 $2 = HEAP8[$1>>0]|0;
76259 $3 = ($2<<24>>24)==(0);
76260 if (!($3)) {
76261 return;
76262 }
76263 $4 = ((($0)) + 12|0);
76264 $5 = HEAP32[$4>>2]|0;
76265 $6 = ($5|0)==(0|0);
76266 if ($6) {
76267 return;
76268 }
76269 HEAP32[$4>>2] = 0;
76270 $$idx = ((($5)) + 72|0);
76271 $$idx$val = HEAP32[$$idx>>2]|0;
76272 $7 = ((($$idx$val)) + 20|0);
76273 $8 = HEAP32[$7>>2]|0;
76274 _sqlite3PcacheRelease($$idx$val);
76275 $9 = ((($8)) + 208|0);
76276 $10 = HEAP32[$9>>2]|0;
76277 $$idx$i$i$i = ((($10)) + 12|0);
76278 $$idx$val$i$i$i = HEAP32[$$idx$i$i$i>>2]|0;
76279 $11 = ($$idx$val$i$i$i|0)==(0);
76280 if (!($11)) {
76281 return;
76282 }
76283 $12 = ((($8)) + 16|0);
76284 $13 = HEAP8[$12>>0]|0;
76285 switch ($13<<24>>24) {
76286 case 0: case 6: {
76287 break;
76288 }
76289 case 1: {
76290 $14 = ((($8)) + 4|0);
76291 $15 = HEAP8[$14>>0]|0;
76292 $16 = ($15<<24>>24)==(0);
76293 if ($16) {
76294 (_pager_end_transaction($8,0,0)|0);
76295 }
76296 break;
76297 }
76298 default: {
76299 (_sqlite3PagerRollback($8)|0);
76300 }
76301 }
76302 _pager_unlock($8);
76303 return;
76304}
76305function _zeroPage($0,$1) {
76306 $0 = $0|0;
76307 $1 = $1|0;

Callers 3

_sqlite3BtreeBeginTransFunction · 0.85
_btreeEndTransactionFunction · 0.85
_sqlite3BtreeCloseCursorFunction · 0.85

Calls 4

_sqlite3PcacheReleaseFunction · 0.85
_pager_end_transactionFunction · 0.85
_sqlite3PagerRollbackFunction · 0.85
_pager_unlockFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…