diff options
author | Lars Knoll <lars.knoll@qt.io> | 2017-08-16 09:32:28 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-08-25 11:53:47 +0000 |
commit | 29e1531252ef435086a2b84e20a8e83304ca30bc (patch) | |
tree | 51bc6cf51b019f979ef93ce1425098d0ad373008 /src/qml/compiler/qv4instr_moth_p.h | |
parent | 584dcb7773f2fe44ba53bd43f6eda7185249e9ab (diff) |
Add optimized JmpCmpEq/NeNull instructions
for comparisons with null or undefined.
Change-Id: I4a70d12ace501e4c4735b2ccfd6de19aeb9fef22
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src/qml/compiler/qv4instr_moth_p.h')
-rw-r--r-- | src/qml/compiler/qv4instr_moth_p.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/qml/compiler/qv4instr_moth_p.h b/src/qml/compiler/qv4instr_moth_p.h index 2f181f806c..cb55e84442 100644 --- a/src/qml/compiler/qv4instr_moth_p.h +++ b/src/qml/compiler/qv4instr_moth_p.h @@ -140,6 +140,8 @@ QT_BEGIN_NAMESPACE F(Jump, jump) \ F(JumpEq, jumpEq) \ F(JumpNe, jumpNe) \ + F(CmpJmpEqNull, cmpJmpEqNull) \ + F(CmpJmpNeNull, cmpJmpNeNull) \ F(CmpJmpEq, cmpJmpEq) \ F(CmpJmpNe, cmpJmpNe) \ F(CmpJmpGt, cmpJmpGt) \ @@ -570,6 +572,14 @@ union Instr MOTH_INSTR_HEADER ptrdiff_t offset; }; + struct instr_cmpJmpEqNull { + MOTH_INSTR_HEADER + ptrdiff_t offset; + }; + struct instr_cmpJmpNeNull { + MOTH_INSTR_HEADER + ptrdiff_t offset; + }; struct instr_cmpJmpEq { MOTH_INSTR_HEADER StackSlot lhs; @@ -788,6 +798,8 @@ union Instr instr_jump jump; instr_jumpEq jumpEq; instr_jumpNe jumpNe; + instr_cmpJmpEqNull cmpJmpEqNull; + instr_cmpJmpNeNull cmpJmpNeNull; instr_cmpJmpEq cmpJmpEq; instr_cmpJmpNe cmpJmpNe; instr_cmpJmpGt cmpJmpGt; |