Skip to content

Commit 63ea57d

Browse files
committed
Update systemlib generation to support precompiled systemlibs
Since D46606416, we include precompiled unitemitters rather than raw Hack source files for systemlibs into the HHVM binary. This requires corresponding updates to the OSS build system. * Update embed_all_systemlibs() and embed_systemlibs_byname() to invoke HHVM to compile systemlibs, and update section name generation to match. * Update systemlib generation to correctly look for systemlib sources under hphp/runtime/ext/core instead of hphp/system after they were moved in D46164829. * Make tc-print depend on HHVM, since the hhvm binary is required to compile and embed systemlibs into tc-print. * Fix apparently erroneous contains() check (added in D65835121) in compiler-systemlib.cpp that checks for `file` but then tries to access `"ext_" + file`. This is erroring in OSS, since all extension systemlibs are named ext_something.php, not something.php.
1 parent f016ebc commit 63ea57d

File tree

8 files changed

+197
-173
lines changed

8 files changed

+197
-173
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ install_manifest.txt
8686
/hphp/hack/test/.mypy_cache
8787
/hphp/util/generated-hhjs-babel-transform.txt
8888

89+
# Generated core systemlib
90+
/hphp/runtime/ext/core/ext_core.php
91+
8992
# CPack
9093
CPackConfig.cmake
9194
CPackSourceConfig.cmake

CMake/HPHPFunctions.cmake

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,6 @@ function(append_systemlib TARGET SOURCE SECTNAME)
124124
else()
125125
set(${TARGET}_SLIBS ${${TARGET}_SLIBS} "--add-section" "${SECTNAME}=${SOURCE}" PARENT_SCOPE)
126126
endif()
127-
# Add the systemlib file to the "LINK_DEPENDS" for the systemlib, this will cause it
128-
# to be relinked and the systemlib re-embedded
129-
set_property(TARGET ${TARGET} APPEND PROPERTY LINK_DEPENDS ${SOURCE})
130127
endif()
131128
endfunction(append_systemlib)
132129

@@ -186,10 +183,10 @@ function(embed_sections TARGET DEST)
186183
endfunction(embed_sections)
187184

188185
macro(embed_systemlib_byname TARGET SLIB)
189-
get_filename_component(SLIB_BN ${SLIB} "NAME_WE")
190-
string(LENGTH ${SLIB_BN} SLIB_BN_LEN)
191-
math(EXPR SLIB_BN_REL_LEN "${SLIB_BN_LEN} - 4")
192-
string(SUBSTRING ${SLIB_BN} 4 ${SLIB_BN_REL_LEN} SLIB_EXTNAME)
186+
get_filename_component(SLIB_FILENAME ${SLIB} "NAME")
187+
188+
set(SLIB_EXTNAME "/:${SLIB_FILENAME}")
189+
193190
string(MD5 SLIB_HASH_NAME ${SLIB_EXTNAME})
194191
# Some platforms limit section names to 16 characters :(
195192
string(SUBSTRING ${SLIB_HASH_NAME} 0 12 SLIB_HASH_NAME_SHORT)
@@ -204,10 +201,31 @@ endmacro()
204201

205202
function(embed_all_systemlibs TARGET ROOT DEST)
206203
add_dependencies(${TARGET} systemlib)
207-
append_systemlib(${TARGET} ${ROOT}/system/systemlib.php systemlib)
204+
208205
foreach(SLIB ${EXTENSION_SYSTEMLIB_SOURCES} ${EZC_SYSTEMLIB_SOURCES})
209-
embed_systemlib_byname(${TARGET} ${SLIB})
206+
get_filename_component(SLIB_FILENAME ${SLIB} NAME)
207+
file(RELATIVE_PATH SLIB_RELATIVE_PATH ${CMAKE_SOURCE_DIR} ${SLIB})
208+
list(APPEND SLIB_RELATIVE_PATHS ${SLIB_RELATIVE_PATH})
209+
list(
210+
APPEND PRECOMPILED_SYSTEMLIB_FILES
211+
${CMAKE_CURRENT_BINARY_DIR}/slib/${SLIB_FILENAME}.decls
212+
${CMAKE_CURRENT_BINARY_DIR}/slib/${SLIB_FILENAME}.ue
213+
)
210214
endforeach()
215+
216+
add_custom_command(
217+
TARGET ${TARGET} POST_BUILD
218+
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/slib
219+
COMMAND $<TARGET_FILE:hhvm> --compile-systemlib --input-dir ${CMAKE_SOURCE_DIR} --output-dir ${CMAKE_CURRENT_BINARY_DIR}/slib ${SLIB_RELATIVE_PATHS}
220+
DEPENDS ${EXTENSION_SYSTEMLIB_SOURCES} ${EZC_SYSTEMLIB_SOURCES}
221+
COMMENT "Precompiling systemlib files"
222+
VERBATIM)
223+
224+
foreach(PRECOMPILED_SLIB ${PRECOMPILED_SYSTEMLIB_FILES})
225+
get_filename_component(PRECOMPILED_SLIB_FILENAME ${PRECOMPILED_SLIB} NAME)
226+
embed_systemlib_byname(${TARGET} ${PRECOMPILED_SLIB})
227+
endforeach()
228+
211229
embed_sections(${TARGET} ${DEST})
212230
endfunction(embed_all_systemlibs)
213231

