Tech/EIPs/#3337
EIP 3337카테고리 · 코어유형 · 표준 트랙상태 · 정체

Frame pointer support for memory load and store operations

EIP-3337은 EVM 메모리 로드 및 저장 연산에 프레임 포인터를 지원하는 새로운 옵코드를 추가하자는 제안입니다. EIP-3336의 페이지 기반 메모리와 함께 설계되었으나 정체 상태입니다.

프레임 포인터란

프레임 포인터는 스택 기반 함수 호출에서 현재 함수의 로컬 변수 영역을 가리키는 레지스터입니다. 기존 EVM은 절대 메모리 주소만 사용하며 함수 프레임 개념이 없어 컴파일러 최적화가 어렵습니다.

제안 내용

새로운 MLOADFP, MSTOREFP 옵코드를 통해 현재 프레임 포인터로부터의 상대적 오프셋으로 메모리에 접근할 수 있게 합니다. 또한 GETFP, SETFP 옵코드로 프레임 포인터를 관리합니다. 이를 통해 EVM 기반 컴파일러가 더 효율적인 코드를 생성할 수 있습니다.

정체 이유

EIP-3336과 긴밀하게 결합된 제안이라 두 EIP가 함께 진전되어야 하는데, 양쪽 모두 코어 개발자들의 우선순위에서 밀렸습니다. EVM 객체 포맷(EOF) 등 더 포괄적인 EVM 개선 방향이 논의되면서 개별 옵코드 추가보다 체계적 접근이 선호되었습니다.

기술적 의의

이 제안은 EVM을 더 전통적인 컴퓨터 아키텍처에 가깝게 만들려는 시도로, EVM 기반 고급 언어 컴파일러 최적화에 있어 이론적으로 중요한 아이디어를 담고 있습니다.

공식 EIP 문서open_in_new