view bench/bytecode.txt @ 0:73146cb10aa5

add some files
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Fri, 01 Feb 2013 03:07:15 +0900
parents
children
line wrap: on
line source


main <binary-trees.lua:0,0> (89 instructions, 356 bytes at 0x7f8068c01940)
0+ params, 21 slots, 0 upvalues, 18 locals, 14 constants, 2 functions
	1	[14]	CLOSURE  	0 0	; 0x7f8068c01b60
	2	[14]	MOVE     	0 0
	3	[22]	CLOSURE  	1 1	; 0x7f8068c01ee0
	4	[22]	MOVE     	0 1
	5	[24]	GETGLOBAL	2 -1	; tonumber
	6	[24]	GETGLOBAL	3 -2	; arg
	7	[24]	TEST     	3 0 0
	8	[24]	JMP      	2	; to 11
	9	[24]	GETGLOBAL	3 -2	; arg
	10	[24]	GETTABLE 	3 3 -3	; 1
	11	[24]	CALL     	2 2 2
	12	[24]	TEST     	2 0 1
	13	[24]	JMP      	1	; to 15
	14	[24]	LOADK    	2 -4	; 0
	15	[25]	LOADK    	3 -5	; 4
	16	[26]	ADD      	4 3 -6	; - 2
	17	[27]	LT       	0 4 2
	18	[27]	JMP      	1	; to 20
	19	[27]	MOVE     	4 2
	20	[30]	ADD      	5 4 -3	; - 1
	21	[31]	MOVE     	6 0
	22	[31]	LOADK    	7 -4	; 0
	23	[31]	MOVE     	8 5
	24	[31]	CALL     	6 3 2
	25	[32]	GETGLOBAL	7 -7	; io
	26	[32]	GETTABLE 	7 7 -8	; "write"
	27	[32]	GETGLOBAL	8 -9	; string
	28	[32]	GETTABLE 	8 8 -10	; "format"
	29	[32]	LOADK    	9 -11	; "stretch tree of depth %d\t check: %d\n"
	30	[33]	MOVE     	10 5
	31	[33]	MOVE     	11 1
	32	[33]	MOVE     	12 6
	33	[33]	CALL     	11 2 0
	34	[32]	CALL     	8 0 0
	35	[32]	CALL     	7 0 1
	36	[36]	MOVE     	5 0
	37	[36]	LOADK    	6 -4	; 0
	38	[36]	MOVE     	7 4
	39	[36]	CALL     	5 3 2
	40	[38]	MOVE     	6 3
	41	[38]	MOVE     	7 4
	42	[38]	LOADK    	8 -6	; 2
	43	[38]	FORPREP  	6 33	; to 77
	44	[39]	SUB      	10 4 9
	45	[39]	ADD      	10 10 3
	46	[39]	POW      	10 -6 10	; 2 -
	47	[40]	LOADK    	11 -4	; 0
	48	[41]	LOADK    	12 -3	; 1
	49	[41]	MOVE     	13 10
	50	[41]	LOADK    	14 -3	; 1
	51	[41]	FORPREP  	12 14	; to 66
	52	[42]	MOVE     	16 1
	53	[42]	MOVE     	17 0
	54	[42]	LOADK    	18 -3	; 1
	55	[42]	MOVE     	19 9
	56	[42]	CALL     	17 3 0
	57	[42]	CALL     	16 0 2
	58	[42]	ADD      	16 11 16
	59	[43]	MOVE     	17 1
	60	[43]	MOVE     	18 0
	61	[43]	LOADK    	19 -12	; -1
	62	[43]	MOVE     	20 9
	63	[43]	CALL     	18 3 0
	64	[43]	CALL     	17 0 2
	65	[43]	ADD      	11 16 17
	66	[41]	FORLOOP  	12 -15	; to 52
	67	[45]	GETGLOBAL	12 -7	; io
	68	[45]	GETTABLE 	12 12 -8	; "write"
	69	[45]	GETGLOBAL	13 -9	; string
	70	[45]	GETTABLE 	13 13 -10	; "format"
	71	[45]	LOADK    	14 -13	; "%d\t trees of depth %d\t check: %d\n"
	72	[46]	MUL      	15 10 -6	; - 2
	73	[46]	MOVE     	16 9
	74	[46]	MOVE     	17 11
	75	[45]	CALL     	13 5 0
	76	[45]	CALL     	12 0 1
	77	[38]	FORLOOP  	6 -34	; to 44
	78	[49]	GETGLOBAL	6 -7	; io
	79	[49]	GETTABLE 	6 6 -8	; "write"
	80	[49]	GETGLOBAL	7 -9	; string
	81	[49]	GETTABLE 	7 7 -10	; "format"
	82	[49]	LOADK    	8 -14	; "long lived tree of depth %d\t check: %d\n"
	83	[50]	MOVE     	9 4
	84	[50]	MOVE     	10 1
	85	[50]	MOVE     	11 5
	86	[50]	CALL     	10 2 0
	87	[49]	CALL     	7 0 0
	88	[49]	CALL     	6 0 1
	89	[50]	RETURN   	0 1

function <binary-trees.lua:5,14> (24 instructions, 96 bytes at 0x7f8068c01b60)
2 params, 9 slots, 1 upvalue, 5 locals, 2 constants, 0 functions
	1	[6]	LT       	0 -1 1	; 0 -
	2	[6]	JMP      	17	; to 20
	3	[7]	ADD      	2 0 0
	4	[8]	SUB      	1 1 -2	; - 1
	5	[9]	GETUPVAL 	3 0	; BottomUpTree
	6	[9]	SUB      	4 2 -2	; - 1
	7	[9]	MOVE     	5 1
	8	[9]	CALL     	3 3 2
	9	[9]	GETUPVAL 	4 0	; BottomUpTree
	10	[9]	MOVE     	5 2
	11	[9]	MOVE     	6 1
	12	[9]	CALL     	4 3 2
	13	[10]	NEWTABLE 	5 3 0
	14	[10]	MOVE     	6 0
	15	[10]	MOVE     	7 3
	16	[10]	MOVE     	8 4
	17	[10]	SETLIST  	5 3 1	; 1
	18	[10]	RETURN   	5 2
	19	[10]	JMP      	4	; to 24
	20	[12]	NEWTABLE 	2 1 0
	21	[12]	MOVE     	3 0
	22	[12]	SETLIST  	2 1 1	; 1
	23	[12]	RETURN   	2 2
	24	[14]	RETURN   	0 1

function <binary-trees.lua:16,22> (17 instructions, 68 bytes at 0x7f8068c01ee0)
1 param, 4 slots, 1 upvalue, 1 local, 3 constants, 0 functions
	1	[17]	GETTABLE 	1 0 -1	; 2
	2	[17]	TEST     	1 0 0
	3	[17]	JMP      	11	; to 15
	4	[18]	GETTABLE 	1 0 -2	; 1
	5	[18]	GETUPVAL 	2 0	; ItemCheck
	6	[18]	GETTABLE 	3 0 -1	; 2
	7	[18]	CALL     	2 2 2
	8	[18]	ADD      	1 1 2
	9	[18]	GETUPVAL 	2 0	; ItemCheck
	10	[18]	GETTABLE 	3 0 -3	; 3
	11	[18]	CALL     	2 2 2
	12	[18]	SUB      	1 1 2
	13	[18]	RETURN   	1 2
	14	[18]	JMP      	2	; to 17
	15	[20]	GETTABLE 	1 0 -2	; 1
	16	[20]	RETURN   	1 2
	17	[22]	RETURN   	0 1