KR100697635B1 - 자바가상머신에서 배열 접근을 위한 통합 바이트 코드를 기록한 기록매체, 통합 바이트 코드 수행방법 및 매핑 방법 - Google Patents

자바가상머신에서 배열 접근을 위한 통합 바이트 코드를 기록한 기록매체, 통합 바이트 코드 수행방법 및 매핑 방법 Download PDF

Info

Publication number
KR100697635B1
KR100697635B1 KR1020030094028A KR20030094028A KR100697635B1 KR 100697635 B1 KR100697635 B1 KR 100697635B1 KR 1020030094028 A KR1020030094028 A KR 1020030094028A KR 20030094028 A KR20030094028 A KR 20030094028A KR 100697635 B1 KR100697635 B1 KR 100697635B1
Authority
KR
South Korea
Prior art keywords
array
byte code
dimensional array
index
dimensional
Prior art date
Application number
KR1020030094028A
Other languages
English (en)
Other versions
KR20050063818A (ko
Inventor
원희선
김선자
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020030094028A priority Critical patent/KR100697635B1/ko
Publication of KR20050063818A publication Critical patent/KR20050063818A/ko
Application granted granted Critical
Publication of KR100697635B1 publication Critical patent/KR100697635B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

본 발명은 자바가상머신(java virtual machine)에서 배열 원소 접근을 처리하기 위한 통합 바이트 코드, 통합 바이트 코드의 매핑방법 및 수행방법에 관한 것으로, 본 발명의 통합 바이트 코드는 1차원 배열내의 소정의 위치에 저장된 데이터를 적재하는 1차원 배열 원소 적재 함수부, 다차원 배열내의 소정의 위치에 저장된 데이터를 적재하는 다차원 배열 원소 적재 함수부, 1차원 배열내의 소정의 위치에 상기 저장하고자 하는 데이터를 저장하는 1차원 배열 원소 저장 함수부 및 다차원 배열내의 소정의 위치에 상기 저장하고자 하는 데이터를 저장하는 다차원 배열 원소 저장 함수부를 포함하여 구성된다.
자바가상머신, 바이트 코드, 1차원 배열 원소 적재 함수부, 다차원 배열 원소 적재 함수부, 1차원 배열 원소 저장 함수부, 다차원 배열 원소 저장 함수부

Description

자바가상머신에서 배열 접근을 위한 통합 바이트 코드를 기록한 기록매체, 통합 바이트 코드 수행방법 및 매핑 방법{Recording medium for recording Integrated Byte Code in JAVA Virtual Machine, Method for Execution and Mapping onto the Integrated Byte Code}
도 1a는 본 발명에서 다차원 배열 접근을 위한 바이트 코드를 도시한 도면,
도 1b는 도 1a의 <type>에 따른 데이터 형식 및 각 바이트 코드를 나타낸 도면,
도 2a는 m<type>aload_1에 대응되는 기존의 바이트 코드 열 구성도,
도 2b는 m<type>aload_1의 수행 흐름도,
도 3a는 m<type>aload에 대응되는 기존의 바이트 코드 열 구성도,
도 3b는 m<type>aload의 수행 흐름도,
도 4a는 m<type>astore_1에 대응되는 기존의 바이트 코드 열 구성도,
도 4b는 m<type>astore_1의 수행 흐름도,
도 5a는 m<type>astore에 대응되는 기존의 바이트코드 열 구성도,
도 5b는 m<type>astore의 수행 흐름도이다.
본 발명은 자바가상머신에서 배열 접근을 위해 여러 개의 바이트 코드를 사용하던 기존의 방식을 새로 정의된 하나의 통합 바이트 코드로 수행이 가능하도록 함으로써 자바가상머신의 성능을 개선할 수 있는 방법에 관한 것이다.
특히, 다차원 배열로써 차수가 크고 접근이 빈번한 경우에는 많은 오버헤드를 줄일 수 있어 시스템의 성능을 크게 개선할 수 있다.
삭제
자바가상머신에서 배열의 원소를 오퍼런드 스택에 적재하기 위한 절차는 다음과 같다. 단 배열의 인덱스는 로컬 변수에 의해 지정되는 경우이다.
①로컬 변수 스택으로부터 배열에 대한 reference를 오퍼런드 스택에 적재.
②배열에 대한 인덱스로써 로컬 변수 스택의 값을 오퍼런드 스택에 적재.
③오퍼런드 스택으로부터reference와 인덱스 값을 꺼내어 배열 원소의 값에 접근하고 이 값을 오퍼런드 스택에 적재.
④접근하려는 배열 원소의 차수만큼 ② ~ ③ 단계를 반복.
자바가상머신에서 배열의 원소에 값을 저장하기 위한 절차는 다음과 같다. 단 배열의 인덱스 및 저장하려는 값이 로컬 변수에 의해 지정되는 경우이다.
①로컬 변수 스택으로부터 배열에 대한 reference를 오퍼런드 스택에 적재.
②배열에 대한 인덱스로써 로컬 변수 스택의 값을 오퍼런드 스택에 적재.
③오퍼런드 스택으로부터reference와 인덱스 값을 꺼내어 배열 원소의 값에 접근하고 이 값을 오퍼런드 스택에 적재.
④접근하려는 배열 원소의 차수 -1 만큼 ② ~ ③ 단계를 반복.
⑤배열에 대한 인덱스로써 로컬 변수 스택의 값을 오퍼런드 스택에 적재.
⑥저장하려는 값을 로컬변수 스택으로부터 오퍼런드 스택에 적재.
⑦오퍼런드 스택으로부터, reference, 인덱스 및 저장하려는 값을 꺼내어 배열 원소의 값에 저장.
위와 같이 배열의 원소를 적재하거나 저장하기 위해서는 배열의 차수만큼 로컬 변수 스택에서 오퍼런드 스택으로 레퍼런스 및 인덱스의 적재 및 이를 이용한 배열 원소의 적재 등을 반복 수행하여야 한다.
도 2a, 도 3a, 도 4a, 도 5a 등의 첫번째 상자 안에는 이러한 과정을 수행하기 위한 바이트 코드 열이 나타나 있다.
도 2a의 첫번째 상자는 기존의 자바가상머신에서1차원 배열의 값을 오퍼런드 스택에 적재하기 위한 바이트 코드 열로써 aload_<n> 또는 aload lsiaref는 로컬변수 스택으로부터 배열에 대한 reference를 가져와 오퍼런드 스택에 적재한다.
상기 aload_<n>은 로컬 변수 스택의 0부터 3사이의 위치에 있는 레퍼런스에 접근할 경우에 사용되며 바이트 코드의 수행 속도 및 클래스 파일의 크기를 줄일 수 있다(201). iload_<n> 또는 iload lsiindex는 로컬 변수 스택으로부터 int를 가져와 오퍼런드 스택에 적재하며 이 값은 배열의 인덱스를 지정하기 위해 사용된다. iload_<n>은 로컬 변수 스택의 0부터 3사이의 위치에 있는 int에 접근하기 위해 사용된다(202). <type>aload는 앞에서 오퍼런드 스택에 적재한 배열에 대한 레퍼런스와 인덱스를 꺼낸 후, 이들에 의해 지정된 배열의 원소를 오퍼런드 스택에 적재한다. <type>은 배열 원소의 데이터 형식을 나타내며 이에 따라 다른 바이트 코드가 정의되어 있다(203).
도 3a의 첫번째 상자는 2차원 이상의 배열의 값을 오퍼런드 스택에 적재하기 위한 바이트 코드 열이다. 301의 바이트 코드 열은 인덱스의 적재와 배열 원소의 적재를 반복 수행하기 위한 것으로써 배열의 차원에 비례한 횟수만큼 반복 수행된다.
도 4a의 첫번째 상자는 1차원 배열의 원소에 값을 저장하기 위한 바이트 코드 열로써, <dtype>load_<n> 또는 <dtype>load lsivalue는 로컬 변수 스택의 값을 오퍼런드 스택에 적재하며 <dtype>은 데이터 형식을 나타내며 이에 따라 다른 바이트코드가 정의되어 있다(401). <type>astore는 오퍼런드 스택에 적재되어 있는 배열 reference, 인덱스, 저장하려는 값을 꺼내어 배열 원소에 저장한다. <type>은 저장하려는 배열 원소의 데이터 형식에 따라 다른 문자를 나타낸다.
도 5a의 첫번째 상자는 2차원 이상의 배열의 원소에 값을 저장하기 위한 것으로써 501의 바이트코드 열은 301과 같이 배열의 차원에 비례하여 반복 수행된다.
이와 같이, 현재의 자바가상머신에서는 배열 원소에 대한 직접적인 접근을 수행할 수 있는 바이트 코드가 정의되어 있지 않고 여러 개의 바이트 코드를 사용하는데, 특히 다차원 배열의 경우 배열의 차원에 비례하여 같은 바이트 코드를 반복하여 인터프리트 해야 하므로 시스템의 성능을 저하시키는 문제점이 있다.
따라서, 본 발명은 상술한 종래의 문제점을 해결하기 위한 것으로, 배열에 대한 접근이 하나의 바이트 코드에 의해 처리될 수 있도록 배열 원소의 적재 및 저장을 수행하는 통합 바이트 코드를 정의하고 자바가상머신에서 배열 접근을 위한 통합 바이트 코드 수행방법을 제공함에 있다.
삭제
상기와 같은 본 발명의 목적을 달성하기 위한 자바가상머신에서 배열 접근을 위한 통합 바이트 코드는 1차원 배열에 대한 레퍼런스 및 배열내의 위치를 지시하는 인덱스를 입력받아 상기 레퍼런스에 의하여 참조되는 배열내의 소정의 위치에 저장된 데이터를 적재하는 1차원 배열 원소 적재 함수부, 다차원 배열에 대한 레퍼런스, 배열의 차원을 나타내는 디멘션 및 배열내의 위치를 지시하는 인덱스를 입력받아 상기 레퍼런스에 의하여 참조되는 배열내의 소정의 위치에 저장된 데이터를 적재하는 다차원 배열 원소 적재 함수부, 1차원 배열에 대한 레퍼런스, 배열내의 위치를 지시하는 인덱스, 저장하고자 하는 데이터를 입력받아 상기 레퍼런스에 의하여 참조되는 배열내의 소정의 위치에 상기 저장하고자 하는 데이터를 저장하는 1차원 배열 원소 저장 함수부 및 다차원 배열에 대한 레퍼런스, 배열의 차원을 나타내는 디멘션, 배열내의 위치를 지시하는 인덱스 및 저장하고자 하는 데이터를 입력받아 상기 레퍼런스에 의하여 참조되는 배열내의 소정의 위치에 상기 저장하고자 하는 데이터를 저장하는 다차원 배열 원소 저장 함수부로 구성된다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.
상기 목적을 달성하기 위한 본 발명에 따른 통합 바이트 코드는 도 1a와 같이 1차원 배열 원소 적재, 2차원 이상의 배열 원소 적재, 1차원 배열 원소의 저장, 2차원 이상의 배열 원소 저장 등으로 구분된다.
도 1에 도시된 m<type>aload_1은 1차원 배열 원소 적재(load)를 위한 바이트 코드를 의미한다. 이때, 그 형식은
m<type>aload_1
aref_index
index
와 같다. aref_index는 1차원 배열에 대한 레퍼런스, index는 배열내의 인덱스이며, m<type>aload_1은 aref_index와 index로부터 type형식의 데이터를 적재한다.
m<type>aload는 2차원 이상의 배열 원소 적재(load)를 위한 바이트 코드를 의미한다. 이때, 그 형식은
m<type>aload_1
aref_index
dimension
index
와 같다. aref_index는 2차원 이상의 배열에 대한 레퍼런스, index는 배열내의 인덱스이며, dimension은 배열의 차원을 의미한다. m<type>aload_1는 aref_index, dimension 및 index로부터 type형식의 데이터를 적재한다.
또한, m<type>astore_1은 1차원 배열에 type형식의 데이터를 저장(store)하는 바이트 코드를 의미한다. 이때, 그 형식은
m<type>astore_1
aref_index
index
value_index
와 같다. aref_index는 1차원 배열에 대한 레퍼런스, index는 배열내의 인덱스이며, value_index는 배열에 저장하고자 하는 type형식의 데이터를 의미한다.
m<type>astore_1 은 aref_index와 index로 지정되는 원소에 value_index의 값을 저장한다.
m<type>astore는 2차원 이상의 배열에 type형식의 데이터를 저장(store)하는 바이트 코드를 의미한다. 이때, 그 형식은
m<type>astore
aref_index
dimension
index
value_index
와 같다. aref_index는 2차원 이상의 배열에 대한 레퍼런스, dimension은 배열의 차원을 의미한다. 또한, index는 배열내의 인덱스이며, value_index는 배열에 저장하고자 하는 type형식의 데이터를 의미한다.
m<type>astore는 aref_index, dimension 및 index로 지정되는 원소에 value_index의 값을 저장한다.
각 바이트 코드 형식은 배열 원소의 데이터 타입에 따라 도 1b와 같이 8개의 바이트 코드로 세분화된다.
1차원 배열과 2차원 이상의 배열에 대한 통합 바이트 코드를 구분한 이유는 통합 바이트 코드가 필요로 하는 오퍼런드들에 의해 차지하는 클래스파일 내에서의 바이트 수가 기존의 바이트 코드 열이 차지하고 있던 바이트 수를 초과하지 않도록 하여 통합 바이트 코드로 매핑 되는 기존의 바이트 코드 열 이외의 전후 바이트 코드에 영향을 미치지 않도록 하기 위함이다.
즉, 다차원 배열을 위해서는 배열의 차원을 결정하는 디멘션(dimension)필드가 필요하기 때문에 기존의 1차원 배열을 위한 바이트코드 열이 차지하는 바이트 수로는 부족하므로 dimension 오퍼런드가 필요 없는 1차원 배열을 위한 통합 바이트 코드를 따로 정의한다.
또한, 기존의 바이트 코드 열이 차지한 주소 공간에서 통합 바이트 코드와 이에 필요한 오퍼런드로 매핑하고 남은 주소 공간은 바이트 코드, nop(0x0)로 대치하여 인터프리트 수행 시 아무 동작도 하지 않도록 한다.
도 2a는 1차원 배열의 원소를 오퍼런드 스택에 적재하기 위한 기존의 바이트 코드 열(201~203)과 본 발명에서 정의한 통합 바이트 코드(204)와의 매핑 관계를 나타내고 도 2b는 통합 바이트 코드의 수행 과정을 나타낸다.
기존의 방식에서는 로컬 변수 스택으로부터 배열 레퍼런스(reference)와 배열의 인덱스를 위한 int를 가져와 오퍼런드 스택에 적재하고(201, 202), 적재된 값들을 다시 꺼내어 인덱스에 의한 배열 원소에 접근하고 그 값을 오퍼런드 스택에 적재하는(203) 반면, 본 발명의 통합 바이트 코드(204)를 사용할 경우 로컬 변수 스택으로부터 가져온 배열 reference와 인덱스를 스택에 적재하지 않고 배열 원소에 접근하기 위해 직접 사용하여 그 값을 오퍼런드 스택에 적재한다 (s205, s206, s207).
도 3a 는 2차원 이상의 배열 원소를 오퍼런드 스택에 적재하기 위한 기존의 바이트 코드 열과 통합 바이트 코드(302)와의 매핑 관계를 나타낸다.
상기 통합 바이트 코드에서 다차원 배열의 차원은 두 번째 오퍼런드인 dimension에 의해 표시된다.
도 3b에 도시된 바와 같이 통합 바이트 코드의 수행은, 로컬 변수 스택으로부터 배열 레퍼런스(s303)와 디멘션 수만큼의 인덱스를 읽은 후(s304 ~ s307), 오퍼런드 스택을 거치지 않고 바로 이용하여 배열의 원소 값을 가져와 오퍼런드 스택에 적재하는 것을 나타낸다(s308).
도 4a는 1차원 배열 원소에 로컬 변수의 값을 저장하기 위한 기존의 바이트 코드 열과 이에 매핑 되는 통합 바이트 코드(403)를 나타낸다.
기존의 방식에서는 배열 레퍼런스, 인덱스 및 배열에 저장하려는 값을 로컬 변수 스택으로부터 오퍼런드 스택에 적재하고(401) 적재된 값들을 다시 꺼내어 배열의 원하는 인덱스에 값을 저장하여야 한다(402).
그러나 통합 바이트 코드를 사용하면 도 4b와 같이 로컬 변수 스택으로부터 읽은 값들을 바로 사용하여 배열의 지정된 인덱스에 값을 저장할 수 있다.
도 5a는 2차원 이상의 배열 원소에 로컬 변수의 값을 저장하기 위한 기존의 바이트 코드 열과 통합 바이트 코드(502)와의 매핑 관계를 나타낸다.
상기 통합 바이트 코드에서 배열의 차원은 도 3a에서와 같이 두 번째 오퍼런드인 dimension에 의해 표시된다.
도 5b의 통합 바이트 코드의 수행 과정을 보면 로컬 변수 스택으로부터 배열 레퍼런스(s503)와 디멘션 수만큼의 인덱스(s504 ~ s507) 및 배열에 저장하려는 값(s508)을 읽으며, 이 값들은 바로 배열의 원하는 인덱스에 값을 저장하기 위해 사용된다.
이와 같이 본 발명에서 정의한 통합 바이트 코드를 사용함으로써 스택 연산과 인터프리트 해야 할 바이트 코드 수가 줄어들므로 가상머신의 성능을 향상시키게 된다.
기존의 바이트코드 열로부터 통합 바이트 코드로의 변환은 자바가상머신의 바이트 코드 검증 단계, 수행 시 또는 수행에 앞선 선행처리기를 두어 적용 가능하므로 자바가상머신 스펙에 영향을 끼치지 않는다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 또한 설명하였으나, 본 발명은 상기한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것을 물론이고, 그와 같은 변경은 기재된 청구범위 내에 있게 된다.
이상에 설명한 바와 같이 본 발명에 의하면, 자바가상머신에서 배열 원소의 적재 및 저장을 수행하는 통합 바이트 코드를 정의하고 그 수행 방법 및 기존의 바이트코드 열과의 매핑 관계를 제공함으로서, 배열에 대한 연산을 수행하는 기존 바이트 코드 열로부터 통합 바이트 코드로의 변환은 자바가상머신의 바이트 코드 검증 단계나 실행 시 또는 자바가상머신 외부에 선행처리기를 설치하여 수행할 수 있다.
또한, 통합 바이트 코드의 연산코드(opcode)를 자바가상머신 스펙의 예약된 연산코드(reserved opcode)영역에 지정 가능하므로 본 발명에서 제안한 통합 바이트 코드의 사용은 외부 사용자에게 영향을 미치지 않고 수행 엔진인 인터프리터의 성능을 향상시킬 수 있는 효과가 있다.

Claims (6)

1차원 배열에 대한 레퍼런스 및 배열내의 위치를 지시하는 인덱스를 입력받아 상기 레퍼런스에 의하여 참조되는 배열내의 소정의 위치에 저장된 데이터를 적재하는 1차원 배열 원소 적재 함수부;
다차원 배열에 대한 레퍼런스, 배열의 차원을 나타내는 디멘션 및 배열내의 위치를 지시하는 인덱스를 입력받아 상기 레퍼런스에 의하여 참조되는 배열내의 소정의 위치에 저장된 데이터를 적재하는 다차원 배열 원소 적재 함수부;
1차원 배열에 대한 레퍼런스, 배열내의 위치를 지시하는 인덱스, 저장하고자 하는 데이터를 입력받아 상기 레퍼런스에 의하여 참조되는 배열내의 소정의 위치에 상기 저장하고자 하는 데이터를 저장하는 1차원 배열 원소 저장 함수부; 및
다차원 배열에 대한 레퍼런스, 배열의 차원을 나타내는 디멘션, 배열내의 위치를 지시하는 인덱스 및 저장하고자 하는 데이터를 입력받아 상기 레퍼런스에 의하여 참조되는 배열내의 소정의 위치에 상기 저장하고자 하는 데이터를 저장하는 다차원 배열 원소 저장 함수부를 구비하는 것을 특징으로 하는 통합 바이트 코드를 기록한 기록매체.
제 1항에 있어서,
상기 1차원 배열 원소 적재 함수부, 상기 다차원 배열 원소 적재 함수부, 상기 1차원 배열 원소 저장 함수부 또는 상기 다차원 배열 원소 저장 함수부는 적재 또는 저장하고자 하는 데이터의 형식에 각각 대응하여 별도로 정의되는 것을 특징으로 하는 통합 바이트 코드를 기록한 기록매체.
바이트 코드 열을 통합 바이트 코드로 매핑하는 1단계;
통합 바이트 코드로 변환 후, 기존 바이트 코드 열의 남은 주소 공간을 무작동 명령어로 대치하여 처리하는 2단계;
배열에 대한 레퍼런스, 인덱스, 저장하려는 값들을 오퍼런드 스택을 거치지 않고 배열에 대한 연산을 처리하는 3단계로 이루어지는 것을 특징으로 하는 자바가상머신에서 배열접근을 위한 통합 바이트 코드 수행 방법.
제 3항에 있어서,
상기 3단계에서 배열에 대한 연산을 처리하는 것은, 1차원 배열 원소 적재 함수부의 호출시 로컬 변수 스택으로부터 가져온 배열 레퍼런스와 인덱스를 배열 원소에 접근하기 위해 그 값을 오퍼런스 스택에 적재하고, 다차원 배열 원소 적재 함수부의 호출시 상기 로컬 변수 스택으로부터 배열 레퍼런스와 디멘션 수만큼의 인덱스를 읽은 후, 오퍼런스 스택을 거치지 않고 배열의 원소 값을 가져와 오퍼런스 스택에 적재하며, 1차원 배열 원소 저장 함수부의 호출시 로컬 변수 스택으로부터 읽은 값들을 배열의 지정된 인덱스에 저장하며, 다차원 배열 원소 저장 함수부의 호출시 상기 로컬 변수 스택으로부터 배열 레퍼런스와 디멘션 수만큼의 인덱스 및 배열에 저장하려는 값을 읽어, 배열의 원하는 인덱스에 저장하는 것임을 특징으로 하는 자바가상머신에서 배열접근을 위한 통합 바이트 코드 수행 방법.
통합 바이트 코드가 매핑되는 기존 바이트 코드 열의 주소 공간을 초과하지 않도록 1차원 배열과 다차원 배열을 구분하는 1단계;
상기 1단계에서 구분된 배열에 대하여 적재연산이 수행되는 경우, 1차원 배열이면 1차원 배열 원소 적재 함수부를 매핑시키고, 다차원 배열이면 다차원 배열 원소 적재 함수부를 매핑시키며, 저장연산이 수행되는 경우 1차원 배열이면 1차원 배열 원소 저장 함수부를 매핑시키며, 다차원 배열이면 다차원 배열 원소 저장 함수부를 매핑시키는 2단계로 이루어지는 것을 특징으로 하는 통합 바이트 코드 매핑방법.
제 4항에 있어서,
상기 2단계에서 배열의 차원에 따라서 대응하는 각각의 함수부를 매핑함에 있어서, 상기 함수부에서 저장 또는 적재하고자 하는 데이터의 형식에 대응하는 함수부를 매핑하는 것을 특징으로 하는 통합 바이트 코드 매핑 방법.
KR1020030094028A 2003-12-19 2003-12-19 자바가상머신에서 배열 접근을 위한 통합 바이트 코드를 기록한 기록매체, 통합 바이트 코드 수행방법 및 매핑 방법 KR100697635B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030094028A KR100697635B1 (ko) 2003-12-19 2003-12-19 자바가상머신에서 배열 접근을 위한 통합 바이트 코드를 기록한 기록매체, 통합 바이트 코드 수행방법 및 매핑 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030094028A KR100697635B1 (ko) 2003-12-19 2003-12-19 자바가상머신에서 배열 접근을 위한 통합 바이트 코드를 기록한 기록매체, 통합 바이트 코드 수행방법 및 매핑 방법

Publications (2)

Publication Number Publication Date
KR20050063818A KR20050063818A (ko) 2005-06-28
KR100697635B1 true KR100697635B1 (ko) 2007-03-20

Family

ID=37255493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030094028A KR100697635B1 (ko) 2003-12-19 2003-12-19 자바가상머신에서 배열 접근을 위한 통합 바이트 코드를 기록한 기록매체, 통합 바이트 코드 수행방법 및 매핑 방법

Country Status (1)

Country Link
KR (1) KR100697635B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100643268B1 (ko) * 2004-01-17 2006-11-10 삼성전자주식회사 자바 가상 머신의 성능을 향상시키는 방법 및 상기 방법에의해 동작되는 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061520A (en) * 1998-04-07 2000-05-09 Sun Microsystems, Inc. Method and system for performing static initialization
KR20010053875A (ko) * 1999-12-02 2001-07-02 오길록 내장형 자바가상머신을 위한 바이트코드 압축 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061520A (en) * 1998-04-07 2000-05-09 Sun Microsystems, Inc. Method and system for performing static initialization
KR20010053875A (ko) * 1999-12-02 2001-07-02 오길록 내장형 자바가상머신을 위한 바이트코드 압축 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Class Array in JavaTM 2, Standard Edition (J2SETM)*
논 문
카달로그

Also Published As

Publication number Publication date
KR20050063818A (ko) 2005-06-28

Similar Documents

Publication Publication Date Title
US7200842B1 (en) Object-oriented instruction set for resource-constrained devices
US7941802B2 (en) Reduced instruction set for java virtual machines
KR100713739B1 (ko) 토큰 기반 링크
KR100965196B1 (ko) 스택 메모리로의 고속 액세스를 위한 방법 및 시스템
KR100697635B1 (ko) 자바가상머신에서 배열 접근을 위한 통합 바이트 코드를 기록한 기록매체, 통합 바이트 코드 수행방법 및 매핑 방법
US20090171651A1 (en) Sdram-based tcam emulator for implementing multiway branch capabilities in an xml processor
US7065751B2 (en) Program execution device operating based on compressed code
US20030018679A1 (en) Enhanced virtual machine instructions
JP4864287B2 (ja) 識別方法、記録媒体及びコンピュータシステム
CN112199163B (zh) 分析解释例程的虚拟指令方法、装置、设备及存储介质
US7676651B2 (en) Micro controller for decompressing and compressing variable length codes via a compressed code dictionary
US7065747B2 (en) Identifying references to objects during bytecode verification
JP3896238B2 (ja) コンピュータシステム及びプログラムの実行時表現方法
US20050060707A1 (en) Method for iterating through elements of a collection
US6934726B2 (en) Storing and retrieving of field descriptors in Java computing environments
KR100319755B1 (ko) 내장형 자바가상머신을 위한 바이트코드 압축 방법
US6978456B1 (en) Methods and apparatus for numeric constant value inlining in virtual machines
US20030079049A1 (en) Representation of java data types in virtual machines
JP3338466B2 (ja) 主記憶アクセス最適化処理装置
JP2002229803A (ja) プログラム実行方法、中間コード解析プログラム、および仮想マシン
JP2776226B2 (ja) 多段表データ取り扱い装置
JP4260895B2 (ja) マイクロコントローラにおける複数フォーマットアドレス指定
JP2002182925A (ja) コンパイル方法及びコンピュータ読み取り可能な記録媒体
JP2003140908A (ja) コード変換装置並びにコード変換プログラム
Brakefield The Open Channel

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee