aboutsummaryrefslogtreecommitdiffstats
path: root/llvm_runtime.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2012-10-19 15:03:28 +0200
committerLars Knoll <lars.knoll@digia.com>2012-10-19 15:12:11 +0200
commitacfb62cc2e6a85a5546dec3f586cf0cdf3deb7ca (patch)
tree97da4d904307bac54657f879531283f917c5652e /llvm_runtime.cpp
parent110204b184d7ab4ab0a669d57f34f7219e4a7e86 (diff)
Added LLVM code generation for in-place operators.
E.g. +=, <<=, etc. Change-Id: Iffd5eac413e3c3714fedbab58415d9dc4ba42fa6 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'llvm_runtime.cpp')
-rw-r--r--llvm_runtime.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/llvm_runtime.cpp b/llvm_runtime.cpp
index d828df3760..8771e6da67 100644
--- a/llvm_runtime.cpp
+++ b/llvm_runtime.cpp
@@ -216,6 +216,61 @@ void __qmljs_llvm_not(Context *ctx, Value *result, const Value *value)
*result = __qmljs_not(*value, ctx);
}
+void __qmljs_llvm_inplace_bit_and_name(Context *ctx, String *dest, Value *src)
+{
+ __qmljs_inplace_bit_and_name(*src, dest, ctx);
+}
+
+void __qmljs_llvm_inplace_bit_or_name(Context *ctx, String *dest, Value *src)
+{
+ __qmljs_inplace_bit_or_name(*src, dest, ctx);
+}
+
+void __qmljs_llvm_inplace_bit_xor_name(Context *ctx, String *dest, Value *src)
+{
+ __qmljs_inplace_bit_xor_name(*src, dest, ctx);
+}
+
+void __qmljs_llvm_inplace_add_name(Context *ctx, String *dest, Value *src)
+{
+ __qmljs_inplace_add_name(*src, dest, ctx);
+}
+
+void __qmljs_llvm_inplace_sub_name(Context *ctx, String *dest, Value *src)
+{
+ __qmljs_inplace_sub_name(*src, dest, ctx);
+}
+
+void __qmljs_llvm_inplace_mul_name(Context *ctx, String *dest, Value *src)
+{
+ __qmljs_inplace_mul_name(*src, dest, ctx);
+}
+
+void __qmljs_llvm_inplace_div_name(Context *ctx, String *dest, Value *src)
+{
+ __qmljs_inplace_div_name(*src, dest, ctx);
+}
+
+void __qmljs_llvm_inplace_mod_name(Context *ctx, String *dest, Value *src)
+{
+ __qmljs_inplace_mod_name(*src, dest, ctx);
+}
+
+void __qmljs_llvm_inplace_shl_name(Context *ctx, String *dest, Value *src)
+{
+ __qmljs_inplace_shl_name(*src, dest, ctx);
+}
+
+void __qmljs_llvm_inplace_shr_name(Context *ctx, String *dest, Value *src)
+{
+ __qmljs_inplace_shr_name(*src, dest, ctx);
+}
+
+void __qmljs_llvm_inplace_ushr_name(Context *ctx, String *dest, Value *src)
+{
+ __qmljs_inplace_ushr_name(*src, dest, ctx);
+}
+
String *__qmljs_llvm_identifier_from_utf8(Context *ctx, const char *str)
{
return __qmljs_identifier_from_utf8(ctx, str); // ### make it unique