Jitter는 공식적으로 GNU 프로젝트의 일부가 되었습니다.

며칠 전 이 프로젝트에 대한 뉴스가 발표되었습니다. Jitter는 공식적으로 GNU 프로젝트의 산하에 있는 프로젝트가 되었습니다. 현재 GNU 인프라를 사용하고 프로젝트 요구 사항에 따라 GNU Jitter라는 이름으로 개발되고 있습니다.

Jitter에 익숙하지 않은 분들은이식 가능하고 매우 빠른 가상 머신을 생성할 수 있는 구현입니다. 코드 실행 성능이 인터프리터보다 훨씬 앞서고 네이티브 컴파일 코드에 가까운 임의의 디자인의 프로그래밍 언어에 적합합니다.

Jitter는 이식성이 높으며 올바른 VM은 컴파일러와 표준 C 라이브러리만 있는 모든 플랫폼에서 정확히 동일한 동작을 나타냅니다. 그러나 GCC가 있는 ELF 시스템에서 지원되는 아키텍처(현재: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; 64단계: Aarch390, Alpha, ARM, SXNUMXx) 중 하나를 사용하면 성능이 향상됩니다. 물론 Jitter는 GNU 프로젝트의 일부이며 주로 GNU 시스템에서 사용하도록 설계되었습니다.

지테r은 지원되는 명령어의 상위 수준 사양을 입력으로 사용합니다. 가상 머신에 의해, 출력에서 가상 머신의 즉시 사용 가능한 구현을 형성합니다. 주어진 명령을 실행합니다.

사양에 있는 각 명령어의 논리 C 코드를 사용하여 지정됩니다. 추가 기능에는 C에서 구현하기 어렵고 태그 값 검사 및 오버플로 검사와 같은 동적 프로그래밍 언어에 고유한 조건부 분기 작업에 대한 지원이 포함됩니다.

Jitter 런타임은 또한 동적으로 유형이 지정된 언어 및 오버플로 검사가 포함된 산술에 필요한 값 태그 검사와 같이 C만 사용하여 구현하기 어려운 조건부 분기 작업을 효율적으로 지원합니다. VM 코드는 대부분의 경우 효율적인 하드웨어 메커니즘에 의존하는 프로시저 호출 및 반환 작업에 액세스합니다.

결과 가상 머신은 적은 수의 삽입으로 C 형식으로 지정됩니다. 어셈블러. 다양한 최적화를 가능하게 하고 전달 메커니즘을 선택하도록 구성이 제공되어 가상 머신을 다른 플랫폼으로 쉽게 마이그레이션할 수 있습니다.

레지스터, 스택 및 조인 실행 아키텍처의 사용은 물론 CPU 하드웨어 레지스터의 가상 머신 데이터 구조를 미러링하고 가비지 수집기를 연결하는 기능을 지원합니다.

생성된 코드에는 가상 머신에서 코드를 동적으로 교체하고 실행하는 간단한 C API와 가상 머신의 텍스트 파일에서 코드를 별도로 실행하는 컨트롤러 프로그램이 포함됩니다.

생성된 C 코드는 조건이 엄격하며 다양한 정교함의 다양한 배포 기술을 사용하여 실행되도록 구성할 수 있습니다. 가장 효율적인 디스패치 기술은 Jitter에서 제공하는 일부 아키텍처별 어셈블리 지원에 의존하지만 VM별 어셈블리 지원은 아닙니다. 모든 디스패치 모델이지만 하나는 GNU C 확장을 기반으로 합니다.

마지막으로, 이에 대해 더 알고 싶은 사람은 원본 Jitter 코드가 C로 작성되었으며 GPLv3 라이선스에 따라 사용할 수 있다는 사실을 알아야 합니다. 자세한 내용은 다음 링크.

지터를 얻는 방법?

Jitter를 테스트하는 데 관심이 있는 사람들은 터미널을 열고 다음 명령을 입력하여 소스 코드를 얻을 수 있습니다.

git clone http://git.ageinghacker.net/jitter

이 작업이 완료되면 이제 코드가 있는 폴더로 이동하여 구성 스크립트를 포함하여 Jitter를 구성하고 빌드하는 데 필요한 파일을 생성하는 데 사용되는 시작 스크립트를 실행할 것입니다. 우리는 이것을 다음과 같이 수행합니다.

cd jitter && ./bootstrap

Jitter는 구성 및 구성에 대한 GNU 규칙을 따르고 소스 디렉토리에서 구성을 지원한다는 점을 언급할 가치가 있습니다. 실제로 교차 컴파일을 지원하고 에뮬레이터를 통해 교차 컴파일에서 테스트 스위트를 실행하는 것까지 지원합니다.

./configure && make

마지막으로 실행하려면 다음을 입력하십시오.

make check


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.