From 00f70baa559d938988363d68f416f684760d92a2 Mon Sep 17 00:00:00 2001 From: Stefan Ring Date: Thu, 1 Dec 2011 13:20:59 +0100 Subject: [PATCH] Removed return value from descriptor_params_from_paramtypes. It always returned true. Propagated change along all call paths. * src/native/vm/reflection.cpp: Propagated conditional removal. * src/vm/descriptor.cpp: Removed return value. * src/vm/descriptor.hpp: Likewise. * src/vm/jit/optimizing/bytecode_escape.c: Propagated conditional removal. * src/vm/jit/parse.cpp: Likewise. * src/vm/jit/verify/typecheck-common.cpp: Likewise. * src/vm/jit/verify/typecheck-invoke.inc: Likewise. * src/vm/jit/verify/typecheck-stackbased.cpp: Likewise. * src/vm/loader.cpp: Likewise. * src/vm/method.cpp (method_get_parametercount): Propagated return value handling. * src/vm/resolve.cpp: Likewise. --- src/native/vm/reflection.cpp | 5 +---- src/vm/descriptor.cpp | 8 +------ src/vm/descriptor.hpp | 2 +- src/vm/jit/optimizing/bytecode_escape.c | 25 ++++++++++++++++------ src/vm/jit/parse.cpp | 11 +++------- src/vm/jit/verify/typecheck-common.cpp | 5 ++--- src/vm/jit/verify/typecheck-invoke.inc | 8 +++---- src/vm/jit/verify/typecheck-stackbased.cpp | 5 ++--- src/vm/loader.cpp | 3 +-- src/vm/method.cpp | 14 +++++------- src/vm/resolve.cpp | 17 ++++++--------- 11 files changed, 45 insertions(+), 58 deletions(-) diff --git a/src/native/vm/reflection.cpp b/src/native/vm/reflection.cpp index 0cc2d4144..bf954ca40 100644 --- a/src/native/vm/reflection.cpp +++ b/src/native/vm/reflection.cpp @@ -1,6 +1,6 @@ /* src/native/vm/reflection.cpp - helper functions for java/lang/reflect - Copyright (C) 2007, 2008 + Copyright (C) 1996-2011 CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO This file is part of CACAO. @@ -218,9 +218,6 @@ java_handle_objectarray_t* Reflection::get_parameterannotations(java_handle_byte int32_t numParameters = method_get_parametercount(m); - if (numParameters < 0) - return NULL; - /* get ConstantPool */ java_handle_t* h = native_new_and_init(class_sun_reflect_ConstantPool); diff --git a/src/vm/descriptor.cpp b/src/vm/descriptor.cpp index ec71b8095..de3e44d40 100644 --- a/src/vm/descriptor.cpp +++ b/src/vm/descriptor.cpp @@ -1038,16 +1038,12 @@ descriptor_pool_parse_method_descriptor(descriptor_pool *pool, utf *desc, ACC_STATIC bit is checked. The value ACC_UNDEF is NOT allowed. - RETURN VALUE: - true.............the paramdescs were created successfully - false............an exception has been thrown - POSTCONDITION: md->parms != NULL *******************************************************************************/ -bool descriptor_params_from_paramtypes(methoddesc *md, s4 mflags) +void descriptor_params_from_paramtypes(methoddesc *md, s4 mflags) { typedesc *td; @@ -1112,8 +1108,6 @@ bool descriptor_params_from_paramtypes(methoddesc *md, s4 mflags) md_param_alloc(md); } #endif - - return true; } diff --git a/src/vm/descriptor.hpp b/src/vm/descriptor.hpp index 911ef297d..935f81699 100644 --- a/src/vm/descriptor.hpp +++ b/src/vm/descriptor.hpp @@ -172,7 +172,7 @@ typedesc *descriptor_pool_parse_field_descriptor(descriptor_pool *pool, utf *des methoddesc *descriptor_pool_parse_method_descriptor(descriptor_pool *pool, utf *desc, s4 mflags, constant_classref *thisclass); -bool descriptor_params_from_paramtypes(methoddesc *md, s4 mflags); +void descriptor_params_from_paramtypes(methoddesc *md, s4 mflags); void descriptor_pool_get_sizes(descriptor_pool *pool, u4 *classrefsize, u4 *descsize); diff --git a/src/vm/jit/optimizing/bytecode_escape.c b/src/vm/jit/optimizing/bytecode_escape.c index 722e2f041..0ee6d19b5 100644 --- a/src/vm/jit/optimizing/bytecode_escape.c +++ b/src/vm/jit/optimizing/bytecode_escape.c @@ -1,6 +1,6 @@ /* src/vm/optimizing/bytecode_escape.c - Copyright (C) 2008 + Copyright (C) 1996-2011 CACAOVM - Verein zu Foerderung der freien virtuellen Machine CACAO This file is part of CACAO. @@ -775,12 +775,8 @@ static void bc_escape_analysis_parse_invoke(bc_escape_analysis_t *be, jcode_t *j /* Parse parameters if not done yet. */ - if (md->params == NULL) { - if (! descriptor_params_from_paramtypes(md, opc == BC_invokestatic ? ACC_STATIC : 0)) { - /* TODO */ - assert(0); - } - } + if (md->params == NULL) + descriptor_params_from_paramtypes(md, opc == BC_invokestatic ? ACC_STATIC : 0); /* Try to lazyly resolve method. */ @@ -1867,3 +1863,18 @@ void bc_escape_analysis_perform(methodinfo *m) { } + +/* + * These are local overrides for various environment variables in Emacs. + * Please do not remove this and leave it at the end of the file, where + * Emacs will automagically detect them. + * --------------------------------------------------------------------- + * Local variables: + * mode: c + * indent-tabs-mode: t + * c-basic-offset: 4 + * tab-width: 4 + * End: + * vim:noexpandtab:sw=4:ts=4: + */ + diff --git a/src/vm/jit/parse.cpp b/src/vm/jit/parse.cpp index c894d47d9..84b490cd0 100644 --- a/src/vm/jit/parse.cpp +++ b/src/vm/jit/parse.cpp @@ -1,6 +1,6 @@ /* src/vm/jit/parse.c - parser for JavaVM to intermediate code translation - Copyright (C) 1996-2005, 2006, 2007, 2008, 2009 + Copyright (C) 1996-2011 CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO This file is part of CACAO. @@ -1221,8 +1221,7 @@ jsr_tail: md = fmi->parseddesc.md; if (md->params == NULL) - if (!descriptor_params_from_paramtypes(md, ACC_STATIC)) - return false; + descriptor_params_from_paramtypes(md, ACC_STATIC); goto invoke_method; @@ -1255,8 +1254,7 @@ invoke_nonstatic_method: md = fmi->parseddesc.md; if (md->params == NULL) - if (!descriptor_params_from_paramtypes(md, 0)) - return false; + descriptor_params_from_paramtypes(md, 0); invoke_method: code_unflag_leafmethod(code); @@ -1294,9 +1292,6 @@ invoke_method: (opcode == BC_invokestatic), (opcode == BC_invokespecial)); - if (um == NULL) - return false; - /* store the unresolved_method pointer */ iptr->sx.s23.s3.um = um; diff --git a/src/vm/jit/verify/typecheck-common.cpp b/src/vm/jit/verify/typecheck-common.cpp index 88f38615b..84505db53 100644 --- a/src/vm/jit/verify/typecheck-common.cpp +++ b/src/vm/jit/verify/typecheck-common.cpp @@ -1,6 +1,6 @@ /* src/vm/jit/verify/typecheck-common.c - shared verifier code - Copyright (C) 1996-2005, 2006, 2008 + Copyright (C) 1996-2011 CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO This file is part of CACAO. @@ -494,8 +494,7 @@ bool typecheck_init_locals(verifier_state *state, bool newthis) /* allocate parameter descriptors if necessary */ if (!state->m->parseddesc->params) - if (!descriptor_params_from_paramtypes(state->m->parseddesc,state->m->flags)) - return false; + descriptor_params_from_paramtypes(state->m->parseddesc,state->m->flags); /* pre-initialize variables as TYPE_VOID */ diff --git a/src/vm/jit/verify/typecheck-invoke.inc b/src/vm/jit/verify/typecheck-invoke.inc index 609b45060..47fffd0c0 100644 --- a/src/vm/jit/verify/typecheck-invoke.inc +++ b/src/vm/jit/verify/typecheck-invoke.inc @@ -1,6 +1,6 @@ /* src/vm/jit/verify/typecheck-invoke.inc - type checking for invocations - Copyright (C) 1996-2005, 2006, 2008 + Copyright (C) 1996-2011 CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO This file is part of CACAO. @@ -101,9 +101,9 @@ /* allocate parameters if necessary */ if (!md->params) - if (!descriptor_params_from_paramtypes(md, - (invokestatic) ? ACC_STATIC : ACC_NONE)) - return false; + descriptor_params_from_paramtypes( + md, + (invokestatic) ? ACC_STATIC : ACC_NONE); /* check parameter types */ diff --git a/src/vm/jit/verify/typecheck-stackbased.cpp b/src/vm/jit/verify/typecheck-stackbased.cpp index 6d0566268..67f27350b 100644 --- a/src/vm/jit/verify/typecheck-stackbased.cpp +++ b/src/vm/jit/verify/typecheck-stackbased.cpp @@ -1,6 +1,6 @@ /* src/vm/jit/verify/typecheck-stackbased.c - stack-based verifier - Copyright (C) 1996-2005, 2006, 2007, 2008 + Copyright (C) 1996-2011 CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO This file is part of CACAO. @@ -733,8 +733,7 @@ bool typecheck_stackbased(jitdata *jd) /* allocate parameter descriptors if necessary */ if (!state.m->parseddesc->params) - if (!descriptor_params_from_paramtypes(state.m->parseddesc,state.m->flags)) - return false; + descriptor_params_from_paramtypes(state.m->parseddesc,state.m->flags); /* allocate the stack buffers */ diff --git a/src/vm/loader.cpp b/src/vm/loader.cpp index d8f01e816..0dc53d0c0 100644 --- a/src/vm/loader.cpp +++ b/src/vm/loader.cpp @@ -2137,8 +2137,7 @@ classinfo *load_newly_created_array(classinfo *c, classloader_t *loader) /* parse the descriptor to get the register allocation */ - if (!descriptor_params_from_paramtypes(clonedesc, clone->flags)) - return false; + descriptor_params_from_paramtypes(clonedesc, clone->flags); clone->code = NativeStub::generate(clone, BUILTIN_clone); diff --git a/src/vm/method.cpp b/src/vm/method.cpp index a0c3a4ab2..7adb88a84 100644 --- a/src/vm/method.cpp +++ b/src/vm/method.cpp @@ -1,6 +1,6 @@ /* src/vm/method.cpp - method functions - Copyright (C) 1996-2005, 2006, 2007, 2008 + Copyright (C) 1996-2011 CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO This file is part of CACAO. @@ -722,7 +722,7 @@ methodinfo *method_vftbl_lookup(vftbl_t *vftbl, methodinfo* m) m........the method of which the parameters should be counted RETURN VALUE: - The parameter count or -1 on error. + The parameter count. *******************************************************************************/ @@ -735,11 +735,8 @@ int32_t method_get_parametercount(methodinfo *m) /* is the descriptor fully parsed? */ - if (md->params == NULL) { - if (!descriptor_params_from_paramtypes(md, m->flags)) { - return -1; - } - } + if (md->params == NULL) + descriptor_params_from_paramtypes(md, m->flags); paramcount = md->paramcount; @@ -775,8 +772,7 @@ java_handle_objectarray_t *method_get_parametertypearray(methodinfo *m) /* is the descriptor fully parsed? */ if (m->parseddesc->params == NULL) - if (!descriptor_params_from_paramtypes(md, m->flags)) - return NULL; + descriptor_params_from_paramtypes(md, m->flags); paramtypes = md->paramtypes; paramcount = md->paramcount; diff --git a/src/vm/resolve.cpp b/src/vm/resolve.cpp index 80d8a4a11..a5345af71 100644 --- a/src/vm/resolve.cpp +++ b/src/vm/resolve.cpp @@ -1,6 +1,6 @@ /* src/vm/resolve.cpp - resolving classes/interfaces/fields/methods - Copyright (C) 1996-2005, 2006, 2007, 2008 + Copyright (C) 1996-2011 CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO This file is part of CACAO. @@ -2068,8 +2068,7 @@ resolve_result_t resolve_method_lazy(methodinfo *refmethod, /* have the method params already been parsed? no, do it. */ if (!mi->parseddesc->params) - if (!descriptor_params_from_paramtypes(mi->parseddesc, mi->flags)) - return resolveFailed; + descriptor_params_from_paramtypes(mi->parseddesc, mi->flags); /* cache the result of the resolution */ @@ -2192,8 +2191,7 @@ bool resolve_method(unresolved_method *ref, resolve_mode_t mode, methodinfo **re /* have the method params already been parsed? no, do it. */ if (!mi->parseddesc->params) - if (!descriptor_params_from_paramtypes(mi->parseddesc, mi->flags)) - return false; + descriptor_params_from_paramtypes(mi->parseddesc, mi->flags); /* cache the resolution */ @@ -2653,8 +2651,7 @@ bool resolve_constrain_unresolved_field(unresolved_field *ref, iptr.............the INVOKE* instruction RETURN VALUE: - a pointer to a new unresolved_method struct, or - NULL if an exception has been thrown + a pointer to a new unresolved_method struct *******************************************************************************/ @@ -2679,9 +2676,9 @@ unresolved_method * resolve_create_unresolved_method(classinfo *referer, /* allocate params if necessary */ if (!methodref->parseddesc.md->params) - if (!descriptor_params_from_paramtypes(methodref->parseddesc.md, - (invokestatic) ? ACC_STATIC : ACC_NONE)) - return NULL; + descriptor_params_from_paramtypes( + methodref->parseddesc.md, + (invokestatic) ? ACC_STATIC : ACC_NONE); /* create the data structure */ ref = NEW(unresolved_method); -- 2.25.1