Index: wp-includes/plugin.php
===================================================================
--- wp-includes/plugin.php	(revision 17511)
+++ wp-includes/plugin.php	(working copy)
@@ -190,15 +190,14 @@
  * @param array $args The arguments supplied to the functions hooked to <tt>$tag</tt>
  * @return mixed The filtered value after all hooked functions are applied to it.
  */
-function apply_filters_ref_array($tag, $args) {
+function apply_filters_ref_array($tag, array $args) {
 	global $wp_filter, $merged_filters, $wp_current_filter;
 
 	$wp_current_filter[] = $tag;
 
 	// Do 'all' actions first
 	if ( isset($wp_filter['all']) ) {
-		$all_args = func_get_args();
-		_wp_call_all_hook($all_args);
+		_wp_call_all_hook( array_merge( (array) $tag, $args ) );
 	}
 
 	if ( !isset($wp_filter[$tag]) ) {
@@ -435,7 +434,7 @@
  * @param array $args The arguments supplied to the functions hooked to <tt>$tag</tt>
  * @return null Will return null if $tag does not exist in $wp_filter array
  */
-function do_action_ref_array($tag, $args) {
+function do_action_ref_array($tag, array $args) {
 	global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter;
 
 	if ( ! isset($wp_actions) )
@@ -450,8 +449,7 @@
 
 	// Do 'all' actions first
 	if ( isset($wp_filter['all']) ) {
-		$all_args = func_get_args();
-		_wp_call_all_hook($all_args);
+		_wp_call_all_hook( array_merge( (array) $tag, $args ) );
 	}
 
 	if ( !isset($wp_filter[$tag]) ) {
