Merge branch 'master' into portable-errors
authorAlexis Laferrière <alexis.laf@xymus.net>
Wed, 28 May 2014 21:49:40 +0000 (17:49 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Wed, 28 May 2014 21:49:40 +0000 (17:49 -0400)
1  2 
src/abstract_compiler.nit
src/common_ffi/common_ffi.nit
src/common_ffi/java.nit
src/global_compiler.nit
src/separate_compiler.nit
src/separate_erasure_compiler.nit

@@@ -583,8 -587,15 +593,15 @@@ abstract class AbstractCompile
                        v.compiler.header.add_decl("extern long count_invoke_by_inline;")
                end
  
+               if self.modelbuilder.toolcontext.opt_isset_checks_metrics.value then
+                       v.add_decl("long count_attr_reads = 0;")
+                       v.add_decl("long count_isset_checks = 0;")
+                       v.compiler.header.add_decl("extern long count_attr_reads;")
+                       v.compiler.header.add_decl("extern long count_isset_checks;")
+               end
                v.add_decl("void sig_handler(int signo)\{")
 -              v.add_decl("printf(\"Caught signal : %s\\n\", strsignal(signo));")
 +              v.add_decl("PRINT_ERROR(\"Caught signal : %s\\n\", strsignal(signo));")
                v.add_decl("show_backtrace(signo);")
                v.add_decl("\}")
  
@@@ -1876,13 -1915,11 +1921,11 @@@ redef class AMethPropde
                        v.ret(v.new_expr("glob_argv[{arguments[1]}]", ret.as(not null)))
                        return
                end
 -              v.add("printf(\"NOT YET IMPLEMENTED {class_name}:{mpropdef} at {location.to_s}\\n\");")
 +              v.add("PRINT_ERROR(\"NOT YET IMPLEMENTED {class_name}:{mpropdef} at {location.to_s}\\n\");")
                debug("Not implemented {mpropdef}")
        end
- end
  
- redef class AExternMethPropdef
-       redef fun compile_to_c(v, mpropdef, arguments)
+       fun compile_externmeth_to_c(v: AbstractCompilerVisitor, mpropdef: MMethodDef, arguments: Array[RuntimeVariable])
        do
                var externname
                var nextern = self.n_extern
Simple merge
@@@ -61,13 -60,13 +60,13 @@@ class JavaLanguag
        jmethodID java_meth_id;
  
        // retrieve the current JVM
-       Sys sys = {{{mmodule.name}}}___Pointer_sys(NULL);
-       JNIEnv *nit_ffi_jni_env = {{{mmodule.name}}}___Sys_jni_env(sys);
+       Sys sys = Pointer_sys(NULL);
+       JNIEnv *nit_ffi_jni_env = Sys_jni_env(sys);
  
        // retrieve the implementation Java class
-       java_class = (*nit_ffi_jni_env)->FindClass(nit_ffi_jni_env, "{{{mmodule.impl_java_class_name}}}");
+       java_class = Sys_load_jclass(sys, "{{{mmodule.impl_java_class_name}}}");
        if (java_class == NULL) {
 -              fprintf(stderr, "Nit FFI with Java error: failed to load class.\\n");
 +              PRINT_ERROR("Nit FFI with Java error: failed to load class.\\n");
                (*nit_ffi_jni_env)->ExceptionDescribe(nit_ffi_jni_env);
                exit(1);
        }
Simple merge
Simple merge
Simple merge