Size: px
Start display at page:

Download "1 3 1.1............................ 3 1.2.......................... 3 2 5 2.1.............................. 5 2.1.1............................... 5 2"

Transcription

1 JIT

2 JIT Java

3

4 1 1.1 Java JIT SableVM Java JIT JavaScript ( ) TraceMonkey FireFox 1.2 Java JIT Java 3

5 Java Java Java 4

6 VM 5

7 Java 2.1: 6

8 2.1.3 goto 2.2: 7

9 GCC GCC 2.2 8

10 : 9

11 2.4: 1 ( ) jump call 10

12 PC C C ( gcc x86 ) C START END C 11

13 : 12

14 2.2 JIT JIT JIT ( ) VM JIT VM 13

15 2.6: VM 14

16 2.7: 15

17 2.8: JavaScript TraceMonkey JIT Java 16

18 2.3 Java Java Java JavaVM Java Java Java Java class ( ) class Java Java class Java Java OS 17

19 C Java JavaVM Java Java Java Java JavaVM JavaVM Java Java JavaVM Java JavaVM Java JavaVM 0 18

20 2.9: Java 19

21 2.3.3 Java C++ iload 1 ; // iload 2 ; // iadd ; 20

22 2.10: 21

23 3 Java JavaScript JIT Java Java 3.1 Java Java SableVM SableVM SableVM 3.2 istore iload 22

24 23

25

26 25

27 4.2 TraceMonkey JIT 4.3 istore iload istore iload (iload INLINED_START_ILOAD ) INLINED_START_ 26

28 /* ISTORE */ case SVM_INSTRUCTION_ISTORE: { env->vm->instructions[instr].param_count = 1; /* implementation address */ env->vm->instructions[instr].code.implementation = &&START_ISTORE; env->vm->instructions[instr].inlined_code.implementation = &&INLINED_START_ISTORE; /* code size */ env->vm->instructions[instr].inlined_size = ((char *) &&END_ISTORE) - ((char *) &&INLINED_START_ISTORE); /* can the implementation be relocated? */ env->vm->instructions[instr].flag = SVM_INLINEABLE_ISTORE; #if!defined(ndebug) defined(_sablevm_inlinability_testing) strcpy (env->vm->instructions[instr].name, "ISTORE"); #endif break; START_ISTORE: { #ifndef NDEBUG if (env->vm->verbose_instructions == JNI_TRUE) { _svmf_printf (env, stderr, "T%d: [verbose instructions: ISTORE]\n", env->thread.id, (void *) (pc - 1)); 27

29 } #endif } INLINED_START_ISTORE: { _svmm_verbose_instructions_inlined (env, pc, "ISTORE"); /* instruction body */ { } jint indx = (pc++)->jint; locals[indx].jint = stack[--stack_size].jint; } { } END_ISTORE: /* dispatch */ goto *((pc++)->implementation); } 28

30 INLINED_START_ILOAD: { _svmm_verbose_instructions_inlined (env, pc, "ILOAD"); /* instruction body */ { } jint indx = (pc++)->jint; stack[stack_size++].jint = locals[indx].jint; } { } END_ILOAD: /* dispatch */ goto *((pc++)->implementation); } istore integer pop iload integer push istore iload integer pop push isl istore iload istore iload isl 29

31 4.1: istore,iadd 4.4 istore iload istore isl isl iload 30

32 isl iload iload 4.2: isl 31

33 5 5.1 goto goto JIT prepare_code.c 5.2 isl 32

34 /* ISL */ case SVM_INSTRUCTION_ISL: { env->vm->instructions[instr].param_count = 1; /* implementation address */ env->vm->instructions[instr].code.implementation = &&START_ISL; env->vm->instructions[instr].inlined_code. implementation = &&INLINED_START_ISL; /* code size */ env->vm->instructions[instr].inlined_size = ((char *) &&END_ISL) - ((char *) &&INLINED_START_ISL); /* can the implementation be relocated? */ env->vm->instructions[instr].flag = SVM_INLINEABLE_ISTORE; #if!defined(ndebug) defined(_sablevm_inlinability_testing) strcpy (env->vm->instructions[instr].name, "ISL"); #endif break; START_ISL: { #ifndef NDEBUG if (env->vm->verbose_instructions == JNI_TRUE) { _svmf_printf (env, stderr, "T%d: [verbose instructions: ISL]\n", env->thread.id, (void *) (pc - 1)); 33

35 } #endif } INLINED_START_ISL: { _svmm_verbose_instructions_inlined (env, pc, "ISL"); /* instruction body */ { } } jint indx = (pc++)->jint; locals[indx].jint = stack[stack_size-1].jint; pc = pc + 2; { } END_ISL: /* dispatch */ goto *((pc++)->implementation); } integer pop push Java load 34

