1 |
1
수행 중 선행 컴파일링(In client Ahead-Of-Time Compiling; In c-AOTC)을 이용한 내장형 시스템을 위한 자바 컴파일링 방법으로서,(1) 자바 응용프로그램 수행 중, 메소드가 핫스팟(hot spot) 메소드인지 확인하는 단계;(2) 단계 (1)에서 핫스팟 메소드가 아닌 것으로 확인된 경우, 인터프리터(interpreter)로 해당 메소드를 수행한 후, 단계 (1)로 돌아가 다음 메소드를 수행하는 단계;(3) 단계 (1)에서 핫스팟 메소드인 것으로 확인된 경우, 해당 메소드에 대한 머신 코드가 클라이언트-선행 컴파일러(c-AOTC) 파일에 저장되어 있는지를 확인하는 단계;(4) 단계 (3)에서 해당 메소드에 대한 머신 코드가 클라이언트-선행 컴파일러(c-AOTC) 파일에 저장되어 있는 것으로 확인된 경우, 해당 머신 코드를 로딩 및 재배치(relocation)하여 수행한 후, 단계 (1)로 돌아가 다음 메소드를 수행하는 단계;(5) 단계 (3)에서 해당 메소드에 대한 머신 코드가 클라이언트-선행 컴파일러(c-AOTC) 파일에 저장되어 있지 않은 것으로 확인된 경우, 적시 컴파일러(Just-In-Time Compiler; JITC)를 이용하여 해당 메소드의 바이트코드를 머신 코드로 변환한 후, 코드 캐시(code cache)가 풀(full)인지 여부를 확인하는 단계;(6) 단계 (5)에서 상기 코드 캐시가 풀이 아닌 것으로 확인된 경우, 상기 변환된 머신 코드를 상기 코드 캐시에 저장하고 단계 (1)로 돌아가 다음 메소드를 수행하는 단계; 및(7) 단계 (5)에서 코드 캐시가 풀인 것으로 확인된 경우, 상기 코드 캐시에 저장된 임의의 메소드를 선택하여 해당 머신 코드를 상기 클라이언트-선행 컴파일러(c-AOTC) 파일에 저장하고 상기 코드 캐시에서 삭제한 후, 상기 변환된 머신 코드를 상기 코드 캐시에 저장하고 단계 (1)로 돌아가 다음 메소드를 수행하는 단계를 포함하며,상기 단계 (7)에서,상기 선택된 임의의 메소드는, 상기 코드 캐시에 저장된 메소드들 중 가장 먼저 저장된 메소드인 것을 특징으로 하는 내장형 시스템을 위한 자바 컴파일링 방법
|
2 |
2
제1항에 있어서,상기 단계 (1) 내지 단계 (7)를 수행하여 하나의 클래스에 포함된 모든 메소드에 대하여 변환을 완료하면, 다음 클래스로 이동하여 상기 단계 (1) 내지 단계 (7)를 수행하되, 상기 클라이언트-선행 컴파일러(c-AOTC) 파일은 클래스마다 하나씩 별개로 생성시키는 것을 특징으로 하는 내장형 시스템을 위한 자바 컴파일링 방법
|
3 |
3
삭제
|
4 |
4
수행 중 선행 컴파일링(In client Ahead-Of-Time Compiling; In c-AOTC)을 이용한 내장형 시스템을 위한 자바 컴파일링 방법으로서,(1) 자바 응용프로그램 수행 중, 메소드가 핫스팟(hot spot) 메소드인지 확인하는 단계;(2) 단계 (1)에서 핫스팟 메소드가 아닌 것으로 확인된 경우, 인터프리터(interpreter)로 해당 메소드를 수행한 후, 단계 (1)로 돌아가 다음 메소드를 수행하는 단계;(3) 단계 (1)에서 핫스팟 메소드인 것으로 확인된 경우, 해당 메소드에 대한 머신 코드가 클라이언트-선행 컴파일러(c-AOTC) 파일에 저장되어 있는지를 확인하는 단계;(4) 단계 (3)에서 해당 메소드에 대한 머신 코드가 클라이언트-선행 컴파일러(c-AOTC) 파일에 저장되어 있는 것으로 확인된 경우, 해당 머신 코드를 로딩 및 재배치(relocation)하여 수행한 후, 단계 (1)로 돌아가 다음 메소드를 수행하는 단계;(5) 단계 (3)에서 해당 메소드에 대한 머신 코드가 클라이언트-선행 컴파일러(c-AOTC) 파일에 저장되어 있지 않은 것으로 확인된 경우, 적시 컴파일러(Just-In-Time Compiler; JITC)를 이용하여 해당 메소드의 바이트코드를 머신 코드로 변환한 후, 코드 캐시(code cache)가 풀(full)인지 여부를 확인하는 단계;(6) 단계 (5)에서 상기 코드 캐시가 풀이 아닌 것으로 확인된 경우, 상기 변환된 머신 코드를 상기 코드 캐시에 저장하고 단계 (1)로 돌아가 다음 메소드를 수행하는 단계; 및(7) 단계 (5)에서 코드 캐시가 풀인 것으로 확인된 경우, 상기 코드 캐시에 저장된 임의의 메소드를 선택하여 해당 머신 코드를 상기 클라이언트-선행 컴파일러(c-AOTC) 파일에 저장하고 상기 코드 캐시에서 삭제한 후, 상기 변환된 머신 코드를 상기 코드 캐시에 저장하고 단계 (1)로 돌아가 다음 메소드를 수행하는 단계를 포함하며,상기 단계 (7)에서,상기 선택된 임의의 메소드는, 상기 코드 캐시에 저장된 메소드들 중 호출 횟수가 가장 적은 메소드인 것을 특징으로 하는 내장형 시스템을 위한 자바 컴파일링 방법
|
5 |
5
제4항에 있어서,메소드가 호출될 때마다 호출 횟수를 카운트하여 저장하는 단계를 더 포함하는 것을 특징으로 하는 내장형 시스템을 위한 자바 컴파일링 방법
|