2014-02-19 1 views

답변

2

바이트 코드 검증기의 일부입니다.

Java 바이트 코드에서 명령어는 모두 알려진 길이를 가지며 오프셋 0에서 시작하여 하나씩 나타나야하므로 각 명령어의 시작 부분이 언제 정적인지 항상 알 수 있습니다. 따라서 점프 대상이 유효한 명령어의 시작인지 확인하는 것은 간단합니다. Dalvik 또는 x86과 달리, 당신은 명령의 중간에 뛰어들 수 없습니다.

You can find the source code for the verifier here. 실제로 두 개의 확인자가 있습니다. 이 코드는 StackMapTable이없는 코드 (여기에는 jsr을 포함하는 모든 코드가 포함됨)에 사용되는 클래식 verfier입니다.

관련 문제