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.17376;
  struct MonoDomain * D.17377;

  D.17377 = mono_domain_get ();
  D.17376 = mono_string_new_size (D.17377, length);
  return D.17376;
}


ves_icall_System_String_InternalIntern (struct MonoString * str)
{
  struct MonoDomain * D.17381;
  struct MonoException * D.17382;
  struct MonoString * D.17383;
  struct MonoString * res;

  res = mono_string_intern (str);
  if (res == 0B) goto <D.17379>; else goto <D.17380>;
  <D.17379>:
  D.17381 = mono_domain_get ();
  D.17382 = D.17381->out_of_memory_ex;
  mono_raise_exception (D.17382);
  <D.17380>:
  D.17383 = res;
  return D.17383;
}


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

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


ves_icall_System_String_GetLOSLimit ()
{
  int D.17387;
  int D.17388;
  long unsigned int D.17389;
  long unsigned int D.17390;
  long unsigned int D.17391;
  int limit;

  limit = mono_gc_get_los_limit ();
  D.17388 = limit + -2;
  D.17389 = (long unsigned int) D.17388;
  D.17390 = D.17389 + 18446744073709551592;
  D.17391 = D.17390 / 2;
  D.17387 = (int) D.17391;
  return D.17387;
}


