[SCALA] 어떻게 스칼라는 바이트 코드를 생성? ASM과 같은 몇 가지 라이브러리를 사용하거나 직접 바이너리 쓰기?
SCALA어떻게 스칼라는 바이트 코드를 생성? ASM과 같은 몇 가지 라이브러리를 사용하거나 직접 바이너리 쓰기?
나는 어떻게 스칼라 생성 바이트 코드는 ASM과 같은 몇 가지 라이브러리를 사용합니까, 궁금 해요? 아니면 그냥 쓰기 바이너리 성능을 .class 파일을 하는가?
해결법
-
==============================
1.JVM - 1.5 - 대상 : 2.10 스칼라 컴파일러는 -target부터 지원 된 바이트 코드를 방출 ASM 4를 사용 JVM-1.6 및 -target : JVM - 1.7
JVM - 1.5 - 대상 : 2.10 스칼라 컴파일러는 -target부터 지원 된 바이트 코드를 방출 ASM 4를 사용 JVM-1.6 및 -target : JVM - 1.7
백엔드의 구현 측면에 설명되어 있습니다 :
바이트 코드의 이미 터 (GenASM는, 소스 아래 링크) 방문 컨트롤 흐름 이전 단계에 의해 만들어 그래프 (CFG), 직접 방출 된 클래스로 스트리밍 ASM의 API를 사용합니다 :
https://github.com/scala/scala/blob/master/src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala
일이 지금 작동하는 방식 때문이다. 실험 가능성의 영역에서, 나는 (다음 메모리에 빌드 된 클래스에 나무 ASM API를 사용하여)가 직접 CFG 및 방문 스칼라 추상 구문 트리를 구축 건너 뜁니다 때문에 부분적으로 빠르게 방출 실험 바이트 코드에 근무했습니다. 자세한 사항 :
https://github.com/magarciaEPFL/scala/blob/GenBCodeOpt/src/compiler/scala/tools/nsc/backend/jvm/GenBCode.scala
-
==============================
2.외모가 자바 바이트 코드로 수동 변환 후 일부 중간 코드를 생성하고있는 것처럼 또는 .net MSIL
외모가 자바 바이트 코드로 수동 변환 후 일부 중간 코드를 생성하고있는 것처럼 또는 .net MSIL
여기 컴파일러의 좋은 개요 : https://wiki.scala-lang.org/display/SIW/Overview+of+Compiler+Phases
from https://stackoverflow.com/questions/13380807/how-is-scala-generating-byte-code-using-some-libraries-like-asm-or-write-binar by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 무형의 냇 유형의 한계 (0) | 2019.11.27 |
---|---|
[SCALA] LINQ에 얼마나 있는가? (0) | 2019.11.27 |
[SCALA] 의 경우의 프로그램 무리에 스칼라 방법 (0) | 2019.11.27 |
[SCALA] 기존 DataFrame 사용 withColumn에 두 개의 열을 추가 (0) | 2019.11.27 |
[SCALA] 스칼라 스파크 DataFrame : dataFrame.select 여러 열은 열 이름의 순서를 부여 (0) | 2019.11.27 |