Add update_debugger_support for x86 and fix ModBasket.

Made a constructor for struct ModBasket rather than using memset(0).
This was causing problems when setting the std::string className field
on the host.

Change-Id: Ie8fa08d0c9f01b029db88c8a309e54283b00b497
diff --git a/src/oat/runtime/x86/runtime_support_x86.S b/src/oat/runtime/x86/runtime_support_x86.S
index 558500d..1d24606 100644
--- a/src/oat/runtime/x86/runtime_support_x86.S
+++ b/src/oat/runtime/x86/runtime_support_x86.S
@@ -374,6 +374,17 @@
 TWO_ARG_DOWNCALL art_initialize_type_from_code, artInitializeTypeFromCode, RETURN_IF_EAX_NOT_ZERO
 TWO_ARG_DOWNCALL art_initialize_type_and_verify_access_from_code, artInitializeTypeAndVerifyAccessFromCode, RETURN_IF_EAX_NOT_ZERO
 
+DEFINE_FUNCTION art_update_debugger
+    mov  %eax, %ebx               // stash away eax so that it's saved as if it were an argument
+    SETUP_REF_AND_ARGS_CALLEE_SAVE_FRAME
+    pushl %esp                    // pass arg2 (sp)
+    pushl %fs:THREAD_SELF_OFFSET  // pass Thread::Current()
+    pushl %edx                    // pass arg0 (dex pc)
+    call SYMBOL(artUpdateDebuggerFromCode) // artUpdateDebuggerFromCode(int32_t, Thread*, Method**)
+    RESTORE_REF_AND_ARGS_CALLEE_SAVE_FRAME
+    mov  %ebx, %eax               // restore original eax
+    ret
+
 DEFINE_FUNCTION art_get_and_clear_exception
     subl LITERAL(8), %esp         // alignment padding
     pushl %fs:THREAD_SELF_OFFSET  // pass Thread::Current()
@@ -734,6 +745,14 @@
     addl LITERAL(44), %esp        // pop arguments
     RETURN_OR_DELIVER_PENDING_EXCEPTION    // return or deliver exception
 
+DEFINE_FUNCTION art_instrumentation_entry_from_code
+    ret
+DEFINE_FUNCTION art_instrumentation_exit_from_code
+    ret
+
+DEFINE_FUNCTION art_deoptimize
+    ret
+
     /*
      * String's indexOf.
      *
@@ -836,5 +855,4 @@
 END_MACRO
 
     // TODO: implement these!
-UNIMPLEMENTED art_update_debugger
 UNIMPLEMENTED art_memcmp16