/* +----------------------------------------------------------------------+ | HipHop for PHP | +----------------------------------------------------------------------+ | Copyright (c) 2010- Facebook, Inc. (http://www.facebook.com) | | Copyright (c) 1997-2010 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ */ #include #include #include #include #include #include #include namespace HPHP { /* HPHP::Variant HPHP::f_fopen(HPHP::String const&, HPHP::String const&, bool, HPHP::Variant const&) _ZN4HPHP7f_fopenERKNS_6StringES2_bRKNS_7VariantE (return value) => rax _rv => rdi filename => rsi mode => rdx use_include_path => rcx context => r8 */ TypedValue* fh_fopen(TypedValue* _rv, Value* filename, Value* mode, bool use_include_path, TypedValue* context) asm("_ZN4HPHP7f_fopenERKNS_6StringES2_bRKNS_7VariantE"); TypedValue * fg1_fopen(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fopen(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 4 case 3: if ((args-2)->m_type != KindOfBoolean) { tvCastToBooleanInPlace(args-2); } case 2: break; } if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } Variant defVal3; fh_fopen((rv), &args[-0].m_data, &args[-1].m_data, (count > 2) ? (bool)(args[-2].m_data.num) : (bool)(false), (count > 3) ? (args-3) : (TypedValue*)(&defVal3)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fopen(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL && count <= 4LL) { if ((count <= 2 || (args-2)->m_type == KindOfBoolean) && IS_STRING_TYPE((args-1)->m_type) && IS_STRING_TYPE((args-0)->m_type)) { Variant defVal3; fh_fopen((&(rv)), &args[-0].m_data, &args[-1].m_data, (count > 2) ? (bool)(args[-2].m_data.num) : (bool)(false), (count > 3) ? (args-3) : (TypedValue*)(&defVal3)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fopen(&rv, ar, count); frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fopen", count, 2, 4, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_popen(HPHP::String const&, HPHP::String const&) _ZN4HPHP7f_popenERKNS_6StringES2_ (return value) => rax _rv => rdi command => rsi mode => rdx */ TypedValue* fh_popen(TypedValue* _rv, Value* command, Value* mode) asm("_ZN4HPHP7f_popenERKNS_6StringES2_"); TypedValue * fg1_popen(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_popen(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } fh_popen((rv), &args[-0].m_data, &args[-1].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_popen(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if (IS_STRING_TYPE((args-1)->m_type) && IS_STRING_TYPE((args-0)->m_type)) { fh_popen((&(rv)), &args[-0].m_data, &args[-1].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_popen(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("popen", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_fclose(HPHP::Object const&) _ZN4HPHP8f_fcloseERKNS_6ObjectE (return value) => rax handle => rdi */ bool fh_fclose(Value* handle) asm("_ZN4HPHP8f_fcloseERKNS_6ObjectE"); TypedValue * fg1_fclose(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fclose(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToObjectInPlace(args-0); rv->m_data.num = (fh_fclose(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_fclose(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_fclose(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fclose(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fclose", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_pclose(HPHP::Object const&) _ZN4HPHP8f_pcloseERKNS_6ObjectE (return value) => rax _rv => rdi handle => rsi */ TypedValue* fh_pclose(TypedValue* _rv, Value* handle) asm("_ZN4HPHP8f_pcloseERKNS_6ObjectE"); TypedValue * fg1_pclose(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_pclose(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToObjectInPlace(args-0); fh_pclose((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_pclose(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { fh_pclose((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_pclose(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("pclose", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fseek(HPHP::Object const&, long, long) _ZN4HPHP7f_fseekERKNS_6ObjectEll (return value) => rax _rv => rdi handle => rsi offset => rdx whence => rcx */ TypedValue* fh_fseek(TypedValue* _rv, Value* handle, long offset, long whence) asm("_ZN4HPHP7f_fseekERKNS_6ObjectEll"); TypedValue * fg1_fseek(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fseek(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 3 if ((args-2)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-2); } case 2: break; } if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } fh_fseek((rv), &args[-0].m_data, (long)(args[-1].m_data.num), (count > 2) ? (long)(args[-2].m_data.num) : (long)(k_SEEK_SET)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fseek(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL && count <= 3LL) { if ((count <= 2 || (args-2)->m_type == KindOfInt64) && (args-1)->m_type == KindOfInt64 && (args-0)->m_type == KindOfObject) { fh_fseek((&(rv)), &args[-0].m_data, (long)(args[-1].m_data.num), (count > 2) ? (long)(args[-2].m_data.num) : (long)(k_SEEK_SET)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fseek(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fseek", count, 2, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_rewind(HPHP::Object const&) _ZN4HPHP8f_rewindERKNS_6ObjectE (return value) => rax handle => rdi */ bool fh_rewind(Value* handle) asm("_ZN4HPHP8f_rewindERKNS_6ObjectE"); TypedValue * fg1_rewind(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_rewind(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToObjectInPlace(args-0); rv->m_data.num = (fh_rewind(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_rewind(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_rewind(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_rewind(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("rewind", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_ftell(HPHP::Object const&) _ZN4HPHP7f_ftellERKNS_6ObjectE (return value) => rax _rv => rdi handle => rsi */ TypedValue* fh_ftell(TypedValue* _rv, Value* handle) asm("_ZN4HPHP7f_ftellERKNS_6ObjectE"); TypedValue * fg1_ftell(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_ftell(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToObjectInPlace(args-0); fh_ftell((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_ftell(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { fh_ftell((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_ftell(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("ftell", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_feof(HPHP::Object const&) _ZN4HPHP6f_feofERKNS_6ObjectE (return value) => rax handle => rdi */ bool fh_feof(Value* handle) asm("_ZN4HPHP6f_feofERKNS_6ObjectE"); TypedValue * fg1_feof(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_feof(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToObjectInPlace(args-0); rv->m_data.num = (fh_feof(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_feof(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_feof(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_feof(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("feof", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fstat(HPHP::Object const&) _ZN4HPHP7f_fstatERKNS_6ObjectE (return value) => rax _rv => rdi handle => rsi */ TypedValue* fh_fstat(TypedValue* _rv, Value* handle) asm("_ZN4HPHP7f_fstatERKNS_6ObjectE"); TypedValue * fg1_fstat(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fstat(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToObjectInPlace(args-0); fh_fstat((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fstat(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { fh_fstat((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fstat(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fstat", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fread(HPHP::Object const&, long) _ZN4HPHP7f_freadERKNS_6ObjectEl (return value) => rax _rv => rdi handle => rsi length => rdx */ TypedValue* fh_fread(TypedValue* _rv, Value* handle, long length) asm("_ZN4HPHP7f_freadERKNS_6ObjectEl"); TypedValue * fg1_fread(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fread(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } fh_fread((rv), &args[-0].m_data, (long)(args[-1].m_data.num)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fread(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if ((args-1)->m_type == KindOfInt64 && (args-0)->m_type == KindOfObject) { fh_fread((&(rv)), &args[-0].m_data, (long)(args[-1].m_data.num)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fread(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fread", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fgetc(HPHP::Object const&) _ZN4HPHP7f_fgetcERKNS_6ObjectE (return value) => rax _rv => rdi handle => rsi */ TypedValue* fh_fgetc(TypedValue* _rv, Value* handle) asm("_ZN4HPHP7f_fgetcERKNS_6ObjectE"); TypedValue * fg1_fgetc(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fgetc(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToObjectInPlace(args-0); fh_fgetc((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fgetc(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { fh_fgetc((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fgetc(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fgetc", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fgets(HPHP::Object const&, long) _ZN4HPHP7f_fgetsERKNS_6ObjectEl (return value) => rax _rv => rdi handle => rsi length => rdx */ TypedValue* fh_fgets(TypedValue* _rv, Value* handle, long length) asm("_ZN4HPHP7f_fgetsERKNS_6ObjectEl"); TypedValue * fg1_fgets(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fgets(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 2 if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } case 1: break; } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } fh_fgets((rv), &args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(0)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fgets(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 2LL) { if ((count <= 1 || (args-1)->m_type == KindOfInt64) && (args-0)->m_type == KindOfObject) { fh_fgets((&(rv)), &args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(0)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fgets(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fgets", count, 1, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fgetss(HPHP::Object const&, long, HPHP::String const&) _ZN4HPHP8f_fgetssERKNS_6ObjectElRKNS_6StringE (return value) => rax _rv => rdi handle => rsi length => rdx allowable_tags => rcx */ TypedValue* fh_fgetss(TypedValue* _rv, Value* handle, long length, Value* allowable_tags) asm("_ZN4HPHP8f_fgetssERKNS_6ObjectElRKNS_6StringE"); TypedValue * fg1_fgetss(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fgetss(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 3 if (!IS_STRING_TYPE((args-2)->m_type)) { tvCastToStringInPlace(args-2); } case 2: if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } case 1: break; } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } fh_fgetss((rv), &args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(0), (count > 2) ? &args[-2].m_data : (Value*)(&null_string)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fgetss(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 3LL) { if ((count <= 2 || IS_STRING_TYPE((args-2)->m_type)) && (count <= 1 || (args-1)->m_type == KindOfInt64) && (args-0)->m_type == KindOfObject) { fh_fgetss((&(rv)), &args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(0), (count > 2) ? &args[-2].m_data : (Value*)(&null_string)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fgetss(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fgetss", count, 1, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fscanf(int, HPHP::Object const&, HPHP::String const&, HPHP::Array const&) _ZN4HPHP8f_fscanfEiRKNS_6ObjectERKNS_6StringERKNS_5ArrayE (return value) => rax _rv => rdi _argc => rsi handle => rdx format => rcx _argv => r8 */ TypedValue* fh_fscanf(TypedValue* _rv, int64_t _argc, Value* handle, Value* format, Value* _argv) asm("_ZN4HPHP8f_fscanfEiRKNS_6ObjectERKNS_6StringERKNS_5ArrayE"); TypedValue * fg1_fscanf(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fscanf(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } Array extraArgs; { ArrayInit ai(count-2); for (int64_t i = 2; i < count; ++i) { TypedValue* extraArg = ar->getExtraArg(i-2); if (tvIsStronglyBound(extraArg)) { ai.setRef(i-2, tvAsVariant(extraArg)); } else { ai.set(i-2, tvAsVariant(extraArg)); } } extraArgs = ai.create(); } fh_fscanf((rv), (count), &args[-0].m_data, &args[-1].m_data, (Value*)(&extraArgs)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fscanf(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL) { if (IS_STRING_TYPE((args-1)->m_type) && (args-0)->m_type == KindOfObject) { Array extraArgs; { ArrayInit ai(count-2); for (int64_t i = 2; i < count; ++i) { TypedValue* extraArg = ar->getExtraArg(i-2); if (tvIsStronglyBound(extraArg)) { ai.setRef(i-2, tvAsVariant(extraArg)); } else { ai.set(i-2, tvAsVariant(extraArg)); } } extraArgs = ai.create(); } fh_fscanf((&(rv)), (count), &args[-0].m_data, &args[-1].m_data, (Value*)(&extraArgs)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fscanf(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_missing_arguments_nr("fscanf", count+1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fpassthru(HPHP::Object const&) _ZN4HPHP11f_fpassthruERKNS_6ObjectE (return value) => rax _rv => rdi handle => rsi */ TypedValue* fh_fpassthru(TypedValue* _rv, Value* handle) asm("_ZN4HPHP11f_fpassthruERKNS_6ObjectE"); TypedValue * fg1_fpassthru(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fpassthru(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToObjectInPlace(args-0); fh_fpassthru((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fpassthru(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { fh_fpassthru((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fpassthru(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fpassthru", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fwrite(HPHP::Object const&, HPHP::String const&, long) _ZN4HPHP8f_fwriteERKNS_6ObjectERKNS_6StringEl (return value) => rax _rv => rdi handle => rsi data => rdx length => rcx */ TypedValue* fh_fwrite(TypedValue* _rv, Value* handle, Value* data, long length) asm("_ZN4HPHP8f_fwriteERKNS_6ObjectERKNS_6StringEl"); TypedValue * fg1_fwrite(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fwrite(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 3 if ((args-2)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-2); } case 2: break; } if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } fh_fwrite((rv), &args[-0].m_data, &args[-1].m_data, (count > 2) ? (long)(args[-2].m_data.num) : (long)(0)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fwrite(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL && count <= 3LL) { if ((count <= 2 || (args-2)->m_type == KindOfInt64) && IS_STRING_TYPE((args-1)->m_type) && (args-0)->m_type == KindOfObject) { fh_fwrite((&(rv)), &args[-0].m_data, &args[-1].m_data, (count > 2) ? (long)(args[-2].m_data.num) : (long)(0)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fwrite(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fwrite", count, 2, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fputs(HPHP::Object const&, HPHP::String const&, long) _ZN4HPHP7f_fputsERKNS_6ObjectERKNS_6StringEl (return value) => rax _rv => rdi handle => rsi data => rdx length => rcx */ TypedValue* fh_fputs(TypedValue* _rv, Value* handle, Value* data, long length) asm("_ZN4HPHP7f_fputsERKNS_6ObjectERKNS_6StringEl"); TypedValue * fg1_fputs(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fputs(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 3 if ((args-2)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-2); } case 2: break; } if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } fh_fputs((rv), &args[-0].m_data, &args[-1].m_data, (count > 2) ? (long)(args[-2].m_data.num) : (long)(0)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fputs(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL && count <= 3LL) { if ((count <= 2 || (args-2)->m_type == KindOfInt64) && IS_STRING_TYPE((args-1)->m_type) && (args-0)->m_type == KindOfObject) { fh_fputs((&(rv)), &args[-0].m_data, &args[-1].m_data, (count > 2) ? (long)(args[-2].m_data.num) : (long)(0)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fputs(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fputs", count, 2, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fprintf(int, HPHP::Object const&, HPHP::String const&, HPHP::Array const&) _ZN4HPHP9f_fprintfEiRKNS_6ObjectERKNS_6StringERKNS_5ArrayE (return value) => rax _rv => rdi _argc => rsi handle => rdx format => rcx _argv => r8 */ TypedValue* fh_fprintf(TypedValue* _rv, int64_t _argc, Value* handle, Value* format, Value* _argv) asm("_ZN4HPHP9f_fprintfEiRKNS_6ObjectERKNS_6StringERKNS_5ArrayE"); TypedValue * fg1_fprintf(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fprintf(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } Array extraArgs; { ArrayInit ai(count-2); for (int64_t i = 2; i < count; ++i) { TypedValue* extraArg = ar->getExtraArg(i-2); if (tvIsStronglyBound(extraArg)) { ai.setRef(i-2, tvAsVariant(extraArg)); } else { ai.set(i-2, tvAsVariant(extraArg)); } } extraArgs = ai.create(); } fh_fprintf((rv), (count), &args[-0].m_data, &args[-1].m_data, (Value*)(&extraArgs)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fprintf(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL) { if (IS_STRING_TYPE((args-1)->m_type) && (args-0)->m_type == KindOfObject) { Array extraArgs; { ArrayInit ai(count-2); for (int64_t i = 2; i < count; ++i) { TypedValue* extraArg = ar->getExtraArg(i-2); if (tvIsStronglyBound(extraArg)) { ai.setRef(i-2, tvAsVariant(extraArg)); } else { ai.set(i-2, tvAsVariant(extraArg)); } } extraArgs = ai.create(); } fh_fprintf((&(rv)), (count), &args[-0].m_data, &args[-1].m_data, (Value*)(&extraArgs)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fprintf(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_missing_arguments_nr("fprintf", count+1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_vfprintf(HPHP::Object const&, HPHP::String const&, HPHP::Array const&) _ZN4HPHP10f_vfprintfERKNS_6ObjectERKNS_6StringERKNS_5ArrayE (return value) => rax _rv => rdi handle => rsi format => rdx args => rcx */ TypedValue* fh_vfprintf(TypedValue* _rv, Value* handle, Value* format, Value* args) asm("_ZN4HPHP10f_vfprintfERKNS_6ObjectERKNS_6StringERKNS_5ArrayE"); TypedValue * fg1_vfprintf(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_vfprintf(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if ((args-2)->m_type != KindOfArray) { tvCastToArrayInPlace(args-2); } if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } fh_vfprintf((rv), &args[-0].m_data, &args[-1].m_data, &args[-2].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_vfprintf(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 3LL) { if ((args-2)->m_type == KindOfArray && IS_STRING_TYPE((args-1)->m_type) && (args-0)->m_type == KindOfObject) { fh_vfprintf((&(rv)), &args[-0].m_data, &args[-1].m_data, &args[-2].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_vfprintf(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("vfprintf", count, 3, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_fflush(HPHP::Object const&) _ZN4HPHP8f_fflushERKNS_6ObjectE (return value) => rax handle => rdi */ bool fh_fflush(Value* handle) asm("_ZN4HPHP8f_fflushERKNS_6ObjectE"); TypedValue * fg1_fflush(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fflush(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToObjectInPlace(args-0); rv->m_data.num = (fh_fflush(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_fflush(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_fflush(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fflush(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fflush", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_ftruncate(HPHP::Object const&, long) _ZN4HPHP11f_ftruncateERKNS_6ObjectEl (return value) => rax handle => rdi size => rsi */ bool fh_ftruncate(Value* handle, long size) asm("_ZN4HPHP11f_ftruncateERKNS_6ObjectEl"); TypedValue * fg1_ftruncate(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_ftruncate(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } rv->m_data.num = (fh_ftruncate(&args[-0].m_data, (long)(args[-1].m_data.num))) ? 1LL : 0LL; return rv; } TypedValue* fg_ftruncate(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if ((args-1)->m_type == KindOfInt64 && (args-0)->m_type == KindOfObject) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_ftruncate(&args[-0].m_data, (long)(args[-1].m_data.num))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_ftruncate(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("ftruncate", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_flock(HPHP::Object const&, int, HPHP::VRefParamValue const&) _ZN4HPHP7f_flockERKNS_6ObjectEiRKNS_14VRefParamValueE (return value) => rax handle => rdi operation => rsi wouldblock => rdx */ bool fh_flock(Value* handle, int operation, TypedValue* wouldblock) asm("_ZN4HPHP7f_flockERKNS_6ObjectEiRKNS_14VRefParamValueE"); TypedValue * fg1_flock(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_flock(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; switch (count) { default: // count >= 3 case 2: break; } if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } VRefParamValue defVal2 = uninit_null(); rv->m_data.num = (fh_flock(&args[-0].m_data, (int)(args[-1].m_data.num), (count > 2) ? (args-2) : (TypedValue*)(&defVal2))) ? 1LL : 0LL; return rv; } TypedValue* fg_flock(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL && count <= 3LL) { if ((args-1)->m_type == KindOfInt64 && (args-0)->m_type == KindOfObject) { rv.m_type = KindOfBoolean; VRefParamValue defVal2 = uninit_null(); rv.m_data.num = (fh_flock(&args[-0].m_data, (int)(args[-1].m_data.num), (count > 2) ? (args-2) : (TypedValue*)(&defVal2))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_flock(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("flock", count, 2, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fputcsv(HPHP::Object const&, HPHP::Array const&, HPHP::String const&, HPHP::String const&) _ZN4HPHP9f_fputcsvERKNS_6ObjectERKNS_5ArrayERKNS_6StringES8_ (return value) => rax _rv => rdi handle => rsi fields => rdx delimiter => rcx enclosure => r8 */ TypedValue* fh_fputcsv(TypedValue* _rv, Value* handle, Value* fields, Value* delimiter, Value* enclosure) asm("_ZN4HPHP9f_fputcsvERKNS_6ObjectERKNS_5ArrayERKNS_6StringES8_"); TypedValue * fg1_fputcsv(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fputcsv(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 4 if (!IS_STRING_TYPE((args-3)->m_type)) { tvCastToStringInPlace(args-3); } case 3: if (!IS_STRING_TYPE((args-2)->m_type)) { tvCastToStringInPlace(args-2); } case 2: break; } if ((args-1)->m_type != KindOfArray) { tvCastToArrayInPlace(args-1); } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } String defVal2 = ","; String defVal3 = "\""; fh_fputcsv((rv), &args[-0].m_data, &args[-1].m_data, (count > 2) ? &args[-2].m_data : (Value*)(&defVal2), (count > 3) ? &args[-3].m_data : (Value*)(&defVal3)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fputcsv(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL && count <= 4LL) { if ((count <= 3 || IS_STRING_TYPE((args-3)->m_type)) && (count <= 2 || IS_STRING_TYPE((args-2)->m_type)) && (args-1)->m_type == KindOfArray && (args-0)->m_type == KindOfObject) { String defVal2 = ","; String defVal3 = "\""; fh_fputcsv((&(rv)), &args[-0].m_data, &args[-1].m_data, (count > 2) ? &args[-2].m_data : (Value*)(&defVal2), (count > 3) ? &args[-3].m_data : (Value*)(&defVal3)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fputcsv(&rv, ar, count); frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fputcsv", count, 2, 4, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fgetcsv(HPHP::Object const&, long, HPHP::String const&, HPHP::String const&) _ZN4HPHP9f_fgetcsvERKNS_6ObjectElRKNS_6StringES5_ (return value) => rax _rv => rdi handle => rsi length => rdx delimiter => rcx enclosure => r8 */ TypedValue* fh_fgetcsv(TypedValue* _rv, Value* handle, long length, Value* delimiter, Value* enclosure) asm("_ZN4HPHP9f_fgetcsvERKNS_6ObjectElRKNS_6StringES5_"); TypedValue * fg1_fgetcsv(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fgetcsv(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 4 if (!IS_STRING_TYPE((args-3)->m_type)) { tvCastToStringInPlace(args-3); } case 3: if (!IS_STRING_TYPE((args-2)->m_type)) { tvCastToStringInPlace(args-2); } case 2: if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } case 1: break; } if ((args-0)->m_type != KindOfObject) { tvCastToObjectInPlace(args-0); } String defVal2 = ","; String defVal3 = "\""; fh_fgetcsv((rv), &args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(0), (count > 2) ? &args[-2].m_data : (Value*)(&defVal2), (count > 3) ? &args[-3].m_data : (Value*)(&defVal3)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fgetcsv(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 4LL) { if ((count <= 3 || IS_STRING_TYPE((args-3)->m_type)) && (count <= 2 || IS_STRING_TYPE((args-2)->m_type)) && (count <= 1 || (args-1)->m_type == KindOfInt64) && (args-0)->m_type == KindOfObject) { String defVal2 = ","; String defVal3 = "\""; fh_fgetcsv((&(rv)), &args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(0), (count > 2) ? &args[-2].m_data : (Value*)(&defVal2), (count > 3) ? &args[-3].m_data : (Value*)(&defVal3)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fgetcsv(&rv, ar, count); frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fgetcsv", count, 1, 4, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_file_get_contents(HPHP::String const&, bool, HPHP::Variant const&, long, long) _ZN4HPHP19f_file_get_contentsERKNS_6StringEbRKNS_7VariantEll (return value) => rax _rv => rdi filename => rsi use_include_path => rdx context => rcx offset => r8 maxlen => r9 */ TypedValue* fh_file_get_contents(TypedValue* _rv, Value* filename, bool use_include_path, TypedValue* context, long offset, long maxlen) asm("_ZN4HPHP19f_file_get_contentsERKNS_6StringEbRKNS_7VariantEll"); TypedValue * fg1_file_get_contents(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_file_get_contents(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 5 if ((args-4)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-4); } case 4: if ((args-3)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-3); } case 3: case 2: if ((args-1)->m_type != KindOfBoolean) { tvCastToBooleanInPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } Variant defVal2; fh_file_get_contents((rv), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false), (count > 2) ? (args-2) : (TypedValue*)(&defVal2), (count > 3) ? (long)(args[-3].m_data.num) : (long)(0), (count > 4) ? (long)(args[-4].m_data.num) : (long)(0)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_file_get_contents(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 5LL) { if ((count <= 4 || (args-4)->m_type == KindOfInt64) && (count <= 3 || (args-3)->m_type == KindOfInt64) && (count <= 1 || (args-1)->m_type == KindOfBoolean) && IS_STRING_TYPE((args-0)->m_type)) { Variant defVal2; fh_file_get_contents((&(rv)), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false), (count > 2) ? (args-2) : (TypedValue*)(&defVal2), (count > 3) ? (long)(args[-3].m_data.num) : (long)(0), (count > 4) ? (long)(args[-4].m_data.num) : (long)(0)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 5); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_file_get_contents(&rv, ar, count); frame_free_locals_no_this_inl(ar, 5); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("file_get_contents", count, 1, 5, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 5); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_file_put_contents(HPHP::String const&, HPHP::Variant const&, int, HPHP::Variant const&) _ZN4HPHP19f_file_put_contentsERKNS_6StringERKNS_7VariantEiS5_ (return value) => rax _rv => rdi filename => rsi data => rdx flags => rcx context => r8 */ TypedValue* fh_file_put_contents(TypedValue* _rv, Value* filename, TypedValue* data, int flags, TypedValue* context) asm("_ZN4HPHP19f_file_put_contentsERKNS_6StringERKNS_7VariantEiS5_"); TypedValue * fg1_file_put_contents(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_file_put_contents(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 4 case 3: if ((args-2)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-2); } case 2: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } Variant defVal3; fh_file_put_contents((rv), &args[-0].m_data, (args-1), (count > 2) ? (int)(args[-2].m_data.num) : (int)(0), (count > 3) ? (args-3) : (TypedValue*)(&defVal3)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_file_put_contents(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL && count <= 4LL) { if ((count <= 2 || (args-2)->m_type == KindOfInt64) && IS_STRING_TYPE((args-0)->m_type)) { Variant defVal3; fh_file_put_contents((&(rv)), &args[-0].m_data, (args-1), (count > 2) ? (int)(args[-2].m_data.num) : (int)(0), (count > 3) ? (args-3) : (TypedValue*)(&defVal3)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_file_put_contents(&rv, ar, count); frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("file_put_contents", count, 2, 4, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_file(HPHP::String const&, int, HPHP::Variant const&) _ZN4HPHP6f_fileERKNS_6StringEiRKNS_7VariantE (return value) => rax _rv => rdi filename => rsi flags => rdx context => rcx */ TypedValue* fh_file(TypedValue* _rv, Value* filename, int flags, TypedValue* context) asm("_ZN4HPHP6f_fileERKNS_6StringEiRKNS_7VariantE"); TypedValue * fg1_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 3 case 2: if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } Variant defVal2; fh_file((rv), &args[-0].m_data, (count > 1) ? (int)(args[-1].m_data.num) : (int)(0), (count > 2) ? (args-2) : (TypedValue*)(&defVal2)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_file(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 3LL) { if ((count <= 1 || (args-1)->m_type == KindOfInt64) && IS_STRING_TYPE((args-0)->m_type)) { Variant defVal2; fh_file((&(rv)), &args[-0].m_data, (count > 1) ? (int)(args[-1].m_data.num) : (int)(0), (count > 2) ? (args-2) : (TypedValue*)(&defVal2)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_file(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("file", count, 1, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_readfile(HPHP::String const&, bool, HPHP::Variant const&) _ZN4HPHP10f_readfileERKNS_6StringEbRKNS_7VariantE (return value) => rax _rv => rdi filename => rsi use_include_path => rdx context => rcx */ TypedValue* fh_readfile(TypedValue* _rv, Value* filename, bool use_include_path, TypedValue* context) asm("_ZN4HPHP10f_readfileERKNS_6StringEbRKNS_7VariantE"); TypedValue * fg1_readfile(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_readfile(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 3 case 2: if ((args-1)->m_type != KindOfBoolean) { tvCastToBooleanInPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } Variant defVal2; fh_readfile((rv), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false), (count > 2) ? (args-2) : (TypedValue*)(&defVal2)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_readfile(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 3LL) { if ((count <= 1 || (args-1)->m_type == KindOfBoolean) && IS_STRING_TYPE((args-0)->m_type)) { Variant defVal2; fh_readfile((&(rv)), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false), (count > 2) ? (args-2) : (TypedValue*)(&defVal2)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_readfile(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("readfile", count, 1, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_move_uploaded_file(HPHP::String const&, HPHP::String const&) _ZN4HPHP20f_move_uploaded_fileERKNS_6StringES2_ (return value) => rax filename => rdi destination => rsi */ bool fh_move_uploaded_file(Value* filename, Value* destination) asm("_ZN4HPHP20f_move_uploaded_fileERKNS_6StringES2_"); TypedValue * fg1_move_uploaded_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_move_uploaded_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } rv->m_data.num = (fh_move_uploaded_file(&args[-0].m_data, &args[-1].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_move_uploaded_file(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if (IS_STRING_TYPE((args-1)->m_type) && IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_move_uploaded_file(&args[-0].m_data, &args[-1].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_move_uploaded_file(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("move_uploaded_file", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_parse_ini_file(HPHP::String const&, bool, int) _ZN4HPHP16f_parse_ini_fileERKNS_6StringEbi (return value) => rax _rv => rdi filename => rsi process_sections => rdx scanner_mode => rcx */ TypedValue* fh_parse_ini_file(TypedValue* _rv, Value* filename, bool process_sections, int scanner_mode) asm("_ZN4HPHP16f_parse_ini_fileERKNS_6StringEbi"); TypedValue * fg1_parse_ini_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_parse_ini_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 3 if ((args-2)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-2); } case 2: if ((args-1)->m_type != KindOfBoolean) { tvCastToBooleanInPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } fh_parse_ini_file((rv), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false), (count > 2) ? (int)(args[-2].m_data.num) : (int)(k_INI_SCANNER_NORMAL)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_parse_ini_file(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 3LL) { if ((count <= 2 || (args-2)->m_type == KindOfInt64) && (count <= 1 || (args-1)->m_type == KindOfBoolean) && IS_STRING_TYPE((args-0)->m_type)) { fh_parse_ini_file((&(rv)), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false), (count > 2) ? (int)(args[-2].m_data.num) : (int)(k_INI_SCANNER_NORMAL)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_parse_ini_file(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("parse_ini_file", count, 1, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_parse_ini_string(HPHP::String const&, bool, int) _ZN4HPHP18f_parse_ini_stringERKNS_6StringEbi (return value) => rax _rv => rdi ini => rsi process_sections => rdx scanner_mode => rcx */ TypedValue* fh_parse_ini_string(TypedValue* _rv, Value* ini, bool process_sections, int scanner_mode) asm("_ZN4HPHP18f_parse_ini_stringERKNS_6StringEbi"); TypedValue * fg1_parse_ini_string(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_parse_ini_string(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 3 if ((args-2)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-2); } case 2: if ((args-1)->m_type != KindOfBoolean) { tvCastToBooleanInPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } fh_parse_ini_string((rv), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false), (count > 2) ? (int)(args[-2].m_data.num) : (int)(k_INI_SCANNER_NORMAL)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_parse_ini_string(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 3LL) { if ((count <= 2 || (args-2)->m_type == KindOfInt64) && (count <= 1 || (args-1)->m_type == KindOfBoolean) && IS_STRING_TYPE((args-0)->m_type)) { fh_parse_ini_string((&(rv)), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false), (count > 2) ? (int)(args[-2].m_data.num) : (int)(k_INI_SCANNER_NORMAL)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_parse_ini_string(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("parse_ini_string", count, 1, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_parse_hdf_file(HPHP::String const&) _ZN4HPHP16f_parse_hdf_fileERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_parse_hdf_file(TypedValue* _rv, Value* filename) asm("_ZN4HPHP16f_parse_hdf_fileERKNS_6StringE"); TypedValue * fg1_parse_hdf_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_parse_hdf_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_parse_hdf_file((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_parse_hdf_file(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_parse_hdf_file((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_parse_hdf_file(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("parse_hdf_file", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_parse_hdf_string(HPHP::String const&) _ZN4HPHP18f_parse_hdf_stringERKNS_6StringE (return value) => rax _rv => rdi input => rsi */ TypedValue* fh_parse_hdf_string(TypedValue* _rv, Value* input) asm("_ZN4HPHP18f_parse_hdf_stringERKNS_6StringE"); TypedValue * fg1_parse_hdf_string(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_parse_hdf_string(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_parse_hdf_string((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_parse_hdf_string(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_parse_hdf_string((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_parse_hdf_string(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("parse_hdf_string", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_write_hdf_file(HPHP::Array const&, HPHP::String const&) _ZN4HPHP16f_write_hdf_fileERKNS_5ArrayERKNS_6StringE (return value) => rax data => rdi filename => rsi */ bool fh_write_hdf_file(Value* data, Value* filename) asm("_ZN4HPHP16f_write_hdf_fileERKNS_5ArrayERKNS_6StringE"); TypedValue * fg1_write_hdf_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_write_hdf_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if ((args-0)->m_type != KindOfArray) { tvCastToArrayInPlace(args-0); } rv->m_data.num = (fh_write_hdf_file(&args[-0].m_data, &args[-1].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_write_hdf_file(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if (IS_STRING_TYPE((args-1)->m_type) && (args-0)->m_type == KindOfArray) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_write_hdf_file(&args[-0].m_data, &args[-1].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_write_hdf_file(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("write_hdf_file", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::String HPHP::f_write_hdf_string(HPHP::Array const&) _ZN4HPHP18f_write_hdf_stringERKNS_5ArrayE (return value) => rax _rv => rdi data => rsi */ Value* fh_write_hdf_string(Value* _rv, Value* data) asm("_ZN4HPHP18f_write_hdf_stringERKNS_5ArrayE"); TypedValue * fg1_write_hdf_string(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_write_hdf_string(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfString; tvCastToArrayInPlace(args-0); fh_write_hdf_string((&rv->m_data), &args[-0].m_data); if (rv->m_data.num == 0LL) rv->m_type = KindOfNull; return rv; } TypedValue* fg_write_hdf_string(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfArray) { rv.m_type = KindOfString; fh_write_hdf_string((&rv.m_data), &args[-0].m_data); if (rv.m_data.num == 0LL) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_write_hdf_string(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("write_hdf_string", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_md5_file(HPHP::String const&, bool) _ZN4HPHP10f_md5_fileERKNS_6StringEb (return value) => rax _rv => rdi filename => rsi raw_output => rdx */ TypedValue* fh_md5_file(TypedValue* _rv, Value* filename, bool raw_output) asm("_ZN4HPHP10f_md5_fileERKNS_6StringEb"); TypedValue * fg1_md5_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_md5_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 2 if ((args-1)->m_type != KindOfBoolean) { tvCastToBooleanInPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } fh_md5_file((rv), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_md5_file(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 2LL) { if ((count <= 1 || (args-1)->m_type == KindOfBoolean) && IS_STRING_TYPE((args-0)->m_type)) { fh_md5_file((&(rv)), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_md5_file(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("md5_file", count, 1, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_sha1_file(HPHP::String const&, bool) _ZN4HPHP11f_sha1_fileERKNS_6StringEb (return value) => rax _rv => rdi filename => rsi raw_output => rdx */ TypedValue* fh_sha1_file(TypedValue* _rv, Value* filename, bool raw_output) asm("_ZN4HPHP11f_sha1_fileERKNS_6StringEb"); TypedValue * fg1_sha1_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_sha1_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 2 if ((args-1)->m_type != KindOfBoolean) { tvCastToBooleanInPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } fh_sha1_file((rv), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_sha1_file(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 2LL) { if ((count <= 1 || (args-1)->m_type == KindOfBoolean) && IS_STRING_TYPE((args-0)->m_type)) { fh_sha1_file((&(rv)), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_sha1_file(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("sha1_file", count, 1, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_chmod(HPHP::String const&, long) _ZN4HPHP7f_chmodERKNS_6StringEl (return value) => rax filename => rdi mode => rsi */ bool fh_chmod(Value* filename, long mode) asm("_ZN4HPHP7f_chmodERKNS_6StringEl"); TypedValue * fg1_chmod(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_chmod(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } rv->m_data.num = (fh_chmod(&args[-0].m_data, (long)(args[-1].m_data.num))) ? 1LL : 0LL; return rv; } TypedValue* fg_chmod(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if ((args-1)->m_type == KindOfInt64 && IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_chmod(&args[-0].m_data, (long)(args[-1].m_data.num))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_chmod(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("chmod", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_chown(HPHP::String const&, HPHP::Variant const&) _ZN4HPHP7f_chownERKNS_6StringERKNS_7VariantE (return value) => rax filename => rdi user => rsi */ bool fh_chown(Value* filename, TypedValue* user) asm("_ZN4HPHP7f_chownERKNS_6StringERKNS_7VariantE"); TypedValue * fg1_chown(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_chown(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_chown(&args[-0].m_data, (args-1))) ? 1LL : 0LL; return rv; } TypedValue* fg_chown(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_chown(&args[-0].m_data, (args-1))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_chown(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("chown", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_lchown(HPHP::String const&, HPHP::Variant const&) _ZN4HPHP8f_lchownERKNS_6StringERKNS_7VariantE (return value) => rax filename => rdi user => rsi */ bool fh_lchown(Value* filename, TypedValue* user) asm("_ZN4HPHP8f_lchownERKNS_6StringERKNS_7VariantE"); TypedValue * fg1_lchown(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_lchown(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_lchown(&args[-0].m_data, (args-1))) ? 1LL : 0LL; return rv; } TypedValue* fg_lchown(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_lchown(&args[-0].m_data, (args-1))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_lchown(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("lchown", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_chgrp(HPHP::String const&, HPHP::Variant const&) _ZN4HPHP7f_chgrpERKNS_6StringERKNS_7VariantE (return value) => rax filename => rdi group => rsi */ bool fh_chgrp(Value* filename, TypedValue* group) asm("_ZN4HPHP7f_chgrpERKNS_6StringERKNS_7VariantE"); TypedValue * fg1_chgrp(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_chgrp(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_chgrp(&args[-0].m_data, (args-1))) ? 1LL : 0LL; return rv; } TypedValue* fg_chgrp(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_chgrp(&args[-0].m_data, (args-1))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_chgrp(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("chgrp", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_lchgrp(HPHP::String const&, HPHP::Variant const&) _ZN4HPHP8f_lchgrpERKNS_6StringERKNS_7VariantE (return value) => rax filename => rdi group => rsi */ bool fh_lchgrp(Value* filename, TypedValue* group) asm("_ZN4HPHP8f_lchgrpERKNS_6StringERKNS_7VariantE"); TypedValue * fg1_lchgrp(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_lchgrp(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_lchgrp(&args[-0].m_data, (args-1))) ? 1LL : 0LL; return rv; } TypedValue* fg_lchgrp(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_lchgrp(&args[-0].m_data, (args-1))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_lchgrp(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("lchgrp", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_touch(HPHP::String const&, long, long) _ZN4HPHP7f_touchERKNS_6StringEll (return value) => rax filename => rdi mtime => rsi atime => rdx */ bool fh_touch(Value* filename, long mtime, long atime) asm("_ZN4HPHP7f_touchERKNS_6StringEll"); TypedValue * fg1_touch(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_touch(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; switch (count) { default: // count >= 3 if ((args-2)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-2); } case 2: if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } rv->m_data.num = (fh_touch(&args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(0), (count > 2) ? (long)(args[-2].m_data.num) : (long)(0))) ? 1LL : 0LL; return rv; } TypedValue* fg_touch(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 3LL) { if ((count <= 2 || (args-2)->m_type == KindOfInt64) && (count <= 1 || (args-1)->m_type == KindOfInt64) && IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_touch(&args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(0), (count > 2) ? (long)(args[-2].m_data.num) : (long)(0))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_touch(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("touch", count, 1, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_copy(HPHP::String const&, HPHP::String const&, HPHP::Variant const&) _ZN4HPHP6f_copyERKNS_6StringES2_RKNS_7VariantE (return value) => rax source => rdi dest => rsi context => rdx */ bool fh_copy(Value* source, Value* dest, TypedValue* context) asm("_ZN4HPHP6f_copyERKNS_6StringES2_RKNS_7VariantE"); TypedValue * fg1_copy(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_copy(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; switch (count) { default: // count >= 3 case 2: break; } if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } Variant defVal2; rv->m_data.num = (fh_copy(&args[-0].m_data, &args[-1].m_data, (count > 2) ? (args-2) : (TypedValue*)(&defVal2))) ? 1LL : 0LL; return rv; } TypedValue* fg_copy(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL && count <= 3LL) { if (IS_STRING_TYPE((args-1)->m_type) && IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; Variant defVal2; rv.m_data.num = (fh_copy(&args[-0].m_data, &args[-1].m_data, (count > 2) ? (args-2) : (TypedValue*)(&defVal2))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_copy(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("copy", count, 2, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_rename(HPHP::String const&, HPHP::String const&, HPHP::Variant const&) _ZN4HPHP8f_renameERKNS_6StringES2_RKNS_7VariantE (return value) => rax oldname => rdi newname => rsi context => rdx */ bool fh_rename(Value* oldname, Value* newname, TypedValue* context) asm("_ZN4HPHP8f_renameERKNS_6StringES2_RKNS_7VariantE"); TypedValue * fg1_rename(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_rename(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; switch (count) { default: // count >= 3 case 2: break; } if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } Variant defVal2; rv->m_data.num = (fh_rename(&args[-0].m_data, &args[-1].m_data, (count > 2) ? (args-2) : (TypedValue*)(&defVal2))) ? 1LL : 0LL; return rv; } TypedValue* fg_rename(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL && count <= 3LL) { if (IS_STRING_TYPE((args-1)->m_type) && IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; Variant defVal2; rv.m_data.num = (fh_rename(&args[-0].m_data, &args[-1].m_data, (count > 2) ? (args-2) : (TypedValue*)(&defVal2))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_rename(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("rename", count, 2, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* long HPHP::f_umask(HPHP::Variant const&) _ZN4HPHP7f_umaskERKNS_7VariantE (return value) => rax mask => rdi */ long fh_umask(TypedValue* mask) asm("_ZN4HPHP7f_umaskERKNS_7VariantE"); TypedValue* fg_umask(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count <= 1LL) { rv.m_type = KindOfInt64; rv.m_data.num = (int64_t)fh_umask((count > 0) ? (args-0) : (TypedValue*)(&null_variant)); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { throw_toomany_arguments_nr("umask", 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_unlink(HPHP::String const&, HPHP::Variant const&) _ZN4HPHP8f_unlinkERKNS_6StringERKNS_7VariantE (return value) => rax filename => rdi context => rsi */ bool fh_unlink(Value* filename, TypedValue* context) asm("_ZN4HPHP8f_unlinkERKNS_6StringERKNS_7VariantE"); TypedValue * fg1_unlink(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_unlink(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); Variant defVal1; rv->m_data.num = (fh_unlink(&args[-0].m_data, (count > 1) ? (args-1) : (TypedValue*)(&defVal1))) ? 1LL : 0LL; return rv; } TypedValue* fg_unlink(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 2LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; Variant defVal1; rv.m_data.num = (fh_unlink(&args[-0].m_data, (count > 1) ? (args-1) : (TypedValue*)(&defVal1))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_unlink(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("unlink", count, 1, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_link(HPHP::String const&, HPHP::String const&) _ZN4HPHP6f_linkERKNS_6StringES2_ (return value) => rax target => rdi link => rsi */ bool fh_link(Value* target, Value* link) asm("_ZN4HPHP6f_linkERKNS_6StringES2_"); TypedValue * fg1_link(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_link(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } rv->m_data.num = (fh_link(&args[-0].m_data, &args[-1].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_link(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if (IS_STRING_TYPE((args-1)->m_type) && IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_link(&args[-0].m_data, &args[-1].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_link(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("link", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_symlink(HPHP::String const&, HPHP::String const&) _ZN4HPHP9f_symlinkERKNS_6StringES2_ (return value) => rax target => rdi link => rsi */ bool fh_symlink(Value* target, Value* link) asm("_ZN4HPHP9f_symlinkERKNS_6StringES2_"); TypedValue * fg1_symlink(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_symlink(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } rv->m_data.num = (fh_symlink(&args[-0].m_data, &args[-1].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_symlink(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if (IS_STRING_TYPE((args-1)->m_type) && IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_symlink(&args[-0].m_data, &args[-1].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_symlink(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("symlink", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::String HPHP::f_basename(HPHP::String const&, HPHP::String const&) _ZN4HPHP10f_basenameERKNS_6StringES2_ (return value) => rax _rv => rdi path => rsi suffix => rdx */ Value* fh_basename(Value* _rv, Value* path, Value* suffix) asm("_ZN4HPHP10f_basenameERKNS_6StringES2_"); TypedValue * fg1_basename(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_basename(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfString; switch (count) { default: // count >= 2 if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } fh_basename((&rv->m_data), &args[-0].m_data, (count > 1) ? &args[-1].m_data : (Value*)(&null_string)); if (rv->m_data.num == 0LL) rv->m_type = KindOfNull; return rv; } TypedValue* fg_basename(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 2LL) { if ((count <= 1 || IS_STRING_TYPE((args-1)->m_type)) && IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfString; fh_basename((&rv.m_data), &args[-0].m_data, (count > 1) ? &args[-1].m_data : (Value*)(&null_string)); if (rv.m_data.num == 0LL) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_basename(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("basename", count, 1, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_fnmatch(HPHP::String const&, HPHP::String const&, int) _ZN4HPHP9f_fnmatchERKNS_6StringES2_i (return value) => rax pattern => rdi filename => rsi flags => rdx */ bool fh_fnmatch(Value* pattern, Value* filename, int flags) asm("_ZN4HPHP9f_fnmatchERKNS_6StringES2_i"); TypedValue * fg1_fnmatch(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fnmatch(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; switch (count) { default: // count >= 3 if ((args-2)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-2); } case 2: break; } if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } rv->m_data.num = (fh_fnmatch(&args[-0].m_data, &args[-1].m_data, (count > 2) ? (int)(args[-2].m_data.num) : (int)(0))) ? 1LL : 0LL; return rv; } TypedValue* fg_fnmatch(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 2LL && count <= 3LL) { if ((count <= 2 || (args-2)->m_type == KindOfInt64) && IS_STRING_TYPE((args-1)->m_type) && IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_fnmatch(&args[-0].m_data, &args[-1].m_data, (count > 2) ? (int)(args[-2].m_data.num) : (int)(0))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fnmatch(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fnmatch", count, 2, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_glob(HPHP::String const&, int) _ZN4HPHP6f_globERKNS_6StringEi (return value) => rax _rv => rdi pattern => rsi flags => rdx */ TypedValue* fh_glob(TypedValue* _rv, Value* pattern, int flags) asm("_ZN4HPHP6f_globERKNS_6StringEi"); TypedValue * fg1_glob(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_glob(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 2 if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } fh_glob((rv), &args[-0].m_data, (count > 1) ? (int)(args[-1].m_data.num) : (int)(0)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_glob(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 2LL) { if ((count <= 1 || (args-1)->m_type == KindOfInt64) && IS_STRING_TYPE((args-0)->m_type)) { fh_glob((&(rv)), &args[-0].m_data, (count > 1) ? (int)(args[-1].m_data.num) : (int)(0)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_glob(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("glob", count, 1, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_tempnam(HPHP::String const&, HPHP::String const&) _ZN4HPHP9f_tempnamERKNS_6StringES2_ (return value) => rax _rv => rdi dir => rsi prefix => rdx */ TypedValue* fh_tempnam(TypedValue* _rv, Value* dir, Value* prefix) asm("_ZN4HPHP9f_tempnamERKNS_6StringES2_"); TypedValue * fg1_tempnam(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_tempnam(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (!IS_STRING_TYPE((args-1)->m_type)) { tvCastToStringInPlace(args-1); } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } fh_tempnam((rv), &args[-0].m_data, &args[-1].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_tempnam(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 2LL) { if (IS_STRING_TYPE((args-1)->m_type) && IS_STRING_TYPE((args-0)->m_type)) { fh_tempnam((&(rv)), &args[-0].m_data, &args[-1].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_tempnam(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("tempnam", count, 2, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_tmpfile() _ZN4HPHP9f_tmpfileEv (return value) => rax _rv => rdi */ TypedValue* fh_tmpfile(TypedValue* _rv) asm("_ZN4HPHP9f_tmpfileEv"); TypedValue* fg_tmpfile(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 0LL) { fh_tmpfile((&(rv))); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 0); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { throw_toomany_arguments_nr("tmpfile", 0, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 0); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fileperms(HPHP::String const&) _ZN4HPHP11f_filepermsERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_fileperms(TypedValue* _rv, Value* filename) asm("_ZN4HPHP11f_filepermsERKNS_6StringE"); TypedValue * fg1_fileperms(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fileperms(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_fileperms((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fileperms(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_fileperms((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fileperms(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fileperms", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fileinode(HPHP::String const&) _ZN4HPHP11f_fileinodeERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_fileinode(TypedValue* _rv, Value* filename) asm("_ZN4HPHP11f_fileinodeERKNS_6StringE"); TypedValue * fg1_fileinode(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fileinode(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_fileinode((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fileinode(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_fileinode((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fileinode(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fileinode", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_filesize(HPHP::String const&) _ZN4HPHP10f_filesizeERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_filesize(TypedValue* _rv, Value* filename) asm("_ZN4HPHP10f_filesizeERKNS_6StringE"); TypedValue * fg1_filesize(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_filesize(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_filesize((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_filesize(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_filesize((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_filesize(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("filesize", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fileowner(HPHP::String const&) _ZN4HPHP11f_fileownerERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_fileowner(TypedValue* _rv, Value* filename) asm("_ZN4HPHP11f_fileownerERKNS_6StringE"); TypedValue * fg1_fileowner(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fileowner(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_fileowner((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fileowner(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_fileowner((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fileowner(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fileowner", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_filegroup(HPHP::String const&) _ZN4HPHP11f_filegroupERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_filegroup(TypedValue* _rv, Value* filename) asm("_ZN4HPHP11f_filegroupERKNS_6StringE"); TypedValue * fg1_filegroup(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_filegroup(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_filegroup((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_filegroup(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_filegroup((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_filegroup(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("filegroup", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_fileatime(HPHP::String const&) _ZN4HPHP11f_fileatimeERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_fileatime(TypedValue* _rv, Value* filename) asm("_ZN4HPHP11f_fileatimeERKNS_6StringE"); TypedValue * fg1_fileatime(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_fileatime(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_fileatime((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_fileatime(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_fileatime((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_fileatime(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("fileatime", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_filemtime(HPHP::String const&) _ZN4HPHP11f_filemtimeERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_filemtime(TypedValue* _rv, Value* filename) asm("_ZN4HPHP11f_filemtimeERKNS_6StringE"); TypedValue * fg1_filemtime(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_filemtime(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_filemtime((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_filemtime(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_filemtime((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_filemtime(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("filemtime", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_filectime(HPHP::String const&) _ZN4HPHP11f_filectimeERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_filectime(TypedValue* _rv, Value* filename) asm("_ZN4HPHP11f_filectimeERKNS_6StringE"); TypedValue * fg1_filectime(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_filectime(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_filectime((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_filectime(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_filectime((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_filectime(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("filectime", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_filetype(HPHP::String const&) _ZN4HPHP10f_filetypeERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_filetype(TypedValue* _rv, Value* filename) asm("_ZN4HPHP10f_filetypeERKNS_6StringE"); TypedValue * fg1_filetype(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_filetype(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_filetype((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_filetype(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_filetype((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_filetype(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("filetype", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_linkinfo(HPHP::String const&) _ZN4HPHP10f_linkinfoERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_linkinfo(TypedValue* _rv, Value* filename) asm("_ZN4HPHP10f_linkinfoERKNS_6StringE"); TypedValue * fg1_linkinfo(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_linkinfo(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_linkinfo((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_linkinfo(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_linkinfo((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_linkinfo(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("linkinfo", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_is_writable(HPHP::String const&) _ZN4HPHP13f_is_writableERKNS_6StringE (return value) => rax filename => rdi */ bool fh_is_writable(Value* filename) asm("_ZN4HPHP13f_is_writableERKNS_6StringE"); TypedValue * fg1_is_writable(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_is_writable(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_is_writable(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_is_writable(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_is_writable(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_is_writable(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("is_writable", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_is_writeable(HPHP::String const&) _ZN4HPHP14f_is_writeableERKNS_6StringE (return value) => rax filename => rdi */ bool fh_is_writeable(Value* filename) asm("_ZN4HPHP14f_is_writeableERKNS_6StringE"); TypedValue * fg1_is_writeable(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_is_writeable(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_is_writeable(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_is_writeable(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_is_writeable(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_is_writeable(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("is_writeable", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_is_readable(HPHP::String const&) _ZN4HPHP13f_is_readableERKNS_6StringE (return value) => rax filename => rdi */ bool fh_is_readable(Value* filename) asm("_ZN4HPHP13f_is_readableERKNS_6StringE"); TypedValue * fg1_is_readable(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_is_readable(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_is_readable(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_is_readable(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_is_readable(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_is_readable(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("is_readable", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_is_executable(HPHP::String const&) _ZN4HPHP15f_is_executableERKNS_6StringE (return value) => rax filename => rdi */ bool fh_is_executable(Value* filename) asm("_ZN4HPHP15f_is_executableERKNS_6StringE"); TypedValue * fg1_is_executable(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_is_executable(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_is_executable(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_is_executable(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_is_executable(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_is_executable(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("is_executable", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_is_file(HPHP::String const&) _ZN4HPHP9f_is_fileERKNS_6StringE (return value) => rax filename => rdi */ bool fh_is_file(Value* filename) asm("_ZN4HPHP9f_is_fileERKNS_6StringE"); TypedValue * fg1_is_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_is_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_is_file(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_is_file(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_is_file(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_is_file(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("is_file", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_is_dir(HPHP::String const&) _ZN4HPHP8f_is_dirERKNS_6StringE (return value) => rax filename => rdi */ bool fh_is_dir(Value* filename) asm("_ZN4HPHP8f_is_dirERKNS_6StringE"); TypedValue * fg1_is_dir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_is_dir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_is_dir(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_is_dir(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_is_dir(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_is_dir(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("is_dir", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_is_link(HPHP::String const&) _ZN4HPHP9f_is_linkERKNS_6StringE (return value) => rax filename => rdi */ bool fh_is_link(Value* filename) asm("_ZN4HPHP9f_is_linkERKNS_6StringE"); TypedValue * fg1_is_link(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_is_link(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_is_link(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_is_link(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_is_link(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_is_link(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("is_link", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_is_uploaded_file(HPHP::String const&) _ZN4HPHP18f_is_uploaded_fileERKNS_6StringE (return value) => rax filename => rdi */ bool fh_is_uploaded_file(Value* filename) asm("_ZN4HPHP18f_is_uploaded_fileERKNS_6StringE"); TypedValue * fg1_is_uploaded_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_is_uploaded_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_is_uploaded_file(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_is_uploaded_file(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_is_uploaded_file(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_is_uploaded_file(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("is_uploaded_file", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_file_exists(HPHP::String const&) _ZN4HPHP13f_file_existsERKNS_6StringE (return value) => rax filename => rdi */ bool fh_file_exists(Value* filename) asm("_ZN4HPHP13f_file_existsERKNS_6StringE"); TypedValue * fg1_file_exists(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_file_exists(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_file_exists(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_file_exists(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_file_exists(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_file_exists(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("file_exists", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_stat(HPHP::String const&) _ZN4HPHP6f_statERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_stat(TypedValue* _rv, Value* filename) asm("_ZN4HPHP6f_statERKNS_6StringE"); TypedValue * fg1_stat(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_stat(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_stat((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_stat(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_stat((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_stat(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("stat", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_lstat(HPHP::String const&) _ZN4HPHP7f_lstatERKNS_6StringE (return value) => rax _rv => rdi filename => rsi */ TypedValue* fh_lstat(TypedValue* _rv, Value* filename) asm("_ZN4HPHP7f_lstatERKNS_6StringE"); TypedValue * fg1_lstat(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_lstat(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_lstat((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_lstat(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_lstat((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_lstat(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("lstat", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* void HPHP::f_clearstatcache() _ZN4HPHP16f_clearstatcacheEv */ void fh_clearstatcache() asm("_ZN4HPHP16f_clearstatcacheEv"); TypedValue* fg_clearstatcache(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 0LL) { rv.m_data.num = 0LL; rv.m_type = KindOfNull; fh_clearstatcache(); frame_free_locals_no_this_inl(ar, 0); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { throw_toomany_arguments_nr("clearstatcache", 0, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 0); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_readlink(HPHP::String const&) _ZN4HPHP10f_readlinkERKNS_6StringE (return value) => rax _rv => rdi path => rsi */ TypedValue* fh_readlink(TypedValue* _rv, Value* path) asm("_ZN4HPHP10f_readlinkERKNS_6StringE"); TypedValue * fg1_readlink(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_readlink(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_readlink((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_readlink(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_readlink((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_readlink(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("readlink", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_realpath(HPHP::String const&) _ZN4HPHP10f_realpathERKNS_6StringE (return value) => rax _rv => rdi path => rsi */ TypedValue* fh_realpath(TypedValue* _rv, Value* path) asm("_ZN4HPHP10f_realpathERKNS_6StringE"); TypedValue * fg1_realpath(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_realpath(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_realpath((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_realpath(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_realpath((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_realpath(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("realpath", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_pathinfo(HPHP::String const&, int) _ZN4HPHP10f_pathinfoERKNS_6StringEi (return value) => rax _rv => rdi path => rsi opt => rdx */ TypedValue* fh_pathinfo(TypedValue* _rv, Value* path, int opt) asm("_ZN4HPHP10f_pathinfoERKNS_6StringEi"); TypedValue * fg1_pathinfo(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_pathinfo(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 2 if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } fh_pathinfo((rv), &args[-0].m_data, (count > 1) ? (int)(args[-1].m_data.num) : (int)(15)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_pathinfo(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 2LL) { if ((count <= 1 || (args-1)->m_type == KindOfInt64) && IS_STRING_TYPE((args-0)->m_type)) { fh_pathinfo((&(rv)), &args[-0].m_data, (count > 1) ? (int)(args[-1].m_data.num) : (int)(15)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_pathinfo(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("pathinfo", count, 1, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_disk_free_space(HPHP::String const&) _ZN4HPHP17f_disk_free_spaceERKNS_6StringE (return value) => rax _rv => rdi directory => rsi */ TypedValue* fh_disk_free_space(TypedValue* _rv, Value* directory) asm("_ZN4HPHP17f_disk_free_spaceERKNS_6StringE"); TypedValue * fg1_disk_free_space(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_disk_free_space(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_disk_free_space((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_disk_free_space(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_disk_free_space((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_disk_free_space(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("disk_free_space", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_diskfreespace(HPHP::String const&) _ZN4HPHP15f_diskfreespaceERKNS_6StringE (return value) => rax _rv => rdi directory => rsi */ TypedValue* fh_diskfreespace(TypedValue* _rv, Value* directory) asm("_ZN4HPHP15f_diskfreespaceERKNS_6StringE"); TypedValue * fg1_diskfreespace(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_diskfreespace(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_diskfreespace((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_diskfreespace(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_diskfreespace((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_diskfreespace(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("diskfreespace", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_disk_total_space(HPHP::String const&) _ZN4HPHP18f_disk_total_spaceERKNS_6StringE (return value) => rax _rv => rdi directory => rsi */ TypedValue* fh_disk_total_space(TypedValue* _rv, Value* directory) asm("_ZN4HPHP18f_disk_total_spaceERKNS_6StringE"); TypedValue * fg1_disk_total_space(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_disk_total_space(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_disk_total_space((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_disk_total_space(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_disk_total_space((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_disk_total_space(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("disk_total_space", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_mkdir(HPHP::String const&, long, bool, HPHP::Variant const&) _ZN4HPHP7f_mkdirERKNS_6StringElbRKNS_7VariantE (return value) => rax pathname => rdi mode => rsi recursive => rdx context => rcx */ bool fh_mkdir(Value* pathname, long mode, bool recursive, TypedValue* context) asm("_ZN4HPHP7f_mkdirERKNS_6StringElbRKNS_7VariantE"); TypedValue * fg1_mkdir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_mkdir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; switch (count) { default: // count >= 4 case 3: if ((args-2)->m_type != KindOfBoolean) { tvCastToBooleanInPlace(args-2); } case 2: if ((args-1)->m_type != KindOfInt64) { tvCastToInt64InPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } Variant defVal3; rv->m_data.num = (fh_mkdir(&args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(0777), (count > 2) ? (bool)(args[-2].m_data.num) : (bool)(false), (count > 3) ? (args-3) : (TypedValue*)(&defVal3))) ? 1LL : 0LL; return rv; } TypedValue* fg_mkdir(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 4LL) { if ((count <= 2 || (args-2)->m_type == KindOfBoolean) && (count <= 1 || (args-1)->m_type == KindOfInt64) && IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; Variant defVal3; rv.m_data.num = (fh_mkdir(&args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(0777), (count > 2) ? (bool)(args[-2].m_data.num) : (bool)(false), (count > 3) ? (args-3) : (TypedValue*)(&defVal3))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_mkdir(&rv, ar, count); frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("mkdir", count, 1, 4, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 4); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_rmdir(HPHP::String const&, HPHP::Variant const&) _ZN4HPHP7f_rmdirERKNS_6StringERKNS_7VariantE (return value) => rax dirname => rdi context => rsi */ bool fh_rmdir(Value* dirname, TypedValue* context) asm("_ZN4HPHP7f_rmdirERKNS_6StringERKNS_7VariantE"); TypedValue * fg1_rmdir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_rmdir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); Variant defVal1; rv->m_data.num = (fh_rmdir(&args[-0].m_data, (count > 1) ? (args-1) : (TypedValue*)(&defVal1))) ? 1LL : 0LL; return rv; } TypedValue* fg_rmdir(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 2LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; Variant defVal1; rv.m_data.num = (fh_rmdir(&args[-0].m_data, (count > 1) ? (args-1) : (TypedValue*)(&defVal1))) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_rmdir(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("rmdir", count, 1, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::String HPHP::f_dirname(HPHP::String const&) _ZN4HPHP9f_dirnameERKNS_6StringE (return value) => rax _rv => rdi path => rsi */ Value* fh_dirname(Value* _rv, Value* path) asm("_ZN4HPHP9f_dirnameERKNS_6StringE"); TypedValue * fg1_dirname(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_dirname(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfString; tvCastToStringInPlace(args-0); fh_dirname((&rv->m_data), &args[-0].m_data); if (rv->m_data.num == 0LL) rv->m_type = KindOfNull; return rv; } TypedValue* fg_dirname(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfString; fh_dirname((&rv.m_data), &args[-0].m_data); if (rv.m_data.num == 0LL) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_dirname(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("dirname", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_getcwd() _ZN4HPHP8f_getcwdEv (return value) => rax _rv => rdi */ TypedValue* fh_getcwd(TypedValue* _rv) asm("_ZN4HPHP8f_getcwdEv"); TypedValue* fg_getcwd(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 0LL) { fh_getcwd((&(rv))); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 0); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { throw_toomany_arguments_nr("getcwd", 0, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 0); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_chdir(HPHP::String const&) _ZN4HPHP7f_chdirERKNS_6StringE (return value) => rax directory => rdi */ bool fh_chdir(Value* directory) asm("_ZN4HPHP7f_chdirERKNS_6StringE"); TypedValue * fg1_chdir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_chdir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_chdir(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_chdir(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_chdir(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_chdir(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("chdir", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* bool HPHP::f_chroot(HPHP::String const&) _ZN4HPHP8f_chrootERKNS_6StringE (return value) => rax directory => rdi */ bool fh_chroot(Value* directory) asm("_ZN4HPHP8f_chrootERKNS_6StringE"); TypedValue * fg1_chroot(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_chroot(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_type = KindOfBoolean; tvCastToStringInPlace(args-0); rv->m_data.num = (fh_chroot(&args[-0].m_data)) ? 1LL : 0LL; return rv; } TypedValue* fg_chroot(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { rv.m_type = KindOfBoolean; rv.m_data.num = (fh_chroot(&args[-0].m_data)) ? 1LL : 0LL; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_chroot(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("chroot", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_dir(HPHP::String const&) _ZN4HPHP5f_dirERKNS_6StringE (return value) => rax _rv => rdi directory => rsi */ TypedValue* fh_dir(TypedValue* _rv, Value* directory) asm("_ZN4HPHP5f_dirERKNS_6StringE"); TypedValue * fg1_dir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_dir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); fh_dir((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_dir(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if (IS_STRING_TYPE((args-0)->m_type)) { fh_dir((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_dir(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("dir", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_opendir(HPHP::String const&, HPHP::Variant const&) _ZN4HPHP9f_opendirERKNS_6StringERKNS_7VariantE (return value) => rax _rv => rdi path => rsi context => rdx */ TypedValue* fh_opendir(TypedValue* _rv, Value* path, TypedValue* context) asm("_ZN4HPHP9f_opendirERKNS_6StringERKNS_7VariantE"); TypedValue * fg1_opendir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_opendir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToStringInPlace(args-0); Variant defVal1; fh_opendir((rv), &args[-0].m_data, (count > 1) ? (args-1) : (TypedValue*)(&defVal1)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_opendir(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 2LL) { if (IS_STRING_TYPE((args-0)->m_type)) { Variant defVal1; fh_opendir((&(rv)), &args[-0].m_data, (count > 1) ? (args-1) : (TypedValue*)(&defVal1)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_opendir(&rv, ar, count); frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("opendir", count, 1, 2, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 2); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_readdir(HPHP::Object const&) _ZN4HPHP9f_readdirERKNS_6ObjectE (return value) => rax _rv => rdi dir_handle => rsi */ TypedValue* fh_readdir(TypedValue* _rv, Value* dir_handle) asm("_ZN4HPHP9f_readdirERKNS_6ObjectE"); TypedValue * fg1_readdir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_readdir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; tvCastToObjectInPlace(args-0); fh_readdir((rv), &args[-0].m_data); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_readdir(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { fh_readdir((&(rv)), &args[-0].m_data); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_readdir(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("readdir", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* void HPHP::f_rewinddir(HPHP::Object const&) _ZN4HPHP11f_rewinddirERKNS_6ObjectE dir_handle => rdi */ void fh_rewinddir(Value* dir_handle) asm("_ZN4HPHP11f_rewinddirERKNS_6ObjectE"); TypedValue * fg1_rewinddir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_rewinddir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_data.num = 0LL; rv->m_type = KindOfNull; tvCastToObjectInPlace(args-0); fh_rewinddir(&args[-0].m_data); return rv; } TypedValue* fg_rewinddir(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { rv.m_data.num = 0LL; rv.m_type = KindOfNull; fh_rewinddir(&args[-0].m_data); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_rewinddir(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("rewinddir", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* HPHP::Variant HPHP::f_scandir(HPHP::String const&, bool, HPHP::Variant const&) _ZN4HPHP9f_scandirERKNS_6StringEbRKNS_7VariantE (return value) => rax _rv => rdi directory => rsi descending => rdx context => rcx */ TypedValue* fh_scandir(TypedValue* _rv, Value* directory, bool descending, TypedValue* context) asm("_ZN4HPHP9f_scandirERKNS_6StringEbRKNS_7VariantE"); TypedValue * fg1_scandir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_scandir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; switch (count) { default: // count >= 3 case 2: if ((args-1)->m_type != KindOfBoolean) { tvCastToBooleanInPlace(args-1); } case 1: break; } if (!IS_STRING_TYPE((args-0)->m_type)) { tvCastToStringInPlace(args-0); } Variant defVal2; fh_scandir((rv), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false), (count > 2) ? (args-2) : (TypedValue*)(&defVal2)); if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull; return rv; } TypedValue* fg_scandir(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count >= 1LL && count <= 3LL) { if ((count <= 1 || (args-1)->m_type == KindOfBoolean) && IS_STRING_TYPE((args-0)->m_type)) { Variant defVal2; fh_scandir((&(rv)), &args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false), (count > 2) ? (args-2) : (TypedValue*)(&defVal2)); if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_scandir(&rv, ar, count); frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("scandir", count, 1, 3, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 3); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } /* void HPHP::f_closedir(HPHP::Object const&) _ZN4HPHP10f_closedirERKNS_6ObjectE dir_handle => rdi */ void fh_closedir(Value* dir_handle) asm("_ZN4HPHP10f_closedirERKNS_6ObjectE"); TypedValue * fg1_closedir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold)); TypedValue * fg1_closedir(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) { TypedValue* args UNUSED = ((TypedValue*)ar) - 1; rv->m_data.num = 0LL; rv->m_type = KindOfNull; tvCastToObjectInPlace(args-0); fh_closedir(&args[-0].m_data); return rv; } TypedValue* fg_closedir(HPHP::VM::ActRec *ar) { TypedValue rv; int64_t count = ar->numArgs(); TypedValue* args UNUSED = ((TypedValue*)ar) - 1; if (count == 1LL) { if ((args-0)->m_type == KindOfObject) { rv.m_data.num = 0LL; rv.m_type = KindOfNull; fh_closedir(&args[-0].m_data); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } else { fg1_closedir(&rv, ar, count); frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; } } else { throw_wrong_arguments_nr("closedir", count, 1, 1, 1); } rv.m_data.num = 0LL; rv.m_type = KindOfNull; frame_free_locals_no_this_inl(ar, 1); memcpy(&ar->m_r, &rv, sizeof(TypedValue)); return &ar->m_r; return &ar->m_r; } } // !HPHP