36 5.1: isl case SVM_INSTRUCTION_ISTORE: { instructions[instruction_index].data.arg.index = bytecode[pc+1]; jint test = bytecode[pc+1]; if(bytecode[pc+2]==svm_instruction_iload){ jint test2 = bytecode[pc+3]; if (test == test2){ method->data.code_attribute->code[pc] = SVM_INSTRUCTION_ISL; pc = pc+2; } } } break; istore iload istore isl 35

37 SVM_INSTRUCTION_ISL 36

38 6 SableVM SableVM a SableVM b SableVM 6.1: 37

39 6.2: SableVM 3 SableVM 38

40 6.3: 39

41 7 SableVM SableVM SableVM SableVM 40

42 41

43 8 8.1 JavaVM SableVM JavaVM SableVM SableVM SableVM

44 43

45 9 Analyzing the Performance of Code-copying Virtual Machines :Gregory B. Prokopski, Clark Verbrugge Trace-based Just-in-Time Type Specialization for Dynamic Languages :Andreas Gal Effective Inline-Threaded Interpretation of Java Bytecode Using Preparation Sequences :Etienne Gagnon, Laurie Hendren Tracing for Web 3.0 :Mason Chang A Portable Research Framework For The Execution Of Java Bytecode :Etienne Gagnon SableVM: A Research Framework for the Efficient Execution of Java Bytecode :Etienne M. Gagnon, Laurie J. Hendren Optimizing Indirect Branch Prediction Accuracy in Virtual Machine Interpreters :Kevin Casey Optimizing code-copying JIT compilers for virtual stack machines :Devid Gregg, M. Anton Ertl Incremental Dynamic Code Generation with Trace Trees :Andreas Gal, Michael Franz TraceMonkey Technology Summary :Tomoya Asai Java Virtual Machine :Jon Meyer, Troy Downing Java :, Algebraic characterization of trace and decorated trace equivalences over tree-like structures :Xiao Jun Chen, Rocco de Nicola Speeding up the Synthesis of Programs from Traces :A. W. Biermann, R. I. Baum, F. E. Petry 44

46 Analyzing the performance of code-copying virtual machines :Gregory B. Prokopski, Clark Verbrugge 45

47 10 sablevm PDF CD 46

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン () 仮想マシン 復習 仮想マシンの概要 hsm 仮想マシン プログラム言語の処理系 ( コンパイラ ) 原始プログラム (Source program) コンパイラ (Compiler) 目的プログラム (Object code) 原始言語 (Source language) 解析 合成 目的言語 (Object Language) コンパイルする / 翻訳する (to compile

More information

Agenda Intro & history LLVM overview Demo Pros & Cons LLVM Intermediate Language LLVM tools

Agenda Intro & history LLVM overview Demo Pros & Cons LLVM Intermediate Language LLVM tools LLVM Intro Syoyo Fujita syoyo@lucillerender.org Agenda Intro & history LLVM overview Demo Pros & Cons LLVM Intermediate Language LLVM tools LLVM , Lightweight Language No! No! No! LLVM , Virtual Machine

More information

fmaster.dvi

fmaster.dvi 9 888 Java Just-in-Time OpenJIT 11 1 1 1 1.1 : : : : : : : : : : : : : : : : : : : : 1 1.2 : : : : : : : : : : : : : : : : : : : : : : : : 2 1.3 : : : : : : : : : : : : : : : : : : : : : : : : 6 1.4 :

More information

spa99.dvi

spa99.dvi 2 SPA 99 Java masuhara@graco.c.u-tokyo.ac.jp yonezawa@is.s.u-tokyo.ac.jp Java 1 ( specialization) (partial evaluation) [6, 8] ( ) (run-time specialization 1 ) [2 5, 9, 10, 12, 13] (bytecode specialization)

More information

maegaki_4_suzuki_yuusuke.pdf

maegaki_4_suzuki_yuusuke.pdf JavaScript, ECMA262 5.1(June 2011) TC39 Conformance Suite Test262 Building modern JavaScript Engine YUSUKE SUZUKI, We implemented an engine that is fully compliant with ECMA262 5.1 (June 2011) and confirmed

More information

28 Docker Design and Implementation of Program Evaluation System Using Docker Virtualized Environment

28 Docker Design and Implementation of Program Evaluation System Using Docker Virtualized Environment 28 Docker Design and Implementation of Program Evaluation System Using Docker Virtualized Environment 1170288 2017 2 28 Docker,.,,.,,.,,.,. Docker.,..,., Web, Web.,.,.,, CPU,,. i ., OS..,, OS, VirtualBox,.,

More information

スライド 1

スライド 1 プログラミング言語処理系論 (8) Design and Implementation of Programming Language Processors 佐藤周行 ( 情報基盤センター / 電気系専攻融合情報学コース ) 今日の予定 VM 設計の実際 ( 前回とすこし被る ) Stack Machine vs. Register Machine 命令セットアーキテクチャ ターゲットとなるプログラミング言語を効率よく実行するために

More information

r1.dvi

r1.dvi 2014 1 2014.4.10 0 / 1 / 2 / 3 Lisp 4 5 ( ) 1 (5 1 ) 5 1 1.1? 0 1 (bit sequence) 5 101 3 11 2 (binary system) 2 1000 8 1 ( ) ( )? ( 1) r1 1000 1001 r2 1002... r3 1: (memory) (address) CPU (instruction)

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 11 週 条件分岐文と繰り返し文のコード生成 2014 年 6 月 18 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

Java

Java JAIST Reposi https://dspace.j Title 軽いハードウェアによる Java 高速化手法に関する研究 Author(s) 吉兼, 寛 Citation Issue Date 2004-03 Type Thesis or Dissertation Text version author URL http://hdl.handle.net/10119/1775 Rights

More information

第5回お試しアカウント付き並列プログラミング講習会

第5回お試しアカウント付き並列プログラミング講習会 qstat -l ID (qstat -f) qscript ID BATCH REQUEST: 253443.batch1 Name: test.sh Owner: uid=32637, gid=30123 Priority: 63 State: 1(RUNNING) Created at: Tue Jun 30 05:36:24 2009 Started at: Tue Jun 30 05:36:27

More information

1 Code Generation Part I Chapter 8 (1 st ed. Ch.9) COP5621 Compiler Construction Copyright Robert van Engelen, Florida State University,

1 Code Generation Part I Chapter 8 (1 st ed. Ch.9) COP5621 Compiler Construction Copyright Robert van Engelen, Florida State University, 1 Code Generation Part I Chapter 8 (1 st ed. Ch.9) COP5621 Compiler Construction Copyright Robert van Engelen, Florida State University, 2007-2013 2 Position of a Code Generator in the Compiler Model Source

More information

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for embedded systems that use microcontrollers (MCUs)

More information

JavaScript Web Web Web Web Web JavaScript Web Web JavaScript JavaScript JavaScript GC GC GC GC JavaScript SSJSVM GC SSJSVM GC GC GC SSJSVM GC GC SSJSV

JavaScript Web Web Web Web Web JavaScript Web Web JavaScript JavaScript JavaScript GC GC GC GC JavaScript SSJSVM GC SSJSVM GC GC GC SSJSVM GC GC SSJSV 27 JavaScript Design and Implementation of a Mark Sweep Garbage Collection on a Server Side JavaScript Virtual Machine 1160326 2016 2 26 JavaScript Web Web Web Web Web JavaScript Web Web JavaScript JavaScript

More information

main.dvi

main.dvi 20 II 7. 1 409, 3255 e-mail: namba@faculty.chiba-u.jp 2 1 1 1 4 2 203 2 1 1 1 5 503 1 3 1 2 2 Web http://www.icsd2.tj.chiba-u.jp/~namba/lecture/ 1 2 1 5 501 1,, \,", 2000 7. : 1 1 CPU CPU 1 Intel Pentium

More information

I117 II I117 PROGRAMMING PRACTICE II DEBUG Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara

I117 II I117 PROGRAMMING PRACTICE II DEBUG Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara I117 II I117 PROGRAMMING PRACTICE II DEBUG Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara yasu@jaist.ac.jp / SCHEDULE 1. 2011/06/07(Tue) / Basic of Programming 2. 2011/06/09(Thu)

More information

untitled

untitled 20 31 5104258 1 1. p 2. p 2.1. p 2.2.i ppli Development Kit for JDK-4.0(FOMA) p 2.3. p 2.4. i p 3. p11 3.1. p12 3.2. IApplication RPG2 p12 3.3. RpgCnav p13 3.4. ScratchPad ImageMap MapData p14 4. p17 5.

More information

Condition DAQ condition condition 2 3 XML key value

Condition DAQ condition condition 2 3 XML key value Condition DAQ condition 2009 6 10 2009 7 2 2009 7 3 2010 8 3 1 2 2 condition 2 3 XML key value 3 4 4 4.1............................. 5 4.2...................... 5 5 6 6 Makefile 7 7 9 7.1 Condition.h.............................

More information

untitled

untitled Web Ver3 2005 7 1. Web...1 2. Web...2 3. Web...3 4....5 5. ActiveX...9 6. Java...11 7. Netscape Plug-in... 15 8. COM... 19 9. Web API... 20 10.... 21 1. Web for WindowsCSV HTML 1 2. Web Web Web / for WindowsHTML

More information

. 61 5,000 5,000 2 61 2 10 62 5 1 2 3 9 30 6 10 3 1 969 39 61 20 330 1040 1750 1360 57 60 1 10,000 96 5 5 94 80 5 15 5 100 82 18 2

. 61 5,000 5,000 2 61 2 10 62 5 1 2 3 9 30 6 10 3 1 969 39 61 20 330 1040 1750 1360 57 60 1 10,000 96 5 5 94 80 5 15 5 100 82 18 2 1. 2. 26 9 8 26 9 22 26 9 28 3. 26 10 1 26 12 31 4. 26 10 27 1 1 3 27 1 1 2 1 2 5. 1 1000 1,000 6. 1 10,000 A 500 11 B 500 11 1,000 A B 7. 10,000 8. 1 5 5 9. 10. 11. 1 2 1 . 61 5,000 5,000 2 61 2 10 62

More information

組込みシステムシンポジウム2011 Embedded Systems Symposium 2011 ESS /10/20 FPGA Android Android Java FPGA Java FPGA Dalvik VM Intel Atom FPGA PCI Express DM

組込みシステムシンポジウム2011 Embedded Systems Symposium 2011 ESS /10/20 FPGA Android Android Java FPGA Java FPGA Dalvik VM Intel Atom FPGA PCI Express DM Android Android Java Java Dalvik VM Intel Atom PCI Express DMA 1.25 Gbps Atom Android Java Acceleration with an Accelerator in an Android Mobile Terminal Keisuke Koike, Atsushi Ohta, Kohta Ohshima, Kaori

More information

FAX-760CLT

FAX-760CLT FAX-760CLT ;; yy 1 f a n l p w s m t v y k u c j 09,. i 09 V X Q ( < N > O P Z R Q: W Y M S T U V 1 2 3 4 2 1 1 2 1 2 j 11 dd e i j i 1 ; 3 oo c o 1 2 3 4 5 6 j12 00 9 i 0 9 i 0 9 i 0 9 i oo

More information

Web Web Web Web i

Web Web Web Web i 28 Research of password manager using pattern lock and user certificate 1170369 2017 2 28 Web Web Web Web i Abstract Research of password manager using pattern lock and user certificate Takuya Mimoto In

More information

Microsoft PowerPoint - NxLecture ppt [互換モード]

Microsoft PowerPoint - NxLecture ppt [互換モード] 011-05-19 011 年前学期 TOKYO TECH 命令処理のための基本的な 5 つのステップ 計算機アーキテクチャ第一 (E) 5. プロセッサの動作原理と議論 吉瀬謙二計算工学専攻 kise_at_cs.titech.ac.jp W61 講義室木曜日 13:0-1:50 IF(Instruction Fetch) メモリから命令をフェッチする. ID(Instruction Decode)

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン (2), コード生成 http://cis.k.hosei.ac.jp/~asasaki /lect/compiler/2007-1204.pdf ( 訂正版 ) 1 概要 仮想マシン 概要 ( 復習 ) 制御命令 出力命令 コード生成 式のコード生成 文 文の列のコード生成 記号表 2 演習で作るコンパイラの例 test.hcc Int main() { int i j; i = 3;

More information

compiler-text.dvi

compiler-text.dvi 2018.4 1 2 2.1 1 1 1 1: 1. (source program) 2. (object code) 3. 1 2.2 C if while return C input() output() fun var ( ) main() C (C-Prime) C A B C 2.3 Pascal P 1 C LDC load constant LOD load STR store AOP

More information

VOID SLAB FOR CONSTRUCTION Winding Pipe VOID SLAB FOR CONSTRUCTION Winding Pipe VOID SLAB FOR CONSTRUCTION Winding Pipe VOID SLAB FOR CONSTRUCTION Winding Pipe VOID SLAB FOR CONSTRUCTION Winding Pipe

More information

サービス付き高齢者向け住宅賠償責任保険.indd

サービス付き高齢者向け住宅賠償責任保険.indd 1 2 1 CASE 1 1 2 CASE 2 CASE 3 CASE 4 3 CASE 5 4 3 4 5 6 2 CASE 1 CASE 2 CASE 3 7 8 3 9 10 CASE 1 CASE 2 CASE 3 CASE 4 11 12 13 14 1 1 2 FAX:03-3375-8470 2 3 3 4 4 3 15 16 FAX:03-3375-8470 1 2 0570-022808

More information

2

2 HL-L2360DN HL-L2365DW 1 2 http://support.brother.co.jp/ 3 2 3 P.40 P.47 Windows Macintosh P.78 P.47 Windows Macintosh P.78 P.47 Windows Macintosh P.78 P.47 Windows Macintosh P.78 P.28 P.49 Windows Macintosh

More information

untitled

untitled Dell OpenManage IT Assistant 7.0 Version 1.0 2004-2005 Dell Inc. All rights reserved. ... 2... 4...! 1. IT ASSISTANT... 5 1-1.... 5 1-2.... 6 2.... 10 2-1.... 10 2-1-1. SNMP Trap... 10 2-1-2. SNMP Trap...

More information

COINS..

COINS.. (0317754) 18 1 4 1.1....................................... 4 1.2..................................... 4 1.3..................................... 5 2 6 2.1 COINS................................ 6 2.1.1...................................

More information

PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU

PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU 1. 1.1. 1.2. 1 PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU 2. 2.1. 2 1 2 C a b N: PC BC c 3C ac b 3 4 a F7 b Y c 6 5 a ctrl+f5) 4 2.2. main 2.3. main 2.4. 3 4 5 6 7 printf printf

More information

新・明解C言語 実践編

新・明解C言語 実践編 第 1 章 見 21 1-1 見えないエラー 見 List 1-1 "max2x1.h" a, b max2 List 1-1 chap01/max2x1.h max2 "max2x1.h" #define max2(a, b) ((a) > (b)? (a) : (b)) max2 List 1-2 List 1-2 chap01/max2x1test.c max2 #include

More information

Fig. 3 3 Types considered when detecting pattern violations 9)12) 8)9) 2 5 methodx close C Java C Java 3 Java 1 JDT Core 7) ) S P S

