jit

    10

    1답변

    나는 런타임 동안 다양한 목적으로 클래스 파일을 계측하고있다. JVMTI 에이전트를 사용하고 있습니다. 방법을 도구로 사용하려는 나의 전략은 RetransformClasses 함수를 호출하여 ClassFileLoadHook을 호출하는 것입니다. 이 전략은 실제 계측이 후속 함수 호출에서 발생하기 때문에 계측 시간 이후에 추가 호출을하는 모든 메소드에 대해

    1

    1답변

    JITWatch를 사용하여 어셈블러 코드가 원래 Java 소스 코드와 어떻게 일치하는지 확인하려고합니다. 그러나 JITWatch는 내 어셈블리 코드를 보지 못하고 다음 메시지를 인쇄합니다. 어셈블리를 찾을 수 없습니다. -XX : + PrintAssembly 옵션이 사용 되었습니까? Windows 10 Home에서 Oracle JRE 1.8.0_121을 사

    0

    2답변

    16 비트 레지스터 기반 가상 컴퓨터가 있는데 실제 x86 컴퓨터 코드로 컴파일하는 단계는 무엇입니까? 컴파일 된 코드를 다른 실행 파일/DLL과 링크 할 수 있어야하는 경우가 아니면 을 JIT 컴파일러로 만들지 않습니다. VM은 프로젝트에 VM을 추가하면 특수 언어 구문을 추가 할 수 있도록 만들어졌습니다. (예를 들어 게임 엔진에 임베드 된 경우 엔티티

    3

    1답변

    내가 이해 한 바로는 표준 루아 인터프리터는 먼저 입력 코드를 "바이트 코드"(luac의 출력)로 컴파일 한 다음 해당 바이트 코드를 "해석"합니다. 그러나 기본적으로 JIT 컴파일러의 정의가 아닌가요? 그렇다면 루아 지트는 무엇을합니까? 표준 루아 통역자와 어떻게 다른가요? 어떻게 이렇게 빨리 갈 수 있습니까?

    1

    1답변

    그래서 컴파일 타임에 코드를 호출 할 수있는 컴파일러를 작성하고 있습니다. 모든 것이 성공적으로 컴파일 된 후 llvm::ExecutionEngine을 만들고 각 프로그램에 필요한 llvm::Module을 추가합니다. 마지막으로 llvm::ExecutionEngine::finalizeObject을 호출하고 모듈 내에서 기능을 실행합니다. 모듈이 전역 변수를

    4

    1답변

    코드 조각을 실행하기 전에 C# JIT가 만든 최적화 목록이있는 온라인 기사가 많이 있습니다. 예를 들어 MSDN에 this post는 이야기에 대해 : 상수 폴딩, 상수 및 복사 전파, 일반 표현식 제거, 루프 불변, 죽은 상점 죽은 코드 제거의 코드 모션, 등록 할당 방법 인라인, 루프 을 줄이기 (작은 몸체가있는 작은 고리). 내 질문은 : JIT 컴

    0

    1답변

    내 자신의 JIT를 만들려고 노력 중이며 아주 간단한 어셈블리 코드 (machine-code)를 실행할 수 있지만이 방법으로 함수를 호출하는 방법을 찾는 데 어려움이 있습니다. Visual Studio에서 디스 어셈블리 창에서 함수를 볼 수 있습니다. 또 다른 관련 질문은 기계어로 Win32 MessageBox()를 호출하는 방법입니다. 다음 질문은 어떻게

    1

    1답변

    나는 on-stack replacement (OSR)이 일반적으로 어떻게 작동하는지 이해하지만 컴파일을 트리거 한 초기 호출을 떠나면 OSR 컴파일 된 메소드가 유용할지 여부를 이해하지 못한다. JITed 코드를 후속 반복에서 사용할 수 있습니까? ? 마치 인터프리터가 이전 OSR이 시작한 것과 동일한 바이트 코드 색인으로 진행되면 다시 OSR 컴파일 된

    3

    2답변

    은 : /* * Private constructor. Only the Java Virtual Machine creates Class objects. * This constructor is not used and prevents the default constructor being * generated. */ private Class(ClassLoa

    0

    1답변

    나는 추상적 인 클래스와 그것을 구현하는 클래스가 있다고 가정한다. public abstract class BaseClass { public void Outer() { for (int i = 0; i < 1000000; i++) { Inner(); } } protected