hphp/compiler/compiler-systemlib.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ bool process(CompilerOptions &po) {
229229

230230
for (auto extension : ExtensionRegistry::getExtensions()) {
231231
for (auto file : extension->hackFiles()) {
232-
if (!files.contains(file)) {
232+
if (!files.contains("ext_" + file)) {
233233
Logger::Error(
234234
"Error while compiling stdlib: %s not found in input files - did you add an extension without any hack files? If so, override hackFiles to return an empty vector.", file.c_str());
235235
}

hphp/runtime/ext/core/make_systemlib.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ OUTDIR=$1; shift
44
OUTFILE=$1; shift
55
SYSTEMLIB="${OUTDIR}/${OUTFILE}"
66

7-
mkdir "${OUTDIR}"
7+
mkdir -p "${OUTDIR}"
88

99
# If we put the line we're generating into this file, then the linter will think
1010
# the generator itself is generated. Encode it into a variable for safe

hphp/runtime/ext/core/php.txt

Lines changed: 148 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -6,158 +6,158 @@
66
# These restrictions may be lifted at some point in the future.
77

88
# Order matters here. Put parent classes in this list before child classes
9-
hphp/system/php/lang/stdClass.php
10-
hphp/system/php/lang/Closure.php
11-
hphp/system/php/lang/pinitSentinel.php
12-
hphp/system/php/lang/uninitSentinel.php
13-
hphp/system/php/lang/string.php
14-
hphp/system/php/lang/resource.php
15-
16-
hphp/system/php/lang/AsyncIterator.ns.php
17-
hphp/system/php/lang/AsyncKeyedIterator.ns.php
18-
hphp/system/php/lang/Traversable.ns.php
19-
hphp/system/php/lang/Iterator.ns.php
20-
hphp/system/php/lang/IteratorAggregate.ns.php
21-
hphp/system/php/lang/KeyedIterator.ns.php
22-
hphp/system/php/lang/KeyedIterable.ns.php
23-
hphp/system/php/lang/Throwable.php
24-
hphp/system/php/lang/BaseException.ns.php
25-
hphp/system/php/lang/Error.php
26-
hphp/system/php/lang/Exception.php
27-
hphp/system/php/spl/exceptions/exceptions.php
28-
hphp/system/php/spl/interfaces/Countable.php
29-
hphp/system/php/spl/interfaces/RecursiveIterator.php
30-
31-
hphp/system/php/lang/Container.ns.php
32-
33-
hphp/system/php/spl/datastructures/SplHeap.php
34-
35-
hphp/system/php/spl/file_handling/SplFileInfo.php
36-
hphp/system/php/spl/interfaces/SeekableIterator.php
37-
hphp/system/php/spl/iterators/DirectoryIterator.php
38-
hphp/system/php/spl/iterators/FilesystemIterator.php
39-
hphp/system/php/spl/iterators/GlobIterator.php
40-
hphp/system/php/spl/iterators/RecursiveDirectoryIterator.php
41-
hphp/system/php/spl/file_handling/SplFileObject.php
42-
hphp/system/php/spl/file_handling/SplTempFileObject.php
43-
44-
hphp/system/php/lang/ArrayAccess.php
45-
hphp/system/php/lang/Serializeable.php
46-
hphp/system/php/spl/datastructures/SplDoublyLinkedList.php
47-
hphp/system/php/spl/datastructures/SplQueue.php
48-
hphp/system/php/spl/datastructures/SplStack.php
49-
50-
hphp/system/php/spl/interfaces/OuterIterator.php
51-
hphp/system/php/spl/iterators/IteratorIterator.php
52-
hphp/system/php/spl/iterators/FilterIterator.php
53-
hphp/system/php/spl/iterators/RecursiveFilterIterator.php
54-
hphp/system/php/spl/iterators/RegexIterator.php
55-
hphp/system/php/spl/iterators/RecursiveRegexIterator.php
56-
57-
hphp/system/php/spl/iterators/ArrayIterator.php
58-
59-
hphp/system/php/filter/filter_var_array.php
60-
61-
hphp/system/php/date/datetimeinterface.php
62-
hphp/system/php/date/datetimeimmutable.php
63-
64-
hphp/system/php/collections/collection_interfaces.ns.php
65-
hphp/system/php/collections/LazyConcatIterable.php
66-
hphp/system/php/collections/LazyConcatIterator.php
67-
hphp/system/php/collections/LazyFilterIterable.php
68-
hphp/system/php/collections/LazyFilterIterator.php
69-
hphp/system/php/collections/LazyFilterKeyedIterable.php
70-
hphp/system/php/collections/LazyFilterKeyedIterator.php
71-
hphp/system/php/collections/LazyFilterWithKeyIterable.php
72-
hphp/system/php/collections/LazyFilterWithKeyIterator.php
73-
hphp/system/php/collections/LazyIterable.php
74-
hphp/system/php/collections/LazyIterableView.php
75-
hphp/system/php/collections/LazyKVZipIterable.php
76-
hphp/system/php/collections/LazyKVZipIterator.php
77-
hphp/system/php/collections/LazyKeyedIterable.php
78-
hphp/system/php/collections/LazyKeyedIterableView.php
79-
hphp/system/php/collections/LazyKeysIterable.php
80-
hphp/system/php/collections/LazyKeysIterator.php
81-
hphp/system/php/collections/LazyMapIterable.php
82-
hphp/system/php/collections/LazyMapIterator.php
83-
hphp/system/php/collections/LazyMapKeyedIterable.php
84-
hphp/system/php/collections/LazyMapKeyedIterator.php
85-
hphp/system/php/collections/LazyMapWithKeyIterable.php
86-
hphp/system/php/collections/LazyMapWithKeyIterator.php
87-
hphp/system/php/collections/LazySkipIterable.php
88-
hphp/system/php/collections/LazySkipIterator.php
89-
hphp/system/php/collections/LazySkipKeyedIterable.php
90-
hphp/system/php/collections/LazySkipKeyedIterator.php
91-
hphp/system/php/collections/LazySkipWhileIterable.php
92-
hphp/system/php/collections/LazySkipWhileIterator.php
93-
hphp/system/php/collections/LazySkipWhileKeyedIterable.php
94-
hphp/system/php/collections/LazySkipWhileKeyedIterator.php
95-
hphp/system/php/collections/LazySliceIterable.php
96-
hphp/system/php/collections/LazySliceIterator.php
97-
hphp/system/php/collections/LazySliceKeyedIterable.php
98-
hphp/system/php/collections/LazySliceKeyedIterator.php
99-
hphp/system/php/collections/LazyTakeIterable.php
100-
hphp/system/php/collections/LazyTakeIterator.php
101-
hphp/system/php/collections/LazyTakeKeyedIterable.php
102-
hphp/system/php/collections/LazyTakeKeyedIterator.php
103-
hphp/system/php/collections/LazyTakeWhileIterable.php
104-
hphp/system/php/collections/LazyTakeWhileIterator.php
105-
hphp/system/php/collections/LazyTakeWhileKeyedIterable.php
106-
hphp/system/php/collections/LazyTakeWhileKeyedIterator.php
107-
hphp/system/php/collections/LazyValuesIterable.php
108-
hphp/system/php/collections/LazyValuesIterator.php
109-
hphp/system/php/collections/LazyZipIterable.php
110-
hphp/system/php/collections/LazyZipIterator.php
111-
hphp/system/php/collections/LazyZipKeyedIterable.php
112-
hphp/system/php/collections/LazyZipKeyedIterator.php
113-
hphp/system/php/collections/StrictIterable.php
114-
hphp/system/php/collections/StrictKeyedIterable.php
115-
116-
hphp/system/php/async/ResultOrExceptionWrapper.ns.php
117-
hphp/system/php/async/WrappedException.ns.php
118-
hphp/system/php/async/WrappedResult.ns.php
119-
hphp/system/php/async/convenience.ns.php
120-
121-
hphp/system/php/async/vm.ns.php
122-
hphp/system/php/async/maps.ns.php
123-
hphp/system/php/async/vectors.ns.php
9+
hphp/runtime/ext/core/php/lang/stdClass.php
10+
hphp/runtime/ext/core/php/lang/Closure.php
11+
hphp/runtime/ext/core/php/lang/pinitSentinel.php
12+
hphp/runtime/ext/core/php/lang/uninitSentinel.php
13+
hphp/runtime/ext/core/php/lang/string.php
14+
hphp/runtime/ext/core/php/lang/resource.php
15+
16+
hphp/runtime/ext/core/php/lang/AsyncIterator.ns.php
17+
hphp/runtime/ext/core/php/lang/AsyncKeyedIterator.ns.php
18+
hphp/runtime/ext/core/php/lang/Traversable.ns.php
19+
hphp/runtime/ext/core/php/lang/Iterator.ns.php
20+
hphp/runtime/ext/core/php/lang/IteratorAggregate.ns.php
21+
hphp/runtime/ext/core/php/lang/KeyedIterator.ns.php
22+
hphp/runtime/ext/core/php/lang/KeyedIterable.ns.php
23+
hphp/runtime/ext/core/php/lang/Throwable.php
24+
hphp/runtime/ext/core/php/lang/BaseException.ns.php
25+
hphp/runtime/ext/core/php/lang/Error.php
26+
hphp/runtime/ext/core/php/lang/Exception.php
27+
hphp/runtime/ext/core/php/spl/exceptions/exceptions.php
28+
hphp/runtime/ext/core/php/spl/interfaces/Countable.php
29+
hphp/runtime/ext/core/php/spl/interfaces/RecursiveIterator.php
30+
31+
hphp/runtime/ext/core/php/lang/Container.ns.php
32+
33+
hphp/runtime/ext/core/php/spl/datastructures/SplHeap.php
34+
35+
hphp/runtime/ext/core/php/spl/file_handling/SplFileInfo.php
36+
hphp/runtime/ext/core/php/spl/interfaces/SeekableIterator.php
37+
hphp/runtime/ext/core/php/spl/iterators/DirectoryIterator.php
38+
hphp/runtime/ext/core/php/spl/iterators/FilesystemIterator.php
39+
hphp/runtime/ext/core/php/spl/iterators/GlobIterator.php
40+
hphp/runtime/ext/core/php/spl/iterators/RecursiveDirectoryIterator.php
41+
hphp/runtime/ext/core/php/spl/file_handling/SplFileObject.php
42+
hphp/runtime/ext/core/php/spl/file_handling/SplTempFileObject.php
43+
44+
hphp/runtime/ext/core/php/lang/ArrayAccess.php
45+
hphp/runtime/ext/core/php/lang/Serializeable.php
46+
hphp/runtime/ext/core/php/spl/datastructures/SplDoublyLinkedList.php
47+
hphp/runtime/ext/core/php/spl/datastructures/SplQueue.php
48+
hphp/runtime/ext/core/php/spl/datastructures/SplStack.php
49+
50+
hphp/runtime/ext/core/php/spl/interfaces/OuterIterator.php
51+
hphp/runtime/ext/core/php/spl/iterators/IteratorIterator.php
52+
hphp/runtime/ext/core/php/spl/iterators/FilterIterator.php
53+
hphp/runtime/ext/core/php/spl/iterators/RecursiveFilterIterator.php
54+
hphp/runtime/ext/core/php/spl/iterators/RegexIterator.php
55+
hphp/runtime/ext/core/php/spl/iterators/RecursiveRegexIterator.php
56+
57+
hphp/runtime/ext/core/php/spl/iterators/ArrayIterator.php
58+
59+
hphp/runtime/ext/core/php/filter/filter_var_array.php
60+
61+
hphp/runtime/ext/core/php/date/datetimeinterface.php
62+
hphp/runtime/ext/core/php/date/datetimeimmutable.php
63+
64+
hphp/runtime/ext/core/php/collections/collection_interfaces.ns.php
65+
hphp/runtime/ext/core/php/collections/LazyConcatIterable.php
66+
hphp/runtime/ext/core/php/collections/LazyConcatIterator.php
67+
hphp/runtime/ext/core/php/collections/LazyFilterIterable.php
68+
hphp/runtime/ext/core/php/collections/LazyFilterIterator.php
69+
hphp/runtime/ext/core/php/collections/LazyFilterKeyedIterable.php
70+
hphp/runtime/ext/core/php/collections/LazyFilterKeyedIterator.php
71+
hphp/runtime/ext/core/php/collections/LazyFilterWithKeyIterable.php
72+
hphp/runtime/ext/core/php/collections/LazyFilterWithKeyIterator.php
73+
hphp/runtime/ext/core/php/collections/LazyIterable.php
74+
hphp/runtime/ext/core/php/collections/LazyIterableView.php
75+
hphp/runtime/ext/core/php/collections/LazyKVZipIterable.php
76+
hphp/runtime/ext/core/php/collections/LazyKVZipIterator.php
77+
hphp/runtime/ext/core/php/collections/LazyKeyedIterable.php
78+
hphp/runtime/ext/core/php/collections/LazyKeyedIterableView.php
79+
hphp/runtime/ext/core/php/collections/LazyKeysIterable.php
80+
hphp/runtime/ext/core/php/collections/LazyKeysIterator.php
81+
hphp/runtime/ext/core/php/collections/LazyMapIterable.php
82+
hphp/runtime/ext/core/php/collections/LazyMapIterator.php
83+
hphp/runtime/ext/core/php/collections/LazyMapKeyedIterable.php
84+
hphp/runtime/ext/core/php/collections/LazyMapKeyedIterator.php
85+
hphp/runtime/ext/core/php/collections/LazyMapWithKeyIterable.php
86+
hphp/runtime/ext/core/php/collections/LazyMapWithKeyIterator.php
87+
hphp/runtime/ext/core/php/collections/LazySkipIterable.php
88+
hphp/runtime/ext/core/php/collections/LazySkipIterator.php
89+
hphp/runtime/ext/core/php/collections/LazySkipKeyedIterable.php
90+
hphp/runtime/ext/core/php/collections/LazySkipKeyedIterator.php
91+
hphp/runtime/ext/core/php/collections/LazySkipWhileIterable.php
92+
hphp/runtime/ext/core/php/collections/LazySkipWhileIterator.php
93+
hphp/runtime/ext/core/php/collections/LazySkipWhileKeyedIterable.php
94+
hphp/runtime/ext/core/php/collections/LazySkipWhileKeyedIterator.php
95+
hphp/runtime/ext/core/php/collections/LazySliceIterable.php
96+
hphp/runtime/ext/core/php/collections/LazySliceIterator.php
97+
hphp/runtime/ext/core/php/collections/LazySliceKeyedIterable.php
98+
hphp/runtime/ext/core/php/collections/LazySliceKeyedIterator.php
99+
hphp/runtime/ext/core/php/collections/LazyTakeIterable.php
100+
hphp/runtime/ext/core/php/collections/LazyTakeIterator.php
101+
hphp/runtime/ext/core/php/collections/LazyTakeKeyedIterable.php
102+
hphp/runtime/ext/core/php/collections/LazyTakeKeyedIterator.php
103+
hphp/runtime/ext/core/php/collections/LazyTakeWhileIterable.php
104+
hphp/runtime/ext/core/php/collections/LazyTakeWhileIterator.php
105+
hphp/runtime/ext/core/php/collections/LazyTakeWhileKeyedIterable.php
106+
hphp/runtime/ext/core/php/collections/LazyTakeWhileKeyedIterator.php
107+
hphp/runtime/ext/core/php/collections/LazyValuesIterable.php
108+
hphp/runtime/ext/core/php/collections/LazyValuesIterator.php
109+
hphp/runtime/ext/core/php/collections/LazyZipIterable.php
110+
hphp/runtime/ext/core/php/collections/LazyZipIterator.php
111+
hphp/runtime/ext/core/php/collections/LazyZipKeyedIterable.php
112+
hphp/runtime/ext/core/php/collections/LazyZipKeyedIterator.php
113+
hphp/runtime/ext/core/php/collections/StrictIterable.php
114+
hphp/runtime/ext/core/php/collections/StrictKeyedIterable.php
115+
116+
hphp/runtime/ext/core/php/async/ResultOrExceptionWrapper.ns.php
117+
hphp/runtime/ext/core/php/async/WrappedException.ns.php
118+
hphp/runtime/ext/core/php/async/WrappedResult.ns.php
119+
hphp/runtime/ext/core/php/async/convenience.ns.php
120+
121+
hphp/runtime/ext/core/php/async/vm.ns.php
122+
hphp/runtime/ext/core/php/async/maps.ns.php
123+
hphp/runtime/ext/core/php/async/vectors.ns.php
124124

125125
# If you have no inheritance relationship, go here in alphabetical order
126-
hphp/system/php/array_filter.php
127-
hphp/system/php/array_map.php
128-
hphp/system/php/array_reduce.php
129-
hphp/system/php/asio/InvalidOperationException.php
130-
hphp/system/php/async/EntryPoint.ns.php
131-
hphp/system/php/curl/CURLFile.php
132-
hphp/system/php/date/dateperiod.php
133-
hphp/system/php/date/datetime_funcs.php
134-
hphp/system/php/dom/DOMException.php
135-
hphp/system/php/file_system/Directory.php
136-
hphp/system/php/lang/Disposable.php
137-
hphp/system/php/lang/ErrorException.php
138-
hphp/system/php/lang/fun.ns.php
139-
hphp/system/php/lang/invariant.ns.php
140-
hphp/system/php/lang/null.ns.php
141-
hphp/system/php/lang/readonly.ns.php
142-
hphp/system/php/misc/idx.php
143-
hphp/system/php/pdo/PDOException.php
144-
hphp/system/php/rx/mutable.php
145-
hphp/system/php/shapes/ext_shapes.php
146-
hphp/system/php/soap/SoapFault.php
147-
hphp/system/php/spl/datastructures/SplPriorityQueue.php
148-
hphp/system/php/spl/interfaces/SplObserver.php
149-
hphp/system/php/spl/interfaces/SplSubject.php
150-
hphp/system/php/spl/iterators/EmptyIterator.php
151-
hphp/system/php/spl/iterators/InfiniteIterator.php
152-
hphp/system/php/spl/iterators/NoRewindIterator.php
153-
hphp/system/php/spl/iterators/RecursiveIteratorIterator.php
154-
hphp/system/php/experimental_parser_utils.php
126+
hphp/runtime/ext/core/php/array_filter.php
127+
hphp/runtime/ext/core/php/array_map.php
128+
hphp/runtime/ext/core/php/array_reduce.php
129+
hphp/runtime/ext/core/php/asio/InvalidOperationException.php
130+
hphp/runtime/ext/core/php/async/EntryPoint.ns.php
131+
hphp/runtime/ext/core/php/curl/CURLFile.php
132+
hphp/runtime/ext/core/php/date/dateperiod.php
133+
hphp/runtime/ext/core/php/date/datetime_funcs.php
134+
hphp/runtime/ext/core/php/dom/DOMException.php
135+
hphp/runtime/ext/core/php/file_system/Directory.php
136+
hphp/runtime/ext/core/php/lang/Disposable.php
137+
hphp/runtime/ext/core/php/lang/ErrorException.php
138+
hphp/runtime/ext/core/php/lang/fun.ns.php
139+
hphp/runtime/ext/core/php/lang/invariant.ns.php
140+
hphp/runtime/ext/core/php/lang/null.ns.php
141+
hphp/runtime/ext/core/php/lang/readonly.ns.php
142+
hphp/runtime/ext/core/php/misc/idx.php
143+
hphp/runtime/ext/core/php/pdo/PDOException.php
144+
hphp/runtime/ext/core/php/rx/mutable.php
145+
hphp/runtime/ext/core/php/shapes/ext_shapes.php
146+
hphp/runtime/ext/core/php/soap/SoapFault.php
147+
hphp/runtime/ext/core/php/spl/datastructures/SplPriorityQueue.php
148+
hphp/runtime/ext/core/php/spl/interfaces/SplObserver.php
149+
hphp/runtime/ext/core/php/spl/interfaces/SplSubject.php
150+
hphp/runtime/ext/core/php/spl/iterators/EmptyIterator.php
151+
hphp/runtime/ext/core/php/spl/iterators/InfiniteIterator.php
152+
hphp/runtime/ext/core/php/spl/iterators/NoRewindIterator.php
153+
hphp/runtime/ext/core/php/spl/iterators/RecursiveIteratorIterator.php
154+
hphp/runtime/ext/core/php/experimental_parser_utils.php
155155

156156
# This provides a temporary workaround for renamed lz4 methods
157-
hphp/system/php/zlib/ext_zlib.php
157+
hphp/runtime/ext/core/php/zlib/ext_zlib.php
158158

159-
hphp/system/php/member_of.ns.php
159+
hphp/runtime/ext/core/php/member_of.ns.php
160160

161-
hphp/system/php/attributes.php
161+
hphp/runtime/ext/core/php/attributes.php
162162

163-
hphp/system/php/password/password.php
163+
hphp/runtime/ext/core/php/password/password.php

0 commit comments

Comments
 (0)