Fig. 3 3 Types considered when detecting pattern violations 9)12) 8)9) 2 5 methodx close C Java C Java 3 Java 1 JDT Core 7) ) S P S 1 1 1 Fig. 1 1 Example of a sequential pattern that is exracted from a set of method definitions. A Defect Detection Method for Object-Oriented Programs using Sequential Pattern Mining Goro YAMADA, 1 Norihiro

More information

WebGL *1 DOM API *1 X LR301 Kageyama (Kobe Univ.) Visualization / 37

WebGL *1 DOM API *1 X LR301 Kageyama (Kobe Univ.) Visualization / 37 WebGL *1 DOM API 2013.05.21 *1 X021 2013 LR301 Kageyama (Kobe Univ.) Visualization 2013.05.21 1 / 37 WebGL WebGL DOM References Kageyama (Kobe Univ.) Visualization 2013.05.21 2 / 37 WebGL WebGL Kageyama

More information

,4) 1 P% P%P=2.5 5%!%! (1) = (2) l l Figure 1 A compilation flow of the proposing sampling based architecture simulation

,4) 1 P% P%P=2.5 5%!%! (1) = (2) l l Figure 1 A compilation flow of the proposing sampling based architecture simulation 1 1 1 1 SPEC CPU 2000 EQUAKE 1.6 50 500 A Parallelizing Compiler Cooperative Multicore Architecture Simulator with Changeover Mechanism of Simulation Modes GAKUHO TAGUCHI 1 YOUICHI ABE 1 KEIJI KIMURA 1

