Get rid of ext_hhvm_noinline.cpp, part 1

Post-hphpc, declaring builtins as inline is useless, which obviates the
need for this layer.

This doesn't fully delete the file, because I wanted to keep mindless
parts and use-your-brain parts separate. This is the mindless part. The
remaining functions in noinline.cpp are no-inline wrappers around
(a) a function that isn't defined in an extension, call_user_func_array,
and (b) calling polymorphic is_* functions, which can probably mostly go
away now. But I wanted to exercise more care around those, so they'll
come in a followup diff.
Esse commit está contido em:
Owen Yamauchi
2013-03-28 09:46:52 -07:00
commit de Sara Golemon
commit 0fd0fa814c
71 arquivos alterados com 20298 adições e 21045 exclusões
+39
Ver Arquivo
@@ -240,6 +240,45 @@ Variant f_apc_cache_info(int64_t cache_id /* = 0 */, bool limited /* = false */)
return CREATE_MAP1("start_time", start_time());
}
Array f_apc_sma_info(bool limited /* = false */) {
return Array::Create();
}
bool f_apc_define_constants(CStrRef key, CStrRef constants,
bool case_sensitive /* = true */,
int64_t cache_id /* = 0 */) {
throw NotSupportedException(__func__, "dynamic coding");
}
bool f_apc_load_constants(CStrRef key, bool case_sensitive /* = true */,
int64_t cache_id /* = 0 */) {
throw NotSupportedException(__func__, "dynamic coding");
}
bool f_apc_compile_file(CStrRef filename, bool atomic /* = true */,
int64_t cache_id /* = 0 */) {
throw NotSupportedException(__func__, "dynamic coding");
}
Array f_apc_filehits() {
throw NotSupportedException(__func__, "feature not supported");
}
Variant f_apc_delete_file(CVarRef keys, int64_t cache_id /* = 0 */) {
throw NotSupportedException(__func__, "feature not supported");
}
Variant f_apc_bin_dump(int64_t cache_id /* = 0 */, CVarRef filter /* = null_variant */) {
throw NotSupportedException(__func__, "feature not supported");
}
bool f_apc_bin_load(CStrRef data, int64_t flags /* = 0 */, int64_t cache_id /* = 0 */) {
throw NotSupportedException(__func__, "feature not supported");
}
Variant f_apc_bin_dumpfile(int64_t cache_id, CVarRef filter,
CStrRef filename, int64_t flags /* = 0 */,
CObjRef context /* = uninit_null() */) {
throw NotSupportedException(__func__, "feature not supported");
}
bool f_apc_bin_loadfile(CStrRef filename, CObjRef context /* = uninit_null() */,
int64_t flags /* = 0 */, int64_t cache_id /* = 0 */) {
throw NotSupportedException(__func__, "feature not supported");
}
///////////////////////////////////////////////////////////////////////////////
// loading APC from archive files
+597
Ver Arquivo
@@ -261,6 +261,71 @@ TypedValue* fg_apc_delete(HPHP::VM::ActRec *ar) {
/*
bool HPHP::f_apc_compile_file(HPHP::String const&, bool, long)
_ZN4HPHP18f_apc_compile_fileERKNS_6StringEbl
(return value) => rax
filename => rdi
atomic => rsi
cache_id => rdx
*/
bool fh_apc_compile_file(Value* filename, bool atomic, long cache_id) asm("_ZN4HPHP18f_apc_compile_fileERKNS_6StringEbl");
TypedValue * fg1_apc_compile_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_apc_compile_file(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 != KindOfBoolean) {
tvCastToBooleanInPlace(args-1);
}
case 1:
break;
}
if (!IS_STRING_TYPE((args-0)->m_type)) {
tvCastToStringInPlace(args-0);
}
rv->m_data.num = (fh_apc_compile_file(&args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(true), (count > 2) ? (long)(args[-2].m_data.num) : (long)(0))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_apc_compile_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)) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_apc_compile_file(&args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(true), (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_apc_compile_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("apc_compile_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_apc_cache_info(long, bool)
_ZN4HPHP16f_apc_cache_infoElb
@@ -372,6 +437,277 @@ TypedValue* fg_apc_clear_cache(HPHP::VM::ActRec *ar) {
/*
bool HPHP::f_apc_define_constants(HPHP::String const&, HPHP::String const&, bool, long)
_ZN4HPHP22f_apc_define_constantsERKNS_6StringES2_bl
(return value) => rax
key => rdi
constants => rsi
case_sensitive => rdx
cache_id => rcx
*/
bool fh_apc_define_constants(Value* key, Value* constants, bool case_sensitive, long cache_id) asm("_ZN4HPHP22f_apc_define_constantsERKNS_6StringES2_bl");
TypedValue * fg1_apc_define_constants(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_apc_define_constants(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
switch (count) {
default: // count >= 4
if ((args-3)->m_type != KindOfInt64) {
tvCastToInt64InPlace(args-3);
}
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);
}
rv->m_data.num = (fh_apc_define_constants(&args[-0].m_data, &args[-1].m_data, (count > 2) ? (bool)(args[-2].m_data.num) : (bool)(true), (count > 3) ? (long)(args[-3].m_data.num) : (long)(0))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_apc_define_constants(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 || (args-3)->m_type == KindOfInt64) && (count <= 2 || (args-2)->m_type == KindOfBoolean) && IS_STRING_TYPE((args-1)->m_type) && IS_STRING_TYPE((args-0)->m_type)) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_apc_define_constants(&args[-0].m_data, &args[-1].m_data, (count > 2) ? (bool)(args[-2].m_data.num) : (bool)(true), (count > 3) ? (long)(args[-3].m_data.num) : (long)(0))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 4);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_apc_define_constants(&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("apc_define_constants", 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;
}
/*
bool HPHP::f_apc_load_constants(HPHP::String const&, bool, long)
_ZN4HPHP20f_apc_load_constantsERKNS_6StringEbl
(return value) => rax
key => rdi
case_sensitive => rsi
cache_id => rdx
*/
bool fh_apc_load_constants(Value* key, bool case_sensitive, long cache_id) asm("_ZN4HPHP20f_apc_load_constantsERKNS_6StringEbl");
TypedValue * fg1_apc_load_constants(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_apc_load_constants(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 != KindOfBoolean) {
tvCastToBooleanInPlace(args-1);
}
case 1:
break;
}
if (!IS_STRING_TYPE((args-0)->m_type)) {
tvCastToStringInPlace(args-0);
}
rv->m_data.num = (fh_apc_load_constants(&args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(true), (count > 2) ? (long)(args[-2].m_data.num) : (long)(0))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_apc_load_constants(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)) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_apc_load_constants(&args[-0].m_data, (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(true), (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_apc_load_constants(&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("apc_load_constants", 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::Array HPHP::f_apc_sma_info(bool)
_ZN4HPHP14f_apc_sma_infoEb
(return value) => rax
_rv => rdi
limited => rsi
*/
Value* fh_apc_sma_info(Value* _rv, bool limited) asm("_ZN4HPHP14f_apc_sma_infoEb");
TypedValue * fg1_apc_sma_info(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_apc_sma_info(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfArray;
tvCastToBooleanInPlace(args-0);
fh_apc_sma_info((&rv->m_data), (count > 0) ? (bool)(args[-0].m_data.num) : (bool)(false));
if (rv->m_data.num == 0LL) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_apc_sma_info(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
if ((count <= 0 || (args-0)->m_type == KindOfBoolean)) {
rv.m_type = KindOfArray;
fh_apc_sma_info((&rv.m_data), (count > 0) ? (bool)(args[-0].m_data.num) : (bool)(false));
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_apc_sma_info(&rv, ar, count);
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
}
} else {
throw_toomany_arguments_nr("apc_sma_info", 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::Array HPHP::f_apc_filehits()
_ZN4HPHP14f_apc_filehitsEv
(return value) => rax
_rv => rdi
*/
Value* fh_apc_filehits(Value* _rv) asm("_ZN4HPHP14f_apc_filehitsEv");
TypedValue* fg_apc_filehits(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfArray;
fh_apc_filehits((&rv.m_data));
if (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;
} else {
throw_toomany_arguments_nr("apc_filehits", 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_apc_delete_file(HPHP::Variant const&, long)
_ZN4HPHP17f_apc_delete_fileERKNS_7VariantEl
(return value) => rax
_rv => rdi
keys => rsi
cache_id => rdx
*/
TypedValue* fh_apc_delete_file(TypedValue* _rv, TypedValue* keys, long cache_id) asm("_ZN4HPHP17f_apc_delete_fileERKNS_7VariantEl");
TypedValue * fg1_apc_delete_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_apc_delete_file(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToInt64InPlace(args-1);
fh_apc_delete_file((rv), (args-0), (count > 1) ? (long)(args[-1].m_data.num) : (long)(0));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_apc_delete_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 == KindOfInt64)) {
fh_apc_delete_file((&(rv)), (args-0), (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_apc_delete_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("apc_delete_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_apc_inc(HPHP::String const&, long, HPHP::VRefParamValue const&, long)
_ZN4HPHP9f_apc_incERKNS_6StringElRKNS_14VRefParamValueEl
@@ -631,6 +967,267 @@ TypedValue* fg_apc_exists(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_apc_bin_dump(long, HPHP::Variant const&)
_ZN4HPHP14f_apc_bin_dumpElRKNS_7VariantE
(return value) => rax
_rv => rdi
cache_id => rsi
filter => rdx
*/
TypedValue* fh_apc_bin_dump(TypedValue* _rv, long cache_id, TypedValue* filter) asm("_ZN4HPHP14f_apc_bin_dumpElRKNS_7VariantE");
TypedValue * fg1_apc_bin_dump(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_apc_bin_dump(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToInt64InPlace(args-0);
fh_apc_bin_dump((rv), (count > 0) ? (long)(args[-0].m_data.num) : (long)(0), (count > 1) ? (args-1) : (TypedValue*)(&null_variant));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_apc_bin_dump(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 2LL) {
if ((count <= 0 || (args-0)->m_type == KindOfInt64)) {
fh_apc_bin_dump((&(rv)), (count > 0) ? (long)(args[-0].m_data.num) : (long)(0), (count > 1) ? (args-1) : (TypedValue*)(&null_variant));
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_apc_bin_dump(&rv, ar, count);
frame_free_locals_no_this_inl(ar, 2);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
}
} else {
throw_toomany_arguments_nr("apc_bin_dump", 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_apc_bin_load(HPHP::String const&, long, long)
_ZN4HPHP14f_apc_bin_loadERKNS_6StringEll
(return value) => rax
data => rdi
flags => rsi
cache_id => rdx
*/
bool fh_apc_bin_load(Value* data, long flags, long cache_id) asm("_ZN4HPHP14f_apc_bin_loadERKNS_6StringEll");
TypedValue * fg1_apc_bin_load(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_apc_bin_load(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_apc_bin_load(&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_apc_bin_load(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_apc_bin_load(&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_apc_bin_load(&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("apc_bin_load", 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_apc_bin_dumpfile(long, HPHP::Variant const&, HPHP::String const&, long, HPHP::Object const&)
_ZN4HPHP18f_apc_bin_dumpfileElRKNS_7VariantERKNS_6StringElRKNS_6ObjectE
(return value) => rax
_rv => rdi
cache_id => rsi
filter => rdx
filename => rcx
flags => r8
context => r9
*/
TypedValue* fh_apc_bin_dumpfile(TypedValue* _rv, long cache_id, TypedValue* filter, Value* filename, long flags, Value* context) asm("_ZN4HPHP18f_apc_bin_dumpfileElRKNS_7VariantERKNS_6StringElRKNS_6ObjectE");
TypedValue * fg1_apc_bin_dumpfile(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_apc_bin_dumpfile(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 != KindOfObject) {
tvCastToObjectInPlace(args-4);
}
case 4:
if ((args-3)->m_type != KindOfInt64) {
tvCastToInt64InPlace(args-3);
}
case 3:
break;
}
if (!IS_STRING_TYPE((args-2)->m_type)) {
tvCastToStringInPlace(args-2);
}
if ((args-0)->m_type != KindOfInt64) {
tvCastToInt64InPlace(args-0);
}
Object defVal4 = uninit_null();
fh_apc_bin_dumpfile((rv), (long)(args[-0].m_data.num), (args-1), &args[-2].m_data, (count > 3) ? (long)(args[-3].m_data.num) : (long)(0), (count > 4) ? &args[-4].m_data : (Value*)(&defVal4));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_apc_bin_dumpfile(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count >= 3LL && count <= 5LL) {
if ((count <= 4 || (args-4)->m_type == KindOfObject) && (count <= 3 || (args-3)->m_type == KindOfInt64) && IS_STRING_TYPE((args-2)->m_type) && (args-0)->m_type == KindOfInt64) {
Object defVal4 = uninit_null();
fh_apc_bin_dumpfile((&(rv)), (long)(args[-0].m_data.num), (args-1), &args[-2].m_data, (count > 3) ? (long)(args[-3].m_data.num) : (long)(0), (count > 4) ? &args[-4].m_data : (Value*)(&defVal4));
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_apc_bin_dumpfile(&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("apc_bin_dumpfile", count, 3, 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;
}
/*
bool HPHP::f_apc_bin_loadfile(HPHP::String const&, HPHP::Object const&, long, long)
_ZN4HPHP18f_apc_bin_loadfileERKNS_6StringERKNS_6ObjectEll
(return value) => rax
filename => rdi
context => rsi
flags => rdx
cache_id => rcx
*/
bool fh_apc_bin_loadfile(Value* filename, Value* context, long flags, long cache_id) asm("_ZN4HPHP18f_apc_bin_loadfileERKNS_6StringERKNS_6ObjectEll");
TypedValue * fg1_apc_bin_loadfile(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_apc_bin_loadfile(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
switch (count) {
default: // count >= 4
if ((args-3)->m_type != KindOfInt64) {
tvCastToInt64InPlace(args-3);
}
case 3:
if ((args-2)->m_type != KindOfInt64) {
tvCastToInt64InPlace(args-2);
}
case 2:
if ((args-1)->m_type != KindOfObject) {
tvCastToObjectInPlace(args-1);
}
case 1:
break;
}
if (!IS_STRING_TYPE((args-0)->m_type)) {
tvCastToStringInPlace(args-0);
}
Object defVal1 = uninit_null();
rv->m_data.num = (fh_apc_bin_loadfile(&args[-0].m_data, (count > 1) ? &args[-1].m_data : (Value*)(&defVal1), (count > 2) ? (long)(args[-2].m_data.num) : (long)(0), (count > 3) ? (long)(args[-3].m_data.num) : (long)(0))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_apc_bin_loadfile(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 || (args-3)->m_type == KindOfInt64) && (count <= 2 || (args-2)->m_type == KindOfInt64) && (count <= 1 || (args-1)->m_type == KindOfObject) && IS_STRING_TYPE((args-0)->m_type)) {
rv.m_type = KindOfBoolean;
Object defVal1 = uninit_null();
rv.m_data.num = (fh_apc_bin_loadfile(&args[-0].m_data, (count > 1) ? &args[-1].m_data : (Value*)(&defVal1), (count > 2) ? (long)(args[-2].m_data.num) : (long)(0), (count > 3) ? (long)(args[-3].m_data.num) : (long)(0))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 4);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_apc_bin_loadfile(&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("apc_bin_loadfile", 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
+122
Ver Arquivo
@@ -67,6 +67,18 @@ cache_id => rdx
TypedValue* fh_apc_delete(TypedValue* _rv, TypedValue* key, long cache_id) asm("_ZN4HPHP12f_apc_deleteERKNS_7VariantEl");
/*
bool HPHP::f_apc_compile_file(HPHP::String const&, bool, long)
_ZN4HPHP18f_apc_compile_fileERKNS_6StringEbl
(return value) => rax
filename => rdi
atomic => rsi
cache_id => rdx
*/
bool fh_apc_compile_file(Value* filename, bool atomic, long cache_id) asm("_ZN4HPHP18f_apc_compile_fileERKNS_6StringEbl");
/*
HPHP::Variant HPHP::f_apc_cache_info(long, bool)
_ZN4HPHP16f_apc_cache_infoElb
@@ -89,6 +101,64 @@ cache_id => rdi
bool fh_apc_clear_cache(long cache_id) asm("_ZN4HPHP17f_apc_clear_cacheEl");
/*
bool HPHP::f_apc_define_constants(HPHP::String const&, HPHP::String const&, bool, long)
_ZN4HPHP22f_apc_define_constantsERKNS_6StringES2_bl
(return value) => rax
key => rdi
constants => rsi
case_sensitive => rdx
cache_id => rcx
*/
bool fh_apc_define_constants(Value* key, Value* constants, bool case_sensitive, long cache_id) asm("_ZN4HPHP22f_apc_define_constantsERKNS_6StringES2_bl");
/*
bool HPHP::f_apc_load_constants(HPHP::String const&, bool, long)
_ZN4HPHP20f_apc_load_constantsERKNS_6StringEbl
(return value) => rax
key => rdi
case_sensitive => rsi
cache_id => rdx
*/
bool fh_apc_load_constants(Value* key, bool case_sensitive, long cache_id) asm("_ZN4HPHP20f_apc_load_constantsERKNS_6StringEbl");
/*
HPHP::Array HPHP::f_apc_sma_info(bool)
_ZN4HPHP14f_apc_sma_infoEb
(return value) => rax
_rv => rdi
limited => rsi
*/
Value* fh_apc_sma_info(Value* _rv, bool limited) asm("_ZN4HPHP14f_apc_sma_infoEb");
/*
HPHP::Array HPHP::f_apc_filehits()
_ZN4HPHP14f_apc_filehitsEv
(return value) => rax
_rv => rdi
*/
Value* fh_apc_filehits(Value* _rv) asm("_ZN4HPHP14f_apc_filehitsEv");
/*
HPHP::Variant HPHP::f_apc_delete_file(HPHP::Variant const&, long)
_ZN4HPHP17f_apc_delete_fileERKNS_7VariantEl
(return value) => rax
_rv => rdi
keys => rsi
cache_id => rdx
*/
TypedValue* fh_apc_delete_file(TypedValue* _rv, TypedValue* keys, long cache_id) asm("_ZN4HPHP17f_apc_delete_fileERKNS_7VariantEl");
/*
HPHP::Variant HPHP::f_apc_inc(HPHP::String const&, long, HPHP::VRefParamValue const&, long)
_ZN4HPHP9f_apc_incERKNS_6StringElRKNS_14VRefParamValueEl
@@ -142,6 +212,58 @@ cache_id => rdx
TypedValue* fh_apc_exists(TypedValue* _rv, TypedValue* key, long cache_id) asm("_ZN4HPHP12f_apc_existsERKNS_7VariantEl");
/*
HPHP::Variant HPHP::f_apc_bin_dump(long, HPHP::Variant const&)
_ZN4HPHP14f_apc_bin_dumpElRKNS_7VariantE
(return value) => rax
_rv => rdi
cache_id => rsi
filter => rdx
*/
TypedValue* fh_apc_bin_dump(TypedValue* _rv, long cache_id, TypedValue* filter) asm("_ZN4HPHP14f_apc_bin_dumpElRKNS_7VariantE");
/*
bool HPHP::f_apc_bin_load(HPHP::String const&, long, long)
_ZN4HPHP14f_apc_bin_loadERKNS_6StringEll
(return value) => rax
data => rdi
flags => rsi
cache_id => rdx
*/
bool fh_apc_bin_load(Value* data, long flags, long cache_id) asm("_ZN4HPHP14f_apc_bin_loadERKNS_6StringEll");
/*
HPHP::Variant HPHP::f_apc_bin_dumpfile(long, HPHP::Variant const&, HPHP::String const&, long, HPHP::Object const&)
_ZN4HPHP18f_apc_bin_dumpfileElRKNS_7VariantERKNS_6StringElRKNS_6ObjectE
(return value) => rax
_rv => rdi
cache_id => rsi
filter => rdx
filename => rcx
flags => r8
context => r9
*/
TypedValue* fh_apc_bin_dumpfile(TypedValue* _rv, long cache_id, TypedValue* filter, Value* filename, long flags, Value* context) asm("_ZN4HPHP18f_apc_bin_dumpfileElRKNS_7VariantERKNS_6StringElRKNS_6ObjectE");
/*
bool HPHP::f_apc_bin_loadfile(HPHP::String const&, HPHP::Object const&, long, long)
_ZN4HPHP18f_apc_bin_loadfileERKNS_6StringERKNS_6ObjectEll
(return value) => rax
filename => rdi
context => rsi
flags => rdx
cache_id => rcx
*/
bool fh_apc_bin_loadfile(Value* filename, Value* context, long flags, long cache_id) asm("_ZN4HPHP18f_apc_bin_loadfileERKNS_6StringERKNS_6ObjectEll");
} // !HPHP
+17 -37
Ver Arquivo
@@ -38,43 +38,23 @@ Variant f_apc_exists(CVarRef key, int64_t cache_id = 0);
///////////////////////////////////////////////////////////////////////////////
Variant f_apc_cache_info(int64_t cache_id = 0, bool limited = false);
inline Array f_apc_sma_info(bool limited = false) {
return Array::Create();
}
inline bool f_apc_define_constants(CStrRef key, CStrRef constants,
bool case_sensitive = true,
int64_t cache_id = 0) {
throw NotSupportedException(__func__, "dynamic coding");
}
inline bool f_apc_load_constants(CStrRef key, bool case_sensitive = true,
int64_t cache_id = 0) {
throw NotSupportedException(__func__, "dynamic coding");
}
inline bool f_apc_compile_file(CStrRef filename, bool atomic = true,
int64_t cache_id = 0) {
throw NotSupportedException(__func__, "dynamic coding");
}
inline Array f_apc_filehits() {
throw NotSupportedException(__func__, "feature not supported");
}
inline Variant f_apc_delete_file(CVarRef keys, int64_t cache_id = 0) {
throw NotSupportedException(__func__, "feature not supported");
}
inline Variant f_apc_bin_dump(int64_t cache_id = 0, CVarRef filter = null_variant) {
throw NotSupportedException(__func__, "feature not supported");
}
inline bool f_apc_bin_load(CStrRef data, int64_t flags = 0, int64_t cache_id = 0) {
throw NotSupportedException(__func__, "feature not supported");
}
inline Variant f_apc_bin_dumpfile(int64_t cache_id, CVarRef filter,
CStrRef filename, int64_t flags = 0,
CObjRef context = uninit_null()) {
throw NotSupportedException(__func__, "feature not supported");
}
inline bool f_apc_bin_loadfile(CStrRef filename, CObjRef context = uninit_null(),
int64_t flags = 0, int64_t cache_id = 0) {
throw NotSupportedException(__func__, "feature not supported");
}
Array f_apc_sma_info(bool limited = false);
bool f_apc_define_constants(CStrRef key, CStrRef constants,
bool case_sensitive = true,
int64_t cache_id = 0);
bool f_apc_load_constants(CStrRef key, bool case_sensitive = true,
int64_t cache_id = 0);
bool f_apc_compile_file(CStrRef filename, bool atomic = true,
int64_t cache_id = 0);
Array f_apc_filehits();
Variant f_apc_delete_file(CVarRef keys, int64_t cache_id = 0);
Variant f_apc_bin_dump(int64_t cache_id = 0, CVarRef filter = null_variant);
bool f_apc_bin_load(CStrRef data, int64_t flags = 0, int64_t cache_id = 0);
Variant f_apc_bin_dumpfile(int64_t cache_id, CVarRef filter,
CStrRef filename, int64_t flags = 0,
CObjRef context = uninit_null());
bool f_apc_bin_loadfile(CStrRef filename, CObjRef context = uninit_null(),
int64_t flags = 0, int64_t cache_id = 0);
///////////////////////////////////////////////////////////////////////////////
// loading APC from archive files
+50
Ver Arquivo
@@ -98,6 +98,9 @@ Variant f_array_fill_keys(CVarRef keys, CVarRef value) {
getCheckedArray(keys);
return ArrayUtil::CreateArray(arr_keys, value);
}
Variant f_array_fill(int start_index, int num, CVarRef value) {
return ArrayUtil::CreateArray(start_index, num, value);
}
static bool filter_func(CVarRef value, const void *data) {
HPHP::VM::CallCtx* ctx = (HPHP::VM::CallCtx*)data;
@@ -164,6 +167,9 @@ bool f_array_key_exists(CVarRef key, CVarRef search) {
raise_warning("Array key should be either a string or an integer");
return false;
}
bool f_key_exists(CVarRef key, CVarRef search) {
return f_array_key_exists(key, search);
}
Variant f_array_keys(CVarRef input, CVarRef search_value /* = null_variant */,
bool strict /* = false */) {
@@ -362,6 +368,10 @@ Variant f_array_pad(CVarRef input, int pad_size, CVarRef pad_value) {
return ArrayUtil::Pad(arr_input, pad_value, -pad_size, false);
}
Variant f_array_pop(VRefParam array) {
return array.pop();
}
Variant f_array_product(CVarRef array) {
getCheckedArray(array);
if (arr_array.empty()) {
@@ -422,6 +432,10 @@ Variant f_array_search(CVarRef needle, CVarRef haystack,
return arr_haystack.key(needle, strict);
}
Variant f_array_shift(VRefParam array) {
return array.dequeue();
}
Variant f_array_slice(CVarRef array, int offset,
CVarRef length /* = null_variant */,
bool preserve_keys /* = false */) {
@@ -605,6 +619,42 @@ int64_t f_count(CVarRef var, bool recursive /* = false */) {
return 1;
}
int64_t f_sizeof(CVarRef var, bool recursive /* = false */) {
return f_count(var, recursive);
}
Variant f_each(VRefParam array) {
return array.array_iter_each();
}
Variant f_current(VRefParam array) {
return array.array_iter_current();
}
Variant f_hphp_current_ref(VRefParam array) {
if (!array.isArray()) {
throw_bad_array_exception();
return false;
}
return strongBind(array.array_iter_current_ref());
}
Variant f_next(VRefParam array) {
return array.array_iter_next();
}
Variant f_pos(VRefParam array) {
return array.array_iter_current();
}
Variant f_prev(VRefParam array) {
return array.array_iter_prev();
}
Variant f_reset(VRefParam array) {
return array.array_iter_reset();
}
Variant f_end(VRefParam array) {
return array.array_iter_end();
}
Variant f_key(VRefParam array) {
return array.array_iter_key();
}
static StaticString s_Iterator("Iterator");
static StaticString s_IteratorAggregate("IteratorAggregate");
static StaticString s_ArrayIterator("ArrayIterator");
+515
Ver Arquivo
@@ -241,6 +241,63 @@ TypedValue* fg_array_fill_keys(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_array_fill(int, int, HPHP::Variant const&)
_ZN4HPHP12f_array_fillEiiRKNS_7VariantE
(return value) => rax
_rv => rdi
start_index => rsi
num => rdx
value => rcx
*/
TypedValue* fh_array_fill(TypedValue* _rv, int start_index, int num, TypedValue* value) asm("_ZN4HPHP12f_array_fillEiiRKNS_7VariantE");
TypedValue * fg1_array_fill(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_array_fill(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 != KindOfInt64) {
tvCastToInt64InPlace(args-0);
}
fh_array_fill((rv), (int)(args[-0].m_data.num), (int)(args[-1].m_data.num), (args-2));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_array_fill(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 3LL) {
if ((args-1)->m_type == KindOfInt64 && (args-0)->m_type == KindOfInt64) {
fh_array_fill((&(rv)), (int)(args[-0].m_data.num), (int)(args[-1].m_data.num), (args-2));
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_array_fill(&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("array_fill", 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;
}
/*
HPHP::Variant HPHP::f_array_filter(HPHP::Variant const&, HPHP::Variant const&)
_ZN4HPHP14f_array_filterERKNS_7VariantES2_
@@ -344,6 +401,40 @@ TypedValue* fg_array_key_exists(HPHP::VM::ActRec *ar) {
/*
bool HPHP::f_key_exists(HPHP::Variant const&, HPHP::Variant const&)
_ZN4HPHP12f_key_existsERKNS_7VariantES2_
(return value) => rax
key => rdi
search => rsi
*/
bool fh_key_exists(TypedValue* key, TypedValue* search) asm("_ZN4HPHP12f_key_existsERKNS_7VariantES2_");
TypedValue* fg_key_exists(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 2LL) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_key_exists((args-0), (args-1))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 2);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_wrong_arguments_nr("key_exists", 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_array_keys(HPHP::Variant const&, HPHP::Variant const&, bool)
_ZN4HPHP12f_array_keysERKNS_7VariantES2_b
@@ -742,6 +833,40 @@ TypedValue* fg_array_pad(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_array_pop(HPHP::VRefParamValue const&)
_ZN4HPHP11f_array_popERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_array_pop(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP11f_array_popERKNS_14VRefParamValueE");
TypedValue* fg_array_pop(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
fh_array_pop((&(rv)), (args-0));
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 {
throw_wrong_arguments_nr("array_pop", 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_array_product(HPHP::Variant const&)
_ZN4HPHP15f_array_productERKNS_7VariantE
@@ -1016,6 +1141,40 @@ TypedValue* fg_array_search(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_array_shift(HPHP::VRefParamValue const&)
_ZN4HPHP13f_array_shiftERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_array_shift(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP13f_array_shiftERKNS_14VRefParamValueE");
TypedValue* fg_array_shift(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
fh_array_shift((&(rv)), (args-0));
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 {
throw_wrong_arguments_nr("array_shift", 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_array_slice(HPHP::Variant const&, int, HPHP::Variant const&, bool)
_ZN4HPHP13f_array_sliceERKNS_7VariantEiS2_b
@@ -1504,6 +1663,362 @@ TypedValue* fg_count(HPHP::VM::ActRec *ar) {
/*
long HPHP::f_sizeof(HPHP::Variant const&, bool)
_ZN4HPHP8f_sizeofERKNS_7VariantEb
(return value) => rax
var => rdi
recursive => rsi
*/
long fh_sizeof(TypedValue* var, bool recursive) asm("_ZN4HPHP8f_sizeofERKNS_7VariantEb");
TypedValue * fg1_sizeof(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_sizeof(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfInt64;
tvCastToBooleanInPlace(args-1);
rv->m_data.num = (int64_t)fh_sizeof((args-0), (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false));
return rv;
}
TypedValue* fg_sizeof(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)) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_sizeof((args-0), (count > 1) ? (bool)(args[-1].m_data.num) : (bool)(false));
frame_free_locals_no_this_inl(ar, 2);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_sizeof(&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("sizeof", 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_each(HPHP::VRefParamValue const&)
_ZN4HPHP6f_eachERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_each(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP6f_eachERKNS_14VRefParamValueE");
TypedValue* fg_each(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
fh_each((&(rv)), (args-0));
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 {
throw_wrong_arguments_nr("each", 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_current(HPHP::VRefParamValue const&)
_ZN4HPHP9f_currentERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_current(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP9f_currentERKNS_14VRefParamValueE");
TypedValue* fg_current(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
fh_current((&(rv)), (args-0));
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 {
throw_wrong_arguments_nr("current", 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_hphp_current_ref(HPHP::VRefParamValue const&)
_ZN4HPHP18f_hphp_current_refERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_hphp_current_ref(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP18f_hphp_current_refERKNS_14VRefParamValueE");
TypedValue* fg_hphp_current_ref(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
fh_hphp_current_ref((&(rv)), (args-0));
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 {
throw_wrong_arguments_nr("hphp_current_ref", 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_next(HPHP::VRefParamValue const&)
_ZN4HPHP6f_nextERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_next(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP6f_nextERKNS_14VRefParamValueE");
TypedValue* fg_next(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
fh_next((&(rv)), (args-0));
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 {
throw_wrong_arguments_nr("next", 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_pos(HPHP::VRefParamValue const&)
_ZN4HPHP5f_posERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_pos(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP5f_posERKNS_14VRefParamValueE");
TypedValue* fg_pos(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
fh_pos((&(rv)), (args-0));
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 {
throw_wrong_arguments_nr("pos", 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_prev(HPHP::VRefParamValue const&)
_ZN4HPHP6f_prevERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_prev(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP6f_prevERKNS_14VRefParamValueE");
TypedValue* fg_prev(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
fh_prev((&(rv)), (args-0));
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 {
throw_wrong_arguments_nr("prev", 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_reset(HPHP::VRefParamValue const&)
_ZN4HPHP7f_resetERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_reset(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP7f_resetERKNS_14VRefParamValueE");
TypedValue* fg_reset(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
fh_reset((&(rv)), (args-0));
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 {
throw_wrong_arguments_nr("reset", 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_end(HPHP::VRefParamValue const&)
_ZN4HPHP5f_endERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_end(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP5f_endERKNS_14VRefParamValueE");
TypedValue* fg_end(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
fh_end((&(rv)), (args-0));
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 {
throw_wrong_arguments_nr("end", 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_key(HPHP::VRefParamValue const&)
_ZN4HPHP5f_keyERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_key(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP5f_keyERKNS_14VRefParamValueE");
TypedValue* fg_key(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
fh_key((&(rv)), (args-0));
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 {
throw_wrong_arguments_nr("key", 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_hphp_get_iterator(HPHP::Variant const&)
_ZN4HPHP19f_hphp_get_iteratorERKNS_7VariantE
+156
Ver Arquivo
@@ -76,6 +76,19 @@ value => rdx
TypedValue* fh_array_fill_keys(TypedValue* _rv, TypedValue* keys, TypedValue* value) asm("_ZN4HPHP17f_array_fill_keysERKNS_7VariantES2_");
/*
HPHP::Variant HPHP::f_array_fill(int, int, HPHP::Variant const&)
_ZN4HPHP12f_array_fillEiiRKNS_7VariantE
(return value) => rax
_rv => rdi
start_index => rsi
num => rdx
value => rcx
*/
TypedValue* fh_array_fill(TypedValue* _rv, int start_index, int num, TypedValue* value) asm("_ZN4HPHP12f_array_fillEiiRKNS_7VariantE");
/*
HPHP::Variant HPHP::f_array_filter(HPHP::Variant const&, HPHP::Variant const&)
_ZN4HPHP14f_array_filterERKNS_7VariantES2_
@@ -110,6 +123,17 @@ search => rsi
bool fh_array_key_exists(TypedValue* key, TypedValue* search) asm("_ZN4HPHP18f_array_key_existsERKNS_7VariantES2_");
/*
bool HPHP::f_key_exists(HPHP::Variant const&, HPHP::Variant const&)
_ZN4HPHP12f_key_existsERKNS_7VariantES2_
(return value) => rax
key => rdi
search => rsi
*/
bool fh_key_exists(TypedValue* key, TypedValue* search) asm("_ZN4HPHP12f_key_existsERKNS_7VariantES2_");
/*
HPHP::Variant HPHP::f_array_keys(HPHP::Variant const&, HPHP::Variant const&, bool)
_ZN4HPHP12f_array_keysERKNS_7VariantES2_b
@@ -214,6 +238,17 @@ pad_value => rcx
TypedValue* fh_array_pad(TypedValue* _rv, TypedValue* input, int pad_size, TypedValue* pad_value) asm("_ZN4HPHP11f_array_padERKNS_7VariantEiS2_");
/*
HPHP::Variant HPHP::f_array_pop(HPHP::VRefParamValue const&)
_ZN4HPHP11f_array_popERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_array_pop(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP11f_array_popERKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_array_product(HPHP::Variant const&)
_ZN4HPHP15f_array_productERKNS_7VariantE
@@ -289,6 +324,17 @@ strict => rcx
TypedValue* fh_array_search(TypedValue* _rv, TypedValue* needle, TypedValue* haystack, bool strict) asm("_ZN4HPHP14f_array_searchERKNS_7VariantES2_b");
/*
HPHP::Variant HPHP::f_array_shift(HPHP::VRefParamValue const&)
_ZN4HPHP13f_array_shiftERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_array_shift(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP13f_array_shiftERKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_array_slice(HPHP::Variant const&, int, HPHP::Variant const&, bool)
_ZN4HPHP13f_array_sliceERKNS_7VariantEiS2_b
@@ -422,6 +468,116 @@ recursive => rsi
long fh_count(TypedValue* var, bool recursive) asm("_ZN4HPHP7f_countERKNS_7VariantEb");
/*
long HPHP::f_sizeof(HPHP::Variant const&, bool)
_ZN4HPHP8f_sizeofERKNS_7VariantEb
(return value) => rax
var => rdi
recursive => rsi
*/
long fh_sizeof(TypedValue* var, bool recursive) asm("_ZN4HPHP8f_sizeofERKNS_7VariantEb");
/*
HPHP::Variant HPHP::f_each(HPHP::VRefParamValue const&)
_ZN4HPHP6f_eachERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_each(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP6f_eachERKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_current(HPHP::VRefParamValue const&)
_ZN4HPHP9f_currentERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_current(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP9f_currentERKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_hphp_current_ref(HPHP::VRefParamValue const&)
_ZN4HPHP18f_hphp_current_refERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_hphp_current_ref(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP18f_hphp_current_refERKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_next(HPHP::VRefParamValue const&)
_ZN4HPHP6f_nextERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_next(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP6f_nextERKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_pos(HPHP::VRefParamValue const&)
_ZN4HPHP5f_posERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_pos(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP5f_posERKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_prev(HPHP::VRefParamValue const&)
_ZN4HPHP6f_prevERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_prev(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP6f_prevERKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_reset(HPHP::VRefParamValue const&)
_ZN4HPHP7f_resetERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_reset(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP7f_resetERKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_end(HPHP::VRefParamValue const&)
_ZN4HPHP5f_endERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_end(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP5f_endERKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_key(HPHP::VRefParamValue const&)
_ZN4HPHP5f_keyERKNS_14VRefParamValueE
(return value) => rax
_rv => rdi
array => rsi
*/
TypedValue* fh_key(TypedValue* _rv, TypedValue* array) asm("_ZN4HPHP5f_keyERKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_hphp_get_iterator(HPHP::Variant const&)
_ZN4HPHP19f_hphp_get_iteratorERKNS_7VariantE
+14 -46
Ver Arquivo
@@ -54,15 +54,11 @@ Variant f_array_chunk(CVarRef input, int size,
Variant f_array_combine(CVarRef keys, CVarRef values);
Variant f_array_count_values(CVarRef input);
Variant f_array_fill_keys(CVarRef keys, CVarRef value);
inline Variant f_array_fill(int start_index, int num, CVarRef value) {
return ArrayUtil::CreateArray(start_index, num, value);
}
Variant f_array_fill(int start_index, int num, CVarRef value);
Variant f_array_filter(CVarRef input, CVarRef callback = null_variant);
Variant f_array_flip(CVarRef trans);
bool f_array_key_exists(CVarRef key, CVarRef search);
inline bool f_key_exists(CVarRef key, CVarRef search) {
return f_array_key_exists(key, search);
}
bool f_key_exists(CVarRef key, CVarRef search);
Variant f_array_keys(CVarRef input, CVarRef search_value = null_variant,
bool strict = false);
@@ -77,9 +73,7 @@ Variant f_array_replace_recursive(int _argc, CVarRef array1, CArrRef _argv = nul
Variant f_array_replace(int _argc, CVarRef array1, CArrRef _argv = null_array);
Variant f_array_pad(CVarRef input, int pad_size, CVarRef pad_value);
inline Variant f_array_pop(VRefParam array) {
return array.pop();
}
Variant f_array_pop(VRefParam array);
Variant f_array_product(CVarRef array);
Variant f_array_push(int _argc, VRefParam array, CVarRef var, CArrRef _argv = null_array);
@@ -90,9 +84,7 @@ Variant f_array_reduce(CVarRef input, CVarRef callback,
Variant f_array_reverse(CVarRef array, bool preserve_keys = false);
Variant f_array_search(CVarRef needle, CVarRef haystack,
bool strict = false);
inline Variant f_array_shift(VRefParam array) {
return array.dequeue();
}
Variant f_array_shift(VRefParam array);
Variant f_array_slice(CVarRef array, int offset,
CVarRef length = null_variant,
bool preserve_keys = false);
@@ -116,40 +108,16 @@ Array f_compact(int _argc, CVarRef varname, CArrRef _argv = null_array);
bool f_shuffle(VRefParam array);
int64_t f_count(CVarRef var, bool recursive = false);
inline int64_t f_sizeof(CVarRef var, bool recursive = false) {
return f_count(var, recursive);
}
inline Variant f_each(VRefParam array) {
return array.array_iter_each();
}
inline Variant f_current(VRefParam array) {
return array.array_iter_current();
}
inline Variant f_hphp_current_ref(VRefParam array) {
if (!array.isArray()) {
throw_bad_array_exception();
return false;
}
return strongBind(array.array_iter_current_ref());
}
inline Variant f_next(VRefParam array) {
return array.array_iter_next();
}
inline Variant f_pos(VRefParam array) {
return array.array_iter_current();
}
inline Variant f_prev(VRefParam array) {
return array.array_iter_prev();
}
inline Variant f_reset(VRefParam array) {
return array.array_iter_reset();
}
inline Variant f_end(VRefParam array) {
return array.array_iter_end();
}
inline Variant f_key(VRefParam array) {
return array.array_iter_key();
}
int64_t f_sizeof(CVarRef var, bool recursive = false);
Variant f_each(VRefParam array);
Variant f_current(VRefParam array);
Variant f_hphp_current_ref(VRefParam array);
Variant f_next(VRefParam array);
Variant f_pos(VRefParam array);
Variant f_prev(VRefParam array);
Variant f_reset(VRefParam array);
Variant f_end(VRefParam array);
Variant f_key(VRefParam array);
Variant f_hphp_get_iterator(CVarRef iterable);
Variant f_hphp_get_mutable_iterator(VRefParam iterable);
+12
Ver Arquivo
@@ -22,6 +22,18 @@
namespace HPHP {
///////////////////////////////////////////////////////////////////////////////
Variant f_bzclose(CObjRef bz) {
return f_fclose(bz);
}
Variant f_bzread(CObjRef bz, int length /* = 1024 */) {
return f_fread(bz, length);
}
Variant f_bzwrite(CObjRef bz, CStrRef data, int length /* = 0 */) {
return f_fwrite(bz, data, length);
}
Variant f_bzopen(CStrRef filename, CStrRef mode) {
if (mode != "r" && mode != "w") {
return false;
+176
Ver Arquivo
@@ -24,6 +24,56 @@
namespace HPHP {
/*
HPHP::Variant HPHP::f_bzclose(HPHP::Object const&)
_ZN4HPHP9f_bzcloseERKNS_6ObjectE
(return value) => rax
_rv => rdi
bz => rsi
*/
TypedValue* fh_bzclose(TypedValue* _rv, Value* bz) asm("_ZN4HPHP9f_bzcloseERKNS_6ObjectE");
TypedValue * fg1_bzclose(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_bzclose(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToObjectInPlace(args-0);
fh_bzclose((rv), &args[-0].m_data);
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_bzclose(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_bzclose((&(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_bzclose(&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("bzclose", 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_bzopen(HPHP::String const&, HPHP::String const&)
_ZN4HPHP8f_bzopenERKNS_6StringES2_
@@ -80,6 +130,132 @@ TypedValue* fg_bzopen(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_bzread(HPHP::Object const&, int)
_ZN4HPHP8f_bzreadERKNS_6ObjectEi
(return value) => rax
_rv => rdi
bz => rsi
length => rdx
*/
TypedValue* fh_bzread(TypedValue* _rv, Value* bz, int length) asm("_ZN4HPHP8f_bzreadERKNS_6ObjectEi");
TypedValue * fg1_bzread(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_bzread(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_bzread((rv), &args[-0].m_data, (count > 1) ? (int)(args[-1].m_data.num) : (int)(1024));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_bzread(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_bzread((&(rv)), &args[-0].m_data, (count > 1) ? (int)(args[-1].m_data.num) : (int)(1024));
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_bzread(&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("bzread", 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_bzwrite(HPHP::Object const&, HPHP::String const&, int)
_ZN4HPHP9f_bzwriteERKNS_6ObjectERKNS_6StringEi
(return value) => rax
_rv => rdi
bz => rsi
data => rdx
length => rcx
*/
TypedValue* fh_bzwrite(TypedValue* _rv, Value* bz, Value* data, int length) asm("_ZN4HPHP9f_bzwriteERKNS_6ObjectERKNS_6StringEi");
TypedValue * fg1_bzwrite(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_bzwrite(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_bzwrite((rv), &args[-0].m_data, &args[-1].m_data, (count > 2) ? (int)(args[-2].m_data.num) : (int)(0));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_bzwrite(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_bzwrite((&(rv)), &args[-0].m_data, &args[-1].m_data, (count > 2) ? (int)(args[-2].m_data.num) : (int)(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_bzwrite(&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("bzwrite", 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_bzflush(HPHP::Object const&)
_ZN4HPHP9f_bzflushERKNS_6ObjectE
+36
Ver Arquivo
@@ -16,6 +16,17 @@
*/
namespace HPHP {
/*
HPHP::Variant HPHP::f_bzclose(HPHP::Object const&)
_ZN4HPHP9f_bzcloseERKNS_6ObjectE
(return value) => rax
_rv => rdi
bz => rsi
*/
TypedValue* fh_bzclose(TypedValue* _rv, Value* bz) asm("_ZN4HPHP9f_bzcloseERKNS_6ObjectE");
/*
HPHP::Variant HPHP::f_bzopen(HPHP::String const&, HPHP::String const&)
_ZN4HPHP8f_bzopenERKNS_6StringES2_
@@ -28,6 +39,31 @@ mode => rdx
TypedValue* fh_bzopen(TypedValue* _rv, Value* filename, Value* mode) asm("_ZN4HPHP8f_bzopenERKNS_6StringES2_");
/*
HPHP::Variant HPHP::f_bzread(HPHP::Object const&, int)
_ZN4HPHP8f_bzreadERKNS_6ObjectEi
(return value) => rax
_rv => rdi
bz => rsi
length => rdx
*/
TypedValue* fh_bzread(TypedValue* _rv, Value* bz, int length) asm("_ZN4HPHP8f_bzreadERKNS_6ObjectEi");
/*
HPHP::Variant HPHP::f_bzwrite(HPHP::Object const&, HPHP::String const&, int)
_ZN4HPHP9f_bzwriteERKNS_6ObjectERKNS_6StringEi
(return value) => rax
_rv => rdi
bz => rsi
data => rdx
length => rcx
*/
TypedValue* fh_bzwrite(TypedValue* _rv, Value* bz, Value* data, int length) asm("_ZN4HPHP9f_bzwriteERKNS_6ObjectERKNS_6StringEi");
/*
HPHP::Variant HPHP::f_bzflush(HPHP::Object const&)
_ZN4HPHP9f_bzflushERKNS_6ObjectE
+3 -11
Ver Arquivo
@@ -26,17 +26,9 @@
namespace HPHP {
///////////////////////////////////////////////////////////////////////////////
inline Variant f_bzclose(CObjRef bz) {
return f_fclose(bz);
}
inline Variant f_bzread(CObjRef bz, int length = 1024) {
return f_fread(bz, length);
}
inline Variant f_bzwrite(CObjRef bz, CStrRef data, int length = 0) {
return f_fwrite(bz, data, length);
}
Variant f_bzclose(CObjRef bz);
Variant f_bzread(CObjRef bz, int length = 1024);
Variant f_bzwrite(CObjRef bz, CStrRef data, int length = 0);
Variant f_bzopen(CStrRef filename, CStrRef mode);
Variant f_bzflush(CObjRef bz);
+290
Ver Arquivo
@@ -291,5 +291,295 @@ ObjectData *c_DateInterval::clone() {
return obj;
}
///////////////////////////////////////////////////////////////////////////////
// timestamp
Variant f_gettimeofday(bool return_float /* = false */) {
if (return_float) {
return TimeStamp::CurrentSecond();
}
return TimeStamp::CurrentTime();
}
Variant f_microtime(bool get_as_float /* = false */) {
if (get_as_float) {
return TimeStamp::CurrentSecond();
}
return TimeStamp::CurrentMicroTime();
}
int64_t f_time() {
return time(0);
}
Variant f_mktime(int hour /* = INT_MAX */, int minute /* = INT_MAX */,
int second /* = INT_MAX */, int month /* = INT_MAX */,
int day /* = INT_MAX */, int year /* = INT_MAX */) {
bool error;
int64_t ts = TimeStamp::Get(error, hour, minute, second, month, day, year,
false);
if (error) return false;
return ts;
}
Variant f_gmmktime(int hour /* = INT_MAX */, int minute /* = INT_MAX */,
int second /* = INT_MAX */,
int month /* = INT_MAX */, int day /* = INT_MAX */,
int year /* = INT_MAX */) {
bool error;
int64_t ts = TimeStamp::Get(error, hour, minute, second, month, day, year,
true);
if (error) return false;
return ts;
}
Variant f_idate(CStrRef format, int64_t timestamp /* = TimeStamp::Current() */) {
if (format.size() != 1) {
throw_invalid_argument("format: %s", format.data());
return false;
}
int64_t ret = DateTime(timestamp, false).toInteger(*format.data());
if (ret == -1) return false;
return ret;
}
Variant f_date(CStrRef format, int64_t timestamp /* = TimeStamp::Current() */) {
if (format.empty()) return "";
String ret = DateTime(timestamp, false).toString(format, false);
if (ret.isNull()) return false;
return ret;
}
Variant f_gmdate(CStrRef format,
int64_t timestamp /* = TimeStamp::Current() */) {
String ret = DateTime(timestamp, true).toString(format, false);
if (ret.isNull()) return false;
return ret;
}
Variant f_strftime(CStrRef format,
int64_t timestamp /* = TimeStamp::Current() */) {
String ret = DateTime(timestamp, false).toString(format, true);
if (ret.isNull()) return false;
return ret;
}
String f_gmstrftime(CStrRef format,
int64_t timestamp /* = TimeStamp::Current() */) {
String ret = DateTime(timestamp, true).toString(format, true);
if (ret.isNull()) return false;
return ret;
}
Array f_getdate(int64_t timestamp /* = TimeStamp::Current() */) {
return DateTime(timestamp, false).toArray(DateTime::TimeMap);
}
Array f_localtime(int64_t timestamp /* = TimeStamp::Current() */,
bool is_associative /* = false */) {
DateTime::ArrayFormat format =
is_associative ? DateTime::TmMap : DateTime::TmVector;
return DateTime(timestamp, false).toArray(format);
}
Variant f_strptime(CStrRef date, CStrRef format) {
Array ret = DateTime::Parse(date, format);
if (ret.empty()) {
return false;
}
return ret;
}
Variant f_strtotime(CStrRef input,
int64_t timestamp /* = TimeStamp::Current() */) {
if (input.empty()) {
return false;
}
DateTime dt(timestamp);
if (!dt.fromString(input, SmartObject<TimeZone>())) {
return false;
}
bool error;
return dt.toTimeStamp(error);
}
///////////////////////////////////////////////////////////////////////////////
// timezone
String f_date_default_timezone_get() {
return TimeZone::Current()->name();
}
bool f_date_default_timezone_set(CStrRef name) {
return TimeZone::SetCurrent(name);
}
Array f_timezone_identifiers_list() {
return c_DateTimeZone::t_listidentifiers();
}
Array f_timezone_abbreviations_list() {
return c_DateTimeZone::t_listabbreviations();
}
Variant f_timezone_name_from_abbr(CStrRef abbr, int gmtoffset /* = -1 */,
bool isdst /* = true */) {
String ret = TimeZone::AbbreviationToName(abbr, gmtoffset, isdst);
if (ret.isNull()) {
return false;
}
return ret;
}
Object f_timezone_open(CStrRef timezone) {
c_DateTimeZone *ctz = NEWOBJ(c_DateTimeZone)();
Object ret(ctz);
ctz->t___construct(timezone);
return ret;
}
Array f_timezone_location_get(CObjRef timezone) {
return timezone.getTyped<c_DateTimeZone>()->t_getlocation();
}
String f_timezone_name_get(CObjRef object) {
return object.getTyped<c_DateTimeZone>()->t_getname();
}
int64_t f_timezone_offset_get(CObjRef object, CObjRef dt) {
return object.getTyped<c_DateTimeZone>()->t_getoffset(dt);
}
Array f_timezone_transitions_get(CObjRef object) {
return object.getTyped<c_DateTimeZone>()->t_gettransitions();
}
String f_timezone_version_get() {
return TimeZone::getVersion();
}
///////////////////////////////////////////////////////////////////////////////
// datetime
bool f_checkdate(int month, int day, int year) {
return DateTime::IsValid(year, month, day);
}
Object f_date_add(CObjRef datetime, CObjRef interval) {
return datetime.getTyped<c_DateTime>()->
t_add(interval.getTyped<c_DateInterval>());
}
Object f_date_create_from_format(CStrRef format,
CStrRef time,
CObjRef timezone /* = null_object */) {
return c_DateTime::t_createfromformat(format, time, timezone);
}
Object f_date_create(CStrRef time /* = null_string */,
CObjRef timezone /* = null_object */) {
c_DateTime *cdt = NEWOBJ(c_DateTime)();
Object ret(cdt);
cdt->t___construct(time, timezone);
return ret;
}
void f_date_date_set(CObjRef object, int year, int month, int day) {
object.getTyped<c_DateTime>()->t_setdate(year, month, day);
}
Object f_date_diff(CObjRef datetime,
CObjRef datetime2,
bool absolute /* = false */) {
return datetime.getTyped<c_DateTime>()->
t_diff(datetime2.getTyped<c_DateTime>(), absolute);
}
void f_date_isodate_set(CObjRef object, int year, int week,
int day /* = 1 */) {
object.getTyped<c_DateTime>()->t_setisodate(year, week, day);
}
String f_date_format(CObjRef object, CStrRef format) {
return object.getTyped<c_DateTime>()->t_format(format);
}
Array f_date_get_last_errors() {
return c_DateTime::t_getlasterrors();
}
Object f_date_interval_create_from_date_string(CStrRef time) {
return c_DateInterval::t_createfromdatestring(time);
}
String f_date_interval_format(CObjRef interval, CStrRef format_spec) {
return interval.getTyped<c_DateInterval>()->t_format(format_spec);
}
void f_date_modify(CObjRef object, CStrRef modify) {
object.getTyped<c_DateTime>()->t_modify(modify);
}
int64_t f_date_offset_get(CObjRef object) {
return object.getTyped<c_DateTime>()->t_getoffset();
}
Variant f_date_parse(CStrRef date) {
return DateTime::Parse(date);
}
void f_date_time_set(CObjRef object, int hour, int minute,
int second /* = 0 */) {
object.getTyped<c_DateTime>()->t_settime(hour, minute, second);
}
int64_t f_date_timestamp_get(CObjRef datetime) {
return datetime.getTyped<c_DateTime>()->t_gettimestamp();
}
Object f_date_timestamp_set(CObjRef datetime, int64_t timestamp) {
return datetime.getTyped<c_DateTime>()->
t_settimestamp(timestamp);
}
Variant f_date_timezone_get(CObjRef object) {
return object.getTyped<c_DateTime>()->t_gettimezone();
}
void f_date_timezone_set(CObjRef object, CObjRef timezone) {
object.getTyped<c_DateTime>()->t_settimezone(timezone);
}
Object f_date_sub(CObjRef datetime, CObjRef interval) {
return datetime.getTyped<c_DateTime>()->
t_sub(interval.getTyped<c_DateInterval>());
}
///////////////////////////////////////////////////////////////////////////////
// sun
Array f_date_sun_info(int64_t ts, double latitude, double longitude) {
return DateTime(ts, false).getSunInfo(latitude, longitude);
}
Variant f_date_sunrise(int64_t timestamp, int format /* = 0 */,
double latitude /* = 0.0 */, double longitude /* = 0.0 */,
double zenith /* = 0.0 */,
double gmt_offset /* = 99999.0 */) {
return DateTime(timestamp, false).getSunInfo
(static_cast<DateTime::SunInfoFormat>(format), latitude, longitude,
zenith, gmt_offset, false);
}
Variant f_date_sunset(int64_t timestamp, int format /* = 0 */,
double latitude /* = 0.0 */, double longitude /* = 0.0 */,
double zenith /* = 0.0 */,
double gmt_offset /* = 99999.0 */) {
return DateTime(timestamp, false).getSunInfo
(static_cast<DateTime::SunInfoFormat>(format), latitude, longitude,
zenith, gmt_offset, true);
}
///////////////////////////////////////////////////////////////////////////////
}
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+562
Ver Arquivo
@@ -16,6 +16,568 @@
*/
namespace HPHP {
/*
bool HPHP::f_checkdate(int, int, int)
_ZN4HPHP11f_checkdateEiii
(return value) => rax
month => rdi
day => rsi
year => rdx
*/
bool fh_checkdate(int month, int day, int year) asm("_ZN4HPHP11f_checkdateEiii");
/*
HPHP::Object HPHP::f_date_add(HPHP::Object const&, HPHP::Object const&)
_ZN4HPHP10f_date_addERKNS_6ObjectES2_
(return value) => rax
_rv => rdi
datetime => rsi
interval => rdx
*/
Value* fh_date_add(Value* _rv, Value* datetime, Value* interval) asm("_ZN4HPHP10f_date_addERKNS_6ObjectES2_");
/*
HPHP::Object HPHP::f_date_create_from_format(HPHP::String const&, HPHP::String const&, HPHP::Object const&)
_ZN4HPHP25f_date_create_from_formatERKNS_6StringES2_RKNS_6ObjectE
(return value) => rax
_rv => rdi
format => rsi
time => rdx
timezone => rcx
*/
Value* fh_date_create_from_format(Value* _rv, Value* format, Value* time, Value* timezone) asm("_ZN4HPHP25f_date_create_from_formatERKNS_6StringES2_RKNS_6ObjectE");
/*
HPHP::Object HPHP::f_date_create(HPHP::String const&, HPHP::Object const&)
_ZN4HPHP13f_date_createERKNS_6StringERKNS_6ObjectE
(return value) => rax
_rv => rdi
time => rsi
timezone => rdx
*/
Value* fh_date_create(Value* _rv, Value* time, Value* timezone) asm("_ZN4HPHP13f_date_createERKNS_6StringERKNS_6ObjectE");
/*
void HPHP::f_date_date_set(HPHP::Object const&, int, int, int)
_ZN4HPHP15f_date_date_setERKNS_6ObjectEiii
object => rdi
year => rsi
month => rdx
day => rcx
*/
void fh_date_date_set(Value* object, int year, int month, int day) asm("_ZN4HPHP15f_date_date_setERKNS_6ObjectEiii");
/*
HPHP::String HPHP::f_date_default_timezone_get()
_ZN4HPHP27f_date_default_timezone_getEv
(return value) => rax
_rv => rdi
*/
Value* fh_date_default_timezone_get(Value* _rv) asm("_ZN4HPHP27f_date_default_timezone_getEv");
/*
bool HPHP::f_date_default_timezone_set(HPHP::String const&)
_ZN4HPHP27f_date_default_timezone_setERKNS_6StringE
(return value) => rax
name => rdi
*/
bool fh_date_default_timezone_set(Value* name) asm("_ZN4HPHP27f_date_default_timezone_setERKNS_6StringE");
/*
HPHP::Object HPHP::f_date_diff(HPHP::Object const&, HPHP::Object const&, bool)
_ZN4HPHP11f_date_diffERKNS_6ObjectES2_b
(return value) => rax
_rv => rdi
datetime => rsi
datetime2 => rdx
absolute => rcx
*/
Value* fh_date_diff(Value* _rv, Value* datetime, Value* datetime2, bool absolute) asm("_ZN4HPHP11f_date_diffERKNS_6ObjectES2_b");
/*
HPHP::String HPHP::f_date_format(HPHP::Object const&, HPHP::String const&)
_ZN4HPHP13f_date_formatERKNS_6ObjectERKNS_6StringE
(return value) => rax
_rv => rdi
object => rsi
format => rdx
*/
Value* fh_date_format(Value* _rv, Value* object, Value* format) asm("_ZN4HPHP13f_date_formatERKNS_6ObjectERKNS_6StringE");
/*
HPHP::Array HPHP::f_date_get_last_errors()
_ZN4HPHP22f_date_get_last_errorsEv
(return value) => rax
_rv => rdi
*/
Value* fh_date_get_last_errors(Value* _rv) asm("_ZN4HPHP22f_date_get_last_errorsEv");
/*
HPHP::Object HPHP::f_date_interval_create_from_date_string(HPHP::String const&)
_ZN4HPHP39f_date_interval_create_from_date_stringERKNS_6StringE
(return value) => rax
_rv => rdi
time => rsi
*/
Value* fh_date_interval_create_from_date_string(Value* _rv, Value* time) asm("_ZN4HPHP39f_date_interval_create_from_date_stringERKNS_6StringE");
/*
HPHP::String HPHP::f_date_interval_format(HPHP::Object const&, HPHP::String const&)
_ZN4HPHP22f_date_interval_formatERKNS_6ObjectERKNS_6StringE
(return value) => rax
_rv => rdi
interval => rsi
format_spec => rdx
*/
Value* fh_date_interval_format(Value* _rv, Value* interval, Value* format_spec) asm("_ZN4HPHP22f_date_interval_formatERKNS_6ObjectERKNS_6StringE");
/*
void HPHP::f_date_isodate_set(HPHP::Object const&, int, int, int)
_ZN4HPHP18f_date_isodate_setERKNS_6ObjectEiii
object => rdi
year => rsi
week => rdx
day => rcx
*/
void fh_date_isodate_set(Value* object, int year, int week, int day) asm("_ZN4HPHP18f_date_isodate_setERKNS_6ObjectEiii");
/*
void HPHP::f_date_modify(HPHP::Object const&, HPHP::String const&)
_ZN4HPHP13f_date_modifyERKNS_6ObjectERKNS_6StringE
object => rdi
modify => rsi
*/
void fh_date_modify(Value* object, Value* modify) asm("_ZN4HPHP13f_date_modifyERKNS_6ObjectERKNS_6StringE");
/*
long HPHP::f_date_offset_get(HPHP::Object const&)
_ZN4HPHP17f_date_offset_getERKNS_6ObjectE
(return value) => rax
object => rdi
*/
long fh_date_offset_get(Value* object) asm("_ZN4HPHP17f_date_offset_getERKNS_6ObjectE");
/*
HPHP::Variant HPHP::f_date_parse(HPHP::String const&)
_ZN4HPHP12f_date_parseERKNS_6StringE
(return value) => rax
_rv => rdi
date => rsi
*/
TypedValue* fh_date_parse(TypedValue* _rv, Value* date) asm("_ZN4HPHP12f_date_parseERKNS_6StringE");
/*
HPHP::Object HPHP::f_date_sub(HPHP::Object const&, HPHP::Object const&)
_ZN4HPHP10f_date_subERKNS_6ObjectES2_
(return value) => rax
_rv => rdi
datetime => rsi
interval => rdx
*/
Value* fh_date_sub(Value* _rv, Value* datetime, Value* interval) asm("_ZN4HPHP10f_date_subERKNS_6ObjectES2_");
/*
HPHP::Array HPHP::f_date_sun_info(long, double, double)
_ZN4HPHP15f_date_sun_infoEldd
(return value) => rax
_rv => rdi
ts => rsi
latitude => xmm0
longitude => xmm1
*/
Value* fh_date_sun_info(Value* _rv, long ts, double latitude, double longitude) asm("_ZN4HPHP15f_date_sun_infoEldd");
/*
HPHP::Variant HPHP::f_date_sunrise(long, int, double, double, double, double)
_ZN4HPHP14f_date_sunriseElidddd
(return value) => rax
_rv => rdi
timestamp => rsi
format => rdx
latitude => xmm0
longitude => xmm1
zenith => xmm2
gmt_offset => xmm3
*/
TypedValue* fh_date_sunrise(TypedValue* _rv, long timestamp, int format, double latitude, double longitude, double zenith, double gmt_offset) asm("_ZN4HPHP14f_date_sunriseElidddd");
/*
HPHP::Variant HPHP::f_date_sunset(long, int, double, double, double, double)
_ZN4HPHP13f_date_sunsetElidddd
(return value) => rax
_rv => rdi
timestamp => rsi
format => rdx
latitude => xmm0
longitude => xmm1
zenith => xmm2
gmt_offset => xmm3
*/
TypedValue* fh_date_sunset(TypedValue* _rv, long timestamp, int format, double latitude, double longitude, double zenith, double gmt_offset) asm("_ZN4HPHP13f_date_sunsetElidddd");
/*
void HPHP::f_date_time_set(HPHP::Object const&, int, int, int)
_ZN4HPHP15f_date_time_setERKNS_6ObjectEiii
object => rdi
hour => rsi
minute => rdx
second => rcx
*/
void fh_date_time_set(Value* object, int hour, int minute, int second) asm("_ZN4HPHP15f_date_time_setERKNS_6ObjectEiii");
/*
long HPHP::f_date_timestamp_get(HPHP::Object const&)
_ZN4HPHP20f_date_timestamp_getERKNS_6ObjectE
(return value) => rax
datetime => rdi
*/
long fh_date_timestamp_get(Value* datetime) asm("_ZN4HPHP20f_date_timestamp_getERKNS_6ObjectE");
/*
HPHP::Object HPHP::f_date_timestamp_set(HPHP::Object const&, long)
_ZN4HPHP20f_date_timestamp_setERKNS_6ObjectEl
(return value) => rax
_rv => rdi
datetime => rsi
timestamp => rdx
*/
Value* fh_date_timestamp_set(Value* _rv, Value* datetime, long timestamp) asm("_ZN4HPHP20f_date_timestamp_setERKNS_6ObjectEl");
/*
HPHP::Variant HPHP::f_date_timezone_get(HPHP::Object const&)
_ZN4HPHP19f_date_timezone_getERKNS_6ObjectE
(return value) => rax
_rv => rdi
object => rsi
*/
TypedValue* fh_date_timezone_get(TypedValue* _rv, Value* object) asm("_ZN4HPHP19f_date_timezone_getERKNS_6ObjectE");
/*
void HPHP::f_date_timezone_set(HPHP::Object const&, HPHP::Object const&)
_ZN4HPHP19f_date_timezone_setERKNS_6ObjectES2_
object => rdi
timezone => rsi
*/
void fh_date_timezone_set(Value* object, Value* timezone) asm("_ZN4HPHP19f_date_timezone_setERKNS_6ObjectES2_");
/*
HPHP::Variant HPHP::f_date(HPHP::String const&, long)
_ZN4HPHP6f_dateERKNS_6StringEl
(return value) => rax
_rv => rdi
format => rsi
timestamp => rdx
*/
TypedValue* fh_date(TypedValue* _rv, Value* format, long timestamp) asm("_ZN4HPHP6f_dateERKNS_6StringEl");
/*
HPHP::Array HPHP::f_getdate(long)
_ZN4HPHP9f_getdateEl
(return value) => rax
_rv => rdi
timestamp => rsi
*/
Value* fh_getdate(Value* _rv, long timestamp) asm("_ZN4HPHP9f_getdateEl");
/*
HPHP::Variant HPHP::f_gettimeofday(bool)
_ZN4HPHP14f_gettimeofdayEb
(return value) => rax
_rv => rdi
return_float => rsi
*/
TypedValue* fh_gettimeofday(TypedValue* _rv, bool return_float) asm("_ZN4HPHP14f_gettimeofdayEb");
/*
HPHP::Variant HPHP::f_gmdate(HPHP::String const&, long)
_ZN4HPHP8f_gmdateERKNS_6StringEl
(return value) => rax
_rv => rdi
format => rsi
timestamp => rdx
*/
TypedValue* fh_gmdate(TypedValue* _rv, Value* format, long timestamp) asm("_ZN4HPHP8f_gmdateERKNS_6StringEl");
/*
HPHP::Variant HPHP::f_gmmktime(int, int, int, int, int, int)
_ZN4HPHP10f_gmmktimeEiiiiii
(return value) => rax
_rv => rdi
hour => rsi
minute => rdx
second => rcx
month => r8
day => r9
year => st0
*/
TypedValue* fh_gmmktime(TypedValue* _rv, int hour, int minute, int second, int month, int day, int year) asm("_ZN4HPHP10f_gmmktimeEiiiiii");
/*
HPHP::String HPHP::f_gmstrftime(HPHP::String const&, long)
_ZN4HPHP12f_gmstrftimeERKNS_6StringEl
(return value) => rax
_rv => rdi
format => rsi
timestamp => rdx
*/
Value* fh_gmstrftime(Value* _rv, Value* format, long timestamp) asm("_ZN4HPHP12f_gmstrftimeERKNS_6StringEl");
/*
HPHP::Variant HPHP::f_idate(HPHP::String const&, long)
_ZN4HPHP7f_idateERKNS_6StringEl
(return value) => rax
_rv => rdi
format => rsi
timestamp => rdx
*/
TypedValue* fh_idate(TypedValue* _rv, Value* format, long timestamp) asm("_ZN4HPHP7f_idateERKNS_6StringEl");
/*
HPHP::Array HPHP::f_localtime(long, bool)
_ZN4HPHP11f_localtimeElb
(return value) => rax
_rv => rdi
timestamp => rsi
is_associative => rdx
*/
Value* fh_localtime(Value* _rv, long timestamp, bool is_associative) asm("_ZN4HPHP11f_localtimeElb");
/*
HPHP::Variant HPHP::f_microtime(bool)
_ZN4HPHP11f_microtimeEb
(return value) => rax
_rv => rdi
get_as_float => rsi
*/
TypedValue* fh_microtime(TypedValue* _rv, bool get_as_float) asm("_ZN4HPHP11f_microtimeEb");
/*
HPHP::Variant HPHP::f_mktime(int, int, int, int, int, int)
_ZN4HPHP8f_mktimeEiiiiii
(return value) => rax
_rv => rdi
hour => rsi
minute => rdx
second => rcx
month => r8
day => r9
year => st0
*/
TypedValue* fh_mktime(TypedValue* _rv, int hour, int minute, int second, int month, int day, int year) asm("_ZN4HPHP8f_mktimeEiiiiii");
/*
HPHP::Variant HPHP::f_strftime(HPHP::String const&, long)
_ZN4HPHP10f_strftimeERKNS_6StringEl
(return value) => rax
_rv => rdi
format => rsi
timestamp => rdx
*/
TypedValue* fh_strftime(TypedValue* _rv, Value* format, long timestamp) asm("_ZN4HPHP10f_strftimeERKNS_6StringEl");
/*
HPHP::Variant HPHP::f_strptime(HPHP::String const&, HPHP::String const&)
_ZN4HPHP10f_strptimeERKNS_6StringES2_
(return value) => rax
_rv => rdi
date => rsi
format => rdx
*/
TypedValue* fh_strptime(TypedValue* _rv, Value* date, Value* format) asm("_ZN4HPHP10f_strptimeERKNS_6StringES2_");
/*
HPHP::Variant HPHP::f_strtotime(HPHP::String const&, long)
_ZN4HPHP11f_strtotimeERKNS_6StringEl
(return value) => rax
_rv => rdi
input => rsi
timestamp => rdx
*/
TypedValue* fh_strtotime(TypedValue* _rv, Value* input, long timestamp) asm("_ZN4HPHP11f_strtotimeERKNS_6StringEl");
/*
long HPHP::f_time()
_ZN4HPHP6f_timeEv
(return value) => rax
*/
long fh_time() asm("_ZN4HPHP6f_timeEv");
/*
HPHP::Array HPHP::f_timezone_abbreviations_list()
_ZN4HPHP29f_timezone_abbreviations_listEv
(return value) => rax
_rv => rdi
*/
Value* fh_timezone_abbreviations_list(Value* _rv) asm("_ZN4HPHP29f_timezone_abbreviations_listEv");
/*
HPHP::Array HPHP::f_timezone_identifiers_list()
_ZN4HPHP27f_timezone_identifiers_listEv
(return value) => rax
_rv => rdi
*/
Value* fh_timezone_identifiers_list(Value* _rv) asm("_ZN4HPHP27f_timezone_identifiers_listEv");
/*
HPHP::Array HPHP::f_timezone_location_get(HPHP::Object const&)
_ZN4HPHP23f_timezone_location_getERKNS_6ObjectE
(return value) => rax
_rv => rdi
timezone => rsi
*/
Value* fh_timezone_location_get(Value* _rv, Value* timezone) asm("_ZN4HPHP23f_timezone_location_getERKNS_6ObjectE");
/*
HPHP::Variant HPHP::f_timezone_name_from_abbr(HPHP::String const&, int, bool)
_ZN4HPHP25f_timezone_name_from_abbrERKNS_6StringEib
(return value) => rax
_rv => rdi
abbr => rsi
gmtoffset => rdx
isdst => rcx
*/
TypedValue* fh_timezone_name_from_abbr(TypedValue* _rv, Value* abbr, int gmtoffset, bool isdst) asm("_ZN4HPHP25f_timezone_name_from_abbrERKNS_6StringEib");
/*
HPHP::String HPHP::f_timezone_name_get(HPHP::Object const&)
_ZN4HPHP19f_timezone_name_getERKNS_6ObjectE
(return value) => rax
_rv => rdi
object => rsi
*/
Value* fh_timezone_name_get(Value* _rv, Value* object) asm("_ZN4HPHP19f_timezone_name_getERKNS_6ObjectE");
/*
long HPHP::f_timezone_offset_get(HPHP::Object const&, HPHP::Object const&)
_ZN4HPHP21f_timezone_offset_getERKNS_6ObjectES2_
(return value) => rax
object => rdi
dt => rsi
*/
long fh_timezone_offset_get(Value* object, Value* dt) asm("_ZN4HPHP21f_timezone_offset_getERKNS_6ObjectES2_");
/*
HPHP::Object HPHP::f_timezone_open(HPHP::String const&)
_ZN4HPHP15f_timezone_openERKNS_6StringE
(return value) => rax
_rv => rdi
timezone => rsi
*/
Value* fh_timezone_open(Value* _rv, Value* timezone) asm("_ZN4HPHP15f_timezone_openERKNS_6StringE");
/*
HPHP::Array HPHP::f_timezone_transitions_get(HPHP::Object const&)
_ZN4HPHP26f_timezone_transitions_getERKNS_6ObjectE
(return value) => rax
_rv => rdi
object => rsi
*/
Value* fh_timezone_transitions_get(Value* _rv, Value* object) asm("_ZN4HPHP26f_timezone_transitions_getERKNS_6ObjectE");
/*
HPHP::String HPHP::f_timezone_version_get()
_ZN4HPHP22f_timezone_version_getEv
(return value) => rax
_rv => rdi
*/
Value* fh_timezone_version_get(Value* _rv) asm("_ZN4HPHP22f_timezone_version_getEv");
} // !HPHP
+72 -274
Ver Arquivo
@@ -202,292 +202,90 @@ class c_DateInterval : public ExtObjectDataFlags<ObjectData::UseGet|ObjectData::
///////////////////////////////////////////////////////////////////////////////
// timestamp
inline Variant f_gettimeofday(bool return_float = false) {
if (return_float) {
return TimeStamp::CurrentSecond();
}
return TimeStamp::CurrentTime();
}
inline Variant f_microtime(bool get_as_float = false) {
if (get_as_float) {
return TimeStamp::CurrentSecond();
}
return TimeStamp::CurrentMicroTime();
}
inline int64_t f_time() {
return time(0);
}
inline Variant f_mktime(int hour = INT_MAX, int minute = INT_MAX,
int second = INT_MAX, int month = INT_MAX,
int day = INT_MAX, int year = INT_MAX) {
bool error;
int64_t ts = TimeStamp::Get(error, hour, minute, second, month, day, year,
false);
if (error) return false;
return ts;
}
inline Variant f_gmmktime(int hour = INT_MAX, int minute = INT_MAX,
int second = INT_MAX,
int month = INT_MAX, int day = INT_MAX,
int year = INT_MAX) {
bool error;
int64_t ts = TimeStamp::Get(error, hour, minute, second, month, day, year,
true);
if (error) return false;
return ts;
}
inline Variant f_idate(CStrRef format, int64_t timestamp = TimeStamp::Current()) {
if (format.size() != 1) {
throw_invalid_argument("format: %s", format.data());
return false;
}
int64_t ret = DateTime(timestamp, false).toInteger(*format.data());
if (ret == -1) return false;
return ret;
}
inline Variant f_date(CStrRef format, int64_t timestamp = TimeStamp::Current()) {
if (format.empty()) return "";
String ret = DateTime(timestamp, false).toString(format, false);
if (ret.isNull()) return false;
return ret;
}
inline Variant f_gmdate(CStrRef format,
int64_t timestamp = TimeStamp::Current()) {
String ret = DateTime(timestamp, true).toString(format, false);
if (ret.isNull()) return false;
return ret;
}
inline Variant f_strftime(CStrRef format,
int64_t timestamp = TimeStamp::Current()) {
String ret = DateTime(timestamp, false).toString(format, true);
if (ret.isNull()) return false;
return ret;
}
inline String f_gmstrftime(CStrRef format,
int64_t timestamp = TimeStamp::Current()) {
String ret = DateTime(timestamp, true).toString(format, true);
if (ret.isNull()) return false;
return ret;
}
inline Array f_getdate(int64_t timestamp = TimeStamp::Current()) {
return DateTime(timestamp, false).toArray(DateTime::TimeMap);
}
inline Array f_localtime(int64_t timestamp = TimeStamp::Current(),
bool is_associative = false) {
DateTime::ArrayFormat format =
is_associative ? DateTime::TmMap : DateTime::TmVector;
return DateTime(timestamp, false).toArray(format);
}
inline Variant f_strptime(CStrRef date, CStrRef format) {
Array ret = DateTime::Parse(date, format);
if (ret.empty()) {
return false;
}
return ret;
}
inline Variant f_strtotime(CStrRef input,
int64_t timestamp = TimeStamp::Current()) {
if (input.empty()) {
return false;
}
DateTime dt(timestamp);
if (!dt.fromString(input, SmartObject<TimeZone>())) {
return false;
}
bool error;
return dt.toTimeStamp(error);
}
Variant f_gettimeofday(bool return_float = false);
Variant f_microtime(bool get_as_float = false);
int64_t f_time();
Variant f_mktime(int hour = INT_MAX, int minute = INT_MAX,
int second = INT_MAX, int month = INT_MAX,
int day = INT_MAX, int year = INT_MAX);
Variant f_gmmktime(int hour = INT_MAX, int minute = INT_MAX,
int second = INT_MAX,
int month = INT_MAX, int day = INT_MAX,
int year = INT_MAX);
Variant f_idate(CStrRef format, int64_t timestamp = TimeStamp::Current());
Variant f_date(CStrRef format, int64_t timestamp = TimeStamp::Current());
Variant f_gmdate(CStrRef format,
int64_t timestamp = TimeStamp::Current());
Variant f_strftime(CStrRef format,
int64_t timestamp = TimeStamp::Current());
String f_gmstrftime(CStrRef format,
int64_t timestamp = TimeStamp::Current());
Array f_getdate(int64_t timestamp = TimeStamp::Current());
Array f_localtime(int64_t timestamp = TimeStamp::Current(),
bool is_associative = false);
Variant f_strptime(CStrRef date, CStrRef format);
Variant f_strtotime(CStrRef input,
int64_t timestamp = TimeStamp::Current());
///////////////////////////////////////////////////////////////////////////////
// timezone
inline String f_date_default_timezone_get() {
return TimeZone::Current()->name();
}
inline bool f_date_default_timezone_set(CStrRef name) {
return TimeZone::SetCurrent(name);
}
inline Array f_timezone_identifiers_list() {
return c_DateTimeZone::t_listidentifiers();
}
inline Array f_timezone_abbreviations_list() {
return c_DateTimeZone::t_listabbreviations();
}
inline Variant f_timezone_name_from_abbr(CStrRef abbr, int gmtoffset = -1,
bool isdst = true) {
String ret = TimeZone::AbbreviationToName(abbr, gmtoffset, isdst);
if (ret.isNull()) {
return false;
}
return ret;
}
inline Object f_timezone_open(CStrRef timezone) {
c_DateTimeZone *ctz = NEWOBJ(c_DateTimeZone)();
Object ret(ctz);
ctz->t___construct(timezone);
return ret;
}
inline Array f_timezone_location_get(CObjRef timezone) {
return timezone.getTyped<c_DateTimeZone>()->t_getlocation();
}
inline String f_timezone_name_get(CObjRef object) {
return object.getTyped<c_DateTimeZone>()->t_getname();
}
inline int64_t f_timezone_offset_get(CObjRef object, CObjRef dt) {
return object.getTyped<c_DateTimeZone>()->t_getoffset(dt);
}
inline Array f_timezone_transitions_get(CObjRef object) {
return object.getTyped<c_DateTimeZone>()->t_gettransitions();
}
inline String f_timezone_version_get() {
return TimeZone::getVersion();
}
String f_date_default_timezone_get();
bool f_date_default_timezone_set(CStrRef name);
Array f_timezone_identifiers_list();
Array f_timezone_abbreviations_list();
Variant f_timezone_name_from_abbr(CStrRef abbr, int gmtoffset = -1,
bool isdst = true);
Object f_timezone_open(CStrRef timezone);
Array f_timezone_location_get(CObjRef timezone);
String f_timezone_name_get(CObjRef object);
int64_t f_timezone_offset_get(CObjRef object, CObjRef dt);
Array f_timezone_transitions_get(CObjRef object);
String f_timezone_version_get();
///////////////////////////////////////////////////////////////////////////////
// datetime
inline bool f_checkdate(int month, int day, int year) {
return DateTime::IsValid(year, month, day);
}
inline Object f_date_add(CObjRef datetime, CObjRef interval) {
return datetime.getTyped<c_DateTime>()->
t_add(interval.getTyped<c_DateInterval>());
}
inline Object f_date_create_from_format(CStrRef format,
CStrRef time,
CObjRef timezone = null_object) {
return c_DateTime::t_createfromformat(format, time, timezone);
}
inline Object f_date_create(CStrRef time = null_string,
CObjRef timezone = null_object) {
c_DateTime *cdt = NEWOBJ(c_DateTime)();
Object ret(cdt);
cdt->t___construct(time, timezone);
return ret;
}
inline void f_date_date_set(CObjRef object, int year, int month, int day) {
object.getTyped<c_DateTime>()->t_setdate(year, month, day);
}
inline Object f_date_diff(CObjRef datetime,
CObjRef datetime2,
bool absolute = false) {
return datetime.getTyped<c_DateTime>()->
t_diff(datetime2.getTyped<c_DateTime>(), absolute);
}
inline void f_date_isodate_set(CObjRef object, int year, int week,
int day = 1) {
object.getTyped<c_DateTime>()->t_setisodate(year, week, day);
}
inline String f_date_format(CObjRef object, CStrRef format) {
return object.getTyped<c_DateTime>()->t_format(format);
}
inline Array f_date_get_last_errors() {
return c_DateTime::t_getlasterrors();
}
inline Object f_date_interval_create_from_date_string(CStrRef time) {
return c_DateInterval::t_createfromdatestring(time);
}
inline String f_date_interval_format(CObjRef interval, CStrRef format_spec) {
return interval.getTyped<c_DateInterval>()->t_format(format_spec);
}
inline void f_date_modify(CObjRef object, CStrRef modify) {
object.getTyped<c_DateTime>()->t_modify(modify);
}
inline int64_t f_date_offset_get(CObjRef object) {
return object.getTyped<c_DateTime>()->t_getoffset();
}
inline Variant f_date_parse(CStrRef date) {
return DateTime::Parse(date);
}
inline void f_date_time_set(CObjRef object, int hour, int minute,
int second = 0) {
object.getTyped<c_DateTime>()->t_settime(hour, minute, second);
}
inline int64_t f_date_timestamp_get(CObjRef datetime) {
return datetime.getTyped<c_DateTime>()->t_gettimestamp();
}
inline Object f_date_timestamp_set(CObjRef datetime, int64_t timestamp) {
return datetime.getTyped<c_DateTime>()->
t_settimestamp(timestamp);
}
inline Variant f_date_timezone_get(CObjRef object) {
return object.getTyped<c_DateTime>()->t_gettimezone();
}
inline void f_date_timezone_set(CObjRef object, CObjRef timezone) {
object.getTyped<c_DateTime>()->t_settimezone(timezone);
}
inline Object f_date_sub(CObjRef datetime, CObjRef interval) {
return datetime.getTyped<c_DateTime>()->
t_sub(interval.getTyped<c_DateInterval>());
}
bool f_checkdate(int month, int day, int year);
Object f_date_add(CObjRef datetime, CObjRef interval);
Object f_date_create_from_format(CStrRef format,
CStrRef time,
CObjRef timezone = null_object);
Object f_date_create(CStrRef time = null_string,
CObjRef timezone = null_object);
void f_date_date_set(CObjRef object, int year, int month, int day);
Object f_date_diff(CObjRef datetime,
CObjRef datetime2,
bool absolute = false);
void f_date_isodate_set(CObjRef object, int year, int week,
int day = 1);
String f_date_format(CObjRef object, CStrRef format);
Array f_date_get_last_errors();
Object f_date_interval_create_from_date_string(CStrRef time);
String f_date_interval_format(CObjRef interval, CStrRef format_spec);
void f_date_modify(CObjRef object, CStrRef modify);
int64_t f_date_offset_get(CObjRef object);
Variant f_date_parse(CStrRef date);
void f_date_time_set(CObjRef object, int hour, int minute,
int second = 0);
int64_t f_date_timestamp_get(CObjRef datetime);
Object f_date_timestamp_set(CObjRef datetime, int64_t timestamp);
Variant f_date_timezone_get(CObjRef object);
void f_date_timezone_set(CObjRef object, CObjRef timezone);
Object f_date_sub(CObjRef datetime, CObjRef interval);
///////////////////////////////////////////////////////////////////////////////
// sun
inline Array f_date_sun_info(int64_t ts, double latitude, double longitude) {
return DateTime(ts, false).getSunInfo(latitude, longitude);
}
inline Variant f_date_sunrise(int64_t timestamp, int format = 0,
double latitude = 0.0, double longitude = 0.0,
double zenith = 0.0,
double gmt_offset = 99999.0) {
return DateTime(timestamp, false).getSunInfo
(static_cast<DateTime::SunInfoFormat>(format), latitude, longitude,
zenith, gmt_offset, false);
}
inline Variant f_date_sunset(int64_t timestamp, int format = 0,
double latitude = 0.0, double longitude = 0.0,
double zenith = 0.0,
double gmt_offset = 99999.0) {
return DateTime(timestamp, false).getSunInfo
(static_cast<DateTime::SunInfoFormat>(format), latitude, longitude,
zenith, gmt_offset, true);
}
Array f_date_sun_info(int64_t ts, double latitude, double longitude);
Variant f_date_sunrise(int64_t timestamp, int format = 0,
double latitude = 0.0, double longitude = 0.0,
double zenith = 0.0,
double gmt_offset = 99999.0);
Variant f_date_sunset(int64_t timestamp, int format = 0,
double latitude = 0.0, double longitude = 0.0,
double zenith = 0.0,
double gmt_offset = 99999.0);
///////////////////////////////////////////////////////////////////////////////
}
+66
Ver Arquivo
@@ -27,6 +27,8 @@ const int64_t k_PHP_ROUND_HALF_DOWN = PHP_ROUND_HALF_DOWN;
const int64_t k_PHP_ROUND_HALF_EVEN = PHP_ROUND_HALF_EVEN;
const int64_t k_PHP_ROUND_HALF_ODD = PHP_ROUND_HALF_ODD;
double f_pi() { return k_M_PI;}
Variant f_min(int _argc, CVarRef value, CArrRef _argv /* = null_array */) {
Variant ret;
if (_argv.empty() && value.is(KindOfArray)) {
@@ -106,6 +108,13 @@ Variant f_abs(CVarRef number) {
}
}
bool f_is_finite(double val) { return finite(val);}
bool f_is_infinite(double val) { return isinf(val);}
bool f_is_nan(double val) { return isnan(val);}
double f_ceil(double value) { return ceil(value);}
double f_floor(double value) { return floor(value);}
double f_round(CVarRef val, int64_t precision /* = 0 */,
int64_t mode /* = PHP_ROUND_HALF_UP */) {
int64_t ival;
@@ -124,6 +133,28 @@ double f_round(CVarRef val, int64_t precision /* = 0 */,
return dval;
}
double f_deg2rad(double number) { return number / 180.0 * k_M_PI;}
double f_rad2deg(double number) { return number / k_M_PI * 180.0;}
String f_decbin(int64_t number) {
return String(string_long_to_base(number, 2), AttachString);
}
String f_dechex(int64_t number) {
return String(string_long_to_base(number, 16), AttachString);
}
String f_decoct(int64_t number) {
return String(string_long_to_base(number, 8), AttachString);
}
Variant f_bindec(CStrRef binary_string) {
return string_base_to_numeric(binary_string.data(), binary_string.size(), 2);
}
Variant f_hexdec(CStrRef hex_string) {
return string_base_to_numeric(hex_string.data(), hex_string.size(), 16);
}
Variant f_octdec(CStrRef octal_string) {
return string_base_to_numeric(octal_string.data(), octal_string.size(), 8);
}
Variant f_base_convert(CStrRef number, int64_t frombase, int64_t tobase) {
if (!string_validate_base(frombase)) {
throw_invalid_argument("Invalid frombase: %d", frombase);
@@ -174,6 +205,34 @@ Numeric f_pow(CVarRef base, CVarRef exp) {
return pow(bdbl, edbl);
}
double f_exp(double arg) { return exp(arg);}
double f_expm1(double arg) { return expm1(arg);}
double f_log10(double arg) { return log10(arg);}
double f_log1p(double number) { return log1p(number);}
double f_log(double arg, double base /* = 0 */) {
return base <= 0 ? log(arg) : log(arg)/log(base);
}
double f_cos(double arg) { return cos(arg); }
double f_cosh(double arg) { return cosh(arg); }
double f_sin(double arg) { return sin(arg); }
double f_sinh(double arg) { return sinh(arg); }
double f_tan(double arg) { return tan(arg); }
double f_tanh(double arg) { return tanh(arg); }
double f_acos(double arg) { return acos(arg); }
double f_acosh(double arg) { return acosh(arg);}
double f_asin(double arg) { return asin(arg); }
double f_asinh(double arg) { return asinh(arg);}
double f_atan(double arg) { return atan(arg); }
double f_atanh(double arg) { return atanh(arg);}
double f_atan2(double y, double x) { return atan2(y, x);}
double f_hypot(double x, double y) { return hypot(x, y);}
double f_fmod(double x, double y) { return fmod(x, y);}
double f_sqrt(double arg) { return sqrt(arg);}
int64_t f_getrandmax() { return RAND_MAX;}
///////////////////////////////////////////////////////////////////////////////
static bool s_rand_is_seeded = false;
@@ -203,6 +262,8 @@ int64_t f_rand(int64_t min /* = 0 */, int64_t max /* = RAND_MAX */) {
return number;
}
int64_t f_mt_getrandmax() { return MT_RAND_MAX;}
void f_mt_srand(CVarRef seed /* = null_variant */) {
if (seed.isNull()) {
return math_mt_srand(math_generate_seed());
@@ -214,5 +275,10 @@ void f_mt_srand(CVarRef seed /* = null_variant */) {
}
}
int64_t f_mt_rand(int64_t min /* = 0 */, int64_t max /* = RAND_MAX */) {
return math_mt_rand(min, max);
}
double f_lcg_value() { return math_combined_lcg();}
///////////////////////////////////////////////////////////////////////////////
}
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+397
Ver Arquivo
@@ -16,6 +16,15 @@
*/
namespace HPHP {
/*
double HPHP::f_pi()
_ZN4HPHP4f_piEv
(return value) => xmm0
*/
double fh_pi() asm("_ZN4HPHP4f_piEv");
/*
HPHP::Variant HPHP::f_min(int, HPHP::Variant const&, HPHP::Array const&)
_ZN4HPHP5f_minEiRKNS_7VariantERKNS_5ArrayE
@@ -53,6 +62,56 @@ number => rsi
TypedValue* fh_abs(TypedValue* _rv, TypedValue* number) asm("_ZN4HPHP5f_absERKNS_7VariantE");
/*
bool HPHP::f_is_finite(double)
_ZN4HPHP11f_is_finiteEd
(return value) => rax
val => xmm0
*/
bool fh_is_finite(double val) asm("_ZN4HPHP11f_is_finiteEd");
/*
bool HPHP::f_is_infinite(double)
_ZN4HPHP13f_is_infiniteEd
(return value) => rax
val => xmm0
*/
bool fh_is_infinite(double val) asm("_ZN4HPHP13f_is_infiniteEd");
/*
bool HPHP::f_is_nan(double)
_ZN4HPHP8f_is_nanEd
(return value) => rax
val => xmm0
*/
bool fh_is_nan(double val) asm("_ZN4HPHP8f_is_nanEd");
/*
double HPHP::f_ceil(double)
_ZN4HPHP6f_ceilEd
(return value) => xmm0
value => xmm0
*/
double fh_ceil(double value) asm("_ZN4HPHP6f_ceilEd");
/*
double HPHP::f_floor(double)
_ZN4HPHP7f_floorEd
(return value) => xmm0
value => xmm0
*/
double fh_floor(double value) asm("_ZN4HPHP7f_floorEd");
/*
double HPHP::f_round(HPHP::Variant const&, long, long)
_ZN4HPHP7f_roundERKNS_7VariantEll
@@ -65,6 +124,92 @@ mode => rdx
double fh_round(TypedValue* val, long precision, long mode) asm("_ZN4HPHP7f_roundERKNS_7VariantEll");
/*
double HPHP::f_deg2rad(double)
_ZN4HPHP9f_deg2radEd
(return value) => xmm0
number => xmm0
*/
double fh_deg2rad(double number) asm("_ZN4HPHP9f_deg2radEd");
/*
double HPHP::f_rad2deg(double)
_ZN4HPHP9f_rad2degEd
(return value) => xmm0
number => xmm0
*/
double fh_rad2deg(double number) asm("_ZN4HPHP9f_rad2degEd");
/*
HPHP::String HPHP::f_decbin(long)
_ZN4HPHP8f_decbinEl
(return value) => rax
_rv => rdi
number => rsi
*/
Value* fh_decbin(Value* _rv, long number) asm("_ZN4HPHP8f_decbinEl");
/*
HPHP::String HPHP::f_dechex(long)
_ZN4HPHP8f_dechexEl
(return value) => rax
_rv => rdi
number => rsi
*/
Value* fh_dechex(Value* _rv, long number) asm("_ZN4HPHP8f_dechexEl");
/*
HPHP::String HPHP::f_decoct(long)
_ZN4HPHP8f_decoctEl
(return value) => rax
_rv => rdi
number => rsi
*/
Value* fh_decoct(Value* _rv, long number) asm("_ZN4HPHP8f_decoctEl");
/*
HPHP::Variant HPHP::f_bindec(HPHP::String const&)
_ZN4HPHP8f_bindecERKNS_6StringE
(return value) => rax
_rv => rdi
binary_string => rsi
*/
TypedValue* fh_bindec(TypedValue* _rv, Value* binary_string) asm("_ZN4HPHP8f_bindecERKNS_6StringE");
/*
HPHP::Variant HPHP::f_hexdec(HPHP::String const&)
_ZN4HPHP8f_hexdecERKNS_6StringE
(return value) => rax
_rv => rdi
hex_string => rsi
*/
TypedValue* fh_hexdec(TypedValue* _rv, Value* hex_string) asm("_ZN4HPHP8f_hexdecERKNS_6StringE");
/*
HPHP::Variant HPHP::f_octdec(HPHP::String const&)
_ZN4HPHP8f_octdecERKNS_6StringE
(return value) => rax
_rv => rdi
octal_string => rsi
*/
TypedValue* fh_octdec(TypedValue* _rv, Value* octal_string) asm("_ZN4HPHP8f_octdecERKNS_6StringE");
/*
HPHP::Variant HPHP::f_base_convert(HPHP::String const&, long, long)
_ZN4HPHP14f_base_convertERKNS_6StringEll
@@ -90,6 +235,229 @@ exp => rdx
TypedValue* fh_pow(TypedValue* _rv, TypedValue* base, TypedValue* exp) asm("_ZN4HPHP5f_powERKNS_7VariantES2_");
/*
double HPHP::f_exp(double)
_ZN4HPHP5f_expEd
(return value) => xmm0
arg => xmm0
*/
double fh_exp(double arg) asm("_ZN4HPHP5f_expEd");
/*
double HPHP::f_expm1(double)
_ZN4HPHP7f_expm1Ed
(return value) => xmm0
arg => xmm0
*/
double fh_expm1(double arg) asm("_ZN4HPHP7f_expm1Ed");
/*
double HPHP::f_log10(double)
_ZN4HPHP7f_log10Ed
(return value) => xmm0
arg => xmm0
*/
double fh_log10(double arg) asm("_ZN4HPHP7f_log10Ed");
/*
double HPHP::f_log1p(double)
_ZN4HPHP7f_log1pEd
(return value) => xmm0
number => xmm0
*/
double fh_log1p(double number) asm("_ZN4HPHP7f_log1pEd");
/*
double HPHP::f_log(double, double)
_ZN4HPHP5f_logEdd
(return value) => xmm0
arg => xmm0
base => xmm1
*/
double fh_log(double arg, double base) asm("_ZN4HPHP5f_logEdd");
/*
double HPHP::f_cos(double)
_ZN4HPHP5f_cosEd
(return value) => xmm0
arg => xmm0
*/
double fh_cos(double arg) asm("_ZN4HPHP5f_cosEd");
/*
double HPHP::f_cosh(double)
_ZN4HPHP6f_coshEd
(return value) => xmm0
arg => xmm0
*/
double fh_cosh(double arg) asm("_ZN4HPHP6f_coshEd");
/*
double HPHP::f_sin(double)
_ZN4HPHP5f_sinEd
(return value) => xmm0
arg => xmm0
*/
double fh_sin(double arg) asm("_ZN4HPHP5f_sinEd");
/*
double HPHP::f_sinh(double)
_ZN4HPHP6f_sinhEd
(return value) => xmm0
arg => xmm0
*/
double fh_sinh(double arg) asm("_ZN4HPHP6f_sinhEd");
/*
double HPHP::f_tan(double)
_ZN4HPHP5f_tanEd
(return value) => xmm0
arg => xmm0
*/
double fh_tan(double arg) asm("_ZN4HPHP5f_tanEd");
/*
double HPHP::f_tanh(double)
_ZN4HPHP6f_tanhEd
(return value) => xmm0
arg => xmm0
*/
double fh_tanh(double arg) asm("_ZN4HPHP6f_tanhEd");
/*
double HPHP::f_acos(double)
_ZN4HPHP6f_acosEd
(return value) => xmm0
arg => xmm0
*/
double fh_acos(double arg) asm("_ZN4HPHP6f_acosEd");
/*
double HPHP::f_acosh(double)
_ZN4HPHP7f_acoshEd
(return value) => xmm0
arg => xmm0
*/
double fh_acosh(double arg) asm("_ZN4HPHP7f_acoshEd");
/*
double HPHP::f_asin(double)
_ZN4HPHP6f_asinEd
(return value) => xmm0
arg => xmm0
*/
double fh_asin(double arg) asm("_ZN4HPHP6f_asinEd");
/*
double HPHP::f_asinh(double)
_ZN4HPHP7f_asinhEd
(return value) => xmm0
arg => xmm0
*/
double fh_asinh(double arg) asm("_ZN4HPHP7f_asinhEd");
/*
double HPHP::f_atan(double)
_ZN4HPHP6f_atanEd
(return value) => xmm0
arg => xmm0
*/
double fh_atan(double arg) asm("_ZN4HPHP6f_atanEd");
/*
double HPHP::f_atanh(double)
_ZN4HPHP7f_atanhEd
(return value) => xmm0
arg => xmm0
*/
double fh_atanh(double arg) asm("_ZN4HPHP7f_atanhEd");
/*
double HPHP::f_atan2(double, double)
_ZN4HPHP7f_atan2Edd
(return value) => xmm0
y => xmm0
x => xmm1
*/
double fh_atan2(double y, double x) asm("_ZN4HPHP7f_atan2Edd");
/*
double HPHP::f_hypot(double, double)
_ZN4HPHP7f_hypotEdd
(return value) => xmm0
x => xmm0
y => xmm1
*/
double fh_hypot(double x, double y) asm("_ZN4HPHP7f_hypotEdd");
/*
double HPHP::f_fmod(double, double)
_ZN4HPHP6f_fmodEdd
(return value) => xmm0
x => xmm0
y => xmm1
*/
double fh_fmod(double x, double y) asm("_ZN4HPHP6f_fmodEdd");
/*
double HPHP::f_sqrt(double)
_ZN4HPHP6f_sqrtEd
(return value) => xmm0
arg => xmm0
*/
double fh_sqrt(double arg) asm("_ZN4HPHP6f_sqrtEd");
/*
long HPHP::f_getrandmax()
_ZN4HPHP12f_getrandmaxEv
(return value) => rax
*/
long fh_getrandmax() asm("_ZN4HPHP12f_getrandmaxEv");
/*
void HPHP::f_srand(HPHP::Variant const&)
_ZN4HPHP7f_srandERKNS_7VariantE
@@ -110,6 +478,15 @@ max => rsi
long fh_rand(long min, long max) asm("_ZN4HPHP6f_randEll");
/*
long HPHP::f_mt_getrandmax()
_ZN4HPHP15f_mt_getrandmaxEv
(return value) => rax
*/
long fh_mt_getrandmax() asm("_ZN4HPHP15f_mt_getrandmaxEv");
/*
void HPHP::f_mt_srand(HPHP::Variant const&)
_ZN4HPHP10f_mt_srandERKNS_7VariantE
@@ -119,6 +496,26 @@ seed => rdi
void fh_mt_srand(TypedValue* seed) asm("_ZN4HPHP10f_mt_srandERKNS_7VariantE");
/*
long HPHP::f_mt_rand(long, long)
_ZN4HPHP9f_mt_randEll
(return value) => rax
min => rdi
max => rsi
*/
long fh_mt_rand(long min, long max) asm("_ZN4HPHP9f_mt_randEll");
/*
double HPHP::f_lcg_value()
_ZN4HPHP11f_lcg_valueEv
(return value) => xmm0
*/
double fh_lcg_value() asm("_ZN4HPHP11f_lcg_valueEv");
} // !HPHP
+39 -55
Ver Arquivo
@@ -47,80 +47,64 @@ extern const int64_t k_PHP_ROUND_HALF_DOWN;
extern const int64_t k_PHP_ROUND_HALF_EVEN;
extern const int64_t k_PHP_ROUND_HALF_ODD;
inline double f_pi() { return k_M_PI;}
double f_pi();
Variant f_min(int _argc, CVarRef value, CArrRef _argv = null_array);
Variant f_max(int _argc, CVarRef value, CArrRef _argv = null_array);
Variant f_abs(CVarRef number);
inline bool f_is_finite(double val) { return finite(val);}
inline bool f_is_infinite(double val) { return isinf(val);}
inline bool f_is_nan(double val) { return isnan(val);}
bool f_is_finite(double val);
bool f_is_infinite(double val);
bool f_is_nan(double val);
inline double f_ceil(double value) { return ceil(value);}
inline double f_floor(double value) { return floor(value);}
double f_ceil(double value);
double f_floor(double value);
double f_round(CVarRef val, int64_t precision = 0,
int64_t mode = PHP_ROUND_HALF_UP);
inline double f_deg2rad(double number) { return number / 180.0 * k_M_PI;}
inline double f_rad2deg(double number) { return number / k_M_PI * 180.0;}
double f_deg2rad(double number);
double f_rad2deg(double number);
// departure from PHP: not using "double" for these conversions
inline String f_decbin(int64_t number) {
return String(string_long_to_base(number, 2), AttachString);
}
inline String f_dechex(int64_t number) {
return String(string_long_to_base(number, 16), AttachString);
}
inline String f_decoct(int64_t number) {
return String(string_long_to_base(number, 8), AttachString);
}
inline Variant f_bindec(CStrRef binary_string) {
return string_base_to_numeric(binary_string.data(), binary_string.size(), 2);
}
inline Variant f_hexdec(CStrRef hex_string) {
return string_base_to_numeric(hex_string.data(), hex_string.size(), 16);
}
inline Variant f_octdec(CStrRef octal_string) {
return string_base_to_numeric(octal_string.data(), octal_string.size(), 8);
}
String f_decbin(int64_t number);
String f_dechex(int64_t number);
String f_decoct(int64_t number);
Variant f_bindec(CStrRef binary_string);
Variant f_hexdec(CStrRef hex_string);
Variant f_octdec(CStrRef octal_string);
Variant f_base_convert(CStrRef number, int64_t frombase, int64_t tobase);
Numeric f_pow(CVarRef base, CVarRef exp);
inline double f_exp(double arg) { return exp(arg);}
inline double f_expm1(double arg) { return expm1(arg);}
inline double f_log10(double arg) { return log10(arg);}
inline double f_log1p(double number) { return log1p(number);}
inline double f_log(double arg, double base = 0) {
return base <= 0 ? log(arg) : log(arg)/log(base);
}
double f_exp(double arg);
double f_expm1(double arg);
double f_log10(double arg);
double f_log1p(double number);
double f_log(double arg, double base = 0);
inline double f_cos(double arg) { return cos(arg); }
inline double f_cosh(double arg) { return cosh(arg); }
inline double f_sin(double arg) { return sin(arg); }
inline double f_sinh(double arg) { return sinh(arg); }
inline double f_tan(double arg) { return tan(arg); }
inline double f_tanh(double arg) { return tanh(arg); }
inline double f_acos(double arg) { return acos(arg); }
inline double f_acosh(double arg) { return acosh(arg);}
inline double f_asin(double arg) { return asin(arg); }
inline double f_asinh(double arg) { return asinh(arg);}
inline double f_atan(double arg) { return atan(arg); }
inline double f_atanh(double arg) { return atanh(arg);}
inline double f_atan2(double y, double x) { return atan2(y, x);}
double f_cos(double arg);
double f_cosh(double arg);
double f_sin(double arg);
double f_sinh(double arg);
double f_tan(double arg);
double f_tanh(double arg);
double f_acos(double arg);
double f_acosh(double arg);
double f_asin(double arg);
double f_asinh(double arg);
double f_atan(double arg);
double f_atanh(double arg);
double f_atan2(double y, double x);
inline double f_hypot(double x, double y) { return hypot(x, y);}
inline double f_fmod(double x, double y) { return fmod(x, y);}
inline double f_sqrt(double arg) { return sqrt(arg);}
double f_hypot(double x, double y);
double f_fmod(double x, double y);
double f_sqrt(double arg);
inline int64_t f_getrandmax() { return RAND_MAX;}
int64_t f_getrandmax();
void f_srand(CVarRef seed = null_variant);
int64_t f_rand(int64_t min = 0, int64_t max = RAND_MAX);
inline int64_t f_mt_getrandmax() { return MT_RAND_MAX;}
int64_t f_mt_getrandmax();
void f_mt_srand(CVarRef seed = null_variant);
inline int64_t f_mt_rand(int64_t min = 0, int64_t max = RAND_MAX) {
return math_mt_rand(min, max);
}
inline double f_lcg_value() { return math_combined_lcg();}
int64_t f_mt_rand(int64_t min = 0, int64_t max = RAND_MAX);
double f_lcg_value();
///////////////////////////////////////////////////////////////////////////////
}
+102
Ver Arquivo
@@ -677,6 +677,29 @@ Variant f_mysql_real_escape_string(CStrRef unescaped_string,
return false;
}
String f_mysql_get_client_info() {
return String(mysql_get_client_info(), CopyString);
}
Variant f_mysql_set_charset(CStrRef charset,
CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return uninit_null();
return !mysql_set_character_set(conn, charset.data());
}
Variant f_mysql_ping(CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return uninit_null();
return !mysql_ping(conn);
}
Variant f_mysql_client_encoding(CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return String(mysql_character_set_name(conn), CopyString);
}
Variant f_mysql_close(CVarRef link_identifier /* = uninit_null() */) {
return MySQL::CloseConn(link_identifier);
}
Variant f_mysql_errno(CVarRef link_identifier /* = null */) {
MySQL *mySQL = MySQL::Get(link_identifier);
if (!mySQL) {
@@ -722,6 +745,63 @@ Variant f_mysql_warning_count(CVarRef link_identifier /* = null */) {
return false;
}
Variant f_mysql_get_host_info(CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return String(mysql_get_host_info(conn), CopyString);
}
Variant f_mysql_get_proto_info(CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return (int64_t)mysql_get_proto_info(conn);
}
Variant f_mysql_get_server_info(CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return String(mysql_get_server_info(conn), CopyString);
}
Variant f_mysql_info(CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return String(mysql_info(conn), CopyString);
}
Variant f_mysql_insert_id(CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return static_cast<int64_t>(mysql_insert_id(conn));
}
Variant f_mysql_stat(CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return String(mysql_stat(conn), CopyString);
}
Variant f_mysql_thread_id(CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return (int64_t)mysql_thread_id(conn);
}
Variant f_mysql_create_db(CStrRef db,
CVarRef link_identifier /* = uninit_null() */) {
throw NotSupportedException
(__func__, "Deprecated. Use mysql_query(CREATE DATABASE) instead.");
}
Variant f_mysql_select_db(CStrRef db,
CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return mysql_select_db(conn, db.data()) == 0;
}
Variant f_mysql_drop_db(CStrRef db,
CVarRef link_identifier /* = uninit_null() */) {
throw NotSupportedException
(__func__, "Deprecated. Use mysql_query(DROP DATABASE) instead.");
}
Variant f_mysql_affected_rows(CVarRef link_identifier /* = uninit_null() */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return static_cast<int64_t>(mysql_affected_rows(conn));
}
///////////////////////////////////////////////////////////////////////////////
// query functions
@@ -1046,6 +1126,12 @@ Variant f_mysql_unbuffered_query(CStrRef query,
return php_mysql_do_query_general(query, link_identifier, false, false);
}
Variant f_mysql_db_query(CStrRef database, CStrRef query,
CVarRef link_identifier /* = uninit_null() */) {
throw NotSupportedException
(__func__, "Deprecated. Use mysql_query() instead.");
}
Variant f_mysql_list_dbs(CVarRef link_identifier /* = null */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
@@ -1072,6 +1158,13 @@ Variant f_mysql_list_tables(CStrRef database,
return Object(NEWOBJ(MySQLResult)(res));
}
Variant f_mysql_list_fields(CStrRef database_name, CStrRef table_name,
CVarRef link_identifier /* = uninit_null() */) {
throw NotSupportedException
(__func__, "Deprecated. Use mysql_query(SHOW COLUMNS FROM table "
"[LIKE 'name']) instead.");
}
Variant f_mysql_list_processes(CVarRef link_identifier /* = null */) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
@@ -1598,6 +1691,15 @@ Variant f_mysql_result(CVarRef result, int row,
///////////////////////////////////////////////////////////////////////////////
// result functions
Variant f_mysql_db_name(CVarRef result, int row,
CVarRef field /* = null_variant */) {
return f_mysql_result(result, row, field);
}
Variant f_mysql_tablename(CVarRef result, int i) {
return f_mysql_result(result, i);
}
Variant f_mysql_num_fields(CVarRef result) {
MySQLResult *res = get_result(result);
if (res) {
+862
Ver Arquivo
@@ -696,6 +696,94 @@ TypedValue* fg_mysql_pconnect_with_db(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_mysql_set_charset(HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP19f_mysql_set_charsetERKNS_6StringERKNS_7VariantE
(return value) => rax
_rv => rdi
charset => rsi
link_identifier => rdx
*/
TypedValue* fh_mysql_set_charset(TypedValue* _rv, Value* charset, TypedValue* link_identifier) asm("_ZN4HPHP19f_mysql_set_charsetERKNS_6StringERKNS_7VariantE");
TypedValue * fg1_mysql_set_charset(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_mysql_set_charset(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToStringInPlace(args-0);
Variant defVal1;
fh_mysql_set_charset((rv), &args[-0].m_data, (count > 1) ? (args-1) : (TypedValue*)(&defVal1));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_mysql_set_charset(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_mysql_set_charset((&(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_mysql_set_charset(&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("mysql_set_charset", 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_mysql_ping(HPHP::Variant const&)
_ZN4HPHP12f_mysql_pingERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_ping(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP12f_mysql_pingERKNS_7VariantE");
TypedValue* fg_mysql_ping(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
Variant defVal0;
fh_mysql_ping((&(rv)), (count > 0) ? (args-0) : (TypedValue*)(&defVal0));
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 {
throw_toomany_arguments_nr("mysql_ping", 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::String HPHP::f_mysql_escape_string(HPHP::String const&)
_ZN4HPHP21f_mysql_escape_stringERKNS_6StringE
@@ -801,6 +889,76 @@ TypedValue* fg_mysql_real_escape_string(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_mysql_client_encoding(HPHP::Variant const&)
_ZN4HPHP23f_mysql_client_encodingERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_client_encoding(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP23f_mysql_client_encodingERKNS_7VariantE");
TypedValue* fg_mysql_client_encoding(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
Variant defVal0;
fh_mysql_client_encoding((&(rv)), (count > 0) ? (args-0) : (TypedValue*)(&defVal0));
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 {
throw_toomany_arguments_nr("mysql_client_encoding", 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_mysql_close(HPHP::Variant const&)
_ZN4HPHP13f_mysql_closeERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_close(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP13f_mysql_closeERKNS_7VariantE");
TypedValue* fg_mysql_close(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
Variant defVal0;
fh_mysql_close((&(rv)), (count > 0) ? (args-0) : (TypedValue*)(&defVal0));
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 {
throw_toomany_arguments_nr("mysql_close", 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_mysql_errno(HPHP::Variant const&)
_ZN4HPHP13f_mysql_errnoERKNS_7VariantE
@@ -906,6 +1064,479 @@ TypedValue* fg_mysql_warning_count(HPHP::VM::ActRec *ar) {
/*
HPHP::String HPHP::f_mysql_get_client_info()
_ZN4HPHP23f_mysql_get_client_infoEv
(return value) => rax
_rv => rdi
*/
Value* fh_mysql_get_client_info(Value* _rv) asm("_ZN4HPHP23f_mysql_get_client_infoEv");
TypedValue* fg_mysql_get_client_info(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfString;
fh_mysql_get_client_info((&rv.m_data));
if (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;
} else {
throw_toomany_arguments_nr("mysql_get_client_info", 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_mysql_get_host_info(HPHP::Variant const&)
_ZN4HPHP21f_mysql_get_host_infoERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_get_host_info(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP21f_mysql_get_host_infoERKNS_7VariantE");
TypedValue* fg_mysql_get_host_info(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
Variant defVal0;
fh_mysql_get_host_info((&(rv)), (count > 0) ? (args-0) : (TypedValue*)(&defVal0));
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 {
throw_toomany_arguments_nr("mysql_get_host_info", 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_mysql_get_proto_info(HPHP::Variant const&)
_ZN4HPHP22f_mysql_get_proto_infoERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_get_proto_info(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP22f_mysql_get_proto_infoERKNS_7VariantE");
TypedValue* fg_mysql_get_proto_info(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
Variant defVal0;
fh_mysql_get_proto_info((&(rv)), (count > 0) ? (args-0) : (TypedValue*)(&defVal0));
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 {
throw_toomany_arguments_nr("mysql_get_proto_info", 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_mysql_get_server_info(HPHP::Variant const&)
_ZN4HPHP23f_mysql_get_server_infoERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_get_server_info(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP23f_mysql_get_server_infoERKNS_7VariantE");
TypedValue* fg_mysql_get_server_info(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
Variant defVal0;
fh_mysql_get_server_info((&(rv)), (count > 0) ? (args-0) : (TypedValue*)(&defVal0));
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 {
throw_toomany_arguments_nr("mysql_get_server_info", 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_mysql_info(HPHP::Variant const&)
_ZN4HPHP12f_mysql_infoERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_info(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP12f_mysql_infoERKNS_7VariantE");
TypedValue* fg_mysql_info(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
Variant defVal0;
fh_mysql_info((&(rv)), (count > 0) ? (args-0) : (TypedValue*)(&defVal0));
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 {
throw_toomany_arguments_nr("mysql_info", 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_mysql_insert_id(HPHP::Variant const&)
_ZN4HPHP17f_mysql_insert_idERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_insert_id(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP17f_mysql_insert_idERKNS_7VariantE");
TypedValue* fg_mysql_insert_id(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
Variant defVal0;
fh_mysql_insert_id((&(rv)), (count > 0) ? (args-0) : (TypedValue*)(&defVal0));
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 {
throw_toomany_arguments_nr("mysql_insert_id", 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_mysql_stat(HPHP::Variant const&)
_ZN4HPHP12f_mysql_statERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_stat(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP12f_mysql_statERKNS_7VariantE");
TypedValue* fg_mysql_stat(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
Variant defVal0;
fh_mysql_stat((&(rv)), (count > 0) ? (args-0) : (TypedValue*)(&defVal0));
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 {
throw_toomany_arguments_nr("mysql_stat", 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_mysql_thread_id(HPHP::Variant const&)
_ZN4HPHP17f_mysql_thread_idERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_thread_id(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP17f_mysql_thread_idERKNS_7VariantE");
TypedValue* fg_mysql_thread_id(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
Variant defVal0;
fh_mysql_thread_id((&(rv)), (count > 0) ? (args-0) : (TypedValue*)(&defVal0));
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 {
throw_toomany_arguments_nr("mysql_thread_id", 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_mysql_create_db(HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP17f_mysql_create_dbERKNS_6StringERKNS_7VariantE
(return value) => rax
_rv => rdi
db => rsi
link_identifier => rdx
*/
TypedValue* fh_mysql_create_db(TypedValue* _rv, Value* db, TypedValue* link_identifier) asm("_ZN4HPHP17f_mysql_create_dbERKNS_6StringERKNS_7VariantE");
TypedValue * fg1_mysql_create_db(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_mysql_create_db(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToStringInPlace(args-0);
Variant defVal1;
fh_mysql_create_db((rv), &args[-0].m_data, (count > 1) ? (args-1) : (TypedValue*)(&defVal1));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_mysql_create_db(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_mysql_create_db((&(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_mysql_create_db(&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("mysql_create_db", 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_mysql_select_db(HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP17f_mysql_select_dbERKNS_6StringERKNS_7VariantE
(return value) => rax
_rv => rdi
db => rsi
link_identifier => rdx
*/
TypedValue* fh_mysql_select_db(TypedValue* _rv, Value* db, TypedValue* link_identifier) asm("_ZN4HPHP17f_mysql_select_dbERKNS_6StringERKNS_7VariantE");
TypedValue * fg1_mysql_select_db(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_mysql_select_db(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToStringInPlace(args-0);
Variant defVal1;
fh_mysql_select_db((rv), &args[-0].m_data, (count > 1) ? (args-1) : (TypedValue*)(&defVal1));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_mysql_select_db(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_mysql_select_db((&(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_mysql_select_db(&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("mysql_select_db", 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_mysql_drop_db(HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP15f_mysql_drop_dbERKNS_6StringERKNS_7VariantE
(return value) => rax
_rv => rdi
db => rsi
link_identifier => rdx
*/
TypedValue* fh_mysql_drop_db(TypedValue* _rv, Value* db, TypedValue* link_identifier) asm("_ZN4HPHP15f_mysql_drop_dbERKNS_6StringERKNS_7VariantE");
TypedValue * fg1_mysql_drop_db(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_mysql_drop_db(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToStringInPlace(args-0);
Variant defVal1;
fh_mysql_drop_db((rv), &args[-0].m_data, (count > 1) ? (args-1) : (TypedValue*)(&defVal1));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_mysql_drop_db(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_mysql_drop_db((&(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_mysql_drop_db(&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("mysql_drop_db", 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_mysql_affected_rows(HPHP::Variant const&)
_ZN4HPHP21f_mysql_affected_rowsERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_affected_rows(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP21f_mysql_affected_rowsERKNS_7VariantE");
TypedValue* fg_mysql_affected_rows(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
Variant defVal0;
fh_mysql_affected_rows((&(rv)), (count > 0) ? (args-0) : (TypedValue*)(&defVal0));
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 {
throw_toomany_arguments_nr("mysql_affected_rows", 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_mysql_set_timeout(int, HPHP::Variant const&)
_ZN4HPHP19f_mysql_set_timeoutEiRKNS_7VariantE
@@ -1220,6 +1851,70 @@ TypedValue* fg_mysql_unbuffered_query(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_mysql_db_query(HPHP::String const&, HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP16f_mysql_db_queryERKNS_6StringES2_RKNS_7VariantE
(return value) => rax
_rv => rdi
database => rsi
query => rdx
link_identifier => rcx
*/
TypedValue* fh_mysql_db_query(TypedValue* _rv, Value* database, Value* query, TypedValue* link_identifier) asm("_ZN4HPHP16f_mysql_db_queryERKNS_6StringES2_RKNS_7VariantE");
TypedValue * fg1_mysql_db_query(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_mysql_db_query(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
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;
fh_mysql_db_query((rv), &args[-0].m_data, &args[-1].m_data, (count > 2) ? (args-2) : (TypedValue*)(&defVal2));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_mysql_db_query(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)) {
Variant defVal2;
fh_mysql_db_query((&(rv)), &args[-0].m_data, &args[-1].m_data, (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_mysql_db_query(&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("mysql_db_query", 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_mysql_list_dbs(HPHP::Variant const&)
_ZN4HPHP16f_mysql_list_dbsERKNS_7VariantE
@@ -1308,6 +2003,70 @@ TypedValue* fg_mysql_list_tables(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_mysql_list_fields(HPHP::String const&, HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP19f_mysql_list_fieldsERKNS_6StringES2_RKNS_7VariantE
(return value) => rax
_rv => rdi
database_name => rsi
table_name => rdx
link_identifier => rcx
*/
TypedValue* fh_mysql_list_fields(TypedValue* _rv, Value* database_name, Value* table_name, TypedValue* link_identifier) asm("_ZN4HPHP19f_mysql_list_fieldsERKNS_6StringES2_RKNS_7VariantE");
TypedValue * fg1_mysql_list_fields(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_mysql_list_fields(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
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;
fh_mysql_list_fields((rv), &args[-0].m_data, &args[-1].m_data, (count > 2) ? (args-2) : (TypedValue*)(&defVal2));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_mysql_list_fields(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)) {
Variant defVal2;
fh_mysql_list_fields((&(rv)), &args[-0].m_data, &args[-1].m_data, (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_mysql_list_fields(&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("mysql_list_fields", 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_mysql_list_processes(HPHP::Variant const&)
_ZN4HPHP22f_mysql_list_processesERKNS_7VariantE
@@ -1343,6 +2102,109 @@ TypedValue* fg_mysql_list_processes(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_mysql_db_name(HPHP::Variant const&, int, HPHP::Variant const&)
_ZN4HPHP15f_mysql_db_nameERKNS_7VariantEiS2_
(return value) => rax
_rv => rdi
result => rsi
row => rdx
field => rcx
*/
TypedValue* fh_mysql_db_name(TypedValue* _rv, TypedValue* result, int row, TypedValue* field) asm("_ZN4HPHP15f_mysql_db_nameERKNS_7VariantEiS2_");
TypedValue * fg1_mysql_db_name(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_mysql_db_name(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToInt64InPlace(args-1);
fh_mysql_db_name((rv), (args-0), (int)(args[-1].m_data.num), (count > 2) ? (args-2) : (TypedValue*)(&null_variant));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_mysql_db_name(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) {
fh_mysql_db_name((&(rv)), (args-0), (int)(args[-1].m_data.num), (count > 2) ? (args-2) : (TypedValue*)(&null_variant));
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_mysql_db_name(&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("mysql_db_name", 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_mysql_tablename(HPHP::Variant const&, int)
_ZN4HPHP17f_mysql_tablenameERKNS_7VariantEi
(return value) => rax
_rv => rdi
result => rsi
i => rdx
*/
TypedValue* fh_mysql_tablename(TypedValue* _rv, TypedValue* result, int i) asm("_ZN4HPHP17f_mysql_tablenameERKNS_7VariantEi");
TypedValue * fg1_mysql_tablename(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_mysql_tablename(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToInt64InPlace(args-1);
fh_mysql_tablename((rv), (args-0), (int)(args[-1].m_data.num));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_mysql_tablename(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) {
fh_mysql_tablename((&(rv)), (args-0), (int)(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_mysql_tablename(&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("mysql_tablename", 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_mysql_num_fields(HPHP::Variant const&)
_ZN4HPHP18f_mysql_num_fieldsERKNS_7VariantE
+230
Ver Arquivo
@@ -164,6 +164,29 @@ query_timeout_ms => st8
TypedValue* fh_mysql_pconnect_with_db(TypedValue* _rv, Value* server, Value* username, Value* password, Value* database, int client_flags, int connect_timeout_ms, int query_timeout_ms) asm("_ZN4HPHP24f_mysql_pconnect_with_dbERKNS_6StringES2_S2_S2_iii");
/*
HPHP::Variant HPHP::f_mysql_set_charset(HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP19f_mysql_set_charsetERKNS_6StringERKNS_7VariantE
(return value) => rax
_rv => rdi
charset => rsi
link_identifier => rdx
*/
TypedValue* fh_mysql_set_charset(TypedValue* _rv, Value* charset, TypedValue* link_identifier) asm("_ZN4HPHP19f_mysql_set_charsetERKNS_6StringERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_ping(HPHP::Variant const&)
_ZN4HPHP12f_mysql_pingERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_ping(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP12f_mysql_pingERKNS_7VariantE");
/*
HPHP::String HPHP::f_mysql_escape_string(HPHP::String const&)
_ZN4HPHP21f_mysql_escape_stringERKNS_6StringE
@@ -187,6 +210,28 @@ link_identifier => rdx
TypedValue* fh_mysql_real_escape_string(TypedValue* _rv, Value* unescaped_string, TypedValue* link_identifier) asm("_ZN4HPHP26f_mysql_real_escape_stringERKNS_6StringERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_client_encoding(HPHP::Variant const&)
_ZN4HPHP23f_mysql_client_encodingERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_client_encoding(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP23f_mysql_client_encodingERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_close(HPHP::Variant const&)
_ZN4HPHP13f_mysql_closeERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_close(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP13f_mysql_closeERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_errno(HPHP::Variant const&)
_ZN4HPHP13f_mysql_errnoERKNS_7VariantE
@@ -220,6 +265,140 @@ link_identifier => rsi
TypedValue* fh_mysql_warning_count(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP21f_mysql_warning_countERKNS_7VariantE");
/*
HPHP::String HPHP::f_mysql_get_client_info()
_ZN4HPHP23f_mysql_get_client_infoEv
(return value) => rax
_rv => rdi
*/
Value* fh_mysql_get_client_info(Value* _rv) asm("_ZN4HPHP23f_mysql_get_client_infoEv");
/*
HPHP::Variant HPHP::f_mysql_get_host_info(HPHP::Variant const&)
_ZN4HPHP21f_mysql_get_host_infoERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_get_host_info(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP21f_mysql_get_host_infoERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_get_proto_info(HPHP::Variant const&)
_ZN4HPHP22f_mysql_get_proto_infoERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_get_proto_info(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP22f_mysql_get_proto_infoERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_get_server_info(HPHP::Variant const&)
_ZN4HPHP23f_mysql_get_server_infoERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_get_server_info(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP23f_mysql_get_server_infoERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_info(HPHP::Variant const&)
_ZN4HPHP12f_mysql_infoERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_info(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP12f_mysql_infoERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_insert_id(HPHP::Variant const&)
_ZN4HPHP17f_mysql_insert_idERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_insert_id(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP17f_mysql_insert_idERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_stat(HPHP::Variant const&)
_ZN4HPHP12f_mysql_statERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_stat(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP12f_mysql_statERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_thread_id(HPHP::Variant const&)
_ZN4HPHP17f_mysql_thread_idERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_thread_id(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP17f_mysql_thread_idERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_create_db(HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP17f_mysql_create_dbERKNS_6StringERKNS_7VariantE
(return value) => rax
_rv => rdi
db => rsi
link_identifier => rdx
*/
TypedValue* fh_mysql_create_db(TypedValue* _rv, Value* db, TypedValue* link_identifier) asm("_ZN4HPHP17f_mysql_create_dbERKNS_6StringERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_select_db(HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP17f_mysql_select_dbERKNS_6StringERKNS_7VariantE
(return value) => rax
_rv => rdi
db => rsi
link_identifier => rdx
*/
TypedValue* fh_mysql_select_db(TypedValue* _rv, Value* db, TypedValue* link_identifier) asm("_ZN4HPHP17f_mysql_select_dbERKNS_6StringERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_drop_db(HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP15f_mysql_drop_dbERKNS_6StringERKNS_7VariantE
(return value) => rax
_rv => rdi
db => rsi
link_identifier => rdx
*/
TypedValue* fh_mysql_drop_db(TypedValue* _rv, Value* db, TypedValue* link_identifier) asm("_ZN4HPHP15f_mysql_drop_dbERKNS_6StringERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_affected_rows(HPHP::Variant const&)
_ZN4HPHP21f_mysql_affected_rowsERKNS_7VariantE
(return value) => rax
_rv => rdi
link_identifier => rsi
*/
TypedValue* fh_mysql_affected_rows(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP21f_mysql_affected_rowsERKNS_7VariantE");
/*
bool HPHP::f_mysql_set_timeout(int, HPHP::Variant const&)
_ZN4HPHP19f_mysql_set_timeoutEiRKNS_7VariantE
@@ -298,6 +477,19 @@ link_identifier => rdx
TypedValue* fh_mysql_unbuffered_query(TypedValue* _rv, Value* query, TypedValue* link_identifier) asm("_ZN4HPHP24f_mysql_unbuffered_queryERKNS_6StringERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_db_query(HPHP::String const&, HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP16f_mysql_db_queryERKNS_6StringES2_RKNS_7VariantE
(return value) => rax
_rv => rdi
database => rsi
query => rdx
link_identifier => rcx
*/
TypedValue* fh_mysql_db_query(TypedValue* _rv, Value* database, Value* query, TypedValue* link_identifier) asm("_ZN4HPHP16f_mysql_db_queryERKNS_6StringES2_RKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_list_dbs(HPHP::Variant const&)
_ZN4HPHP16f_mysql_list_dbsERKNS_7VariantE
@@ -321,6 +513,19 @@ link_identifier => rdx
TypedValue* fh_mysql_list_tables(TypedValue* _rv, Value* database, TypedValue* link_identifier) asm("_ZN4HPHP19f_mysql_list_tablesERKNS_6StringERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_list_fields(HPHP::String const&, HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP19f_mysql_list_fieldsERKNS_6StringES2_RKNS_7VariantE
(return value) => rax
_rv => rdi
database_name => rsi
table_name => rdx
link_identifier => rcx
*/
TypedValue* fh_mysql_list_fields(TypedValue* _rv, Value* database_name, Value* table_name, TypedValue* link_identifier) asm("_ZN4HPHP19f_mysql_list_fieldsERKNS_6StringES2_RKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_list_processes(HPHP::Variant const&)
_ZN4HPHP22f_mysql_list_processesERKNS_7VariantE
@@ -332,6 +537,31 @@ link_identifier => rsi
TypedValue* fh_mysql_list_processes(TypedValue* _rv, TypedValue* link_identifier) asm("_ZN4HPHP22f_mysql_list_processesERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_mysql_db_name(HPHP::Variant const&, int, HPHP::Variant const&)
_ZN4HPHP15f_mysql_db_nameERKNS_7VariantEiS2_
(return value) => rax
_rv => rdi
result => rsi
row => rdx
field => rcx
*/
TypedValue* fh_mysql_db_name(TypedValue* _rv, TypedValue* result, int row, TypedValue* field) asm("_ZN4HPHP15f_mysql_db_nameERKNS_7VariantEiS2_");
/*
HPHP::Variant HPHP::f_mysql_tablename(HPHP::Variant const&, int)
_ZN4HPHP17f_mysql_tablenameERKNS_7VariantEi
(return value) => rax
_rv => rdi
result => rsi
i => rdx
*/
TypedValue* fh_mysql_tablename(TypedValue* _rv, TypedValue* result, int i) asm("_ZN4HPHP17f_mysql_tablenameERKNS_7VariantEi");
/*
HPHP::Variant HPHP::f_mysql_num_fields(HPHP::Variant const&)
_ZN4HPHP18f_mysql_num_fieldsERKNS_7VariantE
+27 -96
Ver Arquivo
@@ -268,28 +268,12 @@ String f_mysql_escape_string(CStrRef unescaped_string);
Variant f_mysql_real_escape_string(CStrRef unescaped_string,
CVarRef link_identifier = uninit_null());
inline String f_mysql_get_client_info() {
return String(mysql_get_client_info(), CopyString);
}
inline Variant f_mysql_set_charset(CStrRef charset,
CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return uninit_null();
return !mysql_set_character_set(conn, charset.data());
}
inline Variant f_mysql_ping(CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return uninit_null();
return !mysql_ping(conn);
}
inline Variant f_mysql_client_encoding(CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return String(mysql_character_set_name(conn), CopyString);
}
inline Variant f_mysql_close(CVarRef link_identifier = uninit_null()) {
return MySQL::CloseConn(link_identifier);
}
String f_mysql_get_client_info();
Variant f_mysql_set_charset(CStrRef charset,
CVarRef link_identifier = uninit_null());
Variant f_mysql_ping(CVarRef link_identifier = uninit_null());
Variant f_mysql_client_encoding(CVarRef link_identifier = uninit_null());
Variant f_mysql_close(CVarRef link_identifier = uninit_null());
Variant f_mysql_errno(CVarRef link_identifier = uninit_null());
@@ -297,62 +281,20 @@ Variant f_mysql_error(CVarRef link_identifier = uninit_null());
Variant f_mysql_warning_count(CVarRef link_identifier = uninit_null());
inline Variant f_mysql_get_host_info(CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return String(mysql_get_host_info(conn), CopyString);
}
inline Variant f_mysql_get_proto_info(CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return (int64_t)mysql_get_proto_info(conn);
}
inline Variant f_mysql_get_server_info(CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return String(mysql_get_server_info(conn), CopyString);
}
inline Variant f_mysql_info(CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return String(mysql_info(conn), CopyString);
}
inline Variant f_mysql_insert_id(CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return static_cast<int64_t>(mysql_insert_id(conn));
}
inline Variant f_mysql_stat(CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return String(mysql_stat(conn), CopyString);
}
inline Variant f_mysql_thread_id(CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return (int64_t)mysql_thread_id(conn);
}
inline Variant f_mysql_create_db(CStrRef db,
CVarRef link_identifier = uninit_null()) {
throw NotSupportedException
(__func__, "Deprecated. Use mysql_query(CREATE DATABASE) instead.");
}
inline Variant f_mysql_select_db(CStrRef db,
CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return mysql_select_db(conn, db.data()) == 0;
}
inline Variant f_mysql_drop_db(CStrRef db,
CVarRef link_identifier = uninit_null()) {
throw NotSupportedException
(__func__, "Deprecated. Use mysql_query(DROP DATABASE) instead.");
}
inline Variant f_mysql_affected_rows(CVarRef link_identifier = uninit_null()) {
MYSQL *conn = MySQL::GetConn(link_identifier);
if (!conn) return false;
return static_cast<int64_t>(mysql_affected_rows(conn));
}
Variant f_mysql_get_host_info(CVarRef link_identifier = uninit_null());
Variant f_mysql_get_proto_info(CVarRef link_identifier = uninit_null());
Variant f_mysql_get_server_info(CVarRef link_identifier = uninit_null());
Variant f_mysql_info(CVarRef link_identifier = uninit_null());
Variant f_mysql_insert_id(CVarRef link_identifier = uninit_null());
Variant f_mysql_stat(CVarRef link_identifier = uninit_null());
Variant f_mysql_thread_id(CVarRef link_identifier = uninit_null());
Variant f_mysql_create_db(CStrRef db,
CVarRef link_identifier = uninit_null());
Variant f_mysql_select_db(CStrRef db,
CVarRef link_identifier = uninit_null());
Variant f_mysql_drop_db(CStrRef db,
CVarRef link_identifier = uninit_null());
Variant f_mysql_affected_rows(CVarRef link_identifier = uninit_null());
///////////////////////////////////////////////////////////////////////////////
// query functions
@@ -373,21 +315,14 @@ Variant f_mysql_fetch_result(CVarRef link_identifier = uninit_null());
Variant f_mysql_unbuffered_query(CStrRef query,
CVarRef link_identifier = uninit_null());
inline Variant f_mysql_db_query(CStrRef database, CStrRef query,
CVarRef link_identifier = uninit_null()) {
throw NotSupportedException
(__func__, "Deprecated. Use mysql_query() instead.");
}
Variant f_mysql_db_query(CStrRef database, CStrRef query,
CVarRef link_identifier = uninit_null());
Variant f_mysql_list_dbs(CVarRef link_identifier = uninit_null());
Variant f_mysql_list_tables(CStrRef database,
CVarRef link_identifier = uninit_null());
inline Variant f_mysql_list_fields(CStrRef database_name, CStrRef table_name,
CVarRef link_identifier = uninit_null()) {
throw NotSupportedException
(__func__, "Deprecated. Use mysql_query(SHOW COLUMNS FROM table "
"[LIKE 'name']) instead.");
}
Variant f_mysql_list_fields(CStrRef database_name, CStrRef table_name,
CVarRef link_identifier = uninit_null());
Variant f_mysql_list_processes(CVarRef link_identifier = uninit_null());
///////////////////////////////////////////////////////////////////////////////
@@ -411,13 +346,9 @@ Variant f_mysql_result(CVarRef result, int row, CVarRef field = null_variant);
///////////////////////////////////////////////////////////////////////////////
// result functions
inline Variant f_mysql_db_name(CVarRef result, int row,
CVarRef field = null_variant) {
return f_mysql_result(result, row, field);
}
inline Variant f_mysql_tablename(CVarRef result, int i) {
return f_mysql_result(result, i);
}
Variant f_mysql_db_name(CVarRef result, int row,
CVarRef field = null_variant);
Variant f_mysql_tablename(CVarRef result, int i);
Variant f_mysql_num_fields(CVarRef result);
Variant f_mysql_num_rows(CVarRef result);
+43
Ver Arquivo
@@ -357,6 +357,10 @@ bool f_dns_check_record(CStrRef host, CStrRef type /* = null_string */) {
return (i >= 0);
}
bool f_checkdnsrr(CStrRef host, CStrRef type /* = null_string */) {
return f_dns_check_record(host, type);
}
typedef union {
HEADER qb1;
u_char qb2[65536];
@@ -832,6 +836,11 @@ bool f_dns_get_mx(CStrRef hostname, VRefParam mxhosts,
return true;
}
bool f_getmxrr(CStrRef hostname, VRefParam mxhosts,
VRefParam weight /* = uninit_null() */) {
return f_dns_get_mx(hostname, ref(mxhosts), weight);
}
///////////////////////////////////////////////////////////////////////////////
// socket
@@ -839,6 +848,19 @@ bool f_dns_get_mx(CStrRef hostname, VRefParam mxhosts,
* f_fsockopen() and f_pfsockopen() are implemented in ext_socket.cpp.
*/
Variant f_socket_get_status(CObjRef stream) {
return f_stream_get_meta_data(stream);
}
bool f_socket_set_blocking(CObjRef stream, int mode) {
return f_stream_set_blocking(stream, mode);
}
bool f_socket_set_timeout(CObjRef stream, int seconds,
int microseconds /* = 0 */) {
return f_stream_set_timeout(stream, seconds, microseconds);
}
///////////////////////////////////////////////////////////////////////////////
// http
@@ -1012,5 +1034,26 @@ bool f_setrawcookie(CStrRef name, CStrRef value /* = null_string */,
return false;
}
///////////////////////////////////////////////////////////////////////////////
void f_define_syslog_variables() {
// do nothing, since all variables are defined as constants already
}
bool f_openlog(CStrRef ident, int option, int facility) {
openlog(ident.data(), option, facility);
return true;
}
bool f_closelog() {
closelog();
return true;
}
bool f_syslog(int priority, CStrRef message) {
syslog(priority, "%s", message.data());
return true;
}
///////////////////////////////////////////////////////////////////////////////
}
+460
Ver Arquivo
@@ -683,6 +683,66 @@ TypedValue* fg_dns_check_record(HPHP::VM::ActRec *ar) {
/*
bool HPHP::f_checkdnsrr(HPHP::String const&, HPHP::String const&)
_ZN4HPHP12f_checkdnsrrERKNS_6StringES2_
(return value) => rax
host => rdi
type => rsi
*/
bool fh_checkdnsrr(Value* host, Value* type) asm("_ZN4HPHP12f_checkdnsrrERKNS_6StringES2_");
TypedValue * fg1_checkdnsrr(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_checkdnsrr(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
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);
}
rv->m_data.num = (fh_checkdnsrr(&args[-0].m_data, (count > 1) ? &args[-1].m_data : (Value*)(&null_string))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_checkdnsrr(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 = KindOfBoolean;
rv.m_data.num = (fh_checkdnsrr(&args[-0].m_data, (count > 1) ? &args[-1].m_data : (Value*)(&null_string))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 2);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_checkdnsrr(&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("checkdnsrr", 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_dns_get_record(HPHP::String const&, int, HPHP::VRefParamValue const&, HPHP::VRefParamValue const&)
_ZN4HPHP16f_dns_get_recordERKNS_6StringEiRKNS_14VRefParamValueES5_
@@ -805,6 +865,228 @@ TypedValue* fg_dns_get_mx(HPHP::VM::ActRec *ar) {
/*
bool HPHP::f_getmxrr(HPHP::String const&, HPHP::VRefParamValue const&, HPHP::VRefParamValue const&)
_ZN4HPHP9f_getmxrrERKNS_6StringERKNS_14VRefParamValueES5_
(return value) => rax
hostname => rdi
mxhosts => rsi
weight => rdx
*/
bool fh_getmxrr(Value* hostname, TypedValue* mxhosts, TypedValue* weight) asm("_ZN4HPHP9f_getmxrrERKNS_6StringERKNS_14VRefParamValueES5_");
TypedValue * fg1_getmxrr(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_getmxrr(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
tvCastToStringInPlace(args-0);
VRefParamValue defVal2 = uninit_null();
rv->m_data.num = (fh_getmxrr(&args[-0].m_data, (args-1), (count > 2) ? (args-2) : (TypedValue*)(&defVal2))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_getmxrr(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-0)->m_type)) {
rv.m_type = KindOfBoolean;
VRefParamValue defVal2 = uninit_null();
rv.m_data.num = (fh_getmxrr(&args[-0].m_data, (args-1), (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_getmxrr(&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("getmxrr", 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_socket_get_status(HPHP::Object const&)
_ZN4HPHP19f_socket_get_statusERKNS_6ObjectE
(return value) => rax
_rv => rdi
stream => rsi
*/
TypedValue* fh_socket_get_status(TypedValue* _rv, Value* stream) asm("_ZN4HPHP19f_socket_get_statusERKNS_6ObjectE");
TypedValue * fg1_socket_get_status(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_socket_get_status(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToObjectInPlace(args-0);
fh_socket_get_status((rv), &args[-0].m_data);
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_socket_get_status(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_socket_get_status((&(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_socket_get_status(&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("socket_get_status", 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_socket_set_blocking(HPHP::Object const&, int)
_ZN4HPHP21f_socket_set_blockingERKNS_6ObjectEi
(return value) => rax
stream => rdi
mode => rsi
*/
bool fh_socket_set_blocking(Value* stream, int mode) asm("_ZN4HPHP21f_socket_set_blockingERKNS_6ObjectEi");
TypedValue * fg1_socket_set_blocking(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_socket_set_blocking(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_socket_set_blocking(&args[-0].m_data, (int)(args[-1].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_socket_set_blocking(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_socket_set_blocking(&args[-0].m_data, (int)(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_socket_set_blocking(&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("socket_set_blocking", 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_socket_set_timeout(HPHP::Object const&, int, int)
_ZN4HPHP20f_socket_set_timeoutERKNS_6ObjectEii
(return value) => rax
stream => rdi
seconds => rsi
microseconds => rdx
*/
bool fh_socket_set_timeout(Value* stream, int seconds, int microseconds) asm("_ZN4HPHP20f_socket_set_timeoutERKNS_6ObjectEii");
TypedValue * fg1_socket_set_timeout(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_socket_set_timeout(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 ((args-1)->m_type != KindOfInt64) {
tvCastToInt64InPlace(args-1);
}
if ((args-0)->m_type != KindOfObject) {
tvCastToObjectInPlace(args-0);
}
rv->m_data.num = (fh_socket_set_timeout(&args[-0].m_data, (int)(args[-1].m_data.num), (count > 2) ? (int)(args[-2].m_data.num) : (int)(0))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_socket_set_timeout(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) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_socket_set_timeout(&args[-0].m_data, (int)(args[-1].m_data.num), (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_socket_set_timeout(&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("socket_set_timeout", 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;
}
/*
void HPHP::f_header(HPHP::String const&, bool, int)
_ZN4HPHP8f_headerERKNS_6StringEbi
@@ -1276,6 +1558,184 @@ TypedValue* fg_setrawcookie(HPHP::VM::ActRec *ar) {
/*
void HPHP::f_define_syslog_variables()
_ZN4HPHP25f_define_syslog_variablesEv
*/
void fh_define_syslog_variables() asm("_ZN4HPHP25f_define_syslog_variablesEv");
TypedValue* fg_define_syslog_variables(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_define_syslog_variables();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("define_syslog_variables", 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_openlog(HPHP::String const&, int, int)
_ZN4HPHP9f_openlogERKNS_6StringEii
(return value) => rax
ident => rdi
option => rsi
facility => rdx
*/
bool fh_openlog(Value* ident, int option, int facility) asm("_ZN4HPHP9f_openlogERKNS_6StringEii");
TypedValue * fg1_openlog(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_openlog(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
if ((args-2)->m_type != KindOfInt64) {
tvCastToInt64InPlace(args-2);
}
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_openlog(&args[-0].m_data, (int)(args[-1].m_data.num), (int)(args[-2].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_openlog(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 == KindOfInt64 && (args-1)->m_type == KindOfInt64 && IS_STRING_TYPE((args-0)->m_type)) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_openlog(&args[-0].m_data, (int)(args[-1].m_data.num), (int)(args[-2].m_data.num))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 3);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_openlog(&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("openlog", 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_closelog()
_ZN4HPHP10f_closelogEv
(return value) => rax
*/
bool fh_closelog() asm("_ZN4HPHP10f_closelogEv");
TypedValue* fg_closelog(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_closelog()) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("closelog", 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_syslog(int, HPHP::String const&)
_ZN4HPHP8f_syslogEiRKNS_6StringE
(return value) => rax
priority => rdi
message => rsi
*/
bool fh_syslog(int priority, Value* message) asm("_ZN4HPHP8f_syslogEiRKNS_6StringE");
TypedValue * fg1_syslog(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_syslog(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 != KindOfInt64) {
tvCastToInt64InPlace(args-0);
}
rv->m_data.num = (fh_syslog((int)(args[-0].m_data.num), &args[-1].m_data)) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_syslog(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 == KindOfInt64) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_syslog((int)(args[-0].m_data.num), &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_syslog(&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("syslog", 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
+97
Ver Arquivo
@@ -160,6 +160,17 @@ type => rsi
bool fh_dns_check_record(Value* host, Value* type) asm("_ZN4HPHP18f_dns_check_recordERKNS_6StringES2_");
/*
bool HPHP::f_checkdnsrr(HPHP::String const&, HPHP::String const&)
_ZN4HPHP12f_checkdnsrrERKNS_6StringES2_
(return value) => rax
host => rdi
type => rsi
*/
bool fh_checkdnsrr(Value* host, Value* type) asm("_ZN4HPHP12f_checkdnsrrERKNS_6StringES2_");
/*
HPHP::Variant HPHP::f_dns_get_record(HPHP::String const&, int, HPHP::VRefParamValue const&, HPHP::VRefParamValue const&)
_ZN4HPHP16f_dns_get_recordERKNS_6StringEiRKNS_14VRefParamValueES5_
@@ -186,6 +197,52 @@ weights => rdx
bool fh_dns_get_mx(Value* hostname, TypedValue* mxhosts, TypedValue* weights) asm("_ZN4HPHP12f_dns_get_mxERKNS_6StringERKNS_14VRefParamValueES5_");
/*
bool HPHP::f_getmxrr(HPHP::String const&, HPHP::VRefParamValue const&, HPHP::VRefParamValue const&)
_ZN4HPHP9f_getmxrrERKNS_6StringERKNS_14VRefParamValueES5_
(return value) => rax
hostname => rdi
mxhosts => rsi
weight => rdx
*/
bool fh_getmxrr(Value* hostname, TypedValue* mxhosts, TypedValue* weight) asm("_ZN4HPHP9f_getmxrrERKNS_6StringERKNS_14VRefParamValueES5_");
/*
HPHP::Variant HPHP::f_socket_get_status(HPHP::Object const&)
_ZN4HPHP19f_socket_get_statusERKNS_6ObjectE
(return value) => rax
_rv => rdi
stream => rsi
*/
TypedValue* fh_socket_get_status(TypedValue* _rv, Value* stream) asm("_ZN4HPHP19f_socket_get_statusERKNS_6ObjectE");
/*
bool HPHP::f_socket_set_blocking(HPHP::Object const&, int)
_ZN4HPHP21f_socket_set_blockingERKNS_6ObjectEi
(return value) => rax
stream => rdi
mode => rsi
*/
bool fh_socket_set_blocking(Value* stream, int mode) asm("_ZN4HPHP21f_socket_set_blockingERKNS_6ObjectEi");
/*
bool HPHP::f_socket_set_timeout(HPHP::Object const&, int, int)
_ZN4HPHP20f_socket_set_timeoutERKNS_6ObjectEii
(return value) => rax
stream => rdi
seconds => rsi
microseconds => rdx
*/
bool fh_socket_set_timeout(Value* stream, int seconds, int microseconds) asm("_ZN4HPHP20f_socket_set_timeoutERKNS_6ObjectEii");
/*
void HPHP::f_header(HPHP::String const&, bool, int)
_ZN4HPHP8f_headerERKNS_6StringEbi
@@ -289,6 +346,46 @@ httponly => st0
bool fh_setrawcookie(Value* name, Value* value, long expire, Value* path, Value* domain, bool secure, bool httponly) asm("_ZN4HPHP14f_setrawcookieERKNS_6StringES2_lS2_S2_bb");
/*
void HPHP::f_define_syslog_variables()
_ZN4HPHP25f_define_syslog_variablesEv
*/
void fh_define_syslog_variables() asm("_ZN4HPHP25f_define_syslog_variablesEv");
/*
bool HPHP::f_openlog(HPHP::String const&, int, int)
_ZN4HPHP9f_openlogERKNS_6StringEii
(return value) => rax
ident => rdi
option => rsi
facility => rdx
*/
bool fh_openlog(Value* ident, int option, int facility) asm("_ZN4HPHP9f_openlogERKNS_6StringEii");
/*
bool HPHP::f_closelog()
_ZN4HPHP10f_closelogEv
(return value) => rax
*/
bool fh_closelog() asm("_ZN4HPHP10f_closelogEv");
/*
bool HPHP::f_syslog(int, HPHP::String const&)
_ZN4HPHP8f_syslogEiRKNS_6StringE
(return value) => rax
priority => rdi
message => rsi
*/
bool fh_syslog(int priority, Value* message) asm("_ZN4HPHP8f_syslogEiRKNS_6StringE");
} // !HPHP
+11 -32
Ver Arquivo
@@ -40,19 +40,15 @@ String f_long2ip(int proper_address);
bool f_dns_check_record(CStrRef host, CStrRef type = null_string);
inline bool f_checkdnsrr(CStrRef host, CStrRef type = null_string) {
return f_dns_check_record(host, type);
}
bool f_checkdnsrr(CStrRef host, CStrRef type = null_string);
Variant f_dns_get_record(CStrRef hostname, int type = -1, VRefParam authns = uninit_null(),
VRefParam addtl = uninit_null());
bool f_dns_get_mx(CStrRef hostname, VRefParam mxhosts, VRefParam weights = uninit_null());
inline bool f_getmxrr(CStrRef hostname, VRefParam mxhosts,
VRefParam weight = uninit_null()) {
return f_dns_get_mx(hostname, ref(mxhosts), weight);
}
bool f_getmxrr(CStrRef hostname, VRefParam mxhosts,
VRefParam weight = uninit_null());
///////////////////////////////////////////////////////////////////////////////
// socket
@@ -63,18 +59,12 @@ Variant f_fsockopen(CStrRef hostname, int port = -1, VRefParam errnum = uninit_n
Variant f_pfsockopen(CStrRef hostname, int port = -1, VRefParam errnum = uninit_null(),
VRefParam errstr = uninit_null(), double timeout = 0.0);
inline Variant f_socket_get_status(CObjRef stream) {
return f_stream_get_meta_data(stream);
}
Variant f_socket_get_status(CObjRef stream);
inline bool f_socket_set_blocking(CObjRef stream, int mode) {
return f_stream_set_blocking(stream, mode);
}
bool f_socket_set_blocking(CObjRef stream, int mode);
inline bool f_socket_set_timeout(CObjRef stream, int seconds,
int microseconds = 0) {
return f_stream_set_timeout(stream, seconds, microseconds);
}
bool f_socket_set_timeout(CObjRef stream, int seconds,
int microseconds = 0);
///////////////////////////////////////////////////////////////////////////////
// http
@@ -104,24 +94,13 @@ bool f_setrawcookie(CStrRef name, CStrRef value = null_string, int64_t expire =
///////////////////////////////////////////////////////////////////////////////
// syslog
inline void f_define_syslog_variables() {
// do nothing, since all variables are defined as constants already
}
void f_define_syslog_variables();
inline bool f_openlog(CStrRef ident, int option, int facility) {
openlog(ident.data(), option, facility);
return true;
}
bool f_openlog(CStrRef ident, int option, int facility);
inline bool f_closelog() {
closelog();
return true;
}
bool f_closelog();
inline bool f_syslog(int priority, CStrRef message) {
syslog(priority, "%s", message.data());
return true;
}
bool f_syslog(int priority, CStrRef message);
///////////////////////////////////////////////////////////////////////////////
}
+3
Ver Arquivo
@@ -627,6 +627,9 @@ bool f_clock_settime(int clk_id, int64_t sec, int64_t nsec) {
#endif
}
int64_t f_cpu_get_count() { return Process::GetCPUCount();}
String f_cpu_get_model() { return Process::GetCPUModel();}
String f_ini_alter(CStrRef varname, CStrRef newvalue) {
throw NotSupportedException(__func__, "not using ini");
}
+66
Ver Arquivo
@@ -1192,6 +1192,72 @@ TypedValue* fg_clock_settime(HPHP::VM::ActRec *ar) {
/*
long HPHP::f_cpu_get_count()
_ZN4HPHP15f_cpu_get_countEv
(return value) => rax
*/
long fh_cpu_get_count() asm("_ZN4HPHP15f_cpu_get_countEv");
TypedValue* fg_cpu_get_count(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_cpu_get_count();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("cpu_get_count", 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::String HPHP::f_cpu_get_model()
_ZN4HPHP15f_cpu_get_modelEv
(return value) => rax
_rv => rdi
*/
Value* fh_cpu_get_model(Value* _rv) asm("_ZN4HPHP15f_cpu_get_modelEv");
TypedValue* fg_cpu_get_model(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfString;
fh_cpu_get_model((&rv.m_data));
if (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;
} else {
throw_toomany_arguments_nr("cpu_get_model", 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::String HPHP::f_ini_alter(HPHP::String const&, HPHP::String const&)
_ZN4HPHP11f_ini_alterERKNS_6StringES2_
+19
Ver Arquivo
@@ -305,6 +305,25 @@ nsec => rdx
bool fh_clock_settime(int clk_id, long sec, long nsec) asm("_ZN4HPHP15f_clock_settimeEill");
/*
long HPHP::f_cpu_get_count()
_ZN4HPHP15f_cpu_get_countEv
(return value) => rax
*/
long fh_cpu_get_count() asm("_ZN4HPHP15f_cpu_get_countEv");
/*
HPHP::String HPHP::f_cpu_get_model()
_ZN4HPHP15f_cpu_get_modelEv
(return value) => rax
_rv => rdi
*/
Value* fh_cpu_get_model(Value* _rv) asm("_ZN4HPHP15f_cpu_get_modelEv");
/*
HPHP::String HPHP::f_ini_alter(HPHP::String const&, HPHP::String const&)
_ZN4HPHP11f_ini_alterERKNS_6StringES2_
+2 -2
Ver Arquivo
@@ -52,8 +52,8 @@ Array f_getrusage(int who = 0);
bool f_clock_getres(int clk_id, VRefParam sec, VRefParam nsec);
bool f_clock_gettime(int clk_id, VRefParam sec, VRefParam nsec);
bool f_clock_settime(int clk_id, int64_t sec, int64_t nsec);
inline int64_t f_cpu_get_count() { return Process::GetCPUCount();}
inline String f_cpu_get_model() { return Process::GetCPUModel();}
int64_t f_cpu_get_count();
String f_cpu_get_model();
String f_ini_alter(CStrRef varname, CStrRef newvalue);
Array f_ini_get_all(CStrRef extension = null_string);
String f_ini_get(CStrRef varname);
+78
Ver Arquivo
@@ -25,15 +25,93 @@
namespace HPHP {
///////////////////////////////////////////////////////////////////////////////
bool f_ob_start(CVarRef output_callback /* = uninit_null() */,
int chunk_size /* = 0 */, bool erase /* = true */) {
// ignoring chunk_size and erase
g_context->obStart(output_callback);
return true;
}
void f_ob_clean() {
g_context->obClean();
}
void f_ob_flush() {
g_context->obFlush();
}
bool f_ob_end_clean() {
g_context->obClean();
return g_context->obEnd();
}
bool f_ob_end_flush() {
bool ret = g_context->obFlush();
g_context->obEnd();
return ret;
}
void f_flush() {
g_context->flush();
}
String f_ob_get_contents() {
return g_context->obCopyContents();
}
String f_ob_get_clean() {
String output = f_ob_get_contents();
f_ob_end_clean();
return output;
}
String f_ob_get_flush() {
String output = g_context->obCopyContents();
g_context->obFlush();
return output;
}
int64_t f_ob_get_length() {
return g_context->obGetContentLength();
}
int64_t f_ob_get_level() {
return g_context->obGetLevel();
}
Array f_ob_get_status(bool full_status /* = false */) {
return g_context->obGetStatus(full_status);
}
String f_ob_gzhandler(CStrRef buffer, int mode) {
throw NotSupportedException(__func__, "something that's in transport layer");
}
void f_ob_implicit_flush(bool flag /* = true */) {
g_context->obSetImplicitFlush(flag);
}
Array f_ob_list_handlers() {
return g_context->obGetHandlers();
}
bool f_output_add_rewrite_var(CStrRef name, CStrRef value) {
throw NotSupportedException(__func__, "bad coding style");
}
bool f_output_reset_rewrite_vars() {
throw NotSupportedException(__func__, "bad coding style");
}
void f_hphp_crash_log(CStrRef name, CStrRef value) {
StackTraceNoHeap::AddExtraLogging(name.data(), value.data());
}
void f_hphp_stats(CStrRef name, int64_t value) {
ServerStats::Log(name.data(), value);
}
int64_t f_hphp_get_stats(CStrRef name) {
return ServerStats::Get(name.data());
}
Array f_hphp_get_status() {
std::string out;
ServerStats::ReportStatus(out, ServerStats::JSON);
return f_json_decode(String(out));
}
Array f_hphp_get_iostatus() {
return ServerStats::GetThreadIOStatuses();
}
void f_hphp_set_iostatus_address(CStrRef name) {
return ServerStats::SetThreadIOStatusAddress(name);
}
static double ts_float(const timespec &ts) {
return (double)ts.tv_sec + (double)ts.tv_nsec / 1000000000;
+861
Ver Arquivo
@@ -24,6 +24,678 @@
namespace HPHP {
/*
bool HPHP::f_ob_start(HPHP::Variant const&, int, bool)
_ZN4HPHP10f_ob_startERKNS_7VariantEib
(return value) => rax
output_callback => rdi
chunk_size => rsi
erase => rdx
*/
bool fh_ob_start(TypedValue* output_callback, int chunk_size, bool erase) asm("_ZN4HPHP10f_ob_startERKNS_7VariantEib");
TypedValue * fg1_ob_start(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_ob_start(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 != KindOfBoolean) {
tvCastToBooleanInPlace(args-2);
}
case 2:
if ((args-1)->m_type != KindOfInt64) {
tvCastToInt64InPlace(args-1);
}
case 1:
case 0:
break;
}
Variant defVal0;
rv->m_data.num = (fh_ob_start((count > 0) ? (args-0) : (TypedValue*)(&defVal0), (count > 1) ? (int)(args[-1].m_data.num) : (int)(0), (count > 2) ? (bool)(args[-2].m_data.num) : (bool)(true))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_ob_start(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 3LL) {
if ((count <= 2 || (args-2)->m_type == KindOfBoolean) && (count <= 1 || (args-1)->m_type == KindOfInt64)) {
rv.m_type = KindOfBoolean;
Variant defVal0;
rv.m_data.num = (fh_ob_start((count > 0) ? (args-0) : (TypedValue*)(&defVal0), (count > 1) ? (int)(args[-1].m_data.num) : (int)(0), (count > 2) ? (bool)(args[-2].m_data.num) : (bool)(true))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 3);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_ob_start(&rv, ar, count);
frame_free_locals_no_this_inl(ar, 3);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
}
} else {
throw_toomany_arguments_nr("ob_start", 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_ob_clean()
_ZN4HPHP10f_ob_cleanEv
*/
void fh_ob_clean() asm("_ZN4HPHP10f_ob_cleanEv");
TypedValue* fg_ob_clean(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_ob_clean();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("ob_clean", 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;
}
/*
void HPHP::f_ob_flush()
_ZN4HPHP10f_ob_flushEv
*/
void fh_ob_flush() asm("_ZN4HPHP10f_ob_flushEv");
TypedValue* fg_ob_flush(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_ob_flush();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("ob_flush", 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_ob_end_clean()
_ZN4HPHP14f_ob_end_cleanEv
(return value) => rax
*/
bool fh_ob_end_clean() asm("_ZN4HPHP14f_ob_end_cleanEv");
TypedValue* fg_ob_end_clean(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_ob_end_clean()) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("ob_end_clean", 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_ob_end_flush()
_ZN4HPHP14f_ob_end_flushEv
(return value) => rax
*/
bool fh_ob_end_flush() asm("_ZN4HPHP14f_ob_end_flushEv");
TypedValue* fg_ob_end_flush(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_ob_end_flush()) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("ob_end_flush", 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;
}
/*
void HPHP::f_flush()
_ZN4HPHP7f_flushEv
*/
void fh_flush() asm("_ZN4HPHP7f_flushEv");
TypedValue* fg_flush(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_flush();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("flush", 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::String HPHP::f_ob_get_clean()
_ZN4HPHP14f_ob_get_cleanEv
(return value) => rax
_rv => rdi
*/
Value* fh_ob_get_clean(Value* _rv) asm("_ZN4HPHP14f_ob_get_cleanEv");
TypedValue* fg_ob_get_clean(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfString;
fh_ob_get_clean((&rv.m_data));
if (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;
} else {
throw_toomany_arguments_nr("ob_get_clean", 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::String HPHP::f_ob_get_contents()
_ZN4HPHP17f_ob_get_contentsEv
(return value) => rax
_rv => rdi
*/
Value* fh_ob_get_contents(Value* _rv) asm("_ZN4HPHP17f_ob_get_contentsEv");
TypedValue* fg_ob_get_contents(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfString;
fh_ob_get_contents((&rv.m_data));
if (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;
} else {
throw_toomany_arguments_nr("ob_get_contents", 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::String HPHP::f_ob_get_flush()
_ZN4HPHP14f_ob_get_flushEv
(return value) => rax
_rv => rdi
*/
Value* fh_ob_get_flush(Value* _rv) asm("_ZN4HPHP14f_ob_get_flushEv");
TypedValue* fg_ob_get_flush(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfString;
fh_ob_get_flush((&rv.m_data));
if (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;
} else {
throw_toomany_arguments_nr("ob_get_flush", 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;
}
/*
long HPHP::f_ob_get_length()
_ZN4HPHP15f_ob_get_lengthEv
(return value) => rax
*/
long fh_ob_get_length() asm("_ZN4HPHP15f_ob_get_lengthEv");
TypedValue* fg_ob_get_length(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_ob_get_length();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("ob_get_length", 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;
}
/*
long HPHP::f_ob_get_level()
_ZN4HPHP14f_ob_get_levelEv
(return value) => rax
*/
long fh_ob_get_level() asm("_ZN4HPHP14f_ob_get_levelEv");
TypedValue* fg_ob_get_level(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_ob_get_level();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("ob_get_level", 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::Array HPHP::f_ob_get_status(bool)
_ZN4HPHP15f_ob_get_statusEb
(return value) => rax
_rv => rdi
full_status => rsi
*/
Value* fh_ob_get_status(Value* _rv, bool full_status) asm("_ZN4HPHP15f_ob_get_statusEb");
TypedValue * fg1_ob_get_status(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_ob_get_status(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfArray;
tvCastToBooleanInPlace(args-0);
fh_ob_get_status((&rv->m_data), (count > 0) ? (bool)(args[-0].m_data.num) : (bool)(false));
if (rv->m_data.num == 0LL) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_ob_get_status(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
if ((count <= 0 || (args-0)->m_type == KindOfBoolean)) {
rv.m_type = KindOfArray;
fh_ob_get_status((&rv.m_data), (count > 0) ? (bool)(args[-0].m_data.num) : (bool)(false));
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_ob_get_status(&rv, ar, count);
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
}
} else {
throw_toomany_arguments_nr("ob_get_status", 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::String HPHP::f_ob_gzhandler(HPHP::String const&, int)
_ZN4HPHP14f_ob_gzhandlerERKNS_6StringEi
(return value) => rax
_rv => rdi
buffer => rsi
mode => rdx
*/
Value* fh_ob_gzhandler(Value* _rv, Value* buffer, int mode) asm("_ZN4HPHP14f_ob_gzhandlerERKNS_6StringEi");
TypedValue * fg1_ob_gzhandler(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_ob_gzhandler(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfString;
if ((args-1)->m_type != KindOfInt64) {
tvCastToInt64InPlace(args-1);
}
if (!IS_STRING_TYPE((args-0)->m_type)) {
tvCastToStringInPlace(args-0);
}
fh_ob_gzhandler((&rv->m_data), &args[-0].m_data, (int)(args[-1].m_data.num));
if (rv->m_data.num == 0LL) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_ob_gzhandler(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 = KindOfString;
fh_ob_gzhandler((&rv.m_data), &args[-0].m_data, (int)(args[-1].m_data.num));
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_ob_gzhandler(&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("ob_gzhandler", 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;
}
/*
void HPHP::f_ob_implicit_flush(bool)
_ZN4HPHP19f_ob_implicit_flushEb
flag => rdi
*/
void fh_ob_implicit_flush(bool flag) asm("_ZN4HPHP19f_ob_implicit_flushEb");
TypedValue * fg1_ob_implicit_flush(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_ob_implicit_flush(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_data.num = 0LL;
rv->m_type = KindOfNull;
tvCastToBooleanInPlace(args-0);
fh_ob_implicit_flush((count > 0) ? (bool)(args[-0].m_data.num) : (bool)(true));
return rv;
}
TypedValue* fg_ob_implicit_flush(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count <= 1LL) {
if ((count <= 0 || (args-0)->m_type == KindOfBoolean)) {
rv.m_data.num = 0LL;
rv.m_type = KindOfNull;
fh_ob_implicit_flush((count > 0) ? (bool)(args[-0].m_data.num) : (bool)(true));
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_ob_implicit_flush(&rv, ar, count);
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
}
} else {
throw_toomany_arguments_nr("ob_implicit_flush", 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::Array HPHP::f_ob_list_handlers()
_ZN4HPHP18f_ob_list_handlersEv
(return value) => rax
_rv => rdi
*/
Value* fh_ob_list_handlers(Value* _rv) asm("_ZN4HPHP18f_ob_list_handlersEv");
TypedValue* fg_ob_list_handlers(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfArray;
fh_ob_list_handlers((&rv.m_data));
if (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;
} else {
throw_toomany_arguments_nr("ob_list_handlers", 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_output_add_rewrite_var(HPHP::String const&, HPHP::String const&)
_ZN4HPHP24f_output_add_rewrite_varERKNS_6StringES2_
(return value) => rax
name => rdi
value => rsi
*/
bool fh_output_add_rewrite_var(Value* name, Value* value) asm("_ZN4HPHP24f_output_add_rewrite_varERKNS_6StringES2_");
TypedValue * fg1_output_add_rewrite_var(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_output_add_rewrite_var(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_output_add_rewrite_var(&args[-0].m_data, &args[-1].m_data)) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_output_add_rewrite_var(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_output_add_rewrite_var(&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_output_add_rewrite_var(&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("output_add_rewrite_var", 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_output_reset_rewrite_vars()
_ZN4HPHP27f_output_reset_rewrite_varsEv
(return value) => rax
*/
bool fh_output_reset_rewrite_vars() asm("_ZN4HPHP27f_output_reset_rewrite_varsEv");
TypedValue* fg_output_reset_rewrite_vars(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_output_reset_rewrite_vars()) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("output_reset_rewrite_vars", 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;
}
/*
void HPHP::f_hphp_crash_log(HPHP::String const&, HPHP::String const&)
_ZN4HPHP16f_hphp_crash_logERKNS_6StringES2_
@@ -80,6 +752,111 @@ TypedValue* fg_hphp_crash_log(HPHP::VM::ActRec *ar) {
/*
void HPHP::f_hphp_stats(HPHP::String const&, long)
_ZN4HPHP12f_hphp_statsERKNS_6StringEl
name => rdi
value => rsi
*/
void fh_hphp_stats(Value* name, long value) asm("_ZN4HPHP12f_hphp_statsERKNS_6StringEl");
TypedValue * fg1_hphp_stats(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_hphp_stats(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_data.num = 0LL;
rv->m_type = KindOfNull;
if ((args-1)->m_type != KindOfInt64) {
tvCastToInt64InPlace(args-1);
}
if (!IS_STRING_TYPE((args-0)->m_type)) {
tvCastToStringInPlace(args-0);
}
fh_hphp_stats(&args[-0].m_data, (long)(args[-1].m_data.num));
return rv;
}
TypedValue* fg_hphp_stats(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_data.num = 0LL;
rv.m_type = KindOfNull;
fh_hphp_stats(&args[-0].m_data, (long)(args[-1].m_data.num));
frame_free_locals_no_this_inl(ar, 2);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_hphp_stats(&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("hphp_stats", 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;
}
/*
long HPHP::f_hphp_get_stats(HPHP::String const&)
_ZN4HPHP16f_hphp_get_statsERKNS_6StringE
(return value) => rax
name => rdi
*/
long fh_hphp_get_stats(Value* name) asm("_ZN4HPHP16f_hphp_get_statsERKNS_6StringE");
TypedValue * fg1_hphp_get_stats(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_hphp_get_stats(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfInt64;
tvCastToStringInPlace(args-0);
rv->m_data.num = (int64_t)fh_hphp_get_stats(&args[-0].m_data);
return rv;
}
TypedValue* fg_hphp_get_stats(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 = KindOfInt64;
rv.m_data.num = (int64_t)fh_hphp_get_stats(&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_hphp_get_stats(&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("hphp_get_stats", 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::Array HPHP::f_hphp_get_status()
_ZN4HPHP17f_hphp_get_statusEv
@@ -114,6 +891,90 @@ TypedValue* fg_hphp_get_status(HPHP::VM::ActRec *ar) {
/*
HPHP::Array HPHP::f_hphp_get_iostatus()
_ZN4HPHP19f_hphp_get_iostatusEv
(return value) => rax
_rv => rdi
*/
Value* fh_hphp_get_iostatus(Value* _rv) asm("_ZN4HPHP19f_hphp_get_iostatusEv");
TypedValue* fg_hphp_get_iostatus(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfArray;
fh_hphp_get_iostatus((&rv.m_data));
if (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;
} else {
throw_toomany_arguments_nr("hphp_get_iostatus", 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;
}
/*
void HPHP::f_hphp_set_iostatus_address(HPHP::String const&)
_ZN4HPHP27f_hphp_set_iostatus_addressERKNS_6StringE
name => rdi
*/
void fh_hphp_set_iostatus_address(Value* name) asm("_ZN4HPHP27f_hphp_set_iostatus_addressERKNS_6StringE");
TypedValue * fg1_hphp_set_iostatus_address(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_hphp_set_iostatus_address(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_data.num = 0LL;
rv->m_type = KindOfNull;
tvCastToStringInPlace(args-0);
fh_hphp_set_iostatus_address(&args[-0].m_data);
return rv;
}
TypedValue* fg_hphp_set_iostatus_address(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_data.num = 0LL;
rv.m_type = KindOfNull;
fh_hphp_set_iostatus_address(&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_hphp_set_iostatus_address(&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("hphp_set_iostatus_address", 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_hphp_get_timers(bool)
_ZN4HPHP17f_hphp_get_timersEb
+203
Ver Arquivo
@@ -16,6 +16,170 @@
*/
namespace HPHP {
/*
bool HPHP::f_ob_start(HPHP::Variant const&, int, bool)
_ZN4HPHP10f_ob_startERKNS_7VariantEib
(return value) => rax
output_callback => rdi
chunk_size => rsi
erase => rdx
*/
bool fh_ob_start(TypedValue* output_callback, int chunk_size, bool erase) asm("_ZN4HPHP10f_ob_startERKNS_7VariantEib");
/*
void HPHP::f_ob_clean()
_ZN4HPHP10f_ob_cleanEv
*/
void fh_ob_clean() asm("_ZN4HPHP10f_ob_cleanEv");
/*
void HPHP::f_ob_flush()
_ZN4HPHP10f_ob_flushEv
*/
void fh_ob_flush() asm("_ZN4HPHP10f_ob_flushEv");
/*
bool HPHP::f_ob_end_clean()
_ZN4HPHP14f_ob_end_cleanEv
(return value) => rax
*/
bool fh_ob_end_clean() asm("_ZN4HPHP14f_ob_end_cleanEv");
/*
bool HPHP::f_ob_end_flush()
_ZN4HPHP14f_ob_end_flushEv
(return value) => rax
*/
bool fh_ob_end_flush() asm("_ZN4HPHP14f_ob_end_flushEv");
/*
void HPHP::f_flush()
_ZN4HPHP7f_flushEv
*/
void fh_flush() asm("_ZN4HPHP7f_flushEv");
/*
HPHP::String HPHP::f_ob_get_clean()
_ZN4HPHP14f_ob_get_cleanEv
(return value) => rax
_rv => rdi
*/
Value* fh_ob_get_clean(Value* _rv) asm("_ZN4HPHP14f_ob_get_cleanEv");
/*
HPHP::String HPHP::f_ob_get_contents()
_ZN4HPHP17f_ob_get_contentsEv
(return value) => rax
_rv => rdi
*/
Value* fh_ob_get_contents(Value* _rv) asm("_ZN4HPHP17f_ob_get_contentsEv");
/*
HPHP::String HPHP::f_ob_get_flush()
_ZN4HPHP14f_ob_get_flushEv
(return value) => rax
_rv => rdi
*/
Value* fh_ob_get_flush(Value* _rv) asm("_ZN4HPHP14f_ob_get_flushEv");
/*
long HPHP::f_ob_get_length()
_ZN4HPHP15f_ob_get_lengthEv
(return value) => rax
*/
long fh_ob_get_length() asm("_ZN4HPHP15f_ob_get_lengthEv");
/*
long HPHP::f_ob_get_level()
_ZN4HPHP14f_ob_get_levelEv
(return value) => rax
*/
long fh_ob_get_level() asm("_ZN4HPHP14f_ob_get_levelEv");
/*
HPHP::Array HPHP::f_ob_get_status(bool)
_ZN4HPHP15f_ob_get_statusEb
(return value) => rax
_rv => rdi
full_status => rsi
*/
Value* fh_ob_get_status(Value* _rv, bool full_status) asm("_ZN4HPHP15f_ob_get_statusEb");
/*
HPHP::String HPHP::f_ob_gzhandler(HPHP::String const&, int)
_ZN4HPHP14f_ob_gzhandlerERKNS_6StringEi
(return value) => rax
_rv => rdi
buffer => rsi
mode => rdx
*/
Value* fh_ob_gzhandler(Value* _rv, Value* buffer, int mode) asm("_ZN4HPHP14f_ob_gzhandlerERKNS_6StringEi");
/*
void HPHP::f_ob_implicit_flush(bool)
_ZN4HPHP19f_ob_implicit_flushEb
flag => rdi
*/
void fh_ob_implicit_flush(bool flag) asm("_ZN4HPHP19f_ob_implicit_flushEb");
/*
HPHP::Array HPHP::f_ob_list_handlers()
_ZN4HPHP18f_ob_list_handlersEv
(return value) => rax
_rv => rdi
*/
Value* fh_ob_list_handlers(Value* _rv) asm("_ZN4HPHP18f_ob_list_handlersEv");
/*
bool HPHP::f_output_add_rewrite_var(HPHP::String const&, HPHP::String const&)
_ZN4HPHP24f_output_add_rewrite_varERKNS_6StringES2_
(return value) => rax
name => rdi
value => rsi
*/
bool fh_output_add_rewrite_var(Value* name, Value* value) asm("_ZN4HPHP24f_output_add_rewrite_varERKNS_6StringES2_");
/*
bool HPHP::f_output_reset_rewrite_vars()
_ZN4HPHP27f_output_reset_rewrite_varsEv
(return value) => rax
*/
bool fh_output_reset_rewrite_vars() asm("_ZN4HPHP27f_output_reset_rewrite_varsEv");
/*
void HPHP::f_hphp_crash_log(HPHP::String const&, HPHP::String const&)
_ZN4HPHP16f_hphp_crash_logERKNS_6StringES2_
@@ -26,6 +190,26 @@ value => rsi
void fh_hphp_crash_log(Value* name, Value* value) asm("_ZN4HPHP16f_hphp_crash_logERKNS_6StringES2_");
/*
void HPHP::f_hphp_stats(HPHP::String const&, long)
_ZN4HPHP12f_hphp_statsERKNS_6StringEl
name => rdi
value => rsi
*/
void fh_hphp_stats(Value* name, long value) asm("_ZN4HPHP12f_hphp_statsERKNS_6StringEl");
/*
long HPHP::f_hphp_get_stats(HPHP::String const&)
_ZN4HPHP16f_hphp_get_statsERKNS_6StringE
(return value) => rax
name => rdi
*/
long fh_hphp_get_stats(Value* name) asm("_ZN4HPHP16f_hphp_get_statsERKNS_6StringE");
/*
HPHP::Array HPHP::f_hphp_get_status()
_ZN4HPHP17f_hphp_get_statusEv
@@ -36,6 +220,25 @@ _rv => rdi
Value* fh_hphp_get_status(Value* _rv) asm("_ZN4HPHP17f_hphp_get_statusEv");
/*
HPHP::Array HPHP::f_hphp_get_iostatus()
_ZN4HPHP19f_hphp_get_iostatusEv
(return value) => rax
_rv => rdi
*/
Value* fh_hphp_get_iostatus(Value* _rv) asm("_ZN4HPHP19f_hphp_get_iostatusEv");
/*
void HPHP::f_hphp_set_iostatus_address(HPHP::String const&)
_ZN4HPHP27f_hphp_set_iostatus_addressERKNS_6StringE
name => rdi
*/
void fh_hphp_set_iostatus_address(Value* name) asm("_ZN4HPHP27f_hphp_set_iostatus_addressERKNS_6StringE");
/*
HPHP::Variant HPHP::f_hphp_get_timers(bool)
_ZN4HPHP17f_hphp_get_timersEb
+22 -73
Ver Arquivo
@@ -24,83 +24,32 @@
namespace HPHP {
///////////////////////////////////////////////////////////////////////////////
inline bool f_ob_start(CVarRef output_callback = uninit_null(), int chunk_size = 0,
bool erase = true) {
// ignoring chunk_size and erase
g_context->obStart(output_callback);
return true;
}
inline void f_ob_clean() {
g_context->obClean();
}
inline void f_ob_flush() {
g_context->obFlush();
}
inline bool f_ob_end_clean() {
g_context->obClean();
return g_context->obEnd();
}
inline bool f_ob_end_flush() {
bool ret = g_context->obFlush();
g_context->obEnd();
return ret;
}
inline void f_flush() {
g_context->flush();
}
inline String f_ob_get_contents() {
return g_context->obCopyContents();
}
inline String f_ob_get_clean() {
String output = f_ob_get_contents();
f_ob_end_clean();
return output;
}
inline String f_ob_get_flush() {
String output = g_context->obCopyContents();
g_context->obFlush();
return output;
}
inline int64_t f_ob_get_length() {
return g_context->obGetContentLength();
}
inline int64_t f_ob_get_level() {
return g_context->obGetLevel();
}
inline Array f_ob_get_status(bool full_status = false) {
return g_context->obGetStatus(full_status);
}
inline String f_ob_gzhandler(CStrRef buffer, int mode) {
throw NotSupportedException(__func__, "something that's in transport layer");
}
inline void f_ob_implicit_flush(bool flag = true) {
g_context->obSetImplicitFlush(flag);
}
inline Array f_ob_list_handlers() {
return g_context->obGetHandlers();
}
inline bool f_output_add_rewrite_var(CStrRef name, CStrRef value) {
throw NotSupportedException(__func__, "bad coding style");
}
inline bool f_output_reset_rewrite_vars() {
throw NotSupportedException(__func__, "bad coding style");
}
bool f_ob_start(CVarRef output_callback = uninit_null(), int chunk_size = 0,
bool erase = true);
void f_ob_clean();
void f_ob_flush();
bool f_ob_end_clean();
bool f_ob_end_flush();
void f_flush();
String f_ob_get_contents();
String f_ob_get_clean();
String f_ob_get_flush();
int64_t f_ob_get_length();
int64_t f_ob_get_level();
Array f_ob_get_status(bool full_status = false);
String f_ob_gzhandler(CStrRef buffer, int mode);
void f_ob_implicit_flush(bool flag = true);
Array f_ob_list_handlers();
bool f_output_add_rewrite_var(CStrRef name, CStrRef value);
bool f_output_reset_rewrite_vars();
void f_hphp_crash_log(CStrRef name, CStrRef value);
inline void f_hphp_stats(CStrRef name, int64_t value) {
ServerStats::Log(name.data(), value);
}
inline int64_t f_hphp_get_stats(CStrRef name) {
return ServerStats::Get(name.data());
}
void f_hphp_stats(CStrRef name, int64_t value);
int64_t f_hphp_get_stats(CStrRef name);
Array f_hphp_get_status();
inline Array f_hphp_get_iostatus() {
return ServerStats::GetThreadIOStatuses();
}
inline void f_hphp_set_iostatus_address(CStrRef name) {
return ServerStats::SetThreadIOStatusAddress(name);
}
Array f_hphp_get_iostatus();
void f_hphp_set_iostatus_address(CStrRef name);
Variant f_hphp_get_timers(bool get_as_float = true);
Variant f_hphp_output_global_state(bool serialize = true);
int64_t f_hphp_instruction_counter(void);
+109
Ver Arquivo
@@ -36,6 +36,38 @@ bool f_posix_access(CStrRef file, int mode /* = 0 */) {
return !access(path.data(), mode);
}
String f_posix_ctermid() {
String s = String(L_ctermid, ReserveString);
char *buffer = s.mutableSlice().ptr;
ctermid(buffer);
return s.setSize(strlen(buffer));
}
int64_t f_posix_get_last_error() {
return errno;
}
String f_posix_getcwd() {
String s = String(PATH_MAX, ReserveString);
char *buffer = s.mutableSlice().ptr;
if (getcwd(buffer, PATH_MAX) == NULL) {
return "/";
}
return s.setSize(strlen(buffer));
}
int64_t f_posix_getegid() {
return getegid();
}
int64_t f_posix_geteuid() {
return geteuid();
}
int64_t f_posix_getgid() {
return getgid();
}
static Variant php_posix_group_to_array(int gid,
CStrRef gname = null_variant) {
// Don't pass a gid *and* a gname to this.
@@ -101,6 +133,32 @@ Variant f_posix_getgroups() {
return ret;
}
Variant f_posix_getlogin() {
char buf[L_cuserid];
if (!getlogin_r(buf, sizeof(buf) - 1)) {
return String(buf, CopyString);
}
return false;
}
Variant f_posix_getpgid(int pid) {
int ret = getpgid(pid);
if (ret < 0) return false;
return ret;
}
int64_t f_posix_getpgrp() {
return getpgrp();
}
int64_t f_posix_getpid() {
return getpid();
}
int64_t f_posix_getppid() {
return getppid();
}
static Variant php_posix_passwd_to_array(int uid,
CStrRef name = null_variant) {
// Don't pass a uid *and* a name to this.
@@ -206,6 +264,21 @@ Variant f_posix_getrlimit() {
return ret;
}
Variant f_posix_getsid(int pid) {
int ret = getsid(pid);
if (ret < 0) return false;
return ret;
}
int64_t f_posix_getuid() {
return getuid();
}
bool f_posix_initgroups(CStrRef name, int base_group_id) {
if (name.empty()) return false;
return !initgroups(name.data(), base_group_id);
}
static int php_posix_get_fd(CVarRef fd) {
int nfd;
if (fd.isResource()) {
@@ -224,6 +297,14 @@ bool f_posix_isatty(CVarRef fd) {
return isatty(php_posix_get_fd(fd));
}
bool f_posix_kill(int pid, int sig) {
return kill(pid, sig) >= 0;
}
bool f_posix_mkfifo(CStrRef pathname, int mode) {
return mkfifo(pathname.data(), mode) >= 0;
}
bool f_posix_mknod(CStrRef pathname, int mode, int major /* = 0 */,
int minor /* = 0 */) {
dev_t php_dev = 0;
@@ -244,6 +325,34 @@ bool f_posix_mknod(CStrRef pathname, int mode, int major /* = 0 */,
return mknod(pathname.data(), mode, php_dev) >= 0;
}
bool f_posix_setegid(int gid) {
return setegid(gid);
}
bool f_posix_seteuid(int uid) {
return seteuid(uid);
}
bool f_posix_setgid(int gid) {
return setgid(gid);
}
bool f_posix_setpgid(int pid, int pgid) {
return setpgid(pid, pgid) >= 0;
}
int64_t f_posix_setsid() {
return setsid();
}
bool f_posix_setuid(int uid) {
return setuid(uid);
}
String f_posix_strerror(int errnum) {
return String(Util::safe_strerror(errnum));
}
Variant f_posix_times() {
struct tms t;
clock_t ticks = times(&t);
+957
Ver Arquivo
@@ -84,6 +84,202 @@ TypedValue* fg_posix_access(HPHP::VM::ActRec *ar) {
/*
HPHP::String HPHP::f_posix_ctermid()
_ZN4HPHP15f_posix_ctermidEv
(return value) => rax
_rv => rdi
*/
Value* fh_posix_ctermid(Value* _rv) asm("_ZN4HPHP15f_posix_ctermidEv");
TypedValue* fg_posix_ctermid(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfString;
fh_posix_ctermid((&rv.m_data));
if (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;
} else {
throw_toomany_arguments_nr("posix_ctermid", 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;
}
/*
long HPHP::f_posix_get_last_error()
_ZN4HPHP22f_posix_get_last_errorEv
(return value) => rax
*/
long fh_posix_get_last_error() asm("_ZN4HPHP22f_posix_get_last_errorEv");
TypedValue* fg_posix_get_last_error(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_posix_get_last_error();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("posix_get_last_error", 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::String HPHP::f_posix_getcwd()
_ZN4HPHP14f_posix_getcwdEv
(return value) => rax
_rv => rdi
*/
Value* fh_posix_getcwd(Value* _rv) asm("_ZN4HPHP14f_posix_getcwdEv");
TypedValue* fg_posix_getcwd(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfString;
fh_posix_getcwd((&rv.m_data));
if (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;
} else {
throw_toomany_arguments_nr("posix_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;
}
/*
long HPHP::f_posix_getegid()
_ZN4HPHP15f_posix_getegidEv
(return value) => rax
*/
long fh_posix_getegid() asm("_ZN4HPHP15f_posix_getegidEv");
TypedValue* fg_posix_getegid(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_posix_getegid();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("posix_getegid", 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;
}
/*
long HPHP::f_posix_geteuid()
_ZN4HPHP15f_posix_geteuidEv
(return value) => rax
*/
long fh_posix_geteuid() asm("_ZN4HPHP15f_posix_geteuidEv");
TypedValue* fg_posix_geteuid(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_posix_geteuid();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("posix_geteuid", 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;
}
/*
long HPHP::f_posix_getgid()
_ZN4HPHP14f_posix_getgidEv
(return value) => rax
*/
long fh_posix_getgid() asm("_ZN4HPHP14f_posix_getgidEv");
TypedValue* fg_posix_getgid(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_posix_getgid();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("posix_getgid", 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_posix_getgrgid(int)
_ZN4HPHP16f_posix_getgrgidEi
@@ -217,6 +413,185 @@ TypedValue* fg_posix_getgroups(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_posix_getlogin()
_ZN4HPHP16f_posix_getloginEv
(return value) => rax
_rv => rdi
*/
TypedValue* fh_posix_getlogin(TypedValue* _rv) asm("_ZN4HPHP16f_posix_getloginEv");
TypedValue* fg_posix_getlogin(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
fh_posix_getlogin((&(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("posix_getlogin", 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_posix_getpgid(int)
_ZN4HPHP15f_posix_getpgidEi
(return value) => rax
_rv => rdi
pid => rsi
*/
TypedValue* fh_posix_getpgid(TypedValue* _rv, int pid) asm("_ZN4HPHP15f_posix_getpgidEi");
TypedValue * fg1_posix_getpgid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_posix_getpgid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToInt64InPlace(args-0);
fh_posix_getpgid((rv), (int)(args[-0].m_data.num));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_posix_getpgid(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 == KindOfInt64) {
fh_posix_getpgid((&(rv)), (int)(args[-0].m_data.num));
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_posix_getpgid(&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("posix_getpgid", 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;
}
/*
long HPHP::f_posix_getpgrp()
_ZN4HPHP15f_posix_getpgrpEv
(return value) => rax
*/
long fh_posix_getpgrp() asm("_ZN4HPHP15f_posix_getpgrpEv");
TypedValue* fg_posix_getpgrp(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_posix_getpgrp();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("posix_getpgrp", 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;
}
/*
long HPHP::f_posix_getpid()
_ZN4HPHP14f_posix_getpidEv
(return value) => rax
*/
long fh_posix_getpid() asm("_ZN4HPHP14f_posix_getpidEv");
TypedValue* fg_posix_getpid(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_posix_getpid();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("posix_getpid", 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;
}
/*
long HPHP::f_posix_getppid()
_ZN4HPHP15f_posix_getppidEv
(return value) => rax
*/
long fh_posix_getppid() asm("_ZN4HPHP15f_posix_getppidEv");
TypedValue* fg_posix_getppid(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_posix_getppid();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("posix_getppid", 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_posix_getpwnam(HPHP::String const&)
_ZN4HPHP16f_posix_getpwnamERKNS_6StringE
@@ -350,6 +725,143 @@ TypedValue* fg_posix_getrlimit(HPHP::VM::ActRec *ar) {
/*
HPHP::Variant HPHP::f_posix_getsid(int)
_ZN4HPHP14f_posix_getsidEi
(return value) => rax
_rv => rdi
pid => rsi
*/
TypedValue* fh_posix_getsid(TypedValue* _rv, int pid) asm("_ZN4HPHP14f_posix_getsidEi");
TypedValue * fg1_posix_getsid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_posix_getsid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToInt64InPlace(args-0);
fh_posix_getsid((rv), (int)(args[-0].m_data.num));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_posix_getsid(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 == KindOfInt64) {
fh_posix_getsid((&(rv)), (int)(args[-0].m_data.num));
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_posix_getsid(&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("posix_getsid", 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;
}
/*
long HPHP::f_posix_getuid()
_ZN4HPHP14f_posix_getuidEv
(return value) => rax
*/
long fh_posix_getuid() asm("_ZN4HPHP14f_posix_getuidEv");
TypedValue* fg_posix_getuid(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_posix_getuid();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("posix_getuid", 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_posix_initgroups(HPHP::String const&, int)
_ZN4HPHP18f_posix_initgroupsERKNS_6StringEi
(return value) => rax
name => rdi
base_group_id => rsi
*/
bool fh_posix_initgroups(Value* name, int base_group_id) asm("_ZN4HPHP18f_posix_initgroupsERKNS_6StringEi");
TypedValue * fg1_posix_initgroups(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_posix_initgroups(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_posix_initgroups(&args[-0].m_data, (int)(args[-1].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_posix_initgroups(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_posix_initgroups(&args[-0].m_data, (int)(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_posix_initgroups(&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("posix_initgroups", 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_posix_isatty(HPHP::Variant const&)
_ZN4HPHP14f_posix_isattyERKNS_7VariantE
@@ -383,6 +895,116 @@ TypedValue* fg_posix_isatty(HPHP::VM::ActRec *ar) {
/*
bool HPHP::f_posix_kill(int, int)
_ZN4HPHP12f_posix_killEii
(return value) => rax
pid => rdi
sig => rsi
*/
bool fh_posix_kill(int pid, int sig) asm("_ZN4HPHP12f_posix_killEii");
TypedValue * fg1_posix_kill(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_posix_kill(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 != KindOfInt64) {
tvCastToInt64InPlace(args-0);
}
rv->m_data.num = (fh_posix_kill((int)(args[-0].m_data.num), (int)(args[-1].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_posix_kill(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 == KindOfInt64) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_posix_kill((int)(args[-0].m_data.num), (int)(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_posix_kill(&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("posix_kill", 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_posix_mkfifo(HPHP::String const&, int)
_ZN4HPHP14f_posix_mkfifoERKNS_6StringEi
(return value) => rax
pathname => rdi
mode => rsi
*/
bool fh_posix_mkfifo(Value* pathname, int mode) asm("_ZN4HPHP14f_posix_mkfifoERKNS_6StringEi");
TypedValue * fg1_posix_mkfifo(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_posix_mkfifo(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_posix_mkfifo(&args[-0].m_data, (int)(args[-1].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_posix_mkfifo(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_posix_mkfifo(&args[-0].m_data, (int)(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_posix_mkfifo(&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("posix_mkfifo", 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_posix_mknod(HPHP::String const&, int, int, int)
_ZN4HPHP13f_posix_mknodERKNS_6StringEiii
@@ -452,6 +1074,341 @@ TypedValue* fg_posix_mknod(HPHP::VM::ActRec *ar) {
/*
bool HPHP::f_posix_setegid(int)
_ZN4HPHP15f_posix_setegidEi
(return value) => rax
gid => rdi
*/
bool fh_posix_setegid(int gid) asm("_ZN4HPHP15f_posix_setegidEi");
TypedValue * fg1_posix_setegid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_posix_setegid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
tvCastToInt64InPlace(args-0);
rv->m_data.num = (fh_posix_setegid((int)(args[-0].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_posix_setegid(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 == KindOfInt64) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_posix_setegid((int)(args[-0].m_data.num))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_posix_setegid(&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("posix_setegid", 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_posix_seteuid(int)
_ZN4HPHP15f_posix_seteuidEi
(return value) => rax
uid => rdi
*/
bool fh_posix_seteuid(int uid) asm("_ZN4HPHP15f_posix_seteuidEi");
TypedValue * fg1_posix_seteuid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_posix_seteuid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
tvCastToInt64InPlace(args-0);
rv->m_data.num = (fh_posix_seteuid((int)(args[-0].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_posix_seteuid(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 == KindOfInt64) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_posix_seteuid((int)(args[-0].m_data.num))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_posix_seteuid(&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("posix_seteuid", 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_posix_setgid(int)
_ZN4HPHP14f_posix_setgidEi
(return value) => rax
gid => rdi
*/
bool fh_posix_setgid(int gid) asm("_ZN4HPHP14f_posix_setgidEi");
TypedValue * fg1_posix_setgid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_posix_setgid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
tvCastToInt64InPlace(args-0);
rv->m_data.num = (fh_posix_setgid((int)(args[-0].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_posix_setgid(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 == KindOfInt64) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_posix_setgid((int)(args[-0].m_data.num))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_posix_setgid(&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("posix_setgid", 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_posix_setpgid(int, int)
_ZN4HPHP15f_posix_setpgidEii
(return value) => rax
pid => rdi
pgid => rsi
*/
bool fh_posix_setpgid(int pid, int pgid) asm("_ZN4HPHP15f_posix_setpgidEii");
TypedValue * fg1_posix_setpgid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_posix_setpgid(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 != KindOfInt64) {
tvCastToInt64InPlace(args-0);
}
rv->m_data.num = (fh_posix_setpgid((int)(args[-0].m_data.num), (int)(args[-1].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_posix_setpgid(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 == KindOfInt64) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_posix_setpgid((int)(args[-0].m_data.num), (int)(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_posix_setpgid(&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("posix_setpgid", 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;
}
/*
long HPHP::f_posix_setsid()
_ZN4HPHP14f_posix_setsidEv
(return value) => rax
*/
long fh_posix_setsid() asm("_ZN4HPHP14f_posix_setsidEv");
TypedValue* fg_posix_setsid(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_posix_setsid();
frame_free_locals_no_this_inl(ar, 0);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_toomany_arguments_nr("posix_setsid", 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_posix_setuid(int)
_ZN4HPHP14f_posix_setuidEi
(return value) => rax
uid => rdi
*/
bool fh_posix_setuid(int uid) asm("_ZN4HPHP14f_posix_setuidEi");
TypedValue * fg1_posix_setuid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_posix_setuid(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
tvCastToInt64InPlace(args-0);
rv->m_data.num = (fh_posix_setuid((int)(args[-0].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_posix_setuid(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 == KindOfInt64) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_posix_setuid((int)(args[-0].m_data.num))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_posix_setuid(&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("posix_setuid", 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::String HPHP::f_posix_strerror(int)
_ZN4HPHP16f_posix_strerrorEi
(return value) => rax
_rv => rdi
errnum => rsi
*/
Value* fh_posix_strerror(Value* _rv, int errnum) asm("_ZN4HPHP16f_posix_strerrorEi");
TypedValue * fg1_posix_strerror(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_posix_strerror(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfString;
tvCastToInt64InPlace(args-0);
fh_posix_strerror((&rv->m_data), (int)(args[-0].m_data.num));
if (rv->m_data.num == 0LL) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_posix_strerror(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 == KindOfInt64) {
rv.m_type = KindOfString;
fh_posix_strerror((&rv.m_data), (int)(args[-0].m_data.num));
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_posix_strerror(&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("posix_strerror", 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_posix_times()
_ZN4HPHP13f_posix_timesEv
+228
Ver Arquivo
@@ -27,6 +27,62 @@ mode => rsi
bool fh_posix_access(Value* file, int mode) asm("_ZN4HPHP14f_posix_accessERKNS_6StringEi");
/*
HPHP::String HPHP::f_posix_ctermid()
_ZN4HPHP15f_posix_ctermidEv
(return value) => rax
_rv => rdi
*/
Value* fh_posix_ctermid(Value* _rv) asm("_ZN4HPHP15f_posix_ctermidEv");
/*
long HPHP::f_posix_get_last_error()
_ZN4HPHP22f_posix_get_last_errorEv
(return value) => rax
*/
long fh_posix_get_last_error() asm("_ZN4HPHP22f_posix_get_last_errorEv");
/*
HPHP::String HPHP::f_posix_getcwd()
_ZN4HPHP14f_posix_getcwdEv
(return value) => rax
_rv => rdi
*/
Value* fh_posix_getcwd(Value* _rv) asm("_ZN4HPHP14f_posix_getcwdEv");
/*
long HPHP::f_posix_getegid()
_ZN4HPHP15f_posix_getegidEv
(return value) => rax
*/
long fh_posix_getegid() asm("_ZN4HPHP15f_posix_getegidEv");
/*
long HPHP::f_posix_geteuid()
_ZN4HPHP15f_posix_geteuidEv
(return value) => rax
*/
long fh_posix_geteuid() asm("_ZN4HPHP15f_posix_geteuidEv");
/*
long HPHP::f_posix_getgid()
_ZN4HPHP14f_posix_getgidEv
(return value) => rax
*/
long fh_posix_getgid() asm("_ZN4HPHP14f_posix_getgidEv");
/*
HPHP::Variant HPHP::f_posix_getgrgid(int)
_ZN4HPHP16f_posix_getgrgidEi
@@ -59,6 +115,54 @@ _rv => rdi
TypedValue* fh_posix_getgroups(TypedValue* _rv) asm("_ZN4HPHP17f_posix_getgroupsEv");
/*
HPHP::Variant HPHP::f_posix_getlogin()
_ZN4HPHP16f_posix_getloginEv
(return value) => rax
_rv => rdi
*/
TypedValue* fh_posix_getlogin(TypedValue* _rv) asm("_ZN4HPHP16f_posix_getloginEv");
/*
HPHP::Variant HPHP::f_posix_getpgid(int)
_ZN4HPHP15f_posix_getpgidEi
(return value) => rax
_rv => rdi
pid => rsi
*/
TypedValue* fh_posix_getpgid(TypedValue* _rv, int pid) asm("_ZN4HPHP15f_posix_getpgidEi");
/*
long HPHP::f_posix_getpgrp()
_ZN4HPHP15f_posix_getpgrpEv
(return value) => rax
*/
long fh_posix_getpgrp() asm("_ZN4HPHP15f_posix_getpgrpEv");
/*
long HPHP::f_posix_getpid()
_ZN4HPHP14f_posix_getpidEv
(return value) => rax
*/
long fh_posix_getpid() asm("_ZN4HPHP14f_posix_getpidEv");
/*
long HPHP::f_posix_getppid()
_ZN4HPHP15f_posix_getppidEv
(return value) => rax
*/
long fh_posix_getppid() asm("_ZN4HPHP15f_posix_getppidEv");
/*
HPHP::Variant HPHP::f_posix_getpwnam(HPHP::String const&)
_ZN4HPHP16f_posix_getpwnamERKNS_6StringE
@@ -91,6 +195,37 @@ _rv => rdi
TypedValue* fh_posix_getrlimit(TypedValue* _rv) asm("_ZN4HPHP17f_posix_getrlimitEv");
/*
HPHP::Variant HPHP::f_posix_getsid(int)
_ZN4HPHP14f_posix_getsidEi
(return value) => rax
_rv => rdi
pid => rsi
*/
TypedValue* fh_posix_getsid(TypedValue* _rv, int pid) asm("_ZN4HPHP14f_posix_getsidEi");
/*
long HPHP::f_posix_getuid()
_ZN4HPHP14f_posix_getuidEv
(return value) => rax
*/
long fh_posix_getuid() asm("_ZN4HPHP14f_posix_getuidEv");
/*
bool HPHP::f_posix_initgroups(HPHP::String const&, int)
_ZN4HPHP18f_posix_initgroupsERKNS_6StringEi
(return value) => rax
name => rdi
base_group_id => rsi
*/
bool fh_posix_initgroups(Value* name, int base_group_id) asm("_ZN4HPHP18f_posix_initgroupsERKNS_6StringEi");
/*
bool HPHP::f_posix_isatty(HPHP::Variant const&)
_ZN4HPHP14f_posix_isattyERKNS_7VariantE
@@ -101,6 +236,28 @@ fd => rdi
bool fh_posix_isatty(TypedValue* fd) asm("_ZN4HPHP14f_posix_isattyERKNS_7VariantE");
/*
bool HPHP::f_posix_kill(int, int)
_ZN4HPHP12f_posix_killEii
(return value) => rax
pid => rdi
sig => rsi
*/
bool fh_posix_kill(int pid, int sig) asm("_ZN4HPHP12f_posix_killEii");
/*
bool HPHP::f_posix_mkfifo(HPHP::String const&, int)
_ZN4HPHP14f_posix_mkfifoERKNS_6StringEi
(return value) => rax
pathname => rdi
mode => rsi
*/
bool fh_posix_mkfifo(Value* pathname, int mode) asm("_ZN4HPHP14f_posix_mkfifoERKNS_6StringEi");
/*
bool HPHP::f_posix_mknod(HPHP::String const&, int, int, int)
_ZN4HPHP13f_posix_mknodERKNS_6StringEiii
@@ -114,6 +271,77 @@ minor => rcx
bool fh_posix_mknod(Value* pathname, int mode, int major, int minor) asm("_ZN4HPHP13f_posix_mknodERKNS_6StringEiii");
/*
bool HPHP::f_posix_setegid(int)
_ZN4HPHP15f_posix_setegidEi
(return value) => rax
gid => rdi
*/
bool fh_posix_setegid(int gid) asm("_ZN4HPHP15f_posix_setegidEi");
/*
bool HPHP::f_posix_seteuid(int)
_ZN4HPHP15f_posix_seteuidEi
(return value) => rax
uid => rdi
*/
bool fh_posix_seteuid(int uid) asm("_ZN4HPHP15f_posix_seteuidEi");
/*
bool HPHP::f_posix_setgid(int)
_ZN4HPHP14f_posix_setgidEi
(return value) => rax
gid => rdi
*/
bool fh_posix_setgid(int gid) asm("_ZN4HPHP14f_posix_setgidEi");
/*
bool HPHP::f_posix_setpgid(int, int)
_ZN4HPHP15f_posix_setpgidEii
(return value) => rax
pid => rdi
pgid => rsi
*/
bool fh_posix_setpgid(int pid, int pgid) asm("_ZN4HPHP15f_posix_setpgidEii");
/*
long HPHP::f_posix_setsid()
_ZN4HPHP14f_posix_setsidEv
(return value) => rax
*/
long fh_posix_setsid() asm("_ZN4HPHP14f_posix_setsidEv");
/*
bool HPHP::f_posix_setuid(int)
_ZN4HPHP14f_posix_setuidEi
(return value) => rax
uid => rdi
*/
bool fh_posix_setuid(int uid) asm("_ZN4HPHP14f_posix_setuidEi");
/*
HPHP::String HPHP::f_posix_strerror(int)
_ZN4HPHP16f_posix_strerrorEi
(return value) => rax
_rv => rdi
errnum => rsi
*/
Value* fh_posix_strerror(Value* _rv, int errnum) asm("_ZN4HPHP16f_posix_strerrorEi");
/*
HPHP::Variant HPHP::f_posix_times()
_ZN4HPHP13f_posix_timesEv
+23 -86
Ver Arquivo
@@ -28,37 +28,17 @@ namespace HPHP {
bool f_posix_access(CStrRef file, int mode = 0);
inline String f_posix_ctermid() {
String s = String(L_ctermid, ReserveString);
char *buffer = s.mutableSlice().ptr;
ctermid(buffer);
return s.setSize(strlen(buffer));
}
String f_posix_ctermid();
inline int64_t f_posix_get_last_error() {
return errno;
}
int64_t f_posix_get_last_error();
inline String f_posix_getcwd() {
String s = String(PATH_MAX, ReserveString);
char *buffer = s.mutableSlice().ptr;
if (getcwd(buffer, PATH_MAX) == NULL) {
return "/";
}
return s.setSize(strlen(buffer));
}
String f_posix_getcwd();
inline int64_t f_posix_getegid() {
return getegid();
}
int64_t f_posix_getegid();
inline int64_t f_posix_geteuid() {
return geteuid();
}
int64_t f_posix_geteuid();
inline int64_t f_posix_getgid() {
return getgid();
}
int64_t f_posix_getgid();
Variant f_posix_getgrgid(int gid);
@@ -66,31 +46,15 @@ Variant f_posix_getgrnam(CStrRef name);
Variant f_posix_getgroups();
inline Variant f_posix_getlogin() {
char buf[L_cuserid];
if (!getlogin_r(buf, sizeof(buf) - 1)) {
return String(buf, CopyString);
}
return false;
}
Variant f_posix_getlogin();
inline Variant f_posix_getpgid(int pid) {
int ret = getpgid(pid);
if (ret < 0) return false;
return ret;
}
Variant f_posix_getpgid(int pid);
inline int64_t f_posix_getpgrp() {
return getpgrp();
}
int64_t f_posix_getpgrp();
inline int64_t f_posix_getpid() {
return getpid();
}
int64_t f_posix_getpid();
inline int64_t f_posix_getppid() {
return getppid();
}
int64_t f_posix_getppid();
Variant f_posix_getpwnam(CStrRef username);
@@ -98,60 +62,33 @@ Variant f_posix_getpwuid(int uid);
Variant f_posix_getrlimit();
inline Variant f_posix_getsid(int pid) {
int ret = getsid(pid);
if (ret < 0) return false;
return ret;
}
Variant f_posix_getsid(int pid);
inline int64_t f_posix_getuid() {
return getuid();
}
int64_t f_posix_getuid();
inline bool f_posix_initgroups(CStrRef name, int base_group_id) {
if (name.empty()) return false;
return !initgroups(name.data(), base_group_id);
}
bool f_posix_initgroups(CStrRef name, int base_group_id);
bool f_posix_isatty(CVarRef fd);
inline bool f_posix_kill(int pid, int sig) {
return kill(pid, sig) >= 0;
}
bool f_posix_kill(int pid, int sig);
inline bool f_posix_mkfifo(CStrRef pathname, int mode) {
return mkfifo(pathname.data(), mode) >= 0;
}
bool f_posix_mkfifo(CStrRef pathname, int mode);
bool f_posix_mknod(CStrRef pathname, int mode, int major = 0, int minor = 0);
inline bool f_posix_setegid(int gid) {
return setegid(gid);
}
bool f_posix_setegid(int gid);
inline bool f_posix_seteuid(int uid) {
return seteuid(uid);
}
bool f_posix_seteuid(int uid);
inline bool f_posix_setgid(int gid) {
return setgid(gid);
}
bool f_posix_setgid(int gid);
inline bool f_posix_setpgid(int pid, int pgid) {
return setpgid(pid, pgid) >= 0;
}
bool f_posix_setpgid(int pid, int pgid);
inline int64_t f_posix_setsid() {
return setsid();
}
int64_t f_posix_setsid();
inline bool f_posix_setuid(int uid) {
return setuid(uid);
}
bool f_posix_setuid(int uid);
inline String f_posix_strerror(int errnum) {
return String(Util::safe_strerror(errnum));
}
String f_posix_strerror(int errnum);
Variant f_posix_times();
+14
Ver Arquivo
@@ -105,6 +105,10 @@ static bool check_cmd(const char *cmd) {
IMPLEMENT_DEFAULT_EXTENSION(pcntl);
int64_t f_pcntl_alarm(int seconds) {
return alarm(seconds);
}
void f_pcntl_exec(CStrRef path, CArrRef args /* = null_array */,
CArrRef envs /* = null_array */) {
if (RuntimeOption::WhitelistExec && !check_cmd(path.data())) {
@@ -359,6 +363,16 @@ int64_t f_pcntl_waitpid(int pid, VRefParam status, int options /* = 0 */) {
return child_id;
}
int64_t f_pcntl_wexitstatus(int status) {
return WEXITSTATUS(status);
}
bool f_pcntl_wifexited(int status) { return WIFEXITED(status);}
bool f_pcntl_wifsignaled(int status) { return WIFSIGNALED(status);}
bool f_pcntl_wifstopped(int status) { return WIFSTOPPED(status);}
int64_t f_pcntl_wstopsig(int status) { return WSTOPSIG(status);}
int64_t f_pcntl_wtermsig(int status) { return WTERMSIG(status);}
///////////////////////////////////////////////////////////////////////////////
// popen
+343
Ver Arquivo
@@ -24,6 +24,55 @@
namespace HPHP {
/*
long HPHP::f_pcntl_alarm(int)
_ZN4HPHP13f_pcntl_alarmEi
(return value) => rax
seconds => rdi
*/
long fh_pcntl_alarm(int seconds) asm("_ZN4HPHP13f_pcntl_alarmEi");
TypedValue * fg1_pcntl_alarm(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_pcntl_alarm(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfInt64;
tvCastToInt64InPlace(args-0);
rv->m_data.num = (int64_t)fh_pcntl_alarm((int)(args[-0].m_data.num));
return rv;
}
TypedValue* fg_pcntl_alarm(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 == KindOfInt64) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_pcntl_alarm((int)(args[-0].m_data.num));
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_pcntl_alarm(&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("pcntl_alarm", 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_pcntl_exec(HPHP::String const&, HPHP::Array const&, HPHP::Array const&)
_ZN4HPHP12f_pcntl_execERKNS_6StringERKNS_5ArrayES5_
@@ -421,6 +470,300 @@ TypedValue* fg_pcntl_waitpid(HPHP::VM::ActRec *ar) {
/*
long HPHP::f_pcntl_wexitstatus(int)
_ZN4HPHP19f_pcntl_wexitstatusEi
(return value) => rax
status => rdi
*/
long fh_pcntl_wexitstatus(int status) asm("_ZN4HPHP19f_pcntl_wexitstatusEi");
TypedValue * fg1_pcntl_wexitstatus(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_pcntl_wexitstatus(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfInt64;
tvCastToInt64InPlace(args-0);
rv->m_data.num = (int64_t)fh_pcntl_wexitstatus((int)(args[-0].m_data.num));
return rv;
}
TypedValue* fg_pcntl_wexitstatus(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 == KindOfInt64) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_pcntl_wexitstatus((int)(args[-0].m_data.num));
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_pcntl_wexitstatus(&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("pcntl_wexitstatus", 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_pcntl_wifexited(int)
_ZN4HPHP17f_pcntl_wifexitedEi
(return value) => rax
status => rdi
*/
bool fh_pcntl_wifexited(int status) asm("_ZN4HPHP17f_pcntl_wifexitedEi");
TypedValue * fg1_pcntl_wifexited(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_pcntl_wifexited(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
tvCastToInt64InPlace(args-0);
rv->m_data.num = (fh_pcntl_wifexited((int)(args[-0].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_pcntl_wifexited(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 == KindOfInt64) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_pcntl_wifexited((int)(args[-0].m_data.num))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_pcntl_wifexited(&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("pcntl_wifexited", 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_pcntl_wifsignaled(int)
_ZN4HPHP19f_pcntl_wifsignaledEi
(return value) => rax
status => rdi
*/
bool fh_pcntl_wifsignaled(int status) asm("_ZN4HPHP19f_pcntl_wifsignaledEi");
TypedValue * fg1_pcntl_wifsignaled(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_pcntl_wifsignaled(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
tvCastToInt64InPlace(args-0);
rv->m_data.num = (fh_pcntl_wifsignaled((int)(args[-0].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_pcntl_wifsignaled(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 == KindOfInt64) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_pcntl_wifsignaled((int)(args[-0].m_data.num))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_pcntl_wifsignaled(&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("pcntl_wifsignaled", 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_pcntl_wifstopped(int)
_ZN4HPHP18f_pcntl_wifstoppedEi
(return value) => rax
status => rdi
*/
bool fh_pcntl_wifstopped(int status) asm("_ZN4HPHP18f_pcntl_wifstoppedEi");
TypedValue * fg1_pcntl_wifstopped(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_pcntl_wifstopped(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfBoolean;
tvCastToInt64InPlace(args-0);
rv->m_data.num = (fh_pcntl_wifstopped((int)(args[-0].m_data.num))) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_pcntl_wifstopped(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 == KindOfInt64) {
rv.m_type = KindOfBoolean;
rv.m_data.num = (fh_pcntl_wifstopped((int)(args[-0].m_data.num))) ? 1LL : 0LL;
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_pcntl_wifstopped(&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("pcntl_wifstopped", 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;
}
/*
long HPHP::f_pcntl_wstopsig(int)
_ZN4HPHP16f_pcntl_wstopsigEi
(return value) => rax
status => rdi
*/
long fh_pcntl_wstopsig(int status) asm("_ZN4HPHP16f_pcntl_wstopsigEi");
TypedValue * fg1_pcntl_wstopsig(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_pcntl_wstopsig(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfInt64;
tvCastToInt64InPlace(args-0);
rv->m_data.num = (int64_t)fh_pcntl_wstopsig((int)(args[-0].m_data.num));
return rv;
}
TypedValue* fg_pcntl_wstopsig(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 == KindOfInt64) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_pcntl_wstopsig((int)(args[-0].m_data.num));
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_pcntl_wstopsig(&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("pcntl_wstopsig", 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;
}
/*
long HPHP::f_pcntl_wtermsig(int)
_ZN4HPHP16f_pcntl_wtermsigEi
(return value) => rax
status => rdi
*/
long fh_pcntl_wtermsig(int status) asm("_ZN4HPHP16f_pcntl_wtermsigEi");
TypedValue * fg1_pcntl_wtermsig(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_pcntl_wtermsig(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfInt64;
tvCastToInt64InPlace(args-0);
rv->m_data.num = (int64_t)fh_pcntl_wtermsig((int)(args[-0].m_data.num));
return rv;
}
TypedValue* fg_pcntl_wtermsig(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 == KindOfInt64) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_pcntl_wtermsig((int)(args[-0].m_data.num));
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_pcntl_wtermsig(&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("pcntl_wtermsig", 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_pcntl_signal_dispatch()
_ZN4HPHP23f_pcntl_signal_dispatchEv
+70
Ver Arquivo
@@ -16,6 +16,16 @@
*/
namespace HPHP {
/*
long HPHP::f_pcntl_alarm(int)
_ZN4HPHP13f_pcntl_alarmEi
(return value) => rax
seconds => rdi
*/
long fh_pcntl_alarm(int seconds) asm("_ZN4HPHP13f_pcntl_alarmEi");
/*
void HPHP::f_pcntl_exec(HPHP::String const&, HPHP::Array const&, HPHP::Array const&)
_ZN4HPHP12f_pcntl_execERKNS_6StringERKNS_5ArrayES5_
@@ -95,6 +105,66 @@ options => rdx
long fh_pcntl_waitpid(int pid, TypedValue* status, int options) asm("_ZN4HPHP15f_pcntl_waitpidEiRKNS_14VRefParamValueEi");
/*
long HPHP::f_pcntl_wexitstatus(int)
_ZN4HPHP19f_pcntl_wexitstatusEi
(return value) => rax
status => rdi
*/
long fh_pcntl_wexitstatus(int status) asm("_ZN4HPHP19f_pcntl_wexitstatusEi");
/*
bool HPHP::f_pcntl_wifexited(int)
_ZN4HPHP17f_pcntl_wifexitedEi
(return value) => rax
status => rdi
*/
bool fh_pcntl_wifexited(int status) asm("_ZN4HPHP17f_pcntl_wifexitedEi");
/*
bool HPHP::f_pcntl_wifsignaled(int)
_ZN4HPHP19f_pcntl_wifsignaledEi
(return value) => rax
status => rdi
*/
bool fh_pcntl_wifsignaled(int status) asm("_ZN4HPHP19f_pcntl_wifsignaledEi");
/*
bool HPHP::f_pcntl_wifstopped(int)
_ZN4HPHP18f_pcntl_wifstoppedEi
(return value) => rax
status => rdi
*/
bool fh_pcntl_wifstopped(int status) asm("_ZN4HPHP18f_pcntl_wifstoppedEi");
/*
long HPHP::f_pcntl_wstopsig(int)
_ZN4HPHP16f_pcntl_wstopsigEi
(return value) => rax
status => rdi
*/
long fh_pcntl_wstopsig(int status) asm("_ZN4HPHP16f_pcntl_wstopsigEi");
/*
long HPHP::f_pcntl_wtermsig(int)
_ZN4HPHP16f_pcntl_wtermsigEi
(return value) => rax
status => rdi
*/
long fh_pcntl_wtermsig(int status) asm("_ZN4HPHP16f_pcntl_wtermsigEi");
/*
bool HPHP::f_pcntl_signal_dispatch()
_ZN4HPHP23f_pcntl_signal_dispatchEv
+7 -11
Ver Arquivo
@@ -24,9 +24,7 @@
namespace HPHP {
///////////////////////////////////////////////////////////////////////////////
inline int64_t f_pcntl_alarm(int seconds) {
return alarm(seconds);
}
int64_t f_pcntl_alarm(int seconds);
void f_pcntl_exec(CStrRef path, CArrRef args = null_array, CArrRef envs = null_array);
int64_t f_pcntl_fork();
@@ -38,9 +36,7 @@ bool f_pcntl_signal(int signo, CVarRef handler, bool restart_syscalls = true);
int64_t f_pcntl_wait(VRefParam status, int options = 0);
int64_t f_pcntl_waitpid(int pid, VRefParam status, int options = 0);
inline int64_t f_pcntl_wexitstatus(int status) {
return WEXITSTATUS(status);
}
int64_t f_pcntl_wexitstatus(int status);
/**
* Process pending signals flagged earlier.
@@ -48,11 +44,11 @@ inline int64_t f_pcntl_wexitstatus(int status) {
bool f_pcntl_signal_dispatch();
// status querying
inline bool f_pcntl_wifexited(int status) { return WIFEXITED(status);}
inline bool f_pcntl_wifsignaled(int status) { return WIFSIGNALED(status);}
inline bool f_pcntl_wifstopped(int status) { return WIFSTOPPED(status);}
inline int64_t f_pcntl_wstopsig(int status) { return WSTOPSIG(status);}
inline int64_t f_pcntl_wtermsig(int status) { return WTERMSIG(status);}
bool f_pcntl_wifexited(int status);
bool f_pcntl_wifsignaled(int status);
bool f_pcntl_wifstopped(int status);
int64_t f_pcntl_wstopsig(int status);
int64_t f_pcntl_wtermsig(int status);
///////////////////////////////////////////////////////////////////////////////
+2
Ver Arquivo
@@ -122,6 +122,8 @@ String f_spl_object_hash(CObjRef obj) {
return String(buf, CopyString);
}
int64_t f_hphp_object_pointer(CObjRef obj) { return (int64_t)obj.get();}
Variant f_hphp_get_this() {
return g_vmContext->getThis();
}
+49
Ver Arquivo
@@ -110,6 +110,55 @@ TypedValue* fg_spl_object_hash(HPHP::VM::ActRec *ar) {
/*
long HPHP::f_hphp_object_pointer(HPHP::Object const&)
_ZN4HPHP21f_hphp_object_pointerERKNS_6ObjectE
(return value) => rax
obj => rdi
*/
long fh_hphp_object_pointer(Value* obj) asm("_ZN4HPHP21f_hphp_object_pointerERKNS_6ObjectE");
TypedValue * fg1_hphp_object_pointer(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_hphp_object_pointer(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfInt64;
tvCastToObjectInPlace(args-0);
rv->m_data.num = (int64_t)fh_hphp_object_pointer(&args[-0].m_data);
return rv;
}
TypedValue* fg_hphp_object_pointer(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 = KindOfInt64;
rv.m_data.num = (int64_t)fh_hphp_object_pointer(&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_hphp_object_pointer(&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("hphp_object_pointer", 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_hphp_get_this()
_ZN4HPHP15f_hphp_get_thisEv
+10
Ver Arquivo
@@ -37,6 +37,16 @@ obj => rsi
Value* fh_spl_object_hash(Value* _rv, Value* obj) asm("_ZN4HPHP17f_spl_object_hashERKNS_6ObjectE");
/*
long HPHP::f_hphp_object_pointer(HPHP::Object const&)
_ZN4HPHP21f_hphp_object_pointerERKNS_6ObjectE
(return value) => rax
obj => rdi
*/
long fh_hphp_object_pointer(Value* obj) asm("_ZN4HPHP21f_hphp_object_pointerERKNS_6ObjectE");
/*
HPHP::Variant HPHP::f_hphp_get_this()
_ZN4HPHP15f_hphp_get_thisEv
+1 -1
Ver Arquivo
@@ -27,7 +27,7 @@ namespace HPHP {
Array f_spl_classes();
String f_spl_object_hash(CObjRef obj);
inline int64_t f_hphp_object_pointer(CObjRef obj) { return (int64_t)obj.get();}
int64_t f_hphp_object_pointer(CObjRef obj);
Variant f_hphp_get_this();
Variant f_class_implements(CVarRef obj, bool autoload = true);
Variant f_class_parents(CVarRef obj, bool autoload = true);
+95
Ver Arquivo
@@ -50,6 +50,31 @@ StaticString StreamContext::s_class_name("StreamContext");
///////////////////////////////////////////////////////////////////////////////
Object f_stream_context_create(CArrRef options /* = null_array */,
CArrRef params /* = null_array */) {
return Object(NEWOBJ(StreamContext)(options, params));
}
Object f_stream_context_get_default(CArrRef options /* = null_array */) {
throw NotImplementedException(__func__);
}
Variant f_stream_context_get_options(CObjRef stream_or_context) {
throw NotImplementedException(__func__);
}
bool f_stream_context_set_option(CObjRef stream_or_context,
CVarRef wrapper,
CStrRef option /* = null_string */,
CVarRef value /* = null_variant */) {
throw NotImplementedException(__func__);
}
bool f_stream_context_set_param(CObjRef stream_or_context,
CArrRef params) {
throw NotImplementedException(__func__);
}
Variant f_stream_copy_to_stream(CObjRef source, CObjRef dest,
int maxlength /* = -1 */,
int offset /* = 0 */) {
@@ -88,6 +113,46 @@ Variant f_stream_copy_to_stream(CObjRef source, CObjRef dest,
return cbytes;
}
bool f_stream_encoding(CObjRef stream, CStrRef encoding /* = null_string */) {
throw NotSupportedException(__func__, "stream filter is not supported");
}
void f_stream_bucket_append(CObjRef brigade, CObjRef bucket) {
throw NotSupportedException(__func__, "stream bucket is not supported");
}
void f_stream_bucket_prepend(CObjRef brigade, CObjRef bucket) {
throw NotSupportedException(__func__, "stream bucket is not supported");
}
Object f_stream_bucket_make_writeable(CObjRef brigade) {
throw NotSupportedException(__func__, "stream bucket is not supported");
}
Object f_stream_bucket_new(CObjRef stream, CStrRef buffer) {
throw NotSupportedException(__func__, "stream bucket is not supported");
}
bool f_stream_filter_register(CStrRef filtername, CStrRef classname) {
throw NotSupportedException(__func__, "stream filter is not supported");
}
bool f_stream_filter_remove(CObjRef stream_filter) {
throw NotSupportedException(__func__, "stream filter is not supported");
}
Object f_stream_filter_append(CObjRef stream, CStrRef filtername,
int read_write /* = 0 */,
CVarRef params /* = null_variant */) {
throw NotSupportedException(__func__, "stream filter is not supported");
}
Object f_stream_filter_prepend(CObjRef stream, CStrRef filtername,
int read_write /* = 0 */,
CVarRef params /* = null_variant */) {
throw NotSupportedException(__func__, "stream filter is not supported");
}
Variant f_stream_get_contents(CObjRef handle, int maxlen /* = 0 */,
int offset /* = 0 */) {
if (maxlen < 0) {
@@ -118,12 +183,32 @@ Variant f_stream_get_contents(CObjRef handle, int maxlen /* = 0 */,
return ret;
}
Array f_stream_get_filters() {
throw NotSupportedException(__func__, "stream filter is not supported");
}
Variant f_stream_get_line(CObjRef handle, int length /* = 0 */,
CStrRef ending /* = null_string */) {
File *file = handle.getTyped<File>();
return file->readRecord(ending, length);
}
Variant f_stream_get_meta_data(CObjRef stream) {
File *f = stream.getTyped<File>(true, true);
if (f) return f->getMetaData();
return false;
}
Array f_stream_get_transports() {
return CREATE_VECTOR4("tcp", "udp", "unix", "udg");
}
String f_stream_resolve_include_path(CStrRef filename,
CObjRef context /* = null_object */) {
struct stat s;
return Eval::resolveVmInclude(filename.get(), "", &s);
}
Variant f_stream_select(VRefParam read, VRefParam write, VRefParam except,
CVarRef vtv_sec, int tv_usec /* = 0 */) {
return f_socket_select(ref(read), ref(write), ref(except), vtv_sec, tv_usec);
@@ -167,6 +252,10 @@ int64_t f_stream_set_write_buffer(CObjRef stream, int buffer) {
return -1;
}
int64_t f_set_file_buffer(CObjRef stream, int buffer) {
return f_stream_set_write_buffer(stream, buffer);
}
///////////////////////////////////////////////////////////////////////////////
// Wrappers
@@ -344,6 +433,12 @@ Variant f_stream_socket_client(CStrRef remote_socket,
return f_fsockopen(protocol + "://" + host, port, errnum, errstr, timeout);
}
Variant f_stream_socket_enable_crypto(CObjRef stream, bool enable,
int crypto_type /* = 0 */,
CObjRef session_stream /* = null_object */) {
throw NotSupportedException(__func__, "no crypto support on sockets");
}
Variant f_stream_socket_get_name(CObjRef handle, bool want_peer) {
Variant address, port;
bool ret;
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+229
Ver Arquivo
@@ -16,6 +16,64 @@
*/
namespace HPHP {
/*
HPHP::Object HPHP::f_stream_context_create(HPHP::Array const&, HPHP::Array const&)
_ZN4HPHP23f_stream_context_createERKNS_5ArrayES2_
(return value) => rax
_rv => rdi
options => rsi
params => rdx
*/
Value* fh_stream_context_create(Value* _rv, Value* options, Value* params) asm("_ZN4HPHP23f_stream_context_createERKNS_5ArrayES2_");
/*
HPHP::Object HPHP::f_stream_context_get_default(HPHP::Array const&)
_ZN4HPHP28f_stream_context_get_defaultERKNS_5ArrayE
(return value) => rax
_rv => rdi
options => rsi
*/
Value* fh_stream_context_get_default(Value* _rv, Value* options) asm("_ZN4HPHP28f_stream_context_get_defaultERKNS_5ArrayE");
/*
HPHP::Variant HPHP::f_stream_context_get_options(HPHP::Object const&)
_ZN4HPHP28f_stream_context_get_optionsERKNS_6ObjectE
(return value) => rax
_rv => rdi
stream_or_context => rsi
*/
TypedValue* fh_stream_context_get_options(TypedValue* _rv, Value* stream_or_context) asm("_ZN4HPHP28f_stream_context_get_optionsERKNS_6ObjectE");
/*
bool HPHP::f_stream_context_set_option(HPHP::Object const&, HPHP::Variant const&, HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP27f_stream_context_set_optionERKNS_6ObjectERKNS_7VariantERKNS_6StringES5_
(return value) => rax
stream_or_context => rdi
wrapper => rsi
option => rdx
value => rcx
*/
bool fh_stream_context_set_option(Value* stream_or_context, TypedValue* wrapper, Value* option, TypedValue* value) asm("_ZN4HPHP27f_stream_context_set_optionERKNS_6ObjectERKNS_7VariantERKNS_6StringES5_");
/*
bool HPHP::f_stream_context_set_param(HPHP::Object const&, HPHP::Array const&)
_ZN4HPHP26f_stream_context_set_paramERKNS_6ObjectERKNS_5ArrayE
(return value) => rax
stream_or_context => rdi
params => rsi
*/
bool fh_stream_context_set_param(Value* stream_or_context, Value* params) asm("_ZN4HPHP26f_stream_context_set_paramERKNS_6ObjectERKNS_5ArrayE");
/*
HPHP::Variant HPHP::f_stream_copy_to_stream(HPHP::Object const&, HPHP::Object const&, int, int)
_ZN4HPHP23f_stream_copy_to_streamERKNS_6ObjectES2_ii
@@ -30,6 +88,109 @@ offset => r8
TypedValue* fh_stream_copy_to_stream(TypedValue* _rv, Value* source, Value* dest, int maxlength, int offset) asm("_ZN4HPHP23f_stream_copy_to_streamERKNS_6ObjectES2_ii");
/*
bool HPHP::f_stream_encoding(HPHP::Object const&, HPHP::String const&)
_ZN4HPHP17f_stream_encodingERKNS_6ObjectERKNS_6StringE
(return value) => rax
stream => rdi
encoding => rsi
*/
bool fh_stream_encoding(Value* stream, Value* encoding) asm("_ZN4HPHP17f_stream_encodingERKNS_6ObjectERKNS_6StringE");
/*
void HPHP::f_stream_bucket_append(HPHP::Object const&, HPHP::Object const&)
_ZN4HPHP22f_stream_bucket_appendERKNS_6ObjectES2_
brigade => rdi
bucket => rsi
*/
void fh_stream_bucket_append(Value* brigade, Value* bucket) asm("_ZN4HPHP22f_stream_bucket_appendERKNS_6ObjectES2_");
/*
void HPHP::f_stream_bucket_prepend(HPHP::Object const&, HPHP::Object const&)
_ZN4HPHP23f_stream_bucket_prependERKNS_6ObjectES2_
brigade => rdi
bucket => rsi
*/
void fh_stream_bucket_prepend(Value* brigade, Value* bucket) asm("_ZN4HPHP23f_stream_bucket_prependERKNS_6ObjectES2_");
/*
HPHP::Object HPHP::f_stream_bucket_make_writeable(HPHP::Object const&)
_ZN4HPHP30f_stream_bucket_make_writeableERKNS_6ObjectE
(return value) => rax
_rv => rdi
brigade => rsi
*/
Value* fh_stream_bucket_make_writeable(Value* _rv, Value* brigade) asm("_ZN4HPHP30f_stream_bucket_make_writeableERKNS_6ObjectE");
/*
HPHP::Object HPHP::f_stream_bucket_new(HPHP::Object const&, HPHP::String const&)
_ZN4HPHP19f_stream_bucket_newERKNS_6ObjectERKNS_6StringE
(return value) => rax
_rv => rdi
stream => rsi
buffer => rdx
*/
Value* fh_stream_bucket_new(Value* _rv, Value* stream, Value* buffer) asm("_ZN4HPHP19f_stream_bucket_newERKNS_6ObjectERKNS_6StringE");
/*
bool HPHP::f_stream_filter_register(HPHP::String const&, HPHP::String const&)
_ZN4HPHP24f_stream_filter_registerERKNS_6StringES2_
(return value) => rax
filtername => rdi
classname => rsi
*/
bool fh_stream_filter_register(Value* filtername, Value* classname) asm("_ZN4HPHP24f_stream_filter_registerERKNS_6StringES2_");
/*
bool HPHP::f_stream_filter_remove(HPHP::Object const&)
_ZN4HPHP22f_stream_filter_removeERKNS_6ObjectE
(return value) => rax
stream_filter => rdi
*/
bool fh_stream_filter_remove(Value* stream_filter) asm("_ZN4HPHP22f_stream_filter_removeERKNS_6ObjectE");
/*
HPHP::Object HPHP::f_stream_filter_append(HPHP::Object const&, HPHP::String const&, int, HPHP::Variant const&)
_ZN4HPHP22f_stream_filter_appendERKNS_6ObjectERKNS_6StringEiRKNS_7VariantE
(return value) => rax
_rv => rdi
stream => rsi
filtername => rdx
read_write => rcx
params => r8
*/
Value* fh_stream_filter_append(Value* _rv, Value* stream, Value* filtername, int read_write, TypedValue* params) asm("_ZN4HPHP22f_stream_filter_appendERKNS_6ObjectERKNS_6StringEiRKNS_7VariantE");
/*
HPHP::Object HPHP::f_stream_filter_prepend(HPHP::Object const&, HPHP::String const&, int, HPHP::Variant const&)
_ZN4HPHP23f_stream_filter_prependERKNS_6ObjectERKNS_6StringEiRKNS_7VariantE
(return value) => rax
_rv => rdi
stream => rsi
filtername => rdx
read_write => rcx
params => r8
*/
Value* fh_stream_filter_prepend(Value* _rv, Value* stream, Value* filtername, int read_write, TypedValue* params) asm("_ZN4HPHP23f_stream_filter_prependERKNS_6ObjectERKNS_6StringEiRKNS_7VariantE");
/*
HPHP::Variant HPHP::f_stream_get_contents(HPHP::Object const&, int, int)
_ZN4HPHP21f_stream_get_contentsERKNS_6ObjectEii
@@ -43,6 +204,16 @@ offset => rcx
TypedValue* fh_stream_get_contents(TypedValue* _rv, Value* handle, int maxlen, int offset) asm("_ZN4HPHP21f_stream_get_contentsERKNS_6ObjectEii");
/*
HPHP::Array HPHP::f_stream_get_filters()
_ZN4HPHP20f_stream_get_filtersEv
(return value) => rax
_rv => rdi
*/
Value* fh_stream_get_filters(Value* _rv) asm("_ZN4HPHP20f_stream_get_filtersEv");
/*
HPHP::Variant HPHP::f_stream_get_line(HPHP::Object const&, int, HPHP::String const&)
_ZN4HPHP17f_stream_get_lineERKNS_6ObjectEiRKNS_6StringE
@@ -56,6 +227,27 @@ ending => rcx
TypedValue* fh_stream_get_line(TypedValue* _rv, Value* handle, int length, Value* ending) asm("_ZN4HPHP17f_stream_get_lineERKNS_6ObjectEiRKNS_6StringE");
/*
HPHP::Variant HPHP::f_stream_get_meta_data(HPHP::Object const&)
_ZN4HPHP22f_stream_get_meta_dataERKNS_6ObjectE
(return value) => rax
_rv => rdi
stream => rsi
*/
TypedValue* fh_stream_get_meta_data(TypedValue* _rv, Value* stream) asm("_ZN4HPHP22f_stream_get_meta_dataERKNS_6ObjectE");
/*
HPHP::Array HPHP::f_stream_get_transports()
_ZN4HPHP23f_stream_get_transportsEv
(return value) => rax
_rv => rdi
*/
Value* fh_stream_get_transports(Value* _rv) asm("_ZN4HPHP23f_stream_get_transportsEv");
/*
HPHP::Array HPHP::f_stream_get_wrappers()
_ZN4HPHP21f_stream_get_wrappersEv
@@ -108,6 +300,18 @@ protocol => rdi
bool fh_stream_wrapper_unregister(Value* protocol) asm("_ZN4HPHP27f_stream_wrapper_unregisterERKNS_6StringE");
/*
HPHP::String HPHP::f_stream_resolve_include_path(HPHP::String const&, HPHP::Object const&)
_ZN4HPHP29f_stream_resolve_include_pathERKNS_6StringERKNS_6ObjectE
(return value) => rax
_rv => rdi
filename => rsi
context => rdx
*/
Value* fh_stream_resolve_include_path(Value* _rv, Value* filename, Value* context) asm("_ZN4HPHP29f_stream_resolve_include_pathERKNS_6StringERKNS_6ObjectE");
/*
HPHP::Variant HPHP::f_stream_select(HPHP::VRefParamValue const&, HPHP::VRefParamValue const&, HPHP::VRefParamValue const&, HPHP::Variant const&, int)
_ZN4HPHP15f_stream_selectERKNS_14VRefParamValueES2_S2_RKNS_7VariantEi
@@ -157,6 +361,17 @@ buffer => rsi
long fh_stream_set_write_buffer(Value* stream, int buffer) asm("_ZN4HPHP25f_stream_set_write_bufferERKNS_6ObjectEi");
/*
long HPHP::f_set_file_buffer(HPHP::Object const&, int)
_ZN4HPHP17f_set_file_bufferERKNS_6ObjectEi
(return value) => rax
stream => rdi
buffer => rsi
*/
long fh_set_file_buffer(Value* stream, int buffer) asm("_ZN4HPHP17f_set_file_bufferERKNS_6ObjectEi");
/*
HPHP::Variant HPHP::f_stream_socket_accept(HPHP::Object const&, double, HPHP::VRefParamValue const&)
_ZN4HPHP22f_stream_socket_acceptERKNS_6ObjectEdRKNS_14VRefParamValueE
@@ -201,6 +416,20 @@ context => r9
TypedValue* fh_stream_socket_client(TypedValue* _rv, Value* remote_socket, TypedValue* errnum, TypedValue* errstr, double timeout, int flags, Value* context) asm("_ZN4HPHP22f_stream_socket_clientERKNS_6StringERKNS_14VRefParamValueES5_diRKNS_6ObjectE");
/*
HPHP::Variant HPHP::f_stream_socket_enable_crypto(HPHP::Object const&, bool, int, HPHP::Object const&)
_ZN4HPHP29f_stream_socket_enable_cryptoERKNS_6ObjectEbiS2_
(return value) => rax
_rv => rdi
stream => rsi
enable => rdx
crypto_type => rcx
session_stream => r8
*/
TypedValue* fh_stream_socket_enable_crypto(TypedValue* _rv, Value* stream, bool enable, int crypto_type, Value* session_stream) asm("_ZN4HPHP29f_stream_socket_enable_cryptoERKNS_6ObjectEbiS2_");
/*
HPHP::Variant HPHP::f_stream_socket_get_name(HPHP::Object const&, bool)
_ZN4HPHP24f_stream_socket_get_nameERKNS_6ObjectEb
+32 -75
Ver Arquivo
@@ -40,95 +40,59 @@ public:
Array m_params;
};
inline Object f_stream_context_create(CArrRef options = null_array,
CArrRef params = null_array) {
return Object(NEWOBJ(StreamContext)(options, params));
}
Object f_stream_context_create(CArrRef options = null_array,
CArrRef params = null_array);
inline Object f_stream_context_get_default(CArrRef options = null_array) {
throw NotImplementedException(__func__);
}
Object f_stream_context_get_default(CArrRef options = null_array);
inline Variant f_stream_context_get_options(CObjRef stream_or_context) {
throw NotImplementedException(__func__);
}
Variant f_stream_context_get_options(CObjRef stream_or_context);
inline bool f_stream_context_set_option(CObjRef stream_or_context,
CVarRef wrapper,
CStrRef option = null_string,
CVarRef value = null_variant) {
throw NotImplementedException(__func__);
}
bool f_stream_context_set_option(CObjRef stream_or_context,
CVarRef wrapper,
CStrRef option = null_string,
CVarRef value = null_variant);
inline bool f_stream_context_set_param(CObjRef stream_or_context,
CArrRef params) {
throw NotImplementedException(__func__);
}
bool f_stream_context_set_param(CObjRef stream_or_context,
CArrRef params);
///////////////////////////////////////////////////////////////////////////////
Variant f_stream_copy_to_stream(CObjRef source, CObjRef dest,
int maxlength = -1, int offset = 0);
inline bool f_stream_encoding(CObjRef stream, CStrRef encoding = null_string) {
throw NotSupportedException(__func__, "stream filter is not supported");
}
bool f_stream_encoding(CObjRef stream, CStrRef encoding = null_string);
inline void f_stream_bucket_append(CObjRef brigade, CObjRef bucket) {
throw NotSupportedException(__func__, "stream bucket is not supported");
}
void f_stream_bucket_append(CObjRef brigade, CObjRef bucket);
inline void f_stream_bucket_prepend(CObjRef brigade, CObjRef bucket) {
throw NotSupportedException(__func__, "stream bucket is not supported");
}
void f_stream_bucket_prepend(CObjRef brigade, CObjRef bucket);
inline Object f_stream_bucket_make_writeable(CObjRef brigade) {
throw NotSupportedException(__func__, "stream bucket is not supported");
}
Object f_stream_bucket_make_writeable(CObjRef brigade);
inline Object f_stream_bucket_new(CObjRef stream, CStrRef buffer) {
throw NotSupportedException(__func__, "stream bucket is not supported");
}
Object f_stream_bucket_new(CObjRef stream, CStrRef buffer);
inline bool f_stream_filter_register(CStrRef filtername, CStrRef classname) {
throw NotSupportedException(__func__, "stream filter is not supported");
}
bool f_stream_filter_register(CStrRef filtername, CStrRef classname);
inline bool f_stream_filter_remove(CObjRef stream_filter) {
throw NotSupportedException(__func__, "stream filter is not supported");
}
bool f_stream_filter_remove(CObjRef stream_filter);
inline Object f_stream_filter_append(CObjRef stream, CStrRef filtername,
int read_write = 0,
CVarRef params = null_variant) {
throw NotSupportedException(__func__, "stream filter is not supported");
}
Object f_stream_filter_append(CObjRef stream, CStrRef filtername,
int read_write = 0,
CVarRef params = null_variant);
inline Object f_stream_filter_prepend(CObjRef stream, CStrRef filtername,
int read_write = 0,
CVarRef params = null_variant) {
throw NotSupportedException(__func__, "stream filter is not supported");
}
Object f_stream_filter_prepend(CObjRef stream, CStrRef filtername,
int read_write = 0,
CVarRef params = null_variant);
Variant f_stream_get_contents(CObjRef handle, int maxlen = 0,
int offset = 0);
inline Array f_stream_get_filters() {
throw NotSupportedException(__func__, "stream filter is not supported");
}
Array f_stream_get_filters();
Variant f_stream_get_line(CObjRef handle, int length = 0,
CStrRef ending = null_string);
inline Variant f_stream_get_meta_data(CObjRef stream) {
File *f = stream.getTyped<File>(true, true);
if (f) return f->getMetaData();
return false;
}
Variant f_stream_get_meta_data(CObjRef stream);
inline Array f_stream_get_transports() {
return CREATE_VECTOR4("tcp", "udp", "unix", "udg");
}
Array f_stream_get_transports();
Array f_stream_get_wrappers();
bool f_stream_register_wrapper(CStrRef protocol, CStrRef classname);
@@ -136,11 +100,8 @@ bool f_stream_wrapper_register(CStrRef protocol, CStrRef classname);
bool f_stream_wrapper_restore(CStrRef protocol);
bool f_stream_wrapper_unregister(CStrRef protocol);
inline String f_stream_resolve_include_path(CStrRef filename,
CObjRef context = null_object) {
struct stat s;
return Eval::resolveVmInclude(filename.get(), "", &s);
}
String f_stream_resolve_include_path(CStrRef filename,
CObjRef context = null_object);
Variant f_stream_select(VRefParam read, VRefParam write, VRefParam except,
CVarRef vtv_sec, int tv_usec = 0);
@@ -151,9 +112,7 @@ bool f_stream_set_timeout(CObjRef stream, int seconds, int microseconds = 0);
int64_t f_stream_set_write_buffer(CObjRef stream, int buffer);
inline int64_t f_set_file_buffer(CObjRef stream, int buffer) {
return f_stream_set_write_buffer(stream, buffer);
}
int64_t f_set_file_buffer(CObjRef stream, int buffer);
///////////////////////////////////////////////////////////////////////////////
// stream sockets: ext_socket has better implementation of socket functions
@@ -169,11 +128,9 @@ Variant f_stream_socket_client(CStrRef remote_socket, VRefParam errnum = uninit_
VRefParam errstr = uninit_null(), double timeout = 0.0,
int flags = 0, CObjRef context = null_object);
inline Variant f_stream_socket_enable_crypto(CObjRef stream, bool enable,
int crypto_type = 0,
CObjRef session_stream = null_object) {
throw NotSupportedException(__func__, "no crypto support on sockets");
}
Variant f_stream_socket_enable_crypto(CObjRef stream, bool enable,
int crypto_type = 0,
CObjRef session_stream = null_object);
Variant f_stream_socket_get_name(CObjRef handle, bool want_peer);
+285
Ver Arquivo
@@ -35,6 +35,75 @@ namespace HPHP {
static Mutex s_mutex;
///////////////////////////////////////////////////////////////////////////////
String f_addcslashes(CStrRef str, CStrRef charlist) {
return StringUtil::CEncode(str, charlist);
}
String f_stripcslashes(CStrRef str) {
return StringUtil::CDecode(str);
}
String f_addslashes(CStrRef str) {
return StringUtil::SqlEncode(str);
}
String f_stripslashes(CStrRef str) {
return StringUtil::SqlDecode(str);
}
String f_bin2hex(CStrRef str) {
return StringUtil::HexEncode(str);
}
Variant f_hex2bin(CStrRef str) {
try {
return StringUtil::HexDecode(str);
} catch (...) {
raise_warning("hex2bin: malformed input");
return false;
}
}
String f_nl2br(CStrRef str) {
return str.replace("\n", "<br />\n");
}
String f_quotemeta(CStrRef str) {
return StringUtil::RegExEncode(str);
}
String f_str_shuffle(CStrRef str) {
return StringUtil::Shuffle(str);
}
String f_strrev(CStrRef str) {
return StringUtil::Reverse(str);
}
String f_strtolower(CStrRef str) {
return StringUtil::ToLower(str);
}
String f_strtoupper(CStrRef str) {
return StringUtil::ToUpper(str, StringUtil::ToUpperAll);
}
String f_ucfirst(CStrRef str) {
return StringUtil::ToUpper(str, StringUtil::ToUpperFirst);
}
String f_lcfirst(CStrRef str) {
return StringUtil::ToLower(str, StringUtil::ToLowerFirst);
}
String f_ucwords(CStrRef str) {
return StringUtil::ToUpper(str, StringUtil::ToUpperWords);
}
String f_strip_tags(CStrRef str, CStrRef allowable_tags /* = "" */) {
return StringUtil::StripHTMLTags(str, allowable_tags);
}
String f_trim(CStrRef str, CStrRef charlist /* = k_HPHP_TRIM_CHARLIST */) {
return StringUtil::Trim(str, StringUtil::TrimBoth, charlist);
}
String f_ltrim(CStrRef str, CStrRef charlist /* = k_HPHP_TRIM_CHARLIST */) {
return StringUtil::Trim(str, StringUtil::TrimLeft, charlist);
}
String f_rtrim(CStrRef str, CStrRef charlist /* = k_HPHP_TRIM_CHARLIST */) {
return StringUtil::Trim(str, StringUtil::TrimRight, charlist);
}
String f_chop(CStrRef str, CStrRef charlist /* = k_HPHP_TRIM_CHARLIST */) {
return StringUtil::Trim(str, StringUtil::TrimRight, charlist);
}
Variant f_explode(CStrRef delimiter, CStrRef str, int limit /* = 0x7FFFFFFF */) {
return StringUtil::Explode(str, delimiter, limit);
}
String f_implode(CVarRef arg1, CVarRef arg2 /* = null_variant */) {
Array items;
String delim;
@@ -51,6 +120,17 @@ String f_implode(CVarRef arg1, CVarRef arg2 /* = null_variant */) {
return StringUtil::Implode(items, delim);
}
String f_join(CVarRef glue, CVarRef pieces /* = null_variant */) {
return f_implode(glue, pieces);
}
Variant f_str_split(CStrRef str, int split_length /* = 1 */) {
return StringUtil::Split(str, split_length);
}
Variant f_chunk_split(CStrRef body, int chunklen /* = 76 */,
CStrRef end /* = "\r\n" */) {
return StringUtil::ChunkSplit(body, chunklen, end);
}
class TokenizerData : public RequestEventHandler {
public:
String str;
@@ -250,9 +330,53 @@ Variant f_substr_replace(CVarRef str, CVarRef replacement, CVarRef start,
return ret;
}
Variant f_substr(CStrRef str, int start, int length /* = 0x7FFFFFFF */) {
String ret = str.substr(start, length, true);
if (ret.isNull()) return false;
return ret;
}
String f_str_pad(CStrRef input, int pad_length, CStrRef pad_string /* = " " */,
int pad_type /* = k_STR_PAD_RIGHT */) {
return StringUtil::Pad(input, pad_length, pad_string,
(StringUtil::PadType)pad_type);
}
String f_str_repeat(CStrRef input, int multiplier) {
return StringUtil::Repeat(input, multiplier);
}
Variant f_wordwrap(CStrRef str, int width /* = 75 */, CStrRef wordbreak /* = "\n" */,
bool cut /* = false */) {
String ret = StringUtil::WordWrap(str, width, wordbreak, cut);
if (ret.isNull()) return false;
return ret;
}
///////////////////////////////////////////////////////////////////////////////
Variant f_printf(int _argc, CStrRef format, CArrRef _argv /* = null_array */) {
int len = 0; char *output = string_printf(format.data(), format.size(),
_argv, &len);
if (output == NULL) return false;
echo(output); free(output);
return len;
}
Variant f_vprintf(CStrRef format, CArrRef args) {
int len = 0; char *output = string_printf(format.data(), format.size(),
args, &len);
if (output == NULL) return false;
echo(output); free(output);
return len;
}
Variant f_sprintf(int _argc, CStrRef format, CArrRef _argv /* = null_array */) {
char *output = string_printf(format.data(), format.size(), _argv, NULL);
if (output == NULL) return false;
return String(output, AttachString);
}
Variant f_vsprintf(CStrRef format, CArrRef args) {
char *output = string_printf(format.data(), format.size(), args, NULL);
if (output == NULL) return false;
return String(output, AttachString);
}
Variant f_sscanf(int _argc, CStrRef str, CStrRef format, CArrRef _argv /* = null_array */) {
Variant ret;
int result;
@@ -271,6 +395,19 @@ Variant f_sscanf(int _argc, CStrRef str, CStrRef format, CArrRef _argv /* = null
return ret;
}
String f_chr(int64_t ascii) {
char buf[2]; buf[0] = ascii; buf[1] = 0;
return String(buf, 1, CopyString);
}
int64_t f_ord(CStrRef str) {
return (int64_t)(unsigned char)(*((const char *)str));
}
Variant f_money_format(CStrRef format, double number) {
String s = StringUtil::MoneyFormat(format, number);
if (s.isNull()) return false;
return s;
}
String f_number_format(double number, int decimals /* = 0 */,
CStrRef dec_point /* = "." */,
CStrRef thousands_sep /* = "," */) {
@@ -295,6 +432,32 @@ String f_number_format(double number, int decimals /* = 0 */,
return String(ret, AttachString);
}
int64_t f_strcmp(CStrRef str1, CStrRef str2) {
return string_strcmp(str1.data(), str1.size(), str2.data(), str2.size());
}
int64_t f_strncmp(CStrRef str1, CStrRef str2, int len) {
return string_strncmp(str1.data(), str1.size(), str2.data(), str2.size(),
len);
}
int64_t f_strnatcmp(CStrRef str1, CStrRef str2) {
return string_natural_cmp(str1.data(), str1.size(), str2.data(), str2.size(),
false);
}
int64_t f_strcasecmp(CStrRef str1, CStrRef str2) {
return bstrcasecmp(str1.data(), str1.size(), str2.data(), str2.size());
}
int64_t f_strncasecmp(CStrRef str1, CStrRef str2, int len) {
return string_strncasecmp(str1.data(), str1.size(), str2.data(), str2.size(),
len);
}
int64_t f_strnatcasecmp(CStrRef str1, CStrRef str2) {
return string_natural_cmp(str1.data(), str1.size(), str2.data(), str2.size(),
true);
}
int64_t f_strcoll(CStrRef str1, CStrRef str2) {
return strcoll(str1, str2);
}
Variant f_substr_compare(CStrRef main_str, CStrRef str, int offset,
int length /* = INT_MAX */,
bool case_insensitivity /* = false */) {
@@ -361,6 +524,10 @@ Variant f_strpbrk(CStrRef haystack, CStrRef char_list) {
return false;
}
Variant f_strchr(CStrRef haystack, CVarRef needle) {
return f_strstr(haystack, needle);
}
Variant f_strpos(CStrRef haystack, CVarRef needle, int offset /* = 0 */) {
if (offset < 0 || offset > haystack.size()) {
raise_warning("Offset not contained in string");
@@ -493,6 +660,26 @@ Variant f_strcspn(CStrRef str1, CStrRef str2, int start /* = 0 */,
return length;
}
Variant f_strlen(CVarRef vstr) {
Variant::TypedValueAccessor tva = vstr.getTypedAccessor();
switch (Variant::GetAccessorType(tva)) {
case KindOfString:
case KindOfStaticString:
return Variant(Variant::GetStringData(tva)->size());
case KindOfArray:
raise_warning("strlen() expects parameter 1 to be string, array given");
return uninit_null();
case KindOfObject:
if (!f_method_exists(vstr, "__toString")) {
raise_warning("strlen() expects parameter 1 to be string, object given");
return uninit_null();
} //else fallback to default
default:
CStrRef str = vstr.toString();
return Variant(str.size());
}
}
Variant f_count_chars(CStrRef str, int64_t mode /* = 0 */) {
int chars[256];
memset((void*)chars, 0, sizeof(chars));
@@ -629,6 +816,100 @@ Variant f_str_word_count(CStrRef str, int64_t format /* = 0 */,
return ret.isNull() ? Array::Create() : ret;
}
int64_t f_levenshtein(CStrRef str1, CStrRef str2, int cost_ins /* = 1 */,
int cost_rep /* = 1 */, int cost_del /* = 1 */) {
return string_levenshtein(str1, str1.size(), str2, str2.size(),
cost_ins, cost_rep, cost_del);
}
int64_t f_similar_text(CStrRef first, CStrRef second,
VRefParam percent /* = uninit_null() */) {
float p;
int ret = string_similar_text(first, first.size(), second, second.size(),
&p);
percent = p;
return ret;
}
Variant f_soundex(CStrRef str) {
if (str.empty()) return false;
return String(string_soundex(str), AttachString);
}
Variant f_metaphone(CStrRef str, int phones /* = 0 */) {
char *ret = string_metaphone(str, str.size(), 0, 1);
if (ret) {
return String(ret, AttachString);
}
return false;
}
String f_html_entity_decode(CStrRef str, int quote_style /* = k_ENT_COMPAT */,
CStrRef charset /* = "ISO-8859-1" */) {
const char *scharset = charset.data();
if (!*scharset) scharset = "UTF-8";
return StringUtil::HtmlDecode(str, (StringUtil::QuoteStyle)quote_style,
scharset, true);
}
String f_htmlentities(CStrRef str, int quote_style /* = k_ENT_COMPAT */,
CStrRef charset /* = "ISO-8859-1" */,
bool double_encode /* = true */) {
// dropping double_encode parameters and see runtime/base/zend_html.h
const char *scharset = charset.data();
if (!*scharset) scharset = "UTF-8";
return StringUtil::HtmlEncode(str, (StringUtil::QuoteStyle)quote_style,
scharset, true);
}
String f_htmlspecialchars_decode(CStrRef str,
int quote_style /* = k_ENT_COMPAT */) {
return StringUtil::HtmlDecode(str, (StringUtil::QuoteStyle)quote_style,
"UTF-8", false);
}
String f_htmlspecialchars(CStrRef str, int quote_style /* = k_ENT_COMPAT */,
CStrRef charset /* = "ISO-8859-1" */,
bool double_encode /* = true */) {
// dropping double_encode parameters and see runtime/base/zend_html.h
const char *scharset = charset.data();
if (!*scharset) scharset = "UTF-8";
return StringUtil::HtmlEncode(str, (StringUtil::QuoteStyle)quote_style,
scharset, false);
}
String f_fb_htmlspecialchars(CStrRef str, int quote_style /* = k_ENT_COMPAT */,
CStrRef charset /* = "ISO-8859-1" */,
CArrRef extra /* = Array() */) {
return StringUtil::HtmlEncodeExtra(str, (StringUtil::QuoteStyle)quote_style,
charset.data(), false, extra);
}
String f_quoted_printable_encode(CStrRef str) {
return StringUtil::QuotedPrintableEncode(str);
}
String f_quoted_printable_decode(CStrRef str) {
return StringUtil::QuotedPrintableDecode(str);
}
Variant f_convert_uudecode(CStrRef data) {
String ret = StringUtil::UUDecode(data);
if (ret.isNull()) {
return false; // bad format
}
return ret;
}
Variant f_convert_uuencode(CStrRef data) {
if (data.empty()) return false;
return StringUtil::UUEncode(data);
}
String f_str_rot13(CStrRef str) {
return StringUtil::ROT13(str);
}
int64_t f_crc32(CStrRef str) {
return (uint32_t)StringUtil::CRC32(str);
}
String f_crypt(CStrRef str, CStrRef salt /* = "" */) {
return StringUtil::Crypt(str, salt);
}
String f_md5(CStrRef str, bool raw_output /* = false */) {
return StringUtil::MD5(str, raw_output);
}
String f_sha1(CStrRef str, bool raw_output /* = false */) {
return StringUtil::SHA1(str, raw_output);
}
Variant f_strtr(CStrRef str, CVarRef from, CVarRef to /* = null_variant */) {
if (str.empty()) {
return str;
@@ -781,6 +1062,10 @@ Array f_localeconv() {
return ret;
}
String f_nl_langinfo(int item) {
return nl_langinfo(item);
}
String f_convert_cyr_string(CStrRef str, CStrRef from, CStrRef to) {
char ch_from = ((const char *)from)[0];
char ch_to = ((const char *)to)[0];
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+742
Ver Arquivo
@@ -16,6 +16,245 @@
*/
namespace HPHP {
/*
HPHP::String HPHP::f_addcslashes(HPHP::String const&, HPHP::String const&)
_ZN4HPHP13f_addcslashesERKNS_6StringES2_
(return value) => rax
_rv => rdi
str => rsi
charlist => rdx
*/
Value* fh_addcslashes(Value* _rv, Value* str, Value* charlist) asm("_ZN4HPHP13f_addcslashesERKNS_6StringES2_");
/*
HPHP::String HPHP::f_stripcslashes(HPHP::String const&)
_ZN4HPHP15f_stripcslashesERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_stripcslashes(Value* _rv, Value* str) asm("_ZN4HPHP15f_stripcslashesERKNS_6StringE");
/*
HPHP::String HPHP::f_addslashes(HPHP::String const&)
_ZN4HPHP12f_addslashesERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_addslashes(Value* _rv, Value* str) asm("_ZN4HPHP12f_addslashesERKNS_6StringE");
/*
HPHP::String HPHP::f_stripslashes(HPHP::String const&)
_ZN4HPHP14f_stripslashesERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_stripslashes(Value* _rv, Value* str) asm("_ZN4HPHP14f_stripslashesERKNS_6StringE");
/*
HPHP::String HPHP::f_bin2hex(HPHP::String const&)
_ZN4HPHP9f_bin2hexERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_bin2hex(Value* _rv, Value* str) asm("_ZN4HPHP9f_bin2hexERKNS_6StringE");
/*
HPHP::Variant HPHP::f_hex2bin(HPHP::String const&)
_ZN4HPHP9f_hex2binERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
TypedValue* fh_hex2bin(TypedValue* _rv, Value* str) asm("_ZN4HPHP9f_hex2binERKNS_6StringE");
/*
HPHP::String HPHP::f_nl2br(HPHP::String const&)
_ZN4HPHP7f_nl2brERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_nl2br(Value* _rv, Value* str) asm("_ZN4HPHP7f_nl2brERKNS_6StringE");
/*
HPHP::String HPHP::f_quotemeta(HPHP::String const&)
_ZN4HPHP11f_quotemetaERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_quotemeta(Value* _rv, Value* str) asm("_ZN4HPHP11f_quotemetaERKNS_6StringE");
/*
HPHP::String HPHP::f_str_shuffle(HPHP::String const&)
_ZN4HPHP13f_str_shuffleERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_str_shuffle(Value* _rv, Value* str) asm("_ZN4HPHP13f_str_shuffleERKNS_6StringE");
/*
HPHP::String HPHP::f_strrev(HPHP::String const&)
_ZN4HPHP8f_strrevERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_strrev(Value* _rv, Value* str) asm("_ZN4HPHP8f_strrevERKNS_6StringE");
/*
HPHP::String HPHP::f_strtolower(HPHP::String const&)
_ZN4HPHP12f_strtolowerERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_strtolower(Value* _rv, Value* str) asm("_ZN4HPHP12f_strtolowerERKNS_6StringE");
/*
HPHP::String HPHP::f_strtoupper(HPHP::String const&)
_ZN4HPHP12f_strtoupperERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_strtoupper(Value* _rv, Value* str) asm("_ZN4HPHP12f_strtoupperERKNS_6StringE");
/*
HPHP::String HPHP::f_ucfirst(HPHP::String const&)
_ZN4HPHP9f_ucfirstERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_ucfirst(Value* _rv, Value* str) asm("_ZN4HPHP9f_ucfirstERKNS_6StringE");
/*
HPHP::String HPHP::f_lcfirst(HPHP::String const&)
_ZN4HPHP9f_lcfirstERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_lcfirst(Value* _rv, Value* str) asm("_ZN4HPHP9f_lcfirstERKNS_6StringE");
/*
HPHP::String HPHP::f_ucwords(HPHP::String const&)
_ZN4HPHP9f_ucwordsERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_ucwords(Value* _rv, Value* str) asm("_ZN4HPHP9f_ucwordsERKNS_6StringE");
/*
HPHP::String HPHP::f_strip_tags(HPHP::String const&, HPHP::String const&)
_ZN4HPHP12f_strip_tagsERKNS_6StringES2_
(return value) => rax
_rv => rdi
str => rsi
allowable_tags => rdx
*/
Value* fh_strip_tags(Value* _rv, Value* str, Value* allowable_tags) asm("_ZN4HPHP12f_strip_tagsERKNS_6StringES2_");
/*
HPHP::String HPHP::f_trim(HPHP::String const&, HPHP::String const&)
_ZN4HPHP6f_trimERKNS_6StringES2_
(return value) => rax
_rv => rdi
str => rsi
charlist => rdx
*/
Value* fh_trim(Value* _rv, Value* str, Value* charlist) asm("_ZN4HPHP6f_trimERKNS_6StringES2_");
/*
HPHP::String HPHP::f_ltrim(HPHP::String const&, HPHP::String const&)
_ZN4HPHP7f_ltrimERKNS_6StringES2_
(return value) => rax
_rv => rdi
str => rsi
charlist => rdx
*/
Value* fh_ltrim(Value* _rv, Value* str, Value* charlist) asm("_ZN4HPHP7f_ltrimERKNS_6StringES2_");
/*
HPHP::String HPHP::f_rtrim(HPHP::String const&, HPHP::String const&)
_ZN4HPHP7f_rtrimERKNS_6StringES2_
(return value) => rax
_rv => rdi
str => rsi
charlist => rdx
*/
Value* fh_rtrim(Value* _rv, Value* str, Value* charlist) asm("_ZN4HPHP7f_rtrimERKNS_6StringES2_");
/*
HPHP::String HPHP::f_chop(HPHP::String const&, HPHP::String const&)
_ZN4HPHP6f_chopERKNS_6StringES2_
(return value) => rax
_rv => rdi
str => rsi
charlist => rdx
*/
Value* fh_chop(Value* _rv, Value* str, Value* charlist) asm("_ZN4HPHP6f_chopERKNS_6StringES2_");
/*
HPHP::Variant HPHP::f_explode(HPHP::String const&, HPHP::String const&, int)
_ZN4HPHP9f_explodeERKNS_6StringES2_i
(return value) => rax
_rv => rdi
delimiter => rsi
str => rdx
limit => rcx
*/
TypedValue* fh_explode(TypedValue* _rv, Value* delimiter, Value* str, int limit) asm("_ZN4HPHP9f_explodeERKNS_6StringES2_i");
/*
HPHP::String HPHP::f_implode(HPHP::Variant const&, HPHP::Variant const&)
_ZN4HPHP9f_implodeERKNS_7VariantES2_
@@ -28,6 +267,43 @@ arg2 => rdx
Value* fh_implode(Value* _rv, TypedValue* arg1, TypedValue* arg2) asm("_ZN4HPHP9f_implodeERKNS_7VariantES2_");
/*
HPHP::String HPHP::f_join(HPHP::Variant const&, HPHP::Variant const&)
_ZN4HPHP6f_joinERKNS_7VariantES2_
(return value) => rax
_rv => rdi
glue => rsi
pieces => rdx
*/
Value* fh_join(Value* _rv, TypedValue* glue, TypedValue* pieces) asm("_ZN4HPHP6f_joinERKNS_7VariantES2_");
/*
HPHP::Variant HPHP::f_str_split(HPHP::String const&, int)
_ZN4HPHP11f_str_splitERKNS_6StringEi
(return value) => rax
_rv => rdi
str => rsi
split_length => rdx
*/
TypedValue* fh_str_split(TypedValue* _rv, Value* str, int split_length) asm("_ZN4HPHP11f_str_splitERKNS_6StringEi");
/*
HPHP::Variant HPHP::f_chunk_split(HPHP::String const&, int, HPHP::String const&)
_ZN4HPHP13f_chunk_splitERKNS_6StringEiS2_
(return value) => rax
_rv => rdi
body => rsi
chunklen => rdx
end => rcx
*/
TypedValue* fh_chunk_split(TypedValue* _rv, Value* body, int chunklen, Value* end) asm("_ZN4HPHP13f_chunk_splitERKNS_6StringEiS2_");
/*
HPHP::Variant HPHP::f_strtok(HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP8f_strtokERKNS_6StringERKNS_7VariantE
@@ -82,6 +358,227 @@ length => r8
TypedValue* fh_substr_replace(TypedValue* _rv, TypedValue* str, TypedValue* replacement, TypedValue* start, TypedValue* length) asm("_ZN4HPHP16f_substr_replaceERKNS_7VariantES2_S2_S2_");
/*
HPHP::Variant HPHP::f_substr(HPHP::String const&, int, int)
_ZN4HPHP8f_substrERKNS_6StringEii
(return value) => rax
_rv => rdi
str => rsi
start => rdx
length => rcx
*/
TypedValue* fh_substr(TypedValue* _rv, Value* str, int start, int length) asm("_ZN4HPHP8f_substrERKNS_6StringEii");
/*
HPHP::String HPHP::f_str_pad(HPHP::String const&, int, HPHP::String const&, int)
_ZN4HPHP9f_str_padERKNS_6StringEiS2_i
(return value) => rax
_rv => rdi
input => rsi
pad_length => rdx
pad_string => rcx
pad_type => r8
*/
Value* fh_str_pad(Value* _rv, Value* input, int pad_length, Value* pad_string, int pad_type) asm("_ZN4HPHP9f_str_padERKNS_6StringEiS2_i");
/*
HPHP::String HPHP::f_str_repeat(HPHP::String const&, int)
_ZN4HPHP12f_str_repeatERKNS_6StringEi
(return value) => rax
_rv => rdi
input => rsi
multiplier => rdx
*/
Value* fh_str_repeat(Value* _rv, Value* input, int multiplier) asm("_ZN4HPHP12f_str_repeatERKNS_6StringEi");
/*
HPHP::Variant HPHP::f_wordwrap(HPHP::String const&, int, HPHP::String const&, bool)
_ZN4HPHP10f_wordwrapERKNS_6StringEiS2_b
(return value) => rax
_rv => rdi
str => rsi
width => rdx
wordbreak => rcx
cut => r8
*/
TypedValue* fh_wordwrap(TypedValue* _rv, Value* str, int width, Value* wordbreak, bool cut) asm("_ZN4HPHP10f_wordwrapERKNS_6StringEiS2_b");
/*
HPHP::String HPHP::f_html_entity_decode(HPHP::String const&, int, HPHP::String const&)
_ZN4HPHP20f_html_entity_decodeERKNS_6StringEiS2_
(return value) => rax
_rv => rdi
str => rsi
quote_style => rdx
charset => rcx
*/
Value* fh_html_entity_decode(Value* _rv, Value* str, int quote_style, Value* charset) asm("_ZN4HPHP20f_html_entity_decodeERKNS_6StringEiS2_");
/*
HPHP::String HPHP::f_htmlentities(HPHP::String const&, int, HPHP::String const&, bool)
_ZN4HPHP14f_htmlentitiesERKNS_6StringEiS2_b
(return value) => rax
_rv => rdi
str => rsi
quote_style => rdx
charset => rcx
double_encode => r8
*/
Value* fh_htmlentities(Value* _rv, Value* str, int quote_style, Value* charset, bool double_encode) asm("_ZN4HPHP14f_htmlentitiesERKNS_6StringEiS2_b");
/*
HPHP::String HPHP::f_htmlspecialchars_decode(HPHP::String const&, int)
_ZN4HPHP25f_htmlspecialchars_decodeERKNS_6StringEi
(return value) => rax
_rv => rdi
str => rsi
quote_style => rdx
*/
Value* fh_htmlspecialchars_decode(Value* _rv, Value* str, int quote_style) asm("_ZN4HPHP25f_htmlspecialchars_decodeERKNS_6StringEi");
/*
HPHP::String HPHP::f_htmlspecialchars(HPHP::String const&, int, HPHP::String const&, bool)
_ZN4HPHP18f_htmlspecialcharsERKNS_6StringEiS2_b
(return value) => rax
_rv => rdi
str => rsi
quote_style => rdx
charset => rcx
double_encode => r8
*/
Value* fh_htmlspecialchars(Value* _rv, Value* str, int quote_style, Value* charset, bool double_encode) asm("_ZN4HPHP18f_htmlspecialcharsERKNS_6StringEiS2_b");
/*
HPHP::String HPHP::f_fb_htmlspecialchars(HPHP::String const&, int, HPHP::String const&, HPHP::Array const&)
_ZN4HPHP21f_fb_htmlspecialcharsERKNS_6StringEiS2_RKNS_5ArrayE
(return value) => rax
_rv => rdi
str => rsi
quote_style => rdx
charset => rcx
extra => r8
*/
Value* fh_fb_htmlspecialchars(Value* _rv, Value* str, int quote_style, Value* charset, Value* extra) asm("_ZN4HPHP21f_fb_htmlspecialcharsERKNS_6StringEiS2_RKNS_5ArrayE");
/*
HPHP::String HPHP::f_quoted_printable_encode(HPHP::String const&)
_ZN4HPHP25f_quoted_printable_encodeERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_quoted_printable_encode(Value* _rv, Value* str) asm("_ZN4HPHP25f_quoted_printable_encodeERKNS_6StringE");
/*
HPHP::String HPHP::f_quoted_printable_decode(HPHP::String const&)
_ZN4HPHP25f_quoted_printable_decodeERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_quoted_printable_decode(Value* _rv, Value* str) asm("_ZN4HPHP25f_quoted_printable_decodeERKNS_6StringE");
/*
HPHP::Variant HPHP::f_convert_uudecode(HPHP::String const&)
_ZN4HPHP18f_convert_uudecodeERKNS_6StringE
(return value) => rax
_rv => rdi
data => rsi
*/
TypedValue* fh_convert_uudecode(TypedValue* _rv, Value* data) asm("_ZN4HPHP18f_convert_uudecodeERKNS_6StringE");
/*
HPHP::Variant HPHP::f_convert_uuencode(HPHP::String const&)
_ZN4HPHP18f_convert_uuencodeERKNS_6StringE
(return value) => rax
_rv => rdi
data => rsi
*/
TypedValue* fh_convert_uuencode(TypedValue* _rv, Value* data) asm("_ZN4HPHP18f_convert_uuencodeERKNS_6StringE");
/*
HPHP::String HPHP::f_str_rot13(HPHP::String const&)
_ZN4HPHP11f_str_rot13ERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_str_rot13(Value* _rv, Value* str) asm("_ZN4HPHP11f_str_rot13ERKNS_6StringE");
/*
long HPHP::f_crc32(HPHP::String const&)
_ZN4HPHP7f_crc32ERKNS_6StringE
(return value) => rax
str => rdi
*/
long fh_crc32(Value* str) asm("_ZN4HPHP7f_crc32ERKNS_6StringE");
/*
HPHP::String HPHP::f_crypt(HPHP::String const&, HPHP::String const&)
_ZN4HPHP7f_cryptERKNS_6StringES2_
(return value) => rax
_rv => rdi
str => rsi
salt => rdx
*/
Value* fh_crypt(Value* _rv, Value* str, Value* salt) asm("_ZN4HPHP7f_cryptERKNS_6StringES2_");
/*
HPHP::String HPHP::f_md5(HPHP::String const&, bool)
_ZN4HPHP5f_md5ERKNS_6StringEb
(return value) => rax
_rv => rdi
str => rsi
raw_output => rdx
*/
Value* fh_md5(Value* _rv, Value* str, bool raw_output) asm("_ZN4HPHP5f_md5ERKNS_6StringEb");
/*
HPHP::String HPHP::f_sha1(HPHP::String const&, bool)
_ZN4HPHP6f_sha1ERKNS_6StringEb
(return value) => rax
_rv => rdi
str => rsi
raw_output => rdx
*/
Value* fh_sha1(Value* _rv, Value* str, bool raw_output) asm("_ZN4HPHP6f_sha1ERKNS_6StringEb");
/*
HPHP::Variant HPHP::f_strtr(HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&)
_ZN4HPHP7f_strtrERKNS_6StringERKNS_7VariantES5_
@@ -168,6 +665,67 @@ _rv => rdi
Value* fh_localeconv(Value* _rv) asm("_ZN4HPHP12f_localeconvEv");
/*
HPHP::String HPHP::f_nl_langinfo(int)
_ZN4HPHP13f_nl_langinfoEi
(return value) => rax
_rv => rdi
item => rsi
*/
Value* fh_nl_langinfo(Value* _rv, int item) asm("_ZN4HPHP13f_nl_langinfoEi");
/*
HPHP::Variant HPHP::f_printf(int, HPHP::String const&, HPHP::Array const&)
_ZN4HPHP8f_printfEiRKNS_6StringERKNS_5ArrayE
(return value) => rax
_rv => rdi
_argc => rsi
format => rdx
_argv => rcx
*/
TypedValue* fh_printf(TypedValue* _rv, int64_t _argc, Value* format, Value* _argv) asm("_ZN4HPHP8f_printfEiRKNS_6StringERKNS_5ArrayE");
/*
HPHP::Variant HPHP::f_vprintf(HPHP::String const&, HPHP::Array const&)
_ZN4HPHP9f_vprintfERKNS_6StringERKNS_5ArrayE
(return value) => rax
_rv => rdi
format => rsi
args => rdx
*/
TypedValue* fh_vprintf(TypedValue* _rv, Value* format, Value* args) asm("_ZN4HPHP9f_vprintfERKNS_6StringERKNS_5ArrayE");
/*
HPHP::Variant HPHP::f_sprintf(int, HPHP::String const&, HPHP::Array const&)
_ZN4HPHP9f_sprintfEiRKNS_6StringERKNS_5ArrayE
(return value) => rax
_rv => rdi
_argc => rsi
format => rdx
_argv => rcx
*/
TypedValue* fh_sprintf(TypedValue* _rv, int64_t _argc, Value* format, Value* _argv) asm("_ZN4HPHP9f_sprintfEiRKNS_6StringERKNS_5ArrayE");
/*
HPHP::Variant HPHP::f_vsprintf(HPHP::String const&, HPHP::Array const&)
_ZN4HPHP10f_vsprintfERKNS_6StringERKNS_5ArrayE
(return value) => rax
_rv => rdi
format => rsi
args => rdx
*/
TypedValue* fh_vsprintf(TypedValue* _rv, Value* format, Value* args) asm("_ZN4HPHP10f_vsprintfERKNS_6StringERKNS_5ArrayE");
/*
HPHP::Variant HPHP::f_sscanf(int, HPHP::String const&, HPHP::String const&, HPHP::Array const&)
_ZN4HPHP8f_sscanfEiRKNS_6StringES2_RKNS_5ArrayE
@@ -182,6 +740,39 @@ _argv => r8
TypedValue* fh_sscanf(TypedValue* _rv, int64_t _argc, Value* str, Value* format, Value* _argv) asm("_ZN4HPHP8f_sscanfEiRKNS_6StringES2_RKNS_5ArrayE");
/*
HPHP::String HPHP::f_chr(long)
_ZN4HPHP5f_chrEl
(return value) => rax
_rv => rdi
ascii => rsi
*/
Value* fh_chr(Value* _rv, long ascii) asm("_ZN4HPHP5f_chrEl");
/*
long HPHP::f_ord(HPHP::String const&)
_ZN4HPHP5f_ordERKNS_6StringE
(return value) => rax
str => rdi
*/
long fh_ord(Value* str) asm("_ZN4HPHP5f_ordERKNS_6StringE");
/*
HPHP::Variant HPHP::f_money_format(HPHP::String const&, double)
_ZN4HPHP14f_money_formatERKNS_6StringEd
(return value) => rax
_rv => rdi
format => rsi
number => xmm0
*/
TypedValue* fh_money_format(TypedValue* _rv, Value* format, double number) asm("_ZN4HPHP14f_money_formatERKNS_6StringEd");
/*
HPHP::String HPHP::f_number_format(double, int, HPHP::String const&, HPHP::String const&)
_ZN4HPHP15f_number_formatEdiRKNS_6StringES2_
@@ -196,6 +787,85 @@ thousands_sep => rcx
Value* fh_number_format(Value* _rv, double number, int decimals, Value* dec_point, Value* thousands_sep) asm("_ZN4HPHP15f_number_formatEdiRKNS_6StringES2_");
/*
long HPHP::f_strcmp(HPHP::String const&, HPHP::String const&)
_ZN4HPHP8f_strcmpERKNS_6StringES2_
(return value) => rax
str1 => rdi
str2 => rsi
*/
long fh_strcmp(Value* str1, Value* str2) asm("_ZN4HPHP8f_strcmpERKNS_6StringES2_");
/*
long HPHP::f_strncmp(HPHP::String const&, HPHP::String const&, int)
_ZN4HPHP9f_strncmpERKNS_6StringES2_i
(return value) => rax
str1 => rdi
str2 => rsi
len => rdx
*/
long fh_strncmp(Value* str1, Value* str2, int len) asm("_ZN4HPHP9f_strncmpERKNS_6StringES2_i");
/*
long HPHP::f_strnatcmp(HPHP::String const&, HPHP::String const&)
_ZN4HPHP11f_strnatcmpERKNS_6StringES2_
(return value) => rax
str1 => rdi
str2 => rsi
*/
long fh_strnatcmp(Value* str1, Value* str2) asm("_ZN4HPHP11f_strnatcmpERKNS_6StringES2_");
/*
long HPHP::f_strcasecmp(HPHP::String const&, HPHP::String const&)
_ZN4HPHP12f_strcasecmpERKNS_6StringES2_
(return value) => rax
str1 => rdi
str2 => rsi
*/
long fh_strcasecmp(Value* str1, Value* str2) asm("_ZN4HPHP12f_strcasecmpERKNS_6StringES2_");
/*
long HPHP::f_strncasecmp(HPHP::String const&, HPHP::String const&, int)
_ZN4HPHP13f_strncasecmpERKNS_6StringES2_i
(return value) => rax
str1 => rdi
str2 => rsi
len => rdx
*/
long fh_strncasecmp(Value* str1, Value* str2, int len) asm("_ZN4HPHP13f_strncasecmpERKNS_6StringES2_i");
/*
long HPHP::f_strnatcasecmp(HPHP::String const&, HPHP::String const&)
_ZN4HPHP15f_strnatcasecmpERKNS_6StringES2_
(return value) => rax
str1 => rdi
str2 => rsi
*/
long fh_strnatcasecmp(Value* str1, Value* str2) asm("_ZN4HPHP15f_strnatcasecmpERKNS_6StringES2_");
/*
long HPHP::f_strcoll(HPHP::String const&, HPHP::String const&)
_ZN4HPHP9f_strcollERKNS_6StringES2_
(return value) => rax
str1 => rdi
str2 => rsi
*/
long fh_strcoll(Value* str1, Value* str2) asm("_ZN4HPHP9f_strcollERKNS_6StringES2_");
/*
HPHP::Variant HPHP::f_substr_compare(HPHP::String const&, HPHP::String const&, int, int, bool)
_ZN4HPHP16f_substr_compareERKNS_6StringES2_iib
@@ -211,6 +881,18 @@ case_insensitivity => r9
TypedValue* fh_substr_compare(TypedValue* _rv, Value* main_str, Value* str, int offset, int length, bool case_insensitivity) asm("_ZN4HPHP16f_substr_compareERKNS_6StringES2_iib");
/*
HPHP::Variant HPHP::f_strchr(HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP8f_strchrERKNS_6StringERKNS_7VariantE
(return value) => rax
_rv => rdi
haystack => rsi
needle => rdx
*/
TypedValue* fh_strchr(TypedValue* _rv, Value* haystack, TypedValue* needle) asm("_ZN4HPHP8f_strchrERKNS_6StringERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_strrchr(HPHP::String const&, HPHP::Variant const&)
_ZN4HPHP9f_strrchrERKNS_6StringERKNS_7VariantE
@@ -354,6 +1036,17 @@ length => r8
TypedValue* fh_strcspn(TypedValue* _rv, Value* str1, Value* str2, int start, int length) asm("_ZN4HPHP9f_strcspnERKNS_6StringES2_ii");
/*
HPHP::Variant HPHP::f_strlen(HPHP::Variant const&)
_ZN4HPHP8f_strlenERKNS_7VariantE
(return value) => rax
_rv => rdi
str => rsi
*/
TypedValue* fh_strlen(TypedValue* _rv, TypedValue* str) asm("_ZN4HPHP8f_strlenERKNS_7VariantE");
/*
HPHP::Variant HPHP::f_count_chars(HPHP::String const&, long)
_ZN4HPHP13f_count_charsERKNS_6StringEl
@@ -379,6 +1072,55 @@ charlist => rcx
TypedValue* fh_str_word_count(TypedValue* _rv, Value* str, long format, Value* charlist) asm("_ZN4HPHP16f_str_word_countERKNS_6StringElS2_");
/*
long HPHP::f_levenshtein(HPHP::String const&, HPHP::String const&, int, int, int)
_ZN4HPHP13f_levenshteinERKNS_6StringES2_iii
(return value) => rax
str1 => rdi
str2 => rsi
cost_ins => rdx
cost_rep => rcx
cost_del => r8
*/
long fh_levenshtein(Value* str1, Value* str2, int cost_ins, int cost_rep, int cost_del) asm("_ZN4HPHP13f_levenshteinERKNS_6StringES2_iii");
/*
long HPHP::f_similar_text(HPHP::String const&, HPHP::String const&, HPHP::VRefParamValue const&)
_ZN4HPHP14f_similar_textERKNS_6StringES2_RKNS_14VRefParamValueE
(return value) => rax
first => rdi
second => rsi
percent => rdx
*/
long fh_similar_text(Value* first, Value* second, TypedValue* percent) asm("_ZN4HPHP14f_similar_textERKNS_6StringES2_RKNS_14VRefParamValueE");
/*
HPHP::Variant HPHP::f_soundex(HPHP::String const&)
_ZN4HPHP9f_soundexERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
TypedValue* fh_soundex(TypedValue* _rv, Value* str) asm("_ZN4HPHP9f_soundexERKNS_6StringE");
/*
HPHP::Variant HPHP::f_metaphone(HPHP::String const&, int)
_ZN4HPHP11f_metaphoneERKNS_6StringEi
(return value) => rax
_rv => rdi
str => rsi
phones => rdx
*/
TypedValue* fh_metaphone(TypedValue* _rv, Value* str, int phones) asm("_ZN4HPHP11f_metaphoneERKNS_6StringEi");
/*
void HPHP::f_parse_str(HPHP::String const&, HPHP::VRefParamValue const&)
_ZN4HPHP11f_parse_strERKNS_6StringERKNS_14VRefParamValueE
+74 -273
Ver Arquivo
@@ -30,87 +30,34 @@ namespace HPHP {
///////////////////////////////////////////////////////////////////////////////
// transformations and manipulations
inline String f_addcslashes(CStrRef str, CStrRef charlist) {
return StringUtil::CEncode(str, charlist);
}
inline String f_stripcslashes(CStrRef str) {
return StringUtil::CDecode(str);
}
inline String f_addslashes(CStrRef str) {
return StringUtil::SqlEncode(str);
}
inline String f_stripslashes(CStrRef str) {
return StringUtil::SqlDecode(str);
}
inline String f_bin2hex(CStrRef str) {
return StringUtil::HexEncode(str);
}
inline Variant f_hex2bin(CStrRef str) {
try {
return StringUtil::HexDecode(str);
} catch (...) {
raise_warning("hex2bin: malformed input");
return false;
}
}
inline String f_nl2br(CStrRef str) {
return str.replace("\n", "<br />\n");
}
inline String f_quotemeta(CStrRef str) {
return StringUtil::RegExEncode(str);
}
inline String f_str_shuffle(CStrRef str) {
return StringUtil::Shuffle(str);
}
inline String f_strrev(CStrRef str) {
return StringUtil::Reverse(str);
}
inline String f_strtolower(CStrRef str) {
return StringUtil::ToLower(str);
}
inline String f_strtoupper(CStrRef str) {
return StringUtil::ToUpper(str, StringUtil::ToUpperAll);
}
inline String f_ucfirst(CStrRef str) {
return StringUtil::ToUpper(str, StringUtil::ToUpperFirst);
}
inline String f_lcfirst(CStrRef str) {
return StringUtil::ToLower(str, StringUtil::ToLowerFirst);
}
inline String f_ucwords(CStrRef str) {
return StringUtil::ToUpper(str, StringUtil::ToUpperWords);
}
inline String f_strip_tags(CStrRef str, CStrRef allowable_tags = "") {
return StringUtil::StripHTMLTags(str, allowable_tags);
}
inline String f_trim(CStrRef str, CStrRef charlist = k_HPHP_TRIM_CHARLIST) {
return StringUtil::Trim(str, StringUtil::TrimBoth, charlist);
}
inline String f_ltrim(CStrRef str, CStrRef charlist = k_HPHP_TRIM_CHARLIST) {
return StringUtil::Trim(str, StringUtil::TrimLeft, charlist);
}
inline String f_rtrim(CStrRef str, CStrRef charlist = k_HPHP_TRIM_CHARLIST) {
return StringUtil::Trim(str, StringUtil::TrimRight, charlist);
}
inline String f_chop(CStrRef str, CStrRef charlist = k_HPHP_TRIM_CHARLIST) {
return StringUtil::Trim(str, StringUtil::TrimRight, charlist);
}
inline Variant f_explode(CStrRef delimiter, CStrRef str, int limit = 0x7FFFFFFF) {
return StringUtil::Explode(str, delimiter, limit);
}
String f_addcslashes(CStrRef str, CStrRef charlist);
String f_stripcslashes(CStrRef str);
String f_addslashes(CStrRef str);
String f_stripslashes(CStrRef str);
String f_bin2hex(CStrRef str);
Variant f_hex2bin(CStrRef str);
String f_nl2br(CStrRef str);
String f_quotemeta(CStrRef str);
String f_str_shuffle(CStrRef str);
String f_strrev(CStrRef str);
String f_strtolower(CStrRef str);
String f_strtoupper(CStrRef str);
String f_ucfirst(CStrRef str);
String f_lcfirst(CStrRef str);
String f_ucwords(CStrRef str);
String f_strip_tags(CStrRef str, CStrRef allowable_tags = "");
String f_trim(CStrRef str, CStrRef charlist = k_HPHP_TRIM_CHARLIST);
String f_ltrim(CStrRef str, CStrRef charlist = k_HPHP_TRIM_CHARLIST);
String f_rtrim(CStrRef str, CStrRef charlist = k_HPHP_TRIM_CHARLIST);
String f_chop(CStrRef str, CStrRef charlist = k_HPHP_TRIM_CHARLIST);
Variant f_explode(CStrRef delimiter, CStrRef str, int limit = 0x7FFFFFFF);
String f_implode(CVarRef arg1, CVarRef arg2 = null_variant);
inline String f_join(CVarRef glue, CVarRef pieces = null_variant) {
return f_implode(glue, pieces);
}
inline Variant f_str_split(CStrRef str, int split_length = 1) {
return StringUtil::Split(str, split_length);
}
inline Variant f_chunk_split(CStrRef body, int chunklen = 76,
CStrRef end = "\r\n") {
return StringUtil::ChunkSplit(body, chunklen, end);
}
String f_join(CVarRef glue, CVarRef pieces = null_variant);
Variant f_str_split(CStrRef str, int split_length = 1);
Variant f_chunk_split(CStrRef body, int chunklen = 76,
CStrRef end = "\r\n");
Variant f_strtok(CStrRef str, CVarRef token = null_variant);
@@ -121,97 +68,38 @@ Variant f_str_ireplace(CVarRef search, CVarRef replace, CVarRef subject,
Variant f_substr_replace(CVarRef str, CVarRef replacement, CVarRef start,
CVarRef length = 0x7FFFFFFF);
inline Variant f_substr(CStrRef str, int start, int length = 0x7FFFFFFF) {
String ret = str.substr(start, length, true);
if (ret.isNull()) return false;
return ret;
}
inline String f_str_pad(CStrRef input, int pad_length, CStrRef pad_string = " ",
int pad_type = k_STR_PAD_RIGHT) {
return StringUtil::Pad(input, pad_length, pad_string,
(StringUtil::PadType)pad_type);
}
inline String f_str_repeat(CStrRef input, int multiplier) {
return StringUtil::Repeat(input, multiplier);
}
inline Variant f_wordwrap(CStrRef str, int width = 75, CStrRef wordbreak = "\n",
bool cut = false) {
String ret = StringUtil::WordWrap(str, width, wordbreak, cut);
if (ret.isNull()) return false;
return ret;
}
Variant f_substr(CStrRef str, int start, int length = 0x7FFFFFFF);
String f_str_pad(CStrRef input, int pad_length, CStrRef pad_string = " ",
int pad_type = k_STR_PAD_RIGHT);
String f_str_repeat(CStrRef input, int multiplier);
Variant f_wordwrap(CStrRef str, int width = 75, CStrRef wordbreak = "\n",
bool cut = false);
///////////////////////////////////////////////////////////////////////////////
// encoding/decoding
inline String f_html_entity_decode(CStrRef str, int quote_style = k_ENT_COMPAT,
CStrRef charset = "ISO-8859-1") {
const char *scharset = charset.data();
if (!*scharset) scharset = "UTF-8";
return StringUtil::HtmlDecode(str, (StringUtil::QuoteStyle)quote_style,
scharset, true);
}
inline String f_htmlentities(CStrRef str, int quote_style = k_ENT_COMPAT,
String f_html_entity_decode(CStrRef str, int quote_style = k_ENT_COMPAT,
CStrRef charset = "ISO-8859-1");
String f_htmlentities(CStrRef str, int quote_style = k_ENT_COMPAT,
CStrRef charset = "ISO-8859-1",
bool double_encode = true);
String f_htmlspecialchars_decode(CStrRef str,
int quote_style = k_ENT_COMPAT);
String f_htmlspecialchars(CStrRef str, int quote_style = k_ENT_COMPAT,
CStrRef charset = "ISO-8859-1",
bool double_encode = true);
String f_fb_htmlspecialchars(CStrRef str, int quote_style = k_ENT_COMPAT,
CStrRef charset = "ISO-8859-1",
bool double_encode = true) {
// dropping double_encode parameters and see runtime/base/zend_html.h
const char *scharset = charset.data();
if (!*scharset) scharset = "UTF-8";
return StringUtil::HtmlEncode(str, (StringUtil::QuoteStyle)quote_style,
scharset, true);
}
inline String f_htmlspecialchars_decode(CStrRef str,
int quote_style = k_ENT_COMPAT) {
return StringUtil::HtmlDecode(str, (StringUtil::QuoteStyle)quote_style,
"UTF-8", false);
}
inline String f_htmlspecialchars(CStrRef str, int quote_style = k_ENT_COMPAT,
CStrRef charset = "ISO-8859-1",
bool double_encode = true) {
// dropping double_encode parameters and see runtime/base/zend_html.h
const char *scharset = charset.data();
if (!*scharset) scharset = "UTF-8";
return StringUtil::HtmlEncode(str, (StringUtil::QuoteStyle)quote_style,
scharset, false);
}
inline String f_fb_htmlspecialchars(CStrRef str, int quote_style = k_ENT_COMPAT,
CStrRef charset = "ISO-8859-1",
CArrRef extra = Array()) {
return StringUtil::HtmlEncodeExtra(str, (StringUtil::QuoteStyle)quote_style,
charset.data(), false, extra);
}
inline String f_quoted_printable_encode(CStrRef str) {
return StringUtil::QuotedPrintableEncode(str);
}
inline String f_quoted_printable_decode(CStrRef str) {
return StringUtil::QuotedPrintableDecode(str);
}
inline Variant f_convert_uudecode(CStrRef data) {
String ret = StringUtil::UUDecode(data);
if (ret.isNull()) {
return false; // bad format
}
return ret;
}
inline Variant f_convert_uuencode(CStrRef data) {
if (data.empty()) return false;
return StringUtil::UUEncode(data);
}
inline String f_str_rot13(CStrRef str) {
return StringUtil::ROT13(str);
}
inline int64_t f_crc32(CStrRef str) {
return (uint32_t)StringUtil::CRC32(str);
}
inline String f_crypt(CStrRef str, CStrRef salt = "") {
return StringUtil::Crypt(str, salt);
}
inline String f_md5(CStrRef str, bool raw_output = false) {
return StringUtil::MD5(str, raw_output);
}
inline String f_sha1(CStrRef str, bool raw_output = false) {
return StringUtil::SHA1(str, raw_output);
}
CArrRef extra = Array());
String f_quoted_printable_encode(CStrRef str);
String f_quoted_printable_decode(CStrRef str);
Variant f_convert_uudecode(CStrRef data);
Variant f_convert_uuencode(CStrRef data);
String f_str_rot13(CStrRef str);
int64_t f_crc32(CStrRef str);
String f_crypt(CStrRef str, CStrRef salt = "");
String f_md5(CStrRef str, bool raw_output = false);
String f_sha1(CStrRef str, bool raw_output = false);
Variant f_strtr(CStrRef str, CVarRef from, CVarRef to = null_variant);
String f_convert_cyr_string(CStrRef str, CStrRef from, CStrRef to);
@@ -226,83 +114,34 @@ String f_hebrevc(CStrRef hebrew_text, int max_chars_per_line = 0);
Variant f_setlocale(int _argc, int category, CVarRef locale, CArrRef _argv = null_array);
Array f_localeconv();
inline String f_nl_langinfo(int item) {
return nl_langinfo(item);
}
String f_nl_langinfo(int item);
///////////////////////////////////////////////////////////////////////////////
// input/output
inline Variant f_printf(int _argc, CStrRef format, CArrRef _argv = null_array) {
int len = 0; char *output = string_printf(format.data(), format.size(),
_argv, &len);
if (output == NULL) return false;
echo(output); free(output);
return len;
}
inline Variant f_vprintf(CStrRef format, CArrRef args) {
int len = 0; char *output = string_printf(format.data(), format.size(),
args, &len);
if (output == NULL) return false;
echo(output); free(output);
return len;
}
inline Variant f_sprintf(int _argc, CStrRef format, CArrRef _argv = null_array) {
char *output = string_printf(format.data(), format.size(), _argv, NULL);
if (output == NULL) return false;
return String(output, AttachString);
}
inline Variant f_vsprintf(CStrRef format, CArrRef args) {
char *output = string_printf(format.data(), format.size(), args, NULL);
if (output == NULL) return false;
return String(output, AttachString);
}
Variant f_printf(int _argc, CStrRef format, CArrRef _argv = null_array);
Variant f_vprintf(CStrRef format, CArrRef args);
Variant f_sprintf(int _argc, CStrRef format, CArrRef _argv = null_array);
Variant f_vsprintf(CStrRef format, CArrRef args);
Variant f_sscanf(int _argc, CStrRef str, CStrRef format, CArrRef _argv = null_array);
inline String f_chr(int64_t ascii) {
char buf[2]; buf[0] = ascii; buf[1] = 0;
return String(buf, 1, CopyString);
}
inline int64_t f_ord(CStrRef str) {
return (int64_t)(unsigned char)(*((const char *)str));
}
inline Variant f_money_format(CStrRef format, double number) {
String s = StringUtil::MoneyFormat(format, number);
if (s.isNull()) return false;
return s;
}
String f_chr(int64_t ascii);
int64_t f_ord(CStrRef str);
Variant f_money_format(CStrRef format, double number);
String f_number_format(double number, int decimals = 0, CStrRef dec_point = ".",
CStrRef thousands_sep = ",");
///////////////////////////////////////////////////////////////////////////////
// analysis
inline int64_t f_strcmp(CStrRef str1, CStrRef str2) {
return string_strcmp(str1.data(), str1.size(), str2.data(), str2.size());
}
inline int64_t f_strncmp(CStrRef str1, CStrRef str2, int len) {
return string_strncmp(str1.data(), str1.size(), str2.data(), str2.size(),
len);
}
inline int64_t f_strnatcmp(CStrRef str1, CStrRef str2) {
return string_natural_cmp(str1.data(), str1.size(), str2.data(), str2.size(),
false);
}
inline int64_t f_strcasecmp(CStrRef str1, CStrRef str2) {
return bstrcasecmp(str1.data(), str1.size(), str2.data(), str2.size());
}
inline int64_t f_strncasecmp(CStrRef str1, CStrRef str2, int len) {
return string_strncasecmp(str1.data(), str1.size(), str2.data(), str2.size(),
len);
}
inline int64_t f_strnatcasecmp(CStrRef str1, CStrRef str2) {
return string_natural_cmp(str1.data(), str1.size(), str2.data(), str2.size(),
true);
}
inline int64_t f_strcoll(CStrRef str1, CStrRef str2) {
return strcoll(str1, str2);
}
int64_t f_strcmp(CStrRef str1, CStrRef str2);
int64_t f_strncmp(CStrRef str1, CStrRef str2, int len);
int64_t f_strnatcmp(CStrRef str1, CStrRef str2);
int64_t f_strcasecmp(CStrRef str1, CStrRef str2);
int64_t f_strncasecmp(CStrRef str1, CStrRef str2, int len);
int64_t f_strnatcasecmp(CStrRef str1, CStrRef str2);
int64_t f_strcoll(CStrRef str1, CStrRef str2);
Variant f_substr_compare(CStrRef main_str, CStrRef str, int offset,
int length = INT_MAX, bool case_insensitivity = false);
@@ -312,9 +151,7 @@ Variant f_strstr(CStrRef haystack, CVarRef needle, bool before_needle = false);
Variant f_stristr(CStrRef haystack, CVarRef needle);
Variant f_strpbrk(CStrRef haystack, CStrRef char_list);
inline Variant f_strchr(CStrRef haystack, CVarRef needle) {
return f_strstr(haystack, needle);
}
Variant f_strchr(CStrRef haystack, CVarRef needle);
Variant f_strpos(CStrRef haystack, CVarRef needle, int offset = 0);
Variant f_stripos(CStrRef haystack, CVarRef needle, int offset = 0);
@@ -328,53 +165,17 @@ Variant f_strspn(CStrRef str1, CStrRef str2, int start = 0,
Variant f_strcspn(CStrRef str1, CStrRef str2, int start = 0,
int length = 0x7FFFFFFF);
inline Variant f_strlen(CVarRef vstr) {
Variant::TypedValueAccessor tva = vstr.getTypedAccessor();
switch (Variant::GetAccessorType(tva)) {
case KindOfString:
case KindOfStaticString:
return Variant(Variant::GetStringData(tva)->size());
case KindOfArray:
raise_warning("strlen() expects parameter 1 to be string, array given");
return uninit_null();
case KindOfObject:
if (!f_method_exists(vstr, "__toString")) {
raise_warning("strlen() expects parameter 1 to be string, object given");
return uninit_null();
} //else fallback to default
default:
CStrRef str = vstr.toString();
return Variant(str.size());
}
}
Variant f_strlen(CVarRef vstr);
Variant f_count_chars(CStrRef str, int64_t mode = 0);
Variant f_str_word_count(CStrRef str, int64_t format = 0, CStrRef charlist = "");
inline int64_t f_levenshtein(CStrRef str1, CStrRef str2, int cost_ins = 1,
int cost_rep = 1, int cost_del = 1) {
return string_levenshtein(str1, str1.size(), str2, str2.size(),
cost_ins, cost_rep, cost_del);
}
inline int64_t f_similar_text(CStrRef first, CStrRef second, VRefParam percent = uninit_null()) {
float p;
int ret = string_similar_text(first, first.size(), second, second.size(),
&p);
percent = p;
return ret;
}
inline Variant f_soundex(CStrRef str) {
if (str.empty()) return false;
return String(string_soundex(str), AttachString);
}
inline Variant f_metaphone(CStrRef str, int phones = 0) {
char *ret = string_metaphone(str, str.size(), 0, 1);
if (ret) {
return String(ret, AttachString);
}
return false;
}
int64_t f_levenshtein(CStrRef str1, CStrRef str2, int cost_ins = 1,
int cost_rep = 1, int cost_del = 1);
int64_t f_similar_text(CStrRef first, CStrRef second, VRefParam percent = uninit_null());
Variant f_soundex(CStrRef str);
Variant f_metaphone(CStrRef str, int phones = 0);
///////////////////////////////////////////////////////////////////////////////
// special
+16
Ver Arquivo
@@ -259,5 +259,21 @@ Variant f_parse_url(CStrRef url, int component /* = -1 */) {
return ret;
}
String f_rawurldecode(CStrRef str) {
return StringUtil::UrlDecode(str, false);
}
String f_rawurlencode(CStrRef str) {
return StringUtil::UrlEncode(str, false);
}
String f_urldecode(CStrRef str) {
return StringUtil::UrlDecode(str, true);
}
String f_urlencode(CStrRef str) {
return StringUtil::UrlEncode(str, true);
}
///////////////////////////////////////////////////////////////////////////////
}
+208
Ver Arquivo
@@ -385,6 +385,214 @@ TypedValue* fg_parse_url(HPHP::VM::ActRec *ar) {
/*
HPHP::String HPHP::f_rawurldecode(HPHP::String const&)
_ZN4HPHP14f_rawurldecodeERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_rawurldecode(Value* _rv, Value* str) asm("_ZN4HPHP14f_rawurldecodeERKNS_6StringE");
TypedValue * fg1_rawurldecode(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_rawurldecode(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfString;
tvCastToStringInPlace(args-0);
fh_rawurldecode((&rv->m_data), &args[-0].m_data);
if (rv->m_data.num == 0LL) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_rawurldecode(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_rawurldecode((&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_rawurldecode(&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("rawurldecode", 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::String HPHP::f_rawurlencode(HPHP::String const&)
_ZN4HPHP14f_rawurlencodeERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_rawurlencode(Value* _rv, Value* str) asm("_ZN4HPHP14f_rawurlencodeERKNS_6StringE");
TypedValue * fg1_rawurlencode(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_rawurlencode(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfString;
tvCastToStringInPlace(args-0);
fh_rawurlencode((&rv->m_data), &args[-0].m_data);
if (rv->m_data.num == 0LL) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_rawurlencode(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_rawurlencode((&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_rawurlencode(&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("rawurlencode", 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::String HPHP::f_urldecode(HPHP::String const&)
_ZN4HPHP11f_urldecodeERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_urldecode(Value* _rv, Value* str) asm("_ZN4HPHP11f_urldecodeERKNS_6StringE");
TypedValue * fg1_urldecode(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_urldecode(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfString;
tvCastToStringInPlace(args-0);
fh_urldecode((&rv->m_data), &args[-0].m_data);
if (rv->m_data.num == 0LL) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_urldecode(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_urldecode((&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_urldecode(&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("urldecode", 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::String HPHP::f_urlencode(HPHP::String const&)
_ZN4HPHP11f_urlencodeERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_urlencode(Value* _rv, Value* str) asm("_ZN4HPHP11f_urlencodeERKNS_6StringE");
TypedValue * fg1_urlencode(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_urlencode(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfString;
tvCastToStringInPlace(args-0);
fh_urlencode((&rv->m_data), &args[-0].m_data);
if (rv->m_data.num == 0LL) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_urlencode(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_urlencode((&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_urlencode(&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("urlencode", 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
+44
Ver Arquivo
@@ -88,6 +88,50 @@ component => rdx
TypedValue* fh_parse_url(TypedValue* _rv, Value* url, int component) asm("_ZN4HPHP11f_parse_urlERKNS_6StringEi");
/*
HPHP::String HPHP::f_rawurldecode(HPHP::String const&)
_ZN4HPHP14f_rawurldecodeERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_rawurldecode(Value* _rv, Value* str) asm("_ZN4HPHP14f_rawurldecodeERKNS_6StringE");
/*
HPHP::String HPHP::f_rawurlencode(HPHP::String const&)
_ZN4HPHP14f_rawurlencodeERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_rawurlencode(Value* _rv, Value* str) asm("_ZN4HPHP14f_rawurlencodeERKNS_6StringE");
/*
HPHP::String HPHP::f_urldecode(HPHP::String const&)
_ZN4HPHP11f_urldecodeERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_urldecode(Value* _rv, Value* str) asm("_ZN4HPHP11f_urldecodeERKNS_6StringE");
/*
HPHP::String HPHP::f_urlencode(HPHP::String const&)
_ZN4HPHP11f_urlencodeERKNS_6StringE
(return value) => rax
_rv => rdi
str => rsi
*/
Value* fh_urlencode(Value* _rv, Value* str) asm("_ZN4HPHP11f_urlencodeERKNS_6StringE");
} // !HPHP
+4 -12
Ver Arquivo
@@ -34,21 +34,13 @@ Variant f_http_build_query(CVarRef formdata,
CStrRef arg_separator = null_string);
Variant f_parse_url(CStrRef url, int component = -1);
inline String f_rawurldecode(CStrRef str) {
return StringUtil::UrlDecode(str, false);
}
String f_rawurldecode(CStrRef str);
inline String f_rawurlencode(CStrRef str) {
return StringUtil::UrlEncode(str, false);
}
String f_rawurlencode(CStrRef str);
inline String f_urldecode(CStrRef str) {
return StringUtil::UrlDecode(str, true);
}
String f_urldecode(CStrRef str);
inline String f_urlencode(CStrRef str) {
return StringUtil::UrlEncode(str, true);
}
String f_urlencode(CStrRef str);
///////////////////////////////////////////////////////////////////////////////
}
+5
Ver Arquivo
@@ -49,6 +49,11 @@ String f_get_resource_type(CObjRef handle) {
return "";
}
int64_t f_intval(CVarRef v, int64_t base /* = 10 */) { return v.toInt64(base);}
double f_doubleval(CVarRef v) { return v.toDouble();}
double f_floatval(CVarRef v) { return v.toDouble();}
String f_strval(CVarRef v) { return v.toString();}
bool f_settype(VRefParam var, CStrRef type) {
if (type == "boolean") var = var.toBoolean();
else if (type == "bool" ) var = var.toBoolean();
+151
Ver Arquivo
@@ -144,6 +144,157 @@ TypedValue* fg_get_resource_type(HPHP::VM::ActRec *ar) {
/*
long HPHP::f_intval(HPHP::Variant const&, long)
_ZN4HPHP8f_intvalERKNS_7VariantEl
(return value) => rax
v => rdi
base => rsi
*/
long fh_intval(TypedValue* v, long base) asm("_ZN4HPHP8f_intvalERKNS_7VariantEl");
TypedValue * fg1_intval(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_intval(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
rv->m_type = KindOfInt64;
tvCastToInt64InPlace(args-1);
rv->m_data.num = (int64_t)fh_intval((args-0), (count > 1) ? (long)(args[-1].m_data.num) : (long)(10));
return rv;
}
TypedValue* fg_intval(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)) {
rv.m_type = KindOfInt64;
rv.m_data.num = (int64_t)fh_intval((args-0), (count > 1) ? (long)(args[-1].m_data.num) : (long)(10));
frame_free_locals_no_this_inl(ar, 2);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
fg1_intval(&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("intval", 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;
}
/*
double HPHP::f_doubleval(HPHP::Variant const&)
_ZN4HPHP11f_doublevalERKNS_7VariantE
(return value) => xmm0
v => rdi
*/
double fh_doubleval(TypedValue* v) asm("_ZN4HPHP11f_doublevalERKNS_7VariantE");
TypedValue* fg_doubleval(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
rv.m_type = KindOfDouble;
rv.m_data.dbl = fh_doubleval((args-0));
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_wrong_arguments_nr("doubleval", 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;
}
/*
double HPHP::f_floatval(HPHP::Variant const&)
_ZN4HPHP10f_floatvalERKNS_7VariantE
(return value) => xmm0
v => rdi
*/
double fh_floatval(TypedValue* v) asm("_ZN4HPHP10f_floatvalERKNS_7VariantE");
TypedValue* fg_floatval(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
rv.m_type = KindOfDouble;
rv.m_data.dbl = fh_floatval((args-0));
frame_free_locals_no_this_inl(ar, 1);
memcpy(&ar->m_r, &rv, sizeof(TypedValue));
return &ar->m_r;
} else {
throw_wrong_arguments_nr("floatval", 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::String HPHP::f_strval(HPHP::Variant const&)
_ZN4HPHP8f_strvalERKNS_7VariantE
(return value) => rax
_rv => rdi
v => rsi
*/
Value* fh_strval(Value* _rv, TypedValue* v) asm("_ZN4HPHP8f_strvalERKNS_7VariantE");
TypedValue* fg_strval(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 1LL) {
rv.m_type = KindOfString;
fh_strval((&rv.m_data), (args-0));
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 {
throw_wrong_arguments_nr("strval", 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_settype(HPHP::VRefParamValue const&, HPHP::String const&)
_ZN4HPHP9f_settypeERKNS_14VRefParamValueERKNS_6StringE
+42
Ver Arquivo
@@ -48,6 +48,48 @@ handle => rsi
Value* fh_get_resource_type(Value* _rv, Value* handle) asm("_ZN4HPHP19f_get_resource_typeERKNS_6ObjectE");
/*
long HPHP::f_intval(HPHP::Variant const&, long)
_ZN4HPHP8f_intvalERKNS_7VariantEl
(return value) => rax
v => rdi
base => rsi
*/
long fh_intval(TypedValue* v, long base) asm("_ZN4HPHP8f_intvalERKNS_7VariantEl");
/*
double HPHP::f_doubleval(HPHP::Variant const&)
_ZN4HPHP11f_doublevalERKNS_7VariantE
(return value) => xmm0
v => rdi
*/
double fh_doubleval(TypedValue* v) asm("_ZN4HPHP11f_doublevalERKNS_7VariantE");
/*
double HPHP::f_floatval(HPHP::Variant const&)
_ZN4HPHP10f_floatvalERKNS_7VariantE
(return value) => xmm0
v => rdi
*/
double fh_floatval(TypedValue* v) asm("_ZN4HPHP10f_floatvalERKNS_7VariantE");
/*
HPHP::String HPHP::f_strval(HPHP::Variant const&)
_ZN4HPHP8f_strvalERKNS_7VariantE
(return value) => rax
_rv => rdi
v => rsi
*/
Value* fh_strval(Value* _rv, TypedValue* v) asm("_ZN4HPHP8f_strvalERKNS_7VariantE");
/*
bool HPHP::f_settype(HPHP::VRefParamValue const&, HPHP::String const&)
_ZN4HPHP9f_settypeERKNS_14VRefParamValueERKNS_6StringE
+4 -4
Ver Arquivo
@@ -223,10 +223,10 @@ String f_get_resource_type(CObjRef handle);
///////////////////////////////////////////////////////////////////////////////
// type conversion
inline int64_t f_intval(CVarRef v, int64_t base = 10) { return v.toInt64(base);}
inline double f_doubleval(CVarRef v) { return v.toDouble();}
inline double f_floatval(CVarRef v) { return v.toDouble();}
inline String f_strval(CVarRef v) { return v.toString();}
int64_t f_intval(CVarRef v, int64_t base = 10);
double f_doubleval(CVarRef v);
double f_floatval(CVarRef v);
String f_strval(CVarRef v);
bool f_settype(VRefParam var, CStrRef type);
+43
Ver Arquivo
@@ -308,6 +308,10 @@ Variant f_gzdecode(CStrRef data) {
return String(ret, len, AttachString);
}
String f_zlib_get_coding_type() {
throw NotSupportedException(__func__, "no use");
}
///////////////////////////////////////////////////////////////////////////////
// stream functions
@@ -323,6 +327,45 @@ Object f_gzopen(CStrRef filename, CStrRef mode,
return handle;
}
bool f_gzclose(CObjRef zp) {
return f_fclose(zp);
}
Variant f_gzread(CObjRef zp, int64_t length /* = 0 */) {
return f_fread(zp, length);
}
Variant f_gzseek(CObjRef zp, int64_t offset, int64_t whence /* = k_SEEK_SET */) {
return f_fseek(zp, offset, whence);
}
Variant f_gztell(CObjRef zp) {
return f_ftell(zp);
}
bool f_gzeof(CObjRef zp) {
return f_feof(zp);
}
bool f_gzrewind(CObjRef zp) {
return f_rewind(zp);
}
Variant f_gzgetc(CObjRef zp) {
return f_fgetc(zp);
}
Variant f_gzgets(CObjRef zp, int64_t length /* = 1024 */) {
return f_fgets(zp, length);
}
Variant f_gzgetss(CObjRef zp, int64_t length /* = 0 */,
CStrRef allowable_tags /* = null_string */) {
return f_fgetss(zp, length, allowable_tags);
}
Variant f_gzpassthru(CObjRef zp) {
return f_fpassthru(zp);
}
Variant f_gzputs(CObjRef zp, CStrRef str, int64_t length /* = 0 */) {
return f_fwrite(zp, str, length);
}
Variant f_gzwrite(CObjRef zp, CStrRef str, int64_t length /* = 0 */) {
return f_fwrite(zp, str, length);
}
///////////////////////////////////////////////////////////////////////////////
// QuickLZ functions
+714
Ver Arquivo
@@ -506,6 +506,40 @@ TypedValue* fg_gzdecode(HPHP::VM::ActRec *ar) {
/*
HPHP::String HPHP::f_zlib_get_coding_type()
_ZN4HPHP22f_zlib_get_coding_typeEv
(return value) => rax
_rv => rdi
*/
Value* fh_zlib_get_coding_type(Value* _rv) asm("_ZN4HPHP22f_zlib_get_coding_typeEv");
TypedValue* fg_zlib_get_coding_type(HPHP::VM::ActRec *ar) {
TypedValue rv;
int64_t count = ar->numArgs();
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
if (count == 0LL) {
rv.m_type = KindOfString;
fh_zlib_get_coding_type((&rv.m_data));
if (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;
} else {
throw_toomany_arguments_nr("zlib_get_coding_type", 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::Object HPHP::f_gzopen(HPHP::String const&, HPHP::String const&, bool)
_ZN4HPHP8f_gzopenERKNS_6StringES2_b
@@ -573,6 +607,686 @@ TypedValue* fg_gzopen(HPHP::VM::ActRec *ar) {
/*
bool HPHP::f_gzclose(HPHP::Object const&)
_ZN4HPHP9f_gzcloseERKNS_6ObjectE
(return value) => rax
zp => rdi
*/
bool fh_gzclose(Value* zp) asm("_ZN4HPHP9f_gzcloseERKNS_6ObjectE");
TypedValue * fg1_gzclose(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gzclose(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_gzclose(&args[-0].m_data)) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_gzclose(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_gzclose(&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_gzclose(&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("gzclose", 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_gzrewind(HPHP::Object const&)
_ZN4HPHP10f_gzrewindERKNS_6ObjectE
(return value) => rax
zp => rdi
*/
bool fh_gzrewind(Value* zp) asm("_ZN4HPHP10f_gzrewindERKNS_6ObjectE");
TypedValue * fg1_gzrewind(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gzrewind(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_gzrewind(&args[-0].m_data)) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_gzrewind(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_gzrewind(&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_gzrewind(&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("gzrewind", 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_gzeof(HPHP::Object const&)
_ZN4HPHP7f_gzeofERKNS_6ObjectE
(return value) => rax
zp => rdi
*/
bool fh_gzeof(Value* zp) asm("_ZN4HPHP7f_gzeofERKNS_6ObjectE");
TypedValue * fg1_gzeof(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gzeof(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_gzeof(&args[-0].m_data)) ? 1LL : 0LL;
return rv;
}
TypedValue* fg_gzeof(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_gzeof(&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_gzeof(&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("gzeof", 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_gzgetc(HPHP::Object const&)
_ZN4HPHP8f_gzgetcERKNS_6ObjectE
(return value) => rax
_rv => rdi
zp => rsi
*/
TypedValue* fh_gzgetc(TypedValue* _rv, Value* zp) asm("_ZN4HPHP8f_gzgetcERKNS_6ObjectE");
TypedValue * fg1_gzgetc(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gzgetc(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToObjectInPlace(args-0);
fh_gzgetc((rv), &args[-0].m_data);
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_gzgetc(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_gzgetc((&(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_gzgetc(&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("gzgetc", 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_gzgets(HPHP::Object const&, long)
_ZN4HPHP8f_gzgetsERKNS_6ObjectEl
(return value) => rax
_rv => rdi
zp => rsi
length => rdx
*/
TypedValue* fh_gzgets(TypedValue* _rv, Value* zp, long length) asm("_ZN4HPHP8f_gzgetsERKNS_6ObjectEl");
TypedValue * fg1_gzgets(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gzgets(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_gzgets((rv), &args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(1024));
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_gzgets(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_gzgets((&(rv)), &args[-0].m_data, (count > 1) ? (long)(args[-1].m_data.num) : (long)(1024));
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_gzgets(&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("gzgets", 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_gzgetss(HPHP::Object const&, long, HPHP::String const&)
_ZN4HPHP9f_gzgetssERKNS_6ObjectElRKNS_6StringE
(return value) => rax
_rv => rdi
zp => rsi
length => rdx
allowable_tags => rcx
*/
TypedValue* fh_gzgetss(TypedValue* _rv, Value* zp, long length, Value* allowable_tags) asm("_ZN4HPHP9f_gzgetssERKNS_6ObjectElRKNS_6StringE");
TypedValue * fg1_gzgetss(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gzgetss(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_gzgetss((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_gzgetss(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_gzgetss((&(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_gzgetss(&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("gzgetss", 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_gzread(HPHP::Object const&, long)
_ZN4HPHP8f_gzreadERKNS_6ObjectEl
(return value) => rax
_rv => rdi
zp => rsi
length => rdx
*/
TypedValue* fh_gzread(TypedValue* _rv, Value* zp, long length) asm("_ZN4HPHP8f_gzreadERKNS_6ObjectEl");
TypedValue * fg1_gzread(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gzread(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_gzread((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_gzread(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_gzread((&(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_gzread(&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("gzread", 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_gzpassthru(HPHP::Object const&)
_ZN4HPHP12f_gzpassthruERKNS_6ObjectE
(return value) => rax
_rv => rdi
zp => rsi
*/
TypedValue* fh_gzpassthru(TypedValue* _rv, Value* zp) asm("_ZN4HPHP12f_gzpassthruERKNS_6ObjectE");
TypedValue * fg1_gzpassthru(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gzpassthru(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToObjectInPlace(args-0);
fh_gzpassthru((rv), &args[-0].m_data);
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_gzpassthru(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_gzpassthru((&(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_gzpassthru(&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("gzpassthru", 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_gzseek(HPHP::Object const&, long, long)
_ZN4HPHP8f_gzseekERKNS_6ObjectEll
(return value) => rax
_rv => rdi
zp => rsi
offset => rdx
whence => rcx
*/
TypedValue* fh_gzseek(TypedValue* _rv, Value* zp, long offset, long whence) asm("_ZN4HPHP8f_gzseekERKNS_6ObjectEll");
TypedValue * fg1_gzseek(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gzseek(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_gzseek((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_gzseek(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_gzseek((&(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_gzseek(&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("gzseek", 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_gztell(HPHP::Object const&)
_ZN4HPHP8f_gztellERKNS_6ObjectE
(return value) => rax
_rv => rdi
zp => rsi
*/
TypedValue* fh_gztell(TypedValue* _rv, Value* zp) asm("_ZN4HPHP8f_gztellERKNS_6ObjectE");
TypedValue * fg1_gztell(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gztell(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) {
TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
tvCastToObjectInPlace(args-0);
fh_gztell((rv), &args[-0].m_data);
if (rv->m_type == KindOfUninit) rv->m_type = KindOfNull;
return rv;
}
TypedValue* fg_gztell(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_gztell((&(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_gztell(&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("gztell", 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_gzwrite(HPHP::Object const&, HPHP::String const&, long)
_ZN4HPHP9f_gzwriteERKNS_6ObjectERKNS_6StringEl
(return value) => rax
_rv => rdi
zp => rsi
str => rdx
length => rcx
*/
TypedValue* fh_gzwrite(TypedValue* _rv, Value* zp, Value* str, long length) asm("_ZN4HPHP9f_gzwriteERKNS_6ObjectERKNS_6StringEl");
TypedValue * fg1_gzwrite(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gzwrite(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_gzwrite((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_gzwrite(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_gzwrite((&(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_gzwrite(&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("gzwrite", 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_gzputs(HPHP::Object const&, HPHP::String const&, long)
_ZN4HPHP8f_gzputsERKNS_6ObjectERKNS_6StringEl
(return value) => rax
_rv => rdi
zp => rsi
str => rdx
length => rcx
*/
TypedValue* fh_gzputs(TypedValue* _rv, Value* zp, Value* str, long length) asm("_ZN4HPHP8f_gzputsERKNS_6ObjectERKNS_6StringEl");
TypedValue * fg1_gzputs(TypedValue* rv, HPHP::VM::ActRec* ar, int64_t count) __attribute__((noinline,cold));
TypedValue * fg1_gzputs(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_gzputs((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_gzputs(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_gzputs((&(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_gzputs(&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("gzputs", 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_qlzcompress(HPHP::String const&, int)
_ZN4HPHP13f_qlzcompressERKNS_6StringEi
+149
Ver Arquivo
@@ -112,6 +112,16 @@ data => rsi
TypedValue* fh_gzdecode(TypedValue* _rv, Value* data) asm("_ZN4HPHP10f_gzdecodeERKNS_6StringE");
/*
HPHP::String HPHP::f_zlib_get_coding_type()
_ZN4HPHP22f_zlib_get_coding_typeEv
(return value) => rax
_rv => rdi
*/
Value* fh_zlib_get_coding_type(Value* _rv) asm("_ZN4HPHP22f_zlib_get_coding_typeEv");
/*
HPHP::Object HPHP::f_gzopen(HPHP::String const&, HPHP::String const&, bool)
_ZN4HPHP8f_gzopenERKNS_6StringES2_b
@@ -125,6 +135,145 @@ use_include_path => rcx
Value* fh_gzopen(Value* _rv, Value* filename, Value* mode, bool use_include_path) asm("_ZN4HPHP8f_gzopenERKNS_6StringES2_b");
/*
bool HPHP::f_gzclose(HPHP::Object const&)
_ZN4HPHP9f_gzcloseERKNS_6ObjectE
(return value) => rax
zp => rdi
*/
bool fh_gzclose(Value* zp) asm("_ZN4HPHP9f_gzcloseERKNS_6ObjectE");
/*
bool HPHP::f_gzrewind(HPHP::Object const&)
_ZN4HPHP10f_gzrewindERKNS_6ObjectE
(return value) => rax
zp => rdi
*/
bool fh_gzrewind(Value* zp) asm("_ZN4HPHP10f_gzrewindERKNS_6ObjectE");
/*
bool HPHP::f_gzeof(HPHP::Object const&)
_ZN4HPHP7f_gzeofERKNS_6ObjectE
(return value) => rax
zp => rdi
*/
bool fh_gzeof(Value* zp) asm("_ZN4HPHP7f_gzeofERKNS_6ObjectE");
/*
HPHP::Variant HPHP::f_gzgetc(HPHP::Object const&)
_ZN4HPHP8f_gzgetcERKNS_6ObjectE
(return value) => rax
_rv => rdi
zp => rsi
*/
TypedValue* fh_gzgetc(TypedValue* _rv, Value* zp) asm("_ZN4HPHP8f_gzgetcERKNS_6ObjectE");
/*
HPHP::Variant HPHP::f_gzgets(HPHP::Object const&, long)
_ZN4HPHP8f_gzgetsERKNS_6ObjectEl
(return value) => rax
_rv => rdi
zp => rsi
length => rdx
*/
TypedValue* fh_gzgets(TypedValue* _rv, Value* zp, long length) asm("_ZN4HPHP8f_gzgetsERKNS_6ObjectEl");
/*
HPHP::Variant HPHP::f_gzgetss(HPHP::Object const&, long, HPHP::String const&)
_ZN4HPHP9f_gzgetssERKNS_6ObjectElRKNS_6StringE
(return value) => rax
_rv => rdi
zp => rsi
length => rdx
allowable_tags => rcx
*/
TypedValue* fh_gzgetss(TypedValue* _rv, Value* zp, long length, Value* allowable_tags) asm("_ZN4HPHP9f_gzgetssERKNS_6ObjectElRKNS_6StringE");
/*
HPHP::Variant HPHP::f_gzread(HPHP::Object const&, long)
_ZN4HPHP8f_gzreadERKNS_6ObjectEl
(return value) => rax
_rv => rdi
zp => rsi
length => rdx
*/
TypedValue* fh_gzread(TypedValue* _rv, Value* zp, long length) asm("_ZN4HPHP8f_gzreadERKNS_6ObjectEl");
/*
HPHP::Variant HPHP::f_gzpassthru(HPHP::Object const&)
_ZN4HPHP12f_gzpassthruERKNS_6ObjectE
(return value) => rax
_rv => rdi
zp => rsi
*/
TypedValue* fh_gzpassthru(TypedValue* _rv, Value* zp) asm("_ZN4HPHP12f_gzpassthruERKNS_6ObjectE");
/*
HPHP::Variant HPHP::f_gzseek(HPHP::Object const&, long, long)
_ZN4HPHP8f_gzseekERKNS_6ObjectEll
(return value) => rax
_rv => rdi
zp => rsi
offset => rdx
whence => rcx
*/
TypedValue* fh_gzseek(TypedValue* _rv, Value* zp, long offset, long whence) asm("_ZN4HPHP8f_gzseekERKNS_6ObjectEll");
/*
HPHP::Variant HPHP::f_gztell(HPHP::Object const&)
_ZN4HPHP8f_gztellERKNS_6ObjectE
(return value) => rax
_rv => rdi
zp => rsi
*/
TypedValue* fh_gztell(TypedValue* _rv, Value* zp) asm("_ZN4HPHP8f_gztellERKNS_6ObjectE");
/*
HPHP::Variant HPHP::f_gzwrite(HPHP::Object const&, HPHP::String const&, long)
_ZN4HPHP9f_gzwriteERKNS_6ObjectERKNS_6StringEl
(return value) => rax
_rv => rdi
zp => rsi
str => rdx
length => rcx
*/
TypedValue* fh_gzwrite(TypedValue* _rv, Value* zp, Value* str, long length) asm("_ZN4HPHP9f_gzwriteERKNS_6ObjectERKNS_6StringEl");
/*
HPHP::Variant HPHP::f_gzputs(HPHP::Object const&, HPHP::String const&, long)
_ZN4HPHP8f_gzputsERKNS_6ObjectERKNS_6StringEl
(return value) => rax
_rv => rdi
zp => rsi
str => rdx
length => rcx
*/
TypedValue* fh_gzputs(TypedValue* _rv, Value* zp, Value* str, long length) asm("_ZN4HPHP8f_gzputsERKNS_6ObjectERKNS_6StringEl");
/*
HPHP::Variant HPHP::f_qlzcompress(HPHP::String const&, int)
_ZN4HPHP13f_qlzcompressERKNS_6StringEi
+14 -40
Ver Arquivo
@@ -34,9 +34,7 @@ Variant f_gzinflate(CStrRef data, int limit = 0);
Variant f_gzencode(CStrRef data, int level = -1,
int encoding_mode = k_FORCE_GZIP);
Variant f_gzdecode(CStrRef data);
inline String f_zlib_get_coding_type() {
throw NotSupportedException(__func__, "no use");
}
String f_zlib_get_coding_type();
Variant f_qlzcompress(CStrRef data, int level = 1);
Variant f_qlzuncompress(CStrRef data, int level = 1);
Variant f_sncompress(CStrRef data);
@@ -52,43 +50,19 @@ Variant f_lz4uncompress(CStrRef compressed);
Object f_gzopen(CStrRef filename, CStrRef mode, bool use_include_path = false);
inline bool f_gzclose(CObjRef zp) {
return f_fclose(zp);
}
inline Variant f_gzread(CObjRef zp, int64_t length = 0) {
return f_fread(zp, length);
}
inline Variant f_gzseek(CObjRef zp, int64_t offset, int64_t whence = k_SEEK_SET) {
return f_fseek(zp, offset, whence);
}
inline Variant f_gztell(CObjRef zp) {
return f_ftell(zp);
}
inline bool f_gzeof(CObjRef zp) {
return f_feof(zp);
}
inline bool f_gzrewind(CObjRef zp) {
return f_rewind(zp);
}
inline Variant f_gzgetc(CObjRef zp) {
return f_fgetc(zp);
}
inline Variant f_gzgets(CObjRef zp, int64_t length = 1024) {
return f_fgets(zp, length);
}
inline Variant f_gzgetss(CObjRef zp, int64_t length = 0,
CStrRef allowable_tags = null_string) {
return f_fgetss(zp, length, allowable_tags);
}
inline Variant f_gzpassthru(CObjRef zp) {
return f_fpassthru(zp);
}
inline Variant f_gzputs(CObjRef zp, CStrRef str, int64_t length = 0) {
return f_fwrite(zp, str, length);
}
inline Variant f_gzwrite(CObjRef zp, CStrRef str, int64_t length = 0) {
return f_fwrite(zp, str, length);
}
bool f_gzclose(CObjRef zp);
Variant f_gzread(CObjRef zp, int64_t length = 0);
Variant f_gzseek(CObjRef zp, int64_t offset, int64_t whence = k_SEEK_SET);
Variant f_gztell(CObjRef zp);
bool f_gzeof(CObjRef zp);
bool f_gzrewind(CObjRef zp);
Variant f_gzgetc(CObjRef zp);
Variant f_gzgets(CObjRef zp, int64_t length = 1024);
Variant f_gzgetss(CObjRef zp, int64_t length = 0,
CStrRef allowable_tags = null_string);
Variant f_gzpassthru(CObjRef zp);
Variant f_gzputs(CObjRef zp, CStrRef str, int64_t length = 0);
Variant f_gzwrite(CObjRef zp, CStrRef str, int64_t length = 0);
///////////////////////////////////////////////////////////////////////////////
}
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff