Repository navigation
v0.0.207
rePIU v0.0.207
이전 릴리스 v0.0.206 이후의 변경입니다(issue #20). 오래전에 기본 켜기로 승격된 기능
15개의 끄기용 환경 변수를 없앴습니다. 기능은 모두 켜진 그대로이고, 아무 변수도 주지 않은
실행의 동작은 v0.0.206과 같습니다.
해결된 issue
| issue | 내용 | 커밋 |
|---|---|---|
| #20 | 오래 승격된 기능의 끄기 스위치 제거(환경 변수 토글 정리 1번 묶음) | 8f84450 |
바뀐 것
더 이상 읽지 않는 환경 변수 15개. 아래 변수를 설정해도 아무 효과가 없습니다. 해당
기능은 항상 켜져 있습니다.
- AOT-DBT:
REPIU_AOT_DBT_PORT_IO_DISPATCH,REPIU_AOT_DBT_RETURN_MISS_DISPATCH,
REPIU_AOT_DBT_DIRECT_EDGE_DISPATCH,REPIU_AOT_DBT_TIMER_SAFE_POINTS,
REPIU_AOT_INLINE_CACHE_PATCH_INLINE,REPIU_AOT_DIRECT_RETURN_TABLE
(REPIU_AOT_DIRECT_RETURN_TABLE_BITS는 그대로 표 크기를 정합니다) - Glide:
REPIU_GLIDE_SETTER_ELIDE,REPIU_GLIDE_SETTER_ELIDE_TEXTURE,
REPIU_GLIDE_SETTER_ELIDE_BATCH3,REPIU_GLIDE_SETTER_ELIDE_BATCH4,
REPIU_GLIDE_DRAW_BATCH,REPIU_GLIDE_HOST_WAIT,REPIU_GLIDE_GATE_PUMP - 기타:
REPIU_PORT_IO_DELAY_LOOP,REPIU_NATIVE_LINEAR_SPAN_REJECT_CACHE
종료 요약 줄 두 개의 형식이 바뀌었습니다.
AOT inline cache patch direct/worker: N/0→AOT inline cache patches: N
(worker 왕복 패치 경로를 지웠습니다).Glide setter elision enabled/texture-state/batch-three/batch-four/…에서 항상 참이 된
묶음 플래그 셋을 뺐습니다.
동작 변화 하나. legacy 백엔드(REPIU_EXECUTION_BACKEND=legacy, 진단용)에서
REPIU_NATIVE_LINEAR_SPAN_REJECT_CACHE=1로 reject cache를 켜던 방법이 사라졌습니다. 기본
백엔드(dynamic)는 변화가 없습니다.
문서. 환경 변수 전수 조사 결과를 docs/analysis/environment-toggle-inventory.md에 두고,
보류한 항목(버려진 옵트인 실험 정리, REPIU_AOT_GUARDED_SEGMENT_LOAD/POP/READ 스위치 제거)을
재개 조건과 함께 docs/TODO.md에 올렸습니다. glide-setter-elision-testing.md 등 가이드
3종의 A/B 절차는 종료된 기록으로 표시했습니다 — setter 생략 때문에 화면 이상이 생겨도 이제
환경 변수로 끌 수 없으니, 로그와 함께 issue로 알려 주십시오.
진단 도구. repiu_aot_probe에 --inline-cache, --native-linear-span,
--glide-draw-batch, --glide-setter-state-cache 단독 실행 플래그를 더했습니다.
확인한 것
| 구성 | 확인 |
|---|---|
| Win32 x86 Release | 빌드, probe 6종(위 4종과 --selector-guard·--segment-restore), 16개 롬셋 30초 스모크를 v0.0.206 빌드와 게임마다 교대(양쪽 예외 0, 15개 롬셋 프레임 일치), pumpitea 90초 한 쌍(로고 다음 공백 2.78초 / 2.79초, port I/O delay loop 통계 동일) |
알려진 것
- pumpitp2가 30초 스모크에서 프레임 0으로 끝난 실행이 한 번 있었습니다(예외 없음, 게스트는
대기 루프). 교대 재검에서 새 빌드 3회·이전 빌드 2회가 모두 정상이었고 v0.0.206 검증 때도
같은 현상이 한 번 있었으므로, 이번 변경과 무관한 간헐 현상으로 봅니다. - Linux 빌드는 확인하지 않았습니다. 바뀐 코드는 플랫폼 공용 엔진 코드뿐입니다.
rePIU v0.0.207
Changes since v0.0.206 (issue #20). The kill-switch environment variables of 15
long-promoted features are gone. Every feature stays on, and a run with nothing set behaves as
v0.0.206 did.
Resolved issues
| issue | Summary | Commit |
|---|---|---|
| #20 | Retire the kill switches of long-promoted features (environment toggle cleanup, group 1) | 8f84450 |
Changed
Fifteen variables are no longer read; setting them has no effect and the features are
always on: REPIU_AOT_DBT_PORT_IO_DISPATCH, REPIU_AOT_DBT_RETURN_MISS_DISPATCH,
REPIU_AOT_DBT_DIRECT_EDGE_DISPATCH, REPIU_AOT_DBT_TIMER_SAFE_POINTS,
REPIU_AOT_INLINE_CACHE_PATCH_INLINE, REPIU_AOT_DIRECT_RETURN_TABLE (the table size
REPIU_AOT_DIRECT_RETURN_TABLE_BITS still applies), REPIU_GLIDE_SETTER_ELIDE,
REPIU_GLIDE_SETTER_ELIDE_TEXTURE, REPIU_GLIDE_SETTER_ELIDE_BATCH3,
REPIU_GLIDE_SETTER_ELIDE_BATCH4, REPIU_GLIDE_DRAW_BATCH, REPIU_GLIDE_HOST_WAIT,
REPIU_GLIDE_GATE_PUMP, REPIU_PORT_IO_DELAY_LOOP and
REPIU_NATIVE_LINEAR_SPAN_REJECT_CACHE.
Two summary lines changed format: AOT inline cache patch direct/worker: N/0 is now
AOT inline cache patches: N (the worker round-trip patch path is gone), and the
Glide setter elision … line drops its three always-true batch flags.
One behavior change: on the legacy backend (REPIU_EXECUTION_BACKEND=legacy, kept for
diagnosis) the reject cache can no longer be turned on with
REPIU_NATIVE_LINEAR_SPAN_REJECT_CACHE=1. The default dynamic backend is unchanged.
Docs: the full survey is in docs/analysis/environment-toggle-inventory.md; the deferred
items (removing the abandoned opt-in experiments, and the
REPIU_AOT_GUARDED_SEGMENT_LOAD/POP/READ switches) are in docs/TODO.md with resume
conditions; the A/B procedures in three guides, including glide-setter-elision-testing.md,
are marked as concluded records — setter elision can no longer be switched off with an
environment variable, so please report any visual problem as an issue with the log.
Diagnostics: repiu_aot_probe gains standalone --inline-cache, --native-linear-span,
--glide-draw-batch and --glide-setter-state-cache flags.
Verified
Win32 x86 Release: build; six probes (the four above plus --selector-guard and
--segment-restore); a 16-romset 30 s smoke alternating the v0.0.206 build and this one per
game (zero exceptions on both sides, matching frames on 15 romsets); a 90 s pumpitea pair
(post-logo gap 2.78 s / 2.79 s, identical port I/O delay-loop statistics).
Known
- One pumpitp2 30 s smoke run ended with zero frames (no exception, guest in a wait loop). An
interleaved retest ran clean three times on the new build and twice on the old one, and the
same thing happened once during the v0.0.206 checks, so it is taken as an intermittent issue
unrelated to this change. - Linux was not built; only platform-neutral engine code changed.