More information

r07.dvi

r07.dvi 19 7 ( ) 2019.4.20 1 1.1 (data structure ( (dynamic data structure 1 malloc C free C (garbage collection GC C GC(conservative GC 2 1.2 data next p 3 5 7 9 p 3 5 7 9 p 3 5 7 9 1 1: (single linked list 1

More information

インターネットサービス_vol5

インターネットサービス_vol5 8 50G 100G 200A 100A 500A 1000A 50G 100G 200A 100A 500A 1000A 9 Web de Shop Web s s s s shttp://www.alpha-web.jp/hosting/ 10 11 Web de Shop Web 12 13 Web de Shop Web 14 2,800 5,000 shttp://www.alpha-web.jp/hosting/

More information

cpp1.dvi

cpp1.dvi 2017 c 1 C++ (1) C C++, C++, C 11, 12 13 (1) 14 (2) 11 1 n C++ //, [List 11] 1: #include // C 2: 3: int main(void) { 4: std::cout

More information

@ LL Future 2008/08/30 MORITA Hajime

@ LL Future 2008/08/30 MORITA Hajime @ LL Future 2008/08/30 MORITA Hajime http://steps.dodgson.org/ 自己紹介 : 森田創 本業雑用系 C++ プログラマなぜここに... 今日の立ち位置 ActionScript VM Tamarin 擁護派 ( という設定 ) ActionScript はよくわからないけど Tamarin は C++ なので安心

More information

ohp07.dvi

ohp07.dvi 19 7 ( ) 2019.4.20 1 (data structure) ( ) (dynamic data structure) 1 malloc C free 1 (static data structure) 2 (2) C (garbage collection GC) C GC(conservative GC) 2 2 conservative GC 3 data next p 3 5

More information

B

B B 27 1153021 28 2 10 1 1 5 1.1 CPU................. 5 1.2.... 5 1.3.... 6 1.4.. 7 1.5................................ 8 2 9 2.1.................................. 9 2.2............................ 10 2.3............................

More information

IPSJ SIG Technical Report Vol.2015-ARC-215 No.7 Vol.2015-OS-133 No /5/26 Just-In-Time PG 1,a) 1, Just-In-Time VM Geyser Dalvik VM Caffei

IPSJ SIG Technical Report Vol.2015-ARC-215 No.7 Vol.2015-OS-133 No /5/26 Just-In-Time PG 1,a) 1, Just-In-Time VM Geyser Dalvik VM Caffei Just-In-Time PG 1,a) 1, 1 2 1 1 Just-In-Time VM Geyser Dalvik VM CaffeineMark SPECJVM 17% 1. LSI [1][2][3][4][5] (PG) Geyser [6][7] PG ON/OFF OS PG PG [7][8][9][10] Java Just-In-Time (JIT PG [10] JIT 1

More information

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV tutimura@mist.i.u-tokyo.ac.jp kaneko@ipl.t.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 12 11 p.1/33 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20

More information

jssst07.dvi

jssst07.dvi 24 2007 1 Java A Method to Reduce the Memory Footprint of Java VM Kiyokuni KAWACHIYA Kazunori OGATA Tamiya ONODERA IBM Research, Tokyo Research Laboratory kawatiya@jp.ibm.com Java Java 30% String char

More information

6 30 2005 10 1 65 2,682 00 21.9 481 1 2,776 21.0 15 1,740 00 5.8 107 13.6 40 2025 24.2-0 - -1 - -2 - -3 - -4 - -5 - -6 - -7 - -8- -9 - - 10 - -11 - - 12 - - 13-10 11 59 4 59 3 10 17 - 14 - - 15 - - 16

More information

2014-11.key

2014-11.key 2014-11 1 2 3 4 5 7 8 9 10 11 12 PC 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

More information

「東京こどもネット・ケータイヘルプデスク(こたエール)」平成22年度相談実績の概要

「東京こどもネット・ケータイヘルプデスク(こたエール)」平成22年度相談実績の概要 734, 35% 62, 11% 84, 16% 530, 26% 235, 11% PC) 396, 73% 579, 28% ) (21 ) 2 3 4 5 6 7 8 9 10 11 12 13 200 150 100 22 182 200 150 100 22 50 54 PC 49 52 PC 50 41 14 17 1 1 4 16 3 6 14 180 250 200 150 235

More information

I117 II I117 PROGRAMMING PRACTICE II SOFTWARE DEVELOPMENT ENV. 1 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara

I117 II I117 PROGRAMMING PRACTICE II SOFTWARE DEVELOPMENT ENV. 1 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara I117 II I117 PROGRAMMING PRACTICE II SOFTWARE DEVELOPMENT ENV. 1 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara yasu@jaist.ac.jp / SCHEDULE 1. 2011/06/07(Tue) / Basic of

More information

3 3.1 algebraic datatype data k = 1 1,1... 1,n1 2 2,1... 2,n2... m m,1... m,nm 1 m m m,1,..., m,nm m 1, 2,..., k 1 data Foo x y = Alice x [y] B

3 3.1 algebraic datatype data k = 1 1,1... 1,n1 2 2,1... 2,n2... m m,1... m,nm 1 m m m,1,..., m,nm m 1, 2,..., k 1 data Foo x y = Alice x [y] B 3 3.1 algebraic datatype data 1 2... k = 1 1,1... 1,n1 2 2,1... 2,n2... m m,1... m,nm 1 m m m,1,..., m,nm m 1, 2,..., k 1 data Foo x y = Alice x [y] Bob String y Charlie Foo Double Integer Alice 3.14 [1,2],

More information

workshop Eclipse TAU AICS.key

workshop Eclipse TAU AICS.key 11 AICS 2016/02/10 1 Bryzgalov Peter @ HPC Usability Research Team RIKEN AICS Copyright 2016 RIKEN AICS 2 3 OS X, Linux www.eclipse.org/downloads/packages/eclipse-parallel-application-developers/lunasr2

More information

IPSJ SIG Technical Report Vol.2013-CE-119 No /3/15 enpoly enpoly enpoly 1) 2) 2 C Java Bertrand Meyer [1] 1 1 if person greeting()

