Directly index local table to avoid error check.

This commit is contained in:
Joel Sherrill
2000-07-06 19:09:27 +00:00
parent d895fe8798
commit 3b4413c08f
6 changed files with 20 additions and 24 deletions

View File

@@ -44,7 +44,7 @@ Objects_Control *_Objects_Allocate_by_index(
Objects_Control *the_object;
if ( index && information->maximum >= index ) {
the_object = _Objects_Get_local_object( information, index );
the_object = information->local_table[ index ];
if ( the_object )
return NULL;

View File

@@ -53,26 +53,23 @@ Objects_Control *_Objects_Get(
Objects_Control *the_object;
unsigned32 index;
index = _Objects_Get_index( id );
/* index = _Objects_Get_index( id ); */
index = (unsigned16) id;
if ( information->maximum >= index ) {
_Thread_Disable_dispatch();
if ( (the_object = _Objects_Get_local_object( information, index )) != NULL ) {
if ( (the_object = information->local_table[ index ]) != NULL ) {
*location = OBJECTS_LOCAL;
return( the_object );
return the_object;
}
_Thread_Enable_dispatch();
*location = OBJECTS_ERROR;
return( NULL );
return NULL;
}
*location = OBJECTS_ERROR;
#if defined(RTEMS_MULTIPROCESSING)
_Objects_MP_Is_remote(
information,
_Objects_Build_id( information->the_class, _Objects_Local_node, index ),
location,
&the_object
);
_Objects_MP_Is_remote( information, id, location, &the_object );
return the_object;
#else
return NULL;

View File

@@ -54,7 +54,8 @@ Objects_Control *_Objects_Get_by_index(
if ( information->maximum >= index ) {
_Thread_Disable_dispatch();
if ( (the_object = _Objects_Get_local_object( information, index )) != NULL ) {
the_object = information->local_table[ index ];
if ( the_object ) {
*location = OBJECTS_LOCAL;
return( the_object );
}

View File

@@ -44,7 +44,7 @@ Objects_Control *_Objects_Allocate_by_index(
Objects_Control *the_object;
if ( index && information->maximum >= index ) {
the_object = _Objects_Get_local_object( information, index );
the_object = information->local_table[ index ];
if ( the_object )
return NULL;

View File

@@ -53,26 +53,23 @@ Objects_Control *_Objects_Get(
Objects_Control *the_object;
unsigned32 index;
index = _Objects_Get_index( id );
/* index = _Objects_Get_index( id ); */
index = (unsigned16) id;
if ( information->maximum >= index ) {
_Thread_Disable_dispatch();
if ( (the_object = _Objects_Get_local_object( information, index )) != NULL ) {
if ( (the_object = information->local_table[ index ]) != NULL ) {
*location = OBJECTS_LOCAL;
return( the_object );
return the_object;
}
_Thread_Enable_dispatch();
*location = OBJECTS_ERROR;
return( NULL );
return NULL;
}
*location = OBJECTS_ERROR;
#if defined(RTEMS_MULTIPROCESSING)
_Objects_MP_Is_remote(
information,
_Objects_Build_id( information->the_class, _Objects_Local_node, index ),
location,
&the_object
);
_Objects_MP_Is_remote( information, id, location, &the_object );
return the_object;
#else
return NULL;

View File

@@ -54,7 +54,8 @@ Objects_Control *_Objects_Get_by_index(
if ( information->maximum >= index ) {
_Thread_Disable_dispatch();
if ( (the_object = _Objects_Get_local_object( information, index )) != NULL ) {
the_object = information->local_table[ index ];
if ( the_object ) {
*location = OBJECTS_LOCAL;
return( the_object );
}