blob: 10dbd4e6ce685f49ab1f1cf2dd75a529c6dcd455 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/* { dg-do compile } */
/* { dg-options "-O2" } */
struct {
long *sp;
long *csp;
} neko_interp_loop_vm;
int neko_interp_loop_vm_2;
void neko_interp_loop()
{
void *pc[] = {&&LabelAccGlobal, &&LabelPhysCompare, &&LabelTailCall,
&&LabelLoop, &&LabelMakeArray2};
long *sp, *csp = neko_interp_loop_vm.csp;
LabelAccGlobal:
neko_interp_loop_vm.sp = sp;
neko_interp_loop_vm.csp = csp;
goto * 0;
LabelTailCall:
csp = sp -= neko_interp_loop_vm_2;
LabelMakeArray2:
LabelPhysCompare:
LabelLoop:
goto * 0;
}
|