IPSJ SIG Technical Report Vol.2013-CE-119 No /3/15 enpoly enpoly enpoly 1) 2) 2 C Java Bertrand Meyer [1] 1 1 if person greeting() enpoly enpoly enpoly ) 2) 2 C Java 2 6. Bertrand Meyer [] if person greeting() if person if Faculty of Informatics, Shizuoka University, Hamamatsu, Shizuoka, 432-80, Japan C Jone[2] 2. Java Anchor Garden

More information

¥Ñ¥Ã¥±¡¼¥¸ Rhpc ¤Î¾õ¶·

¥Ñ¥Ã¥±¡¼¥¸ Rhpc ¤Î¾õ¶· Rhpc COM-ONE 2015 R 27 12 5 1 / 29 1 2 Rhpc 3 forign MPI 4 Windows 5 2 / 29 1 2 Rhpc 3 forign MPI 4 Windows 5 3 / 29 Rhpc, R HPC Rhpc, ( ), snow..., Rhpc worker call Rhpc lapply 4 / 29 1 2 Rhpc 3 forign

More information

1

1 1 1. 2 1-1. 2 3 1-2.2 4 2. 5 6 7 2-1 2-2 2-3 2-4 2-5 2-1 2-2 2-3 2-4 2-5 PDF PDF 8 P10 9 2-1. 10 2-1. 11 2-1. ( ( 12 2-1. 24 13 2-1. 3 3 14 2-1. 15 2-2. 16 17 2-2. 3 18 2-2. 19 2712 3 1000 20 2841 21 ...

More information

cpp4.dvi

cpp4.dvi 2017 c 4 C++ (4) C++, 41, 42, 1, 43,, 44 45, 41 (inheritance),, C++,, 100, 50, PCMCIA,,,,,,,,, 42 1 421 ( ), car 1 [List 41] 1: class car { 2: private: 3: std::string m model; // 4: std::string m maker;

More information

インテル® VTune™ パフォーマンス・アナライザー 9.1 Windows* 版

インテル® VTune™ パフォーマンス・アナライザー 9.1 Windows* 版 VTune 9.1 Windows* ................................. 3...................... 3.................................................. 3............................................ 4 :.........................4................................................

More information

Visual Studio ( )

Visual Studio ( ) 2013 2 (2014 9 ) IT IT 1 IT & UI UI + IT Application Insights Team Foundation Server + Web 2 Windows Web C#Visual Basic 4 6 Team Foundation Server 1 8 10 3 Windows Windows Windows C#Visual BasicVisual

More information

,,,,., C Java,,.,,.,., ,,.,, i

,,,,., C Java,,.,,.,., ,,.,, i 24 Development of the programming s learning tool for children be derived from maze 1130353 2013 3 1 ,,,,., C Java,,.,,.,., 1 6 1 2.,,.,, i Abstract Development of the programming s learning tool for children

More information

ORCA (Online Research Control system Architecture)

ORCA (Online Research Control system Architecture) ORCA (Online Research Control system Architecture) ORCA Editor Ver.1.2 1 9 10 ORCA EDITOR 10 10 10 Java 10 11 ORCA Editor Setup 11 ORCA Editor 12 15 15 ORCA EDITOR 16 16 16 16 17 17 ORCA EDITOR 18 ORCA

More information

2006 [3] Scratch Squeak PEN [4] PenFlowchart 2 3 PenFlowchart 4 PenFlowchart PEN xdncl PEN [5] PEN xdncl DNCL 1 1 [6] 1 PEN Fig. 1 The PEN

2006 [3] Scratch Squeak PEN [4] PenFlowchart 2 3 PenFlowchart 4 PenFlowchart PEN xdncl PEN [5] PEN xdncl DNCL 1 1 [6] 1 PEN Fig. 1 The PEN PenFlowchart 1,a) 2,b) 3,c) 2015 3 4 2015 5 12, 2015 9 5 PEN & PenFlowchart PEN Evaluation of the Effectiveness of Programming Education with Flowcharts Using PenFlowchart Wataru Nakanishi 1,a) Takeo Tatsumi

