ves_icall_System_String_ctor_RedirectToCreateString ()
{
  monoeg_assertion_message ("* Assertion: should not be reached at %s:%d\n", "string-icalls.c", 34);
}


ves_icall_System_String_InternalAllocateStr (gint32 length)
{
  struct MonoString * D.16846;
  struct MonoDomain * D.16847;

  D.16847 = mono_domain_get ();
  D.16846 = mono_string_new_size (D.16847, length);
  return D.16846;
}


ves_icall_System_String_InternalIntern (struct MonoString * str)
{
  struct MonoDomain * D.16851;
  struct MonoException * D.16852;
  struct MonoString * D.16853;
  struct MonoString * res;

  res = mono_string_intern (str);
  if (res == 0B) goto <D.16849>; else goto <D.16850>;
  <D.16849>:
  D.16851 = mono_domain_get ();
  D.16852 = D.16851->out_of_memory_ex;
  mono_raise_exception (D.16852);
  <D.16850>:
  D.16853 = res;
  return D.16853;
}


ves_icall_System_String_InternalIsInterned (struct MonoString * str)
{
  struct MonoString * D.16855;

  D.16855 = mono_string_is_interned (str);
  return D.16855;
}


ves_icall_System_String_GetLOSLimit ()
{
  int D.16857;
  int D.16858;
  long unsigned int D.16859;
  long unsigned int D.16860;
  long unsigned int D.16861;
  int limit;

  limit = mono_gc_get_los_limit ();
  D.16858 = limit + -2;
  D.16859 = (long unsigned int) D.16858;
  D.16860 = D.16859 + 18446744073709551592;
  D.16861 = D.16860 / 2;
  D.16857 = (int) D.16861;
  return D.16857;
}


