Skip to content

Commit

Permalink
Mark nativeinvoke_* noinline to enable JIT compilation
Browse files Browse the repository at this point in the history
Spesh currently does not retain all facts when inlining calls. This then
blocks JIT compilation of native sub bodies. Benchmarks show that JIT
compilation is more important for performance than inlining of native
subs, so mark the nativeinvoke* ops :noinline until spesh's restriction
is lifted.
  • Loading branch information
niner committed Oct 28, 2017
1 parent 3a43217 commit 76f43ec
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
10 changes: 5 additions & 5 deletions src/core/oplist
Expand Up @@ -830,11 +830,11 @@ atomicstore_o r(obj) r(obj) :invokish
atomicstore_i r(obj) r(int64)
barrierfull
coveragecontrol r(int64)
nativeinvoke_v -a r(obj) r(obj)
nativeinvoke_i -a w(int64) r(obj) r(obj)
nativeinvoke_n -a w(num64) r(obj) r(obj)
nativeinvoke_s -a w(str) r(obj) r(obj)
nativeinvoke_o -a w(obj) r(obj) r(obj)
nativeinvoke_v -a r(obj) r(obj) :noinline
nativeinvoke_i -a w(int64) r(obj) r(obj) :noinline
nativeinvoke_n -a w(num64) r(obj) r(obj) :noinline
nativeinvoke_s -a w(str) r(obj) r(obj) :noinline
nativeinvoke_o -a w(obj) r(obj) r(obj) :noinline
getarg_i w(int64) r(int16)
getarg_n w(num64) r(int16)
getarg_s w(str) r(int16)
Expand Down
10 changes: 5 additions & 5 deletions src/core/ops.c
Expand Up @@ -9336,7 +9336,7 @@ static const MVMOpInfo MVM_op_infos[] = {
0,
0,
0,
0,
1,
0,
{ MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj }
},
Expand All @@ -9348,7 +9348,7 @@ static const MVMOpInfo MVM_op_infos[] = {
0,
0,
0,
0,
1,
0,
{ MVM_operand_write_reg | MVM_operand_int64, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj }
},
Expand All @@ -9360,7 +9360,7 @@ static const MVMOpInfo MVM_op_infos[] = {
0,
0,
0,
0,
1,
0,
{ MVM_operand_write_reg | MVM_operand_num64, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj }
},
Expand All @@ -9372,7 +9372,7 @@ static const MVMOpInfo MVM_op_infos[] = {
0,
0,
0,
0,
1,
0,
{ MVM_operand_write_reg | MVM_operand_str, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj }
},
Expand All @@ -9384,7 +9384,7 @@ static const MVMOpInfo MVM_op_infos[] = {
0,
0,
0,
0,
1,
0,
{ MVM_operand_write_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj, MVM_operand_read_reg | MVM_operand_obj }
},
Expand Down

0 comments on commit 76f43ec

Please sign in to comment.