More information

untitled

untitled Part JavaScript java Script Java 200712 Version i 1.0 1 30 2 31 Date now 32 clock 2 500ms 33 34 * 35 36 37 38 39 40 41 42 43 44 45 46 SVC OS 47 48 JavaScript http://www.tohoho-web.com/js/what.htmtohoho

More information

O157 6/23 7/4 6 25 1000 117,050 6 14:00~15:30 1 2 22 22 14:30~15:30 8 12 1 5 20 6 20 10 11 30 9 10 6 1 30 6 6 0 30 6 19 0 3 27 6 20 0 50 1 2 6 4 61 1 6 5 1 2 1 2 6 19 6 4 15 6 1 6 30 6 24 30 59

More information

1 2 1.1................................ 2 1.2................................. 2 1.2.1............................... 3 1.2.2.........................

1 2 1.1................................ 2 1.2................................. 2 1.2.1............................... 3 1.2.2......................... 18 PHP Ajax 1 2 1.1................................ 2 1.2................................. 2 1.2.1............................... 3 1.2.2................................... 3 2 7 2.1.......................

More information

受動的攻撃について

受動的攻撃について 1 Microsoft Internet Explorer 5.01 and Access 2000 VBA Code Execution Vulnerability Eiji James Yoshida zaddik@geocities.co.jp penetration technique research site http://www.geocities.co.jp/siliconvalley/1667/index.htm

More information

17. (1) 18. (1) 19. (1) 20. (1) 21. (1) (3) 22. (1) (3) 23. (1) (3) (1) (3) 25. (1) (3) 26. (1) 27. (1) (3) 28. (1) 29. (1) 2

17. (1) 18. (1) 19. (1) 20. (1) 21. (1) (3) 22. (1) (3) 23. (1) (3) (1) (3) 25. (1) (3) 26. (1) 27. (1) (3) 28. (1) 29. (1) 2 1. (1) 2. 2 (1) 4. (1) 5. (1) 6. (1) 7. (1) 8. (1) 9. (1) 10. (1) 11. (1) 12. (1) 13. (1) 14. (1) 15. (1) (3) 16. (1) 1 17. (1) 18. (1) 19. (1) 20. (1) 21. (1) (3) 22. (1) (3) 23. (1) (3) 24. 1 (1) (3)

More information

RubyKaigi2009 COBOL

RubyKaigi2009 COBOL RubyKaigi2009 COBOL seki@druby.org 3360 Pragmatic Bookshelf druby Web $32.00 International Journal of PARALLEL PROGRAMING !? MapReduce Rinda (map, reduce) map reduce key value [, ] [, ID] map()

More information

ex01.dvi

ex01.dvi ,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include int main(int argc, char **argv) { double

More information

Introduction Purpose This course explains how to use Mapview, a utility program for the Highperformance Embedded Workshop (HEW) development environmen

Introduction Purpose This course explains how to use Mapview, a utility program for the Highperformance Embedded Workshop (HEW) development environmen Introduction Purpose This course explains how to use Mapview, a utility program for the Highperformance Embedded Workshop (HEW) development environment for microcontrollers (MCUs) from Renesas Technology

More information

Java Platform Debugger Architecture Apache JServ Oracle JVM JPDA JVM Tomcat Oracle JVM... 7

Java Platform Debugger Architecture Apache JServ Oracle JVM JPDA JVM Tomcat Oracle JVM... 7 Oracle JDeveloper 3.1 Servlet/JSP 1... 2 1.1... 2 2 Java Platform Debugger Architecture... 3 3 Apache JServ... 5 3.1 Oracle JVM... 5 3.2 JPDA JVM... 5 4 Tomcat... 7 4.1 Oracle JVM... 7 4.2 JPDA JVM...

More information

IPSJ SIG Technical Report Vol.2014-EIP-63 No /2/21 1,a) Wi-Fi Probe Request MAC MAC Probe Request MAC A dynamic ads control based on tra

IPSJ SIG Technical Report Vol.2014-EIP-63 No /2/21 1,a) Wi-Fi Probe Request MAC MAC Probe Request MAC A dynamic ads control based on tra 1,a) 1 1 2 1 Wi-Fi Probe Request MAC MAC Probe Request MAC A dynamic ads control based on traffic Abstract: The equipment with Wi-Fi communication function such as a smart phone which are send on a regular

More information

ex01.dvi

ex01.dvi ,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include int main(int argc, char **argv) double

More information

(a) (b) 1 JavaScript Web Web Web CGI Web Web JavaScript Web mixi facebook SNS Web URL ID Web 1 JavaScript Web 1(a) 1(b) JavaScript & Web Web Web Webji

(a) (b) 1 JavaScript Web Web Web CGI Web Web JavaScript Web mixi facebook SNS Web URL ID Web 1 JavaScript Web 1(a) 1(b) JavaScript & Web Web Web Webji Webjig Web 1 1 1 1 Webjig / Web Web Web Web Web / Web Webjig Web DOM Web Webjig / Web Web Webjig: a visualization tool for analyzing user behaviors in dynamic web sites Mikio Kiura, 1 Masao Ohira, 1 Hidetake

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 10 週 Java 仮想マシンとその機械語 2014 年 6 月 11 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週 (6/11)

More information

gc.dvi

gc.dvi Garbage Collection ( ) (endo@logos.t.u-tokyo.ac.jp) 6 : Jan 27, 2005 1 Garbage Collection? 2 (1) (2) ( 1) C C++, Pascal ML Java, Perl C malloc (allocate) free ( malloc Java/C++ ML tuple record ) C ( /

More information