피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Stack Frame 기반의 Execution Context 제어 및 Function Call 메커니즘 분석
Some basic understanding of function calls
AI 요약
Context
CPU 수준에서 Function, Class와 같은 고수준 추상화 개념이 부재한 하드웨어 제약 상황 분석. 이를 해결하기 위해 메모리 주소, Register, Jump 명령어를 조합한 실행 흐름 제어 구조 필요.
Technical Solution
- Stack 데이터 구조를 활용한 현재 Execution Context 저장 및 복원 프로세스 설계
push rbp와mov rbp, rsp명령어를 통한 개별 함수 전용 Stack Frame 생성으로 독립적 메모리 공간 확보call명령어를 통한 Return Address 저장 및 제어권 이동으로 함수 간 분기 구현eaxRegister를 활용한 함수 실행 결과값의 효율적 전달 체계 구축pop rbp와ret명령어를 통한 이전 Stack Frame 복원 및 원래 실행 지점으로의 정확한 복귀 구현- 성능 최적화를 위해 Stack Frame 제거 시 실제 데이터를 삭제하지 않고 Register 상태만 변경하는 지연 처리 방식 적용
실천 포인트
- 어셈블리 수준의 Stack Frame 동작 원리를 이해하여 메모리 오염 및 Stack Overflow 위험 요소 사전 검토 - Compiler의 최적화 단계에서 불필요한 Step이 생략될 수 있음을 인지하고 저수준 디버깅 시 Register 상태 변화 추적 - 함수 호출 시 발생하는 Context Switching 비용을 고려한 Hot-path 코드 설계