Merge
This commit is contained in:
commit
d69fdc9d5b
hotspot
src/share
tools/MakeDeps
vm
test/compiler/6714694
@ -36,6 +36,7 @@ public class Database {
|
||||
private FileList outerFiles;
|
||||
private FileList indivIncludes;
|
||||
private FileList grandInclude; // the results for the grand include file
|
||||
private HashMap<String,String> platformDepFiles;
|
||||
private long threshold;
|
||||
private int nOuterFiles;
|
||||
private int nPrecompiledFiles;
|
||||
@ -57,6 +58,7 @@ public class Database {
|
||||
outerFiles = new FileList("outerFiles", plat);
|
||||
indivIncludes = new FileList("IndivIncludes", plat);
|
||||
grandInclude = new FileList(plat.getGIFileTemplate().nameOfList(), plat);
|
||||
platformDepFiles = new HashMap<String,String>();
|
||||
|
||||
threshold = t;
|
||||
nOuterFiles = 0;
|
||||
@ -209,6 +211,10 @@ public class Database {
|
||||
FileList p = allFiles.listForFile(includer);
|
||||
p.setPlatformDependentInclude(pdName.dirPreStemSuff());
|
||||
|
||||
// Record the implicit include of this file so that the
|
||||
// dependencies for precompiled headers can mention it.
|
||||
platformDepFiles.put(newIncluder, includer);
|
||||
|
||||
// Add an implicit dependency on platform
|
||||
// specific file for the generic file
|
||||
|
||||
@ -408,6 +414,12 @@ public class Database {
|
||||
for (Iterator iter = grandInclude.iterator(); iter.hasNext(); ) {
|
||||
FileList list = (FileList) iter.next();
|
||||
gd.println(list.getName() + " \\");
|
||||
String platformDep = platformDepFiles.get(list.getName());
|
||||
if (platformDep != null) {
|
||||
// make sure changes to the platform dependent file will
|
||||
// cause regeneration of the pch file.
|
||||
gd.println(platformDep + " \\");
|
||||
}
|
||||
}
|
||||
gd.println();
|
||||
gd.println();
|
||||
|
@ -729,6 +729,7 @@ bool InstructForm::captures_bottom_type() const {
|
||||
!strcmp(_matrule->_rChild->_opType,"DecodeN") ||
|
||||
!strcmp(_matrule->_rChild->_opType,"EncodeP") ||
|
||||
!strcmp(_matrule->_rChild->_opType,"LoadN") ||
|
||||
!strcmp(_matrule->_rChild->_opType,"LoadNKlass") ||
|
||||
!strcmp(_matrule->_rChild->_opType,"CreateEx") || // type of exception
|
||||
!strcmp(_matrule->_rChild->_opType,"CheckCastPP")) ) return true;
|
||||
else if ( is_ideal_load() == Form::idealP ) return true;
|
||||
|
@ -565,10 +565,12 @@ Node* DecodeNNode::Identity(PhaseTransform* phase) {
|
||||
}
|
||||
|
||||
const Type *DecodeNNode::Value( PhaseTransform *phase ) const {
|
||||
if (phase->type( in(1) ) == TypeNarrowOop::NULL_PTR) {
|
||||
return TypePtr::NULL_PTR;
|
||||
}
|
||||
return bottom_type();
|
||||
const Type *t = phase->type( in(1) );
|
||||
if (t == Type::TOP) return Type::TOP;
|
||||
if (t == TypeNarrowOop::NULL_PTR) return TypePtr::NULL_PTR;
|
||||
|
||||
assert(t->isa_narrowoop(), "only narrowoop here");
|
||||
return t->is_narrowoop()->make_oopptr();
|
||||
}
|
||||
|
||||
Node* DecodeNNode::decode(PhaseTransform* phase, Node* value) {
|
||||
@ -599,10 +601,12 @@ Node* EncodePNode::Identity(PhaseTransform* phase) {
|
||||
}
|
||||
|
||||
const Type *EncodePNode::Value( PhaseTransform *phase ) const {
|
||||
if (phase->type( in(1) ) == TypePtr::NULL_PTR) {
|
||||
return TypeNarrowOop::NULL_PTR;
|
||||
}
|
||||
return bottom_type();
|
||||
const Type *t = phase->type( in(1) );
|
||||
if (t == Type::TOP) return Type::TOP;
|
||||
if (t == TypePtr::NULL_PTR) return TypeNarrowOop::NULL_PTR;
|
||||
|
||||
assert(t->isa_oopptr(), "only oopptr here");
|
||||
return t->is_oopptr()->make_narrowoop();
|
||||
}
|
||||
|
||||
Node* EncodePNode::encode(PhaseTransform* phase, Node* value) {
|
||||
|
@ -549,10 +549,18 @@ class Opaque1Node : public Node {
|
||||
virtual uint hash() const ; // { return NO_HASH; }
|
||||
virtual uint cmp( const Node &n ) const;
|
||||
public:
|
||||
Opaque1Node( Node *n ) : Node(0,n) {}
|
||||
Opaque1Node( Compile* C, Node *n ) : Node(0,n) {
|
||||
// Put it on the Macro nodes list to removed during macro nodes expansion.
|
||||
init_flags(Flag_is_macro);
|
||||
C->add_macro_node(this);
|
||||
}
|
||||
// Special version for the pre-loop to hold the original loop limit
|
||||
// which is consumed by range check elimination.
|
||||
Opaque1Node( Node *n, Node* orig_limit ) : Node(0,n,orig_limit) {}
|
||||
Opaque1Node( Compile* C, Node *n, Node* orig_limit ) : Node(0,n,orig_limit) {
|
||||
// Put it on the Macro nodes list to removed during macro nodes expansion.
|
||||
init_flags(Flag_is_macro);
|
||||
C->add_macro_node(this);
|
||||
}
|
||||
Node* original_loop_limit() { return req()==3 ? in(2) : NULL; }
|
||||
virtual int Opcode() const;
|
||||
virtual const Type *bottom_type() const { return TypeInt::INT; }
|
||||
@ -572,7 +580,11 @@ class Opaque2Node : public Node {
|
||||
virtual uint hash() const ; // { return NO_HASH; }
|
||||
virtual uint cmp( const Node &n ) const;
|
||||
public:
|
||||
Opaque2Node( Node *n ) : Node(0,n) {}
|
||||
Opaque2Node( Compile* C, Node *n ) : Node(0,n) {
|
||||
// Put it on the Macro nodes list to removed during macro nodes expansion.
|
||||
init_flags(Flag_is_macro);
|
||||
C->add_macro_node(this);
|
||||
}
|
||||
virtual int Opcode() const;
|
||||
virtual const Type *bottom_type() const { return TypeInt::INT; }
|
||||
};
|
||||
|
@ -307,7 +307,6 @@ static Block* raise_LCA_above_marks(Block* LCA, node_idx_t mark,
|
||||
|
||||
// Test and set the visited bit.
|
||||
if (mid->raise_LCA_visited() == mark) continue; // already visited
|
||||
mid->set_raise_LCA_visited(mark);
|
||||
|
||||
// Don't process the current LCA, otherwise the search may terminate early
|
||||
if (mid != LCA && mid->raise_LCA_mark() == mark) {
|
||||
@ -317,6 +316,8 @@ static Block* raise_LCA_above_marks(Block* LCA, node_idx_t mark,
|
||||
assert(early->dominates(LCA), "early is high enough");
|
||||
// Resume searching at that point, skipping intermediate levels.
|
||||
worklist.push(LCA);
|
||||
if (LCA == mid)
|
||||
continue; // Don't mark as visited to avoid early termination.
|
||||
} else {
|
||||
// Keep searching through this block's predecessors.
|
||||
for (uint j = 1, jmax = mid->num_preds(); j < jmax; j++) {
|
||||
@ -324,6 +325,7 @@ static Block* raise_LCA_above_marks(Block* LCA, node_idx_t mark,
|
||||
worklist.push(mid_parent);
|
||||
}
|
||||
}
|
||||
mid->set_raise_LCA_visited(mark);
|
||||
}
|
||||
return LCA;
|
||||
}
|
||||
|
@ -690,7 +690,7 @@ void PhaseIdealLoop::insert_pre_post_loops( IdealLoopTree *loop, Node_List &old_
|
||||
// (the main-loop trip-counter exit value) because we will be changing
|
||||
// the exit value (via unrolling) so we cannot constant-fold away the zero
|
||||
// trip guard until all unrolling is done.
|
||||
Node *zer_opaq = new (C, 2) Opaque1Node(incr);
|
||||
Node *zer_opaq = new (C, 2) Opaque1Node(C, incr);
|
||||
Node *zer_cmp = new (C, 3) CmpINode( zer_opaq, limit );
|
||||
Node *zer_bol = new (C, 2) BoolNode( zer_cmp, b_test );
|
||||
register_new_node( zer_opaq, new_main_exit );
|
||||
@ -760,7 +760,7 @@ void PhaseIdealLoop::insert_pre_post_loops( IdealLoopTree *loop, Node_List &old_
|
||||
// pre-loop, the main-loop may not execute at all. Later in life this
|
||||
// zero-trip guard will become the minimum-trip guard when we unroll
|
||||
// the main-loop.
|
||||
Node *min_opaq = new (C, 2) Opaque1Node(limit);
|
||||
Node *min_opaq = new (C, 2) Opaque1Node(C, limit);
|
||||
Node *min_cmp = new (C, 3) CmpINode( pre_incr, min_opaq );
|
||||
Node *min_bol = new (C, 2) BoolNode( min_cmp, b_test );
|
||||
register_new_node( min_opaq, new_pre_exit );
|
||||
@ -810,7 +810,7 @@ void PhaseIdealLoop::insert_pre_post_loops( IdealLoopTree *loop, Node_List &old_
|
||||
|
||||
// Save the original loop limit in this Opaque1 node for
|
||||
// use by range check elimination.
|
||||
Node *pre_opaq = new (C, 3) Opaque1Node(pre_limit, limit);
|
||||
Node *pre_opaq = new (C, 3) Opaque1Node(C, pre_limit, limit);
|
||||
|
||||
register_new_node( pre_limit, pre_head->in(0) );
|
||||
register_new_node( pre_opaq , pre_head->in(0) );
|
||||
|
@ -205,7 +205,7 @@ ProjNode* PhaseIdealLoop::create_slow_version_of_loop(IdealLoopTree *loop,
|
||||
|
||||
Node *cont = _igvn.intcon(1);
|
||||
set_ctrl(cont, C->root());
|
||||
Node* opq = new (C, 2) Opaque1Node(cont);
|
||||
Node* opq = new (C, 2) Opaque1Node(C, cont);
|
||||
register_node(opq, outer_loop, entry, dom_depth(entry));
|
||||
Node *bol = new (C, 2) Conv2BNode(opq);
|
||||
register_node(bol, outer_loop, entry, dom_depth(entry));
|
||||
|
@ -2685,7 +2685,7 @@ void PhaseIdealLoop::reorg_offsets( IdealLoopTree *loop ) {
|
||||
if( !cle->stride_is_con() ) continue;
|
||||
// Hit! Refactor use to use the post-incremented tripcounter.
|
||||
// Compute a post-increment tripcounter.
|
||||
Node *opaq = new (C, 2) Opaque2Node( cle->incr() );
|
||||
Node *opaq = new (C, 2) Opaque2Node( C, cle->incr() );
|
||||
register_new_node( opaq, u_ctrl );
|
||||
Node *neg_stride = _igvn.intcon(-cle->stride_con());
|
||||
set_ctrl(neg_stride, C->root());
|
||||
|
@ -262,14 +262,16 @@ const Node* MachNode::get_base_and_disp(intptr_t &offset, const TypePtr* &adr_ty
|
||||
// Now we have collected every part of the ADLC MEMORY_INTER.
|
||||
// See if it adds up to a base + offset.
|
||||
if (index != NULL) {
|
||||
if (!index->is_Con()) {
|
||||
const TypeNarrowOop* narrowoop = index->bottom_type()->isa_narrowoop();
|
||||
if (narrowoop != NULL) {
|
||||
// Memory references through narrow oops have a
|
||||
// funny base so grab the type from the index.
|
||||
adr_type = narrowoop->make_oopptr();
|
||||
return NULL;
|
||||
}
|
||||
const TypeNarrowOop* narrowoop = index->bottom_type()->isa_narrowoop();
|
||||
if (narrowoop != NULL) { // EncodeN, LoadN, LoadConN, LoadNKlass.
|
||||
// Memory references through narrow oops have a
|
||||
// funny base so grab the type from the index:
|
||||
// [R12 + narrow_oop_reg<<3 + offset]
|
||||
assert(base == NULL, "Memory references through narrow oops have no base");
|
||||
offset = disp;
|
||||
adr_type = narrowoop->make_oopptr()->add_offset(offset);
|
||||
return NULL;
|
||||
} else if (!index->is_Con()) {
|
||||
disp = Type::OffsetBot;
|
||||
} else if (disp != Type::OffsetBot) {
|
||||
const TypeX* ti = index->bottom_type()->isa_intptr_t();
|
||||
|
@ -1674,7 +1674,14 @@ bool PhaseMacroExpand::expand_macro_nodes() {
|
||||
success = eliminate_locking_node(n->as_AbstractLock());
|
||||
break;
|
||||
default:
|
||||
assert(false, "unknown node type in macro list");
|
||||
if (n->Opcode() == Op_Opaque1 || n->Opcode() == Op_Opaque2) {
|
||||
_igvn.add_users_to_worklist(n);
|
||||
_igvn.hash_delete(n);
|
||||
_igvn.subsume_node(n, n->in(1));
|
||||
success = true;
|
||||
} else {
|
||||
assert(false, "unknown node type in macro list");
|
||||
}
|
||||
}
|
||||
assert(success == (C->macro_count() < old_macro_count), "elimination reduces macro count");
|
||||
progress = progress || success;
|
||||
|
@ -82,6 +82,7 @@ Matcher::Matcher( Node_List &proj_list ) :
|
||||
idealreg2debugmask[Op_RegF] = NULL;
|
||||
idealreg2debugmask[Op_RegD] = NULL;
|
||||
idealreg2debugmask[Op_RegP] = NULL;
|
||||
debug_only(_mem_node = NULL;) // Ideal memory node consumed by mach node
|
||||
}
|
||||
|
||||
//------------------------------warp_incoming_stk_arg------------------------
|
||||
@ -1153,7 +1154,10 @@ MachNode *Matcher::match_tree( const Node *n ) {
|
||||
|
||||
// StoreNodes require their Memory input to match any LoadNodes
|
||||
Node *mem = n->is_Store() ? n->in(MemNode::Memory) : (Node*)1 ;
|
||||
|
||||
#ifdef ASSERT
|
||||
Node* save_mem_node = _mem_node;
|
||||
_mem_node = n->is_Store() ? (Node*)n : NULL;
|
||||
#endif
|
||||
// State object for root node of match tree
|
||||
// Allocate it on _states_arena - stack allocation can cause stack overflow.
|
||||
State *s = new (&_states_arena) State;
|
||||
@ -1205,6 +1209,7 @@ MachNode *Matcher::match_tree( const Node *n ) {
|
||||
}
|
||||
}
|
||||
|
||||
debug_only( _mem_node = save_mem_node; )
|
||||
return m;
|
||||
}
|
||||
|
||||
@ -1445,8 +1450,30 @@ MachNode *Matcher::ReduceInst( State *s, int rule, Node *&mem ) {
|
||||
}
|
||||
|
||||
// If a Memory was used, insert a Memory edge
|
||||
if( mem != (Node*)1 )
|
||||
if( mem != (Node*)1 ) {
|
||||
mach->ins_req(MemNode::Memory,mem);
|
||||
#ifdef ASSERT
|
||||
// Verify adr type after matching memory operation
|
||||
const MachOper* oper = mach->memory_operand();
|
||||
if (oper != NULL && oper != (MachOper*)-1 &&
|
||||
mach->adr_type() != TypeRawPtr::BOTTOM) { // non-direct addressing mode
|
||||
// It has a unique memory operand. Find corresponding ideal mem node.
|
||||
Node* m = NULL;
|
||||
if (leaf->is_Mem()) {
|
||||
m = leaf;
|
||||
} else {
|
||||
m = _mem_node;
|
||||
assert(m != NULL && m->is_Mem(), "expecting memory node");
|
||||
}
|
||||
if (m->adr_type() != mach->adr_type()) {
|
||||
m->dump();
|
||||
tty->print_cr("mach:");
|
||||
mach->dump(1);
|
||||
}
|
||||
assert(m->adr_type() == mach->adr_type(), "matcher should not change adr type");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// If the _leaf is an AddP, insert the base edge
|
||||
if( leaf->is_AddP() )
|
||||
@ -1510,7 +1537,9 @@ void Matcher::ReduceInst_Chain_Rule( State *s, int rule, Node *&mem, MachNode *m
|
||||
assert( newrule >= _LAST_MACH_OPER, "Do NOT chain from internal operand");
|
||||
mach->_opnds[1] = s->MachOperGenerator( _reduceOp[catch_op], C );
|
||||
Node *mem1 = (Node*)1;
|
||||
debug_only(Node *save_mem_node = _mem_node;)
|
||||
mach->add_req( ReduceInst(s, newrule, mem1) );
|
||||
debug_only(_mem_node = save_mem_node;)
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -1520,6 +1549,7 @@ uint Matcher::ReduceInst_Interior( State *s, int rule, Node *&mem, MachNode *mac
|
||||
if( s->_leaf->is_Load() ) {
|
||||
Node *mem2 = s->_leaf->in(MemNode::Memory);
|
||||
assert( mem == (Node*)1 || mem == mem2, "multiple Memories being matched at once?" );
|
||||
debug_only( if( mem == (Node*)1 ) _mem_node = s->_leaf;)
|
||||
mem = mem2;
|
||||
}
|
||||
if( s->_leaf->in(0) != NULL && s->_leaf->req() > 1) {
|
||||
@ -1563,7 +1593,9 @@ uint Matcher::ReduceInst_Interior( State *s, int rule, Node *&mem, MachNode *mac
|
||||
// --> ReduceInst( newrule )
|
||||
mach->_opnds[num_opnds++] = s->MachOperGenerator( _reduceOp[catch_op], C );
|
||||
Node *mem1 = (Node*)1;
|
||||
debug_only(Node *save_mem_node = _mem_node;)
|
||||
mach->add_req( ReduceInst( newstate, newrule, mem1 ) );
|
||||
debug_only(_mem_node = save_mem_node;)
|
||||
}
|
||||
}
|
||||
assert( mach->_opnds[num_opnds-1], "" );
|
||||
@ -1594,6 +1626,7 @@ void Matcher::ReduceOper( State *s, int rule, Node *&mem, MachNode *mach ) {
|
||||
if( s->_leaf->is_Load() ) {
|
||||
assert( mem == (Node*)1, "multiple Memories being matched at once?" );
|
||||
mem = s->_leaf->in(MemNode::Memory);
|
||||
debug_only(_mem_node = s->_leaf;)
|
||||
}
|
||||
if( s->_leaf->in(0) && s->_leaf->req() > 1) {
|
||||
if( !mach->in(0) )
|
||||
@ -1618,7 +1651,9 @@ void Matcher::ReduceOper( State *s, int rule, Node *&mem, MachNode *mach ) {
|
||||
// Reduce the instruction, and add a direct pointer from this
|
||||
// machine instruction to the newly reduced one.
|
||||
Node *mem1 = (Node*)1;
|
||||
debug_only(Node *save_mem_node = _mem_node;)
|
||||
mach->add_req( ReduceInst( kid, newrule, mem1 ) );
|
||||
debug_only(_mem_node = save_mem_node;)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -104,6 +104,8 @@ class Matcher : public PhaseTransform {
|
||||
#ifdef ASSERT
|
||||
// Make sure only new nodes are reachable from this node
|
||||
void verify_new_nodes_only(Node* root);
|
||||
|
||||
Node* _mem_node; // Ideal memory node consumed by mach node
|
||||
#endif
|
||||
|
||||
public:
|
||||
|
@ -45,10 +45,13 @@ Node *SubNode::Identity( PhaseTransform *phase ) {
|
||||
return in(2)->in(2);
|
||||
}
|
||||
|
||||
// Convert "(X+Y) - Y" into X
|
||||
// Convert "(X+Y) - Y" into X and "(X+Y) - X" into Y
|
||||
if( in(1)->Opcode() == Op_AddI ) {
|
||||
if( phase->eqv(in(1)->in(2),in(2)) )
|
||||
return in(1)->in(1);
|
||||
if (phase->eqv(in(1)->in(1),in(2)))
|
||||
return in(1)->in(2);
|
||||
|
||||
// Also catch: "(X + Opaque2(Y)) - Y". In this case, 'Y' is a loop-varying
|
||||
// trip counter and X is likely to be loop-invariant (that's how O2 Nodes
|
||||
// are originally used, although the optimizer sometimes jiggers things).
|
||||
|
820
hotspot/test/compiler/6714694/Tester.java
Normal file
820
hotspot/test/compiler/6714694/Tester.java
Normal file
@ -0,0 +1,820 @@
|
||||
/*
|
||||
* Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
* CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
* have any questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6714694
|
||||
* @summary assertion in 64bit server vm (store->find_edge(load) != -1,"missing precedence edge") with COOPs
|
||||
* @run main/othervm -Xcomp Tester
|
||||
*/
|
||||
|
||||
/* Complexity upper bound: 38602 ops */
|
||||
|
||||
interface Tester_Interface_0 {
|
||||
}
|
||||
|
||||
|
||||
abstract class Tester_Class_1 implements Tester_Interface_0 {
|
||||
static int var_1 = (false ? (short)'b' : (short)-2.4256387E38F) | (byte)('g' * -7.660532860983624E307);
|
||||
float var_2;
|
||||
byte var_3;
|
||||
static boolean var_4 = true;
|
||||
double var_5 = 8.818325751338691E307;
|
||||
Object var_6;
|
||||
static short var_7;
|
||||
final static char var_8 = 'x';
|
||||
final static float var_9 = 2.2030989E38F;
|
||||
|
||||
|
||||
public Tester_Class_1()
|
||||
{
|
||||
var_6 = (var_6 = (var_6 = "xkx"));
|
||||
switch (var_7 = (var_3 = (byte)var_5))
|
||||
{
|
||||
case 113:
|
||||
|
||||
case 114:
|
||||
Object var_12;
|
||||
var_4 = 4.9121917E37F < 1957795258;
|
||||
var_4 |= (var_4 ^= !var_4) ^ (var_4 |= var_4);
|
||||
var_3 = (var_3 = (var_3 = (byte)+6010964363045275648L));
|
||||
break;
|
||||
|
||||
case 102:
|
||||
|
||||
}
|
||||
final float var_13 = 1.2443151E38F;
|
||||
var_3 = (byte)(var_1 |= (var_7 = (var_3 = (byte)var_5)));
|
||||
var_2 = (long)(var_7 = (var_3 = (byte)var_8)) - (var_7 = (byte)386742565);
|
||||
var_4 &= var_4;
|
||||
var_2 = (long)((var_3 = (var_3 = (byte)var_8)) / ((var_4 ^= (var_5 /= var_9) <= (var_1 &= var_1)) ? (var_7 = (short)6872886933545336832L) : (byte)var_8));
|
||||
var_6 = "uqflj";
|
||||
{
|
||||
switch (((new String[var_3 = (byte)var_5])[var_3 = (byte)8097442298927900672L]).charAt(1540148550))
|
||||
{
|
||||
case 'l':
|
||||
|
||||
}
|
||||
var_2 = (var_7 = (byte)2.9859440663042714E307);
|
||||
{
|
||||
Object var_14;
|
||||
}
|
||||
var_3 = (var_3 = (var_3 = (byte)3.3634427195550136E307));
|
||||
var_5 += '_';
|
||||
}
|
||||
var_6 = "tempfdjen";
|
||||
var_3 = (((var_4 ^= new String("jmwiwmk").endsWith("rtlstmnuo")) ? !true : !false) ? true : (var_4 = false)) ? (var_3 = (byte)var_5) : (var_3 = (var_3 = (byte)var_5));
|
||||
var_4 ^= false;
|
||||
if (1.6435436003809043E307 != var_9)
|
||||
{
|
||||
boolean var_15 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_4 = false;
|
||||
}
|
||||
{
|
||||
Object var_16 = ((new Tester_Class_1[(byte)71832757][(byte)1.0694914E38F])[(byte)1315653071][(byte)(var_7 = (var_7 = (byte)var_8))]).var_6 = new int[(byte)var_8][var_3 = (byte)1933656747];
|
||||
}
|
||||
var_7 = (var_4 = var_4) ? (short)2.756967E37F : (short)'K';
|
||||
byte var_17;
|
||||
}
|
||||
|
||||
|
||||
|
||||
abstract public Tester_Interface_0 func_0(double[][] arg_0, final Object arg_1);
|
||||
|
||||
|
||||
final double func_0(final float arg_0, final short arg_1, final boolean arg_2)
|
||||
{
|
||||
var_6 = (var_6 = "lmshbl");
|
||||
var_3 = (var_3 = (new byte[(new byte[(byte)arg_1])[var_3 = (byte)arg_0]])[var_3 = (var_3 = (byte)(var_1 >>>= var_1))]);
|
||||
var_5 %= (var_3 = (byte)1909375874);
|
||||
var_1 /= (char)(short)'i';
|
||||
{
|
||||
"vgar".length();
|
||||
}
|
||||
int var_10;
|
||||
{
|
||||
var_3 = (var_4 &= true) ? (byte)(var_5 *= 6375499657746206720L) : (byte)+ (var_5 /= var_9);
|
||||
var_7 = (var_4 = true) ? (byte)(false ? (short)749593632 : (byte)8.692758043260743E307) : (byte)var_1;
|
||||
((new Tester_Class_1[(byte)1.2890904018345944E308])[(byte)var_1]).var_3 = (var_3 = (byte)arg_0);
|
||||
var_4 = true ^ var_4;
|
||||
}
|
||||
{
|
||||
var_1 ^= (var_3 = (var_3 = (var_3 = (byte)'U')));
|
||||
}
|
||||
var_3 = (var_3 = (var_3 = (var_3 = (byte)arg_1)));
|
||||
char var_11;
|
||||
var_1 += (var_2 = (var_7 = arg_1));
|
||||
{
|
||||
var_7 = (var_7 = arg_1);
|
||||
}
|
||||
var_7 = arg_1;
|
||||
var_6 = (new char[(byte)1985094111797788672L][var_3 = (byte)3112604683090268160L])[var_3 = (byte)~ (var_3 = (byte)(var_5 += var_1))];
|
||||
var_3 = (var_3 = (var_3 = (var_3 = (byte)3694858000202921984L)));
|
||||
var_1 /= ~ ((byte)1311538336);
|
||||
(((var_4 |= arg_2 ? !true && arg_2 : false) ? arg_2 : arg_2) ? "iih".substring(~ (var_3 = (byte)3.5401308E37F), 'g' * arg_1) : "gynskmvoj").trim();
|
||||
var_3 = (var_3 = arg_2 ? (byte)+ ~5247392660383928320L : (byte)8392160279007184896L);
|
||||
var_3 = (var_3 = (var_3 = (byte)var_8));
|
||||
return (var_5 += 7.157559E37F) + (var_11 = 'V');
|
||||
}
|
||||
|
||||
public String toString()
|
||||
{
|
||||
String result = "[\n";
|
||||
result += "Tester_Class_1.var_7 = "; result += Tester.Printer.print(var_7);
|
||||
result += "\n";
|
||||
result += "Tester_Class_1.var_3 = "; result += Tester.Printer.print(var_3);
|
||||
result += "\n";
|
||||
result += "Tester_Class_1.var_8 = "; result += Tester.Printer.print(var_8);
|
||||
result += "\n";
|
||||
result += "Tester_Class_1.var_1 = "; result += Tester.Printer.print(var_1);
|
||||
result += "\n";
|
||||
result += "Tester_Class_1.var_4 = "; result += Tester.Printer.print(var_4);
|
||||
result += "\n";
|
||||
result += "Tester_Class_1.var_5 = "; result += Tester.Printer.print(var_5);
|
||||
result += "\n";
|
||||
result += "Tester_Class_1.var_2 = "; result += Tester.Printer.print(var_2);
|
||||
result += "\n";
|
||||
result += "Tester_Class_1.var_9 = "; result += Tester.Printer.print(var_9);
|
||||
result += "\n";
|
||||
result += "Tester_Class_1.var_6 = "; result += Tester.Printer.print(var_6);
|
||||
result += "";
|
||||
result += "\n]";
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class Tester_Class_2 extends Tester_Class_1 implements Tester_Interface_0 {
|
||||
final static String var_18 = false | Tester_Class_1.var_4 | (Tester_Class_1.var_4 &= (Tester_Class_1.var_4 |= (Tester_Class_1.var_4 = var_4))) ? "tbobyhqne" : "";
|
||||
static String var_19 = "acxfj";
|
||||
|
||||
|
||||
public Tester_Class_2()
|
||||
{
|
||||
Tester_Class_1.var_4 = !Tester_Class_1.var_4;
|
||||
var_1++;
|
||||
var_2 = (byte)2.4009747E38F;
|
||||
new String();
|
||||
var_6 = (var_19 = "hsshyw");
|
||||
var_19 = var_19;
|
||||
}
|
||||
|
||||
|
||||
public Tester_Interface_0 func_0(double[][] arg_0, final Object arg_1)
|
||||
{
|
||||
var_5 = 4.0352057E37F;
|
||||
(((false && ! ((Tester_Class_1.var_4 |= !true) ^ (Tester_Class_1.var_4 ^ false))) ^ (var_4 &= true) ? var_4 : (var_4 ^= true)) ? "spskwj" : "xcqianm").length();
|
||||
((var_4 |= (Tester_Class_1.var_4 ^= Tester_Class_1.var_4) ? (Tester_Class_1.var_4 &= false) : (Tester_Class_1.var_4 |= Tester_Class_1.var_4)) ? (Tester_Class_1)(var_6 = new double[(byte)6.628342687109622E307]) : (Tester_Class_1)arg_1).var_6 = arg_0;
|
||||
var_7 = (short)(byte)(short)8775325134193811456L;
|
||||
var_4 ^= (var_4 &= !false);
|
||||
((Tester_Class_1)arg_1).var_3 = (var_3 = (byte)(var_5 %= 8.933448E37F));
|
||||
Tester_Class_1 var_20 = Tester_Class_1.var_4 ? (Tester_Class_1)arg_1 : (Tester_Class_1)arg_1;
|
||||
{
|
||||
var_19.endsWith(var_19);
|
||||
var_6 = var_20;
|
||||
(var_20 = (var_20 = var_20)).var_2 = (short)('p' <= 1986176769 % (int)2242661265280256000L % 2664882044098145280L ? ~ (var_3 = (byte)1.1892553447967157E308) & ~1806805036550279168L : (var_7 = (byte)var_8));
|
||||
}
|
||||
final boolean var_21 = Tester_Class_1.var_4;
|
||||
var_20.var_3 = (var_3 = (var_20.var_3 = (byte)'t'));
|
||||
boolean var_22 = true;
|
||||
Tester_Class_1.var_4 |= (var_4 = var_21);
|
||||
var_19 = "ocn";
|
||||
var_19 = var_19;
|
||||
var_1 *= Tester_Class_1.var_8;
|
||||
var_20 = var_22 ? var_20 : var_20;
|
||||
var_7 = var_21 ? (byte)+ ((byte)var_1) : ((var_20 = (var_20 = var_20)).var_3 = (var_3 = (var_3 = (byte)'L')));
|
||||
return true ? (var_20 = var_20) : (new Tester_Interface_0[(byte)5618282952859970560L])[var_3 = (byte)Tester_Class_1.var_8];
|
||||
}
|
||||
|
||||
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
Tester_Class_1.var_7 = (var_7 = (((Tester_Class_1)obj).var_3 = (byte)var_9));
|
||||
{
|
||||
final Tester_Class_1 var_23 = (Tester_Class_1)obj;
|
||||
}
|
||||
++Tester_Class_1.var_1;
|
||||
var_5 = (Tester_Class_1.var_7 = var_4 ? (Tester_Class_1.var_7 = (((Tester_Class_1)obj).var_3 = (byte)Tester_Class_1.var_8)) : (var_7 = (byte)var_9));
|
||||
((Tester_Class_1)obj).var_6 = var_18.replace(Tester_Class_1.var_8, Tester_Class_1.var_8);
|
||||
((new Tester_Class_1[((Tester_Class_1)(obj = new char[var_3 = (byte)Tester_Class_1.var_8])).var_3 = (((Tester_Class_1)obj).var_3 = (byte)(var_1 %= 787509251458841600L))])[(new byte[var_3 = (byte)Tester_Class_1.var_1])[((Tester_Class_1)obj).var_3 = (byte)1.2382548E38F]]).var_3 = (((Tester_Class_1)obj).var_3 = var_4 ? (byte)Tester_Class_1.var_8 : (byte)4.1085164E36F);
|
||||
var_1 &= var_8;
|
||||
var_7 = var_4 ? (var_3 = (byte)var_8) : (byte)var_5;
|
||||
var_19 = var_18;
|
||||
("o".compareTo("kwlfk") > (var_2 = 5289241662482067456L) ? (Tester_Class_1)obj : (Tester_Class_1)obj).var_5 -= (((Tester_Class_1)obj).var_3 = (((Tester_Class_1)obj).var_3 = (((Tester_Class_1)obj).var_3 = (byte)var_9)));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public String toString()
|
||||
{
|
||||
String result = "[\n";
|
||||
result += "Tester_Class_2.var_7 = "; result += Tester.Printer.print(var_7);
|
||||
result += "\n";
|
||||
result += "Tester_Class_2.var_8 = "; result += Tester.Printer.print(var_8);
|
||||
result += "\n";
|
||||
result += "Tester_Class_2.var_3 = "; result += Tester.Printer.print(var_3);
|
||||
result += "\n";
|
||||
result += "Tester_Class_2.var_18 = "; result += Tester.Printer.print(var_18);
|
||||
result += "\n";
|
||||
result += "Tester_Class_2.var_19 = "; result += Tester.Printer.print(var_19);
|
||||
result += "\n";
|
||||
result += "Tester_Class_2.var_1 = "; result += Tester.Printer.print(var_1);
|
||||
result += "\n";
|
||||
result += "Tester_Class_2.var_4 = "; result += Tester.Printer.print(var_4);
|
||||
result += "\n";
|
||||
result += "Tester_Class_2.var_5 = "; result += Tester.Printer.print(var_5);
|
||||
result += "\n";
|
||||
result += "Tester_Class_2.var_2 = "; result += Tester.Printer.print(var_2);
|
||||
result += "\n";
|
||||
result += "Tester_Class_2.var_9 = "; result += Tester.Printer.print(var_9);
|
||||
result += "\n";
|
||||
result += "Tester_Class_2.var_6 = "; result += Tester.Printer.print(var_6);
|
||||
result += "";
|
||||
result += "\n]";
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class Tester_Class_3 extends Tester_Class_2 implements Tester_Interface_0 {
|
||||
long var_24 = 9026266006808413184L;
|
||||
char var_25;
|
||||
String var_26 = ((var_4 ^= Tester_Class_1.var_4) ? (!true ? false : (var_4 |= true)) : (Tester_Class_2.var_4 ^= var_4)) ? "dkmhvhl" : (var_19 = (Tester_Class_2.var_19 = (Tester_Class_2.var_19 = var_18)));
|
||||
static Tester_Class_2 var_27;
|
||||
short var_28 = Tester_Class_2.var_7 = (short)(Tester_Class_2.var_1 &= (var_3 = (var_3 = (var_3 = (byte)Tester_Class_2.var_9))));
|
||||
static boolean var_29 = false;
|
||||
static Object[][] var_30;
|
||||
int var_31 = 750583762;
|
||||
Tester_Class_2 var_32;
|
||||
final static long var_33 = 3050784555932008448L;
|
||||
|
||||
|
||||
public Tester_Class_3()
|
||||
{
|
||||
byte[] var_34;
|
||||
var_4 &= (Tester_Class_1.var_4 = true);
|
||||
Tester_Class_1.var_1--;
|
||||
switch (var_28 >>= ~ ((byte)var_28))
|
||||
{
|
||||
case 9:
|
||||
|
||||
case 26:
|
||||
Tester_Class_1.var_4 ^= Tester_Class_1.var_4;
|
||||
(Tester_Class_2.var_19 = "pwtic").indexOf(Tester_Class_2.var_18);
|
||||
var_26.indexOf(var_19);
|
||||
((Tester_Class_1)(new Tester_Interface_0[(byte)var_5])[var_24 <= var_31 ? (byte)'^' : (byte)var_24]).var_2 = 5611775846881101824L;
|
||||
var_29 |= (Tester_Class_2.var_4 ^= var_29);
|
||||
Tester_Class_2 var_35;
|
||||
var_24 <<= (var_31 >>= (var_25 = var_8));
|
||||
break;
|
||||
|
||||
case 28:
|
||||
|
||||
}
|
||||
new String();
|
||||
var_5 %= (var_25 = 'n');
|
||||
((Tester_Class_2)(Tester_Class_1)(((Tester_Class_1)(var_6 = Tester_Class_2.var_18)).var_6 = (var_26 = ""))).var_2 = var_31;
|
||||
--var_1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String toString()
|
||||
{
|
||||
String result = "[\n";
|
||||
result += "Tester_Class_3.var_8 = "; result += Tester.Printer.print(var_8);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_25 = "; result += Tester.Printer.print(var_25);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_1 = "; result += Tester.Printer.print(var_1);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_31 = "; result += Tester.Printer.print(var_31);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_30 = "; result += Tester.Printer.print(var_30);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_24 = "; result += Tester.Printer.print(var_24);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_33 = "; result += Tester.Printer.print(var_33);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_5 = "; result += Tester.Printer.print(var_5);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_2 = "; result += Tester.Printer.print(var_2);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_9 = "; result += Tester.Printer.print(var_9);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_7 = "; result += Tester.Printer.print(var_7);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_28 = "; result += Tester.Printer.print(var_28);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_3 = "; result += Tester.Printer.print(var_3);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_18 = "; result += Tester.Printer.print(var_18);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_19 = "; result += Tester.Printer.print(var_19);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_26 = "; result += Tester.Printer.print(var_26);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_4 = "; result += Tester.Printer.print(var_4);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_29 = "; result += Tester.Printer.print(var_29);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_27 = "; result += Tester.Printer.print(var_27);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_32 = "; result += Tester.Printer.print(var_32);
|
||||
result += "\n";
|
||||
result += "Tester_Class_3.var_6 = "; result += Tester.Printer.print(var_6);
|
||||
result += "";
|
||||
result += "\n]";
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public class Tester {
|
||||
static double var_36 = 2.679028326789642E307;
|
||||
float var_37;
|
||||
String var_38 = Tester_Class_2.var_18;
|
||||
static Tester_Interface_0 var_39;
|
||||
static char var_40 = 'D';
|
||||
Tester_Class_1 var_41;
|
||||
static int var_42;
|
||||
final static boolean var_43 = false;
|
||||
|
||||
|
||||
final static Tester_Class_2 func_0(Tester_Class_1 arg_0, final Tester_Class_2 arg_1)
|
||||
{
|
||||
"ooots".replaceFirst("rdxor", ((new Tester_Class_3[arg_1.var_3 = (byte)2.7836305E38F])[arg_0.var_3 = (byte)+ + +1.4958218616334936E307]).var_26);
|
||||
if (true)
|
||||
{
|
||||
arg_0 = (Tester_Class_3)arg_0;
|
||||
((Tester_Class_3)arg_0).var_25 = var_40;
|
||||
final Tester_Class_2 var_44 = (Tester_Class_2)((Tester_Class_3.var_29 |= var_43) ? arg_0 : (arg_0.var_6 = Tester_Class_3.var_18));
|
||||
}
|
||||
else
|
||||
{
|
||||
var_39 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_1);
|
||||
}
|
||||
Tester_Class_3.var_19 = "onndgsil";
|
||||
var_39 = arg_0;
|
||||
return (Tester_Class_2.var_4 &= Tester_Class_2.var_4 ^ true) ? (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)arg_1) : (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)arg_1);
|
||||
}
|
||||
|
||||
private final static float func_1(final short arg_0, int[][] arg_1, final long arg_2)
|
||||
{
|
||||
Tester_Class_2.var_1 *= arg_0;
|
||||
double var_45 = 6.841391103184752E307;
|
||||
long var_46;
|
||||
Tester_Class_2.var_1--;
|
||||
--var_40;
|
||||
++var_40;
|
||||
++Tester_Class_3.var_1;
|
||||
Tester_Class_1.var_4 = false;
|
||||
var_36 %= 'X';
|
||||
++Tester_Class_2.var_1;
|
||||
Tester_Class_1.var_1++;
|
||||
return 3.2422038E38F;
|
||||
}
|
||||
|
||||
private final static char func_2(double arg_0, final byte arg_1, int arg_2)
|
||||
{
|
||||
--Tester_Class_3.var_1;
|
||||
if (Tester_Class_1.var_4)
|
||||
{
|
||||
if (var_43)
|
||||
{
|
||||
Tester_Class_3.var_1++;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_40 <<= 1329560515532651520L;
|
||||
}
|
||||
(false & Tester_Class_2.var_4 ? (new Tester_Class_1[arg_1])[arg_1] : (new Tester_Class_1[arg_1][arg_1])[arg_1][arg_1]).var_3 = arg_1;
|
||||
Tester_Class_2.var_19 = Tester_Class_3.var_19;
|
||||
--var_40;
|
||||
final long var_47 = ~Tester_Class_3.var_33 << var_40--;
|
||||
((Tester_Class_3)(new Tester_Class_2[arg_1][arg_1])[arg_1][arg_1]).var_24 *= (var_36 *= (long)arg_1 * ~arg_1);
|
||||
Tester_Class_2.var_19 = Tester_Class_2.var_19;
|
||||
++((new Tester_Class_3[arg_1])[arg_1]).var_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_40++;
|
||||
}
|
||||
var_40 <<= var_40;
|
||||
if (true)
|
||||
{
|
||||
++arg_2;
|
||||
}
|
||||
else
|
||||
{
|
||||
Tester_Class_2.var_7 = arg_1;
|
||||
}
|
||||
boolean var_48 = true;
|
||||
var_36 /= arg_1;
|
||||
final short var_49 = 15276;
|
||||
Tester_Interface_0 var_50;
|
||||
((Tester_Class_2.var_19 = (Tester_Class_2.var_19 = Tester_Class_2.var_19)) + "xhi").toString();
|
||||
arg_2++;
|
||||
return var_40;
|
||||
}
|
||||
|
||||
public final static char func_4(final boolean arg_0)
|
||||
{
|
||||
float var_52 = 2.8063675E38F;
|
||||
var_40--;
|
||||
Object var_53;
|
||||
Tester_Class_3.var_29 |= (Tester_Class_3.var_29 &= true);
|
||||
if (!Tester_Class_1.var_4)
|
||||
{
|
||||
--var_40;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_52 %= 2027756834;
|
||||
}
|
||||
int var_54 = Tester_Class_1.var_1++;
|
||||
var_40--;
|
||||
long var_55;
|
||||
byte var_56 = 97;
|
||||
var_36 *= 9.75628909363086E307 % + -1.9812653793936264E306;
|
||||
int var_57;
|
||||
boolean var_58 = Tester_Class_1.var_4 ^= var_43;
|
||||
return 'J';
|
||||
}
|
||||
|
||||
static float func_5(final Object arg_0, float arg_1, final Tester_Class_2 arg_2)
|
||||
{
|
||||
var_39 = arg_2;
|
||||
Tester_Class_3.var_27 = arg_2;
|
||||
arg_1 %= 1.7777554E38F;
|
||||
var_39 = (Tester_Class_3.var_27 = arg_2);
|
||||
Tester_Class_3 var_59;
|
||||
{
|
||||
var_40 -= arg_1 - ~ (((Tester_Class_3)arg_2).var_3 = (byte)1455854212);
|
||||
}
|
||||
Object var_60 = Tester_Class_1.var_4 ? arg_0 : new String[arg_2.var_3 = (byte)arg_1][(byte)((Tester_Class_3)arg_0).var_28];
|
||||
Tester_Class_3.var_27 = (Tester_Class_2)(var_39 = arg_2);
|
||||
((Tester_Class_3.var_4 |= var_43) ? (var_59 = (var_59 = (var_59 = (Tester_Class_3)var_60))) : (var_59 = (Tester_Class_3)arg_2)).var_24 ^= Tester_Class_3.var_1;
|
||||
return Tester_Class_1.var_9;
|
||||
}
|
||||
|
||||
private static void func_6(char arg_0, final Tester_Class_3 arg_1, String arg_2, final double arg_3)
|
||||
{
|
||||
((new Tester_Class_1[(byte)arg_1.var_28])[(arg_1.var_32 = arg_1).var_3 = (byte)var_40]).var_2 = Tester_Class_3.var_9;
|
||||
double var_61;
|
||||
(true ? (arg_1.var_32 = arg_1) : (arg_1.var_32 = (Tester_Class_3.var_27 = (arg_1.var_32 = arg_1)))).var_6 = var_43 | (Tester_Class_2.var_4 = !Tester_Class_3.var_4) ? (arg_1.var_26 = arg_2) : (Tester_Class_2.var_19 = Tester_Class_2.var_18);
|
||||
}
|
||||
|
||||
private final char func_7(int arg_0)
|
||||
{
|
||||
Tester_Class_2.var_4 &= var_43;
|
||||
float var_62 = Tester_Class_3.var_9;
|
||||
--var_40;
|
||||
int var_63 = Tester_Class_1.var_1++;
|
||||
{
|
||||
"nncjfoit".indexOf((new int[(byte)'\\'])[(byte)var_36]);
|
||||
if (var_43)
|
||||
{
|
||||
((new Tester_Class_3[(byte)var_40][(byte)Tester_Class_2.var_1])[(byte)5046997225818337280L][(byte)var_63]).var_24 >>>= var_40;
|
||||
}
|
||||
else
|
||||
{
|
||||
--var_40;
|
||||
}
|
||||
--Tester_Class_2.var_1;
|
||||
--var_63;
|
||||
}
|
||||
{
|
||||
final byte var_64 = Tester_Class_1.var_4 ? (byte)'M' : (byte)(var_62 -= + ((byte)Tester_Class_1.var_8));
|
||||
float var_65;
|
||||
var_62 *= ((Tester_Class_3)(new Tester_Interface_0[var_64])[var_64]).var_24++;
|
||||
var_36 /= var_64;
|
||||
{
|
||||
double var_66;
|
||||
}
|
||||
var_40 += 3500240160155094016L;
|
||||
((new Tester_Class_1[var_64][var_64])[var_64][var_64]).var_3 = (byte)(Tester_Class_2.var_7 = (Tester_Class_1.var_7 = (Tester_Class_1.var_7 = (Tester_Class_1.var_7 = var_64))));
|
||||
++Tester_Class_3.var_1;
|
||||
}
|
||||
--arg_0;
|
||||
{
|
||||
arg_0++;
|
||||
}
|
||||
Tester_Class_2.var_1++;
|
||||
var_40 &= (short)((byte)Tester_Class_2.var_8 >> (((new Tester_Class_3[(byte)var_36])[(byte)(var_40 = Tester_Class_3.var_8)]).var_3 = (byte)((byte)3.3531374E38F * var_40)));
|
||||
var_36 %= (var_62 = (byte)900943133);
|
||||
var_36 = Tester_Class_3.var_33;
|
||||
var_62 += (var_40 /= (byte)6766658341842315264L % (byte)'p') * (short)2019461672;
|
||||
--var_40;
|
||||
if (true)
|
||||
{
|
||||
var_62 *= 365879806965555200L;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_36 -= ~9163555887358003200L;
|
||||
}
|
||||
Tester_Class_1.var_4 = Tester_Class_1.var_4;
|
||||
{
|
||||
var_40 <<= var_63;
|
||||
}
|
||||
var_40++;
|
||||
String var_67;
|
||||
return Tester_Class_1.var_8;
|
||||
}
|
||||
|
||||
private final static Tester_Interface_0 func_8(char arg_0, final Tester_Class_2 arg_1, final String arg_2)
|
||||
{
|
||||
((new Tester[(byte)((Tester_Class_3)arg_1).var_28])[((Tester_Class_1)(var_39 = arg_1)).var_3 = ((Tester_Class_3.var_27 = (Tester_Class_3)arg_1).var_3 = (byte)+ -9.9100855E36F)]).var_38 = (var_43 ? "k" : Tester_Class_2.var_19).substring(350785312);
|
||||
return (new Tester_Interface_0[(byte)'l'])[((Tester_Class_1)(var_39 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_1))).var_3 = ((Tester_Class_3.var_27 = arg_1).var_3 = (((Tester_Class_3)arg_1).var_3 = (arg_1.var_3 = (arg_1.var_3 = (byte)'['))))];
|
||||
}
|
||||
|
||||
private final int func_9(Tester_Class_3 arg_0, char arg_1)
|
||||
{
|
||||
final float var_68 = Tester_Class_3.var_9;
|
||||
Tester_Class_2.var_18.toLowerCase();
|
||||
double var_69;
|
||||
{
|
||||
Tester_Class_3.var_29 ^= !false || Tester_Class_2.var_4;
|
||||
}
|
||||
Tester_Class_1 var_70;
|
||||
(Tester_Class_3.var_27 = (Tester_Class_2)(var_70 = arg_0)).var_6 = (Tester_Class_2)((var_41 = arg_0).var_6 = (arg_0.var_6 = arg_0));
|
||||
"hv".codePointBefore(--Tester_Class_2.var_1);
|
||||
var_41 = arg_0;
|
||||
return ~ (((arg_0 = arg_0).var_24 &= arg_1) == 3.0764282E38F ? (byte)457565863 : ((arg_0 = arg_0).var_3 = (byte)arg_0.var_28));
|
||||
}
|
||||
|
||||
private static void func_10(double arg_0, final Tester_Class_3 arg_1, double arg_2)
|
||||
{
|
||||
arg_1.var_32 = 'g' != 1.520646515461986E307 ? (arg_1.var_32 = arg_1) : arg_1;
|
||||
Tester_Class_2.var_19.startsWith(Tester_Class_2.var_19 = Tester_Class_3.var_18);
|
||||
Tester_Class_1.var_4 ^= true & (arg_1.var_3 = (arg_1.var_3 = (byte)- ((byte)1.4509185661781193E308))) > (arg_1.var_2 = var_40);
|
||||
var_36 += Tester_Class_3.var_9;
|
||||
}
|
||||
|
||||
Tester_Interface_0 func_12(final Object arg_0, float arg_1)
|
||||
{
|
||||
switch (((Tester_Class_3)arg_0).var_3 = (byte)arg_1)
|
||||
{
|
||||
case 4:
|
||||
var_41 = (Tester_Class_3)(var_39 = (Tester_Class_3.var_27 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_0)));
|
||||
double var_72 = (double)3858573493713776640L;
|
||||
byte var_73 = (var_41 = (Tester_Class_2)arg_0).var_3 = (((Tester_Class_3)arg_0).var_3 = (byte)var_72);
|
||||
break;
|
||||
|
||||
case 13:
|
||||
(Tester_Class_3.var_27 = (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)(Tester_Class_2)arg_0)).var_3 = (Tester_Class_2.var_1 *= ((Tester_Class_3)arg_0).var_24) == (byte)Tester_Class_3.var_33 ? (byte)188693954866039808L : (byte)Tester_Class_2.var_8;
|
||||
break;
|
||||
|
||||
default:
|
||||
var_40 <<= (byte)157510337;
|
||||
break;
|
||||
|
||||
case 26:
|
||||
|
||||
case 122:
|
||||
|
||||
}
|
||||
Tester_Interface_0 var_74;
|
||||
long var_75;
|
||||
var_41 = (var_41 = (var_41 = (Tester_Class_2)arg_0));
|
||||
arg_1 *= 1601420762;
|
||||
var_74 = (var_41 = Tester_Class_1.var_4 ? (Tester_Class_3)arg_0 : (Tester_Class_2)arg_0);
|
||||
(Tester_Class_1.var_4 ? (Tester_Class_3)(var_39 = (Tester_Class_3)arg_0) : (true ? (Tester_Class_3)arg_0 : (Tester_Class_3)arg_0)).var_28 *= 1066935145;
|
||||
var_40 >>>= (byte)6.643183E36F / - ((byte)1.277596E37F);
|
||||
{
|
||||
((Tester_Class_3)(((Tester_Class_3)((Tester_Class_3.var_29 ^= (Tester_Class_3.var_29 &= var_43)) ? (Tester_Class_2)arg_0 : (Tester_Class_2)arg_0)).var_32 = (Tester_Class_3.var_27 = (Tester_Class_2)arg_0))).var_28--;
|
||||
}
|
||||
var_38 = "qad";
|
||||
byte var_76 = ((Tester_Class_2)(var_39 = (Tester_Class_3)arg_0)).var_3 = true ? ((var_41 = (var_41 = (Tester_Class_3)arg_0)).var_3 = (byte)1.7128118638075888E308) : (byte)1.6562746603631249E308;
|
||||
return var_39 = (Tester_Class_3)((var_41 = (Tester_Class_3)arg_0).var_6 = Tester_Class_2.var_18);
|
||||
}
|
||||
|
||||
protected final String func_13()
|
||||
{
|
||||
float var_77;
|
||||
var_38 = (Tester_Class_2.var_19 = var_38);
|
||||
Tester_Class_2.var_4 ^= !var_43 | (Tester_Class_3.var_29 ^= Tester_Class_1.var_4);
|
||||
Tester_Class_3.var_1--;
|
||||
Tester_Class_2.var_1++;
|
||||
return Tester_Class_2.var_18;
|
||||
}
|
||||
|
||||
public static String execute()
|
||||
{
|
||||
try {
|
||||
Tester t = new Tester();
|
||||
try { t.test(); }
|
||||
catch(Throwable e) { }
|
||||
try { return t.toString(); }
|
||||
catch (Throwable e) { return "Error during result conversion to String"; }
|
||||
} catch (Throwable e) { return "Error during test execution"; }
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
try {
|
||||
Tester t = new Tester();
|
||||
try { t.test(); }
|
||||
catch(Throwable e) { }
|
||||
try { System.out.println(t); }
|
||||
catch(Throwable e) { }
|
||||
} catch (Throwable e) { }
|
||||
}
|
||||
|
||||
private void test()
|
||||
{
|
||||
int var_78 = 0;
|
||||
var_39 = (new Tester_Class_1[(byte)var_40])[(byte)Tester_Class_3.var_33];
|
||||
while (var_43 && (var_78 < 70 && true))
|
||||
{
|
||||
var_40 *= ~ ~Tester_Class_3.var_33 % Tester_Class_3.var_9;
|
||||
var_78++;
|
||||
var_39 = new Tester_Class_3();
|
||||
var_39 = (var_41 = (Tester_Class_3.var_27 = new Tester_Class_2()));
|
||||
}
|
||||
final Tester_Class_3 var_79 = (Tester_Class_1.var_4 ? ~Tester_Class_3.var_33 : var_36) == 1433764895112462336L ? new Tester_Class_3() : new Tester_Class_3();
|
||||
Tester_Class_2 var_80;
|
||||
}
|
||||
public String toString()
|
||||
{
|
||||
String result = "[\n";
|
||||
result += "Tester.var_40 = "; result += Printer.print(var_40);
|
||||
result += "\n";
|
||||
result += "Tester.var_42 = "; result += Printer.print(var_42);
|
||||
result += "\n";
|
||||
result += "Tester.var_36 = "; result += Printer.print(var_36);
|
||||
result += "\n";
|
||||
result += "Tester.var_37 = "; result += Printer.print(var_37);
|
||||
result += "\n";
|
||||
result += "Tester.var_39 = "; result += Printer.print(var_39);
|
||||
result += "\n";
|
||||
result += "Tester.var_38 = "; result += Printer.print(var_38);
|
||||
result += "\n";
|
||||
result += "Tester.var_43 = "; result += Printer.print(var_43);
|
||||
result += "\n";
|
||||
result += "Tester.var_41 = "; result += Printer.print(var_41);
|
||||
result += "";
|
||||
result += "\n]";
|
||||
return result;
|
||||
}
|
||||
static class Printer
|
||||
{
|
||||
public static String print(boolean arg) { return String.valueOf(arg); }
|
||||
public static String print(byte arg) { return String.valueOf(arg); }
|
||||
public static String print(short arg) { return String.valueOf(arg); }
|
||||
public static String print(char arg) { return String.valueOf((int)arg); }
|
||||
public static String print(int arg) { return String.valueOf(arg); }
|
||||
public static String print(long arg) { return String.valueOf(arg); }
|
||||
public static String print(float arg) { return String.valueOf(arg); }
|
||||
public static String print(double arg) { return String.valueOf(arg); }
|
||||
|
||||
|
||||
public static String print(Object arg)
|
||||
{
|
||||
return print_r(new java.util.Stack(), arg);
|
||||
}
|
||||
|
||||
private static String print_r(java.util.Stack visitedObjects, Object arg)
|
||||
{
|
||||
String result = "";
|
||||
if (arg == null)
|
||||
result += "null";
|
||||
else
|
||||
if (arg.getClass().isArray())
|
||||
{
|
||||
for (int i = 0; i < visitedObjects.size(); i++)
|
||||
if (visitedObjects.elementAt(i) == arg) return "<recursive>";
|
||||
|
||||
visitedObjects.push(arg);
|
||||
|
||||
final String delimiter = ", ";
|
||||
result += "[";
|
||||
|
||||
if (arg instanceof Object[])
|
||||
{
|
||||
Object[] array = (Object[]) arg;
|
||||
for (int i = 0; i < array.length; i++)
|
||||
{
|
||||
result += print_r(visitedObjects, array[i]);
|
||||
if (i < array.length - 1) result += delimiter;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (arg instanceof boolean[])
|
||||
{
|
||||
boolean[] array = (boolean[]) arg;
|
||||
for (int i = 0; i < array.length; i++)
|
||||
{
|
||||
result += print(array[i]);
|
||||
if (i < array.length - 1) result += delimiter;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (arg instanceof byte[])
|
||||
{
|
||||
byte[] array = (byte[]) arg;
|
||||
for (int i = 0; i < array.length; i++)
|
||||
{
|
||||
result += print(array[i]);
|
||||
if (i < array.length - 1) result += delimiter;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (arg instanceof short[])
|
||||
{
|
||||
short[] array = (short[]) arg;
|
||||
for (int i = 0; i < array.length; i++)
|
||||
{
|
||||
result += print(array[i]);
|
||||
if (i < array.length - 1) result += delimiter;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (arg instanceof char[])
|
||||
{
|
||||
char[] array = (char[]) arg;
|
||||
for (int i = 0; i < array.length; i++)
|
||||
{
|
||||
result += print(array[i]);
|
||||
if (i < array.length - 1) result += delimiter;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (arg instanceof int[])
|
||||
{
|
||||
int[] array = (int[]) arg;
|
||||
for (int i = 0; i < array.length; i++)
|
||||
{
|
||||
result += print(array[i]);
|
||||
if (i < array.length - 1) result += delimiter;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (arg instanceof long[])
|
||||
{
|
||||
long[] array = (long[]) arg;
|
||||
for (int i = 0; i < array.length; i++)
|
||||
{
|
||||
result += print(array[i]);
|
||||
if (i < array.length - 1) result += delimiter;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (arg instanceof float[])
|
||||
{
|
||||
float[] array = (float[]) arg;
|
||||
for (int i = 0; i < array.length; i++)
|
||||
{
|
||||
result += print(array[i]);
|
||||
if (i < array.length - 1) result += delimiter;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (arg instanceof double[])
|
||||
{
|
||||
double[] array = (double[]) arg;
|
||||
for (int i = 0; i < array.length; i++)
|
||||
{
|
||||
result += print(array[i]);
|
||||
if (i < array.length - 1) result += delimiter;
|
||||
}
|
||||
}
|
||||
|
||||
result += "]";
|
||||
visitedObjects.pop();
|
||||
|
||||
} else
|
||||
{
|
||||
result += arg.toString();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user