http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
자바스크립트 적시 컴파일러를 위한 레지스터 할당기의 구현
나정호(Jeongho Nah),김홍규(Honggyu Kim),김홍준(Hongjune Kim),조강원(Gangwon Jo),이재진(Jaejin Lee) 한국정보과학회 2011 한국정보과학회 학술발표논문집 Vol.38 No.2A
최근 인터넷 환경에서 자바스크립트를 활용한 서비스가 늘어나면서 자바스크립트의 역할이 점차 커지고 있다. 특히 스마트폰 태블릿 등 스마트 모바일 기기가 증가하면서 모바일 웹 어플리케이션의 자바스크립트 수행 성능을 높이는 것이 중요한 문제가 되었다. 이에 따라 기존의 해석기(Interpreter)를 이용한 자바스크립트 수행방식의 성능을 개선하기 위해서 JIT(Just-in-time) 컴파일 기법을 사용하는 추세이다. 이러한 컴파일 기법을 활용하는 자바스크립트 엔진으로는 V8 JäerMonkey SFX 등이 있다. 이 논문에서는 오픈소스 V8 자바스크립트 엔진을 기반으로 JIT 컴파일러를 위한 선형 탐색 레지스터 할당기(Linear scan register allocator)를 구현하고 ARM 환경에서 그 성능을 평가한다. 그리고 기존 V8 자바스크립트 엔진과 비교하여 유의미한 수행 시간 감소가 있음을 보인다.
나정호(Jeongho Nah),조강원(Gangwon Jo),강수연(Sooyeon Kang),정우근(Wookeun Jung),이재진(Jaejin Lee) 한국정보과학회 2012 한국정보과학회 학술발표논문집 Vol.39 No.1A
본 연구에서는 컴퓨터의 개념을 학부 신입생 교육과정에서 쉽게 이해할 수 있도록 ARM 명령어 집합의 부분 집합을 정의하고, 어셈블리 언어 코드를 입력받아 실행하는 가상 머신을 설계하고 구현하였다. 기존교육 과정의 컴퓨터 구조 과목에서 다루는 어셈블리 언어는 실제의 머신을 기반으로 하기 때문에 개념을 학습하는데 있어서 불필요하게 복잡하다는 단점이 있다. 하지만 본 연구에서는 교육에 필요한 내용만을 포함한 가상 머신을 새롭게 정의함으로써 좀 더 우아한 방법으로 컴퓨터의 개념을 이해할 수 있도록 하였다. 특히 어셈블리 언어 학습을 통해서 컴퓨터 구조와 고급 언어 간의 상호작용을 이해하는데 도움이 될 수 있다. 제안한 가상 머신은 자바로 구현하였으며, 스캐너 및 파서를 구현하기 위해서 오픈소스 컴파일러-컴파일러 시스템을 사용하였다. 해당 가상 머신은 공과대학 학부 신입생을 위한 실습 프로그램으로 사용되었으며 컴퓨터 개념의 이해를 돕는데 유의미한 기여를 하였다.
조강원(Gangwon Jo),김홍준(Hongjune Kim),이주환(Joohwan Lee),나정호(Jeongho Nah),이재진(Jaejin Lee) 한국정보과학회 2011 한국정보과학회 학술발표논문집 Vol.38 No.1C
웹 애플리케이션의 사용이 늘어남에 따라 자바스크립트 프로그램의 성능을 높이는 것이 중요한 문제가 되었다. 자바스크립트 프로그램에 대해 별칭 분석을 수행하면 더 많은 최적화가 가능해지지만, 자바스크립트가 가지는 동적인 특성으로 인해 분석 방법을 고안하는 데 어려움이 있었다. 본 논문에서는 자바스크립트의 주요한 동적 특성을 온전하게 다루는 별칭 분석 알고리즘을 최초로 제안한다. 제안한 방법은 별칭 그래프를 생성하여 프로그램 내의 별칭 관계를 완전하게 찾아내며, 또한 실행시킬 코드가 동적으로 추가될 때마다 이전에 이루어졌던 최적화가 유효한지 검사한다. 별칭 분석 결과를 이용하여 V8 자바스크립트 엔진에서 추가적으로 최적화를 수행한 결과, 유의미한 수행 시간 감소를 확인할 수 있었다.