1352 BlockBegin* _block; // if this is a branch to a block, this is the block |
1352 BlockBegin* _block; // if this is a branch to a block, this is the block |
1353 BlockBegin* _ublock; // if this is a float-branch, this is the unorderd block |
1353 BlockBegin* _ublock; // if this is a float-branch, this is the unorderd block |
1354 CodeStub* _stub; // if this is a branch to a stub, this is the stub |
1354 CodeStub* _stub; // if this is a branch to a stub, this is the stub |
1355 |
1355 |
1356 public: |
1356 public: |
1357 LIR_OpBranch(LIR_Condition cond, Label* lbl) |
1357 LIR_OpBranch(LIR_Condition cond, BasicType type, Label* lbl) |
1358 : LIR_Op(lir_branch, LIR_OprFact::illegalOpr, (CodeEmitInfo*) NULL) |
1358 : LIR_Op(lir_branch, LIR_OprFact::illegalOpr, (CodeEmitInfo*) NULL) |
1359 , _cond(cond) |
1359 , _cond(cond) |
|
1360 , _type(type) |
1360 , _label(lbl) |
1361 , _label(lbl) |
1361 , _block(NULL) |
1362 , _block(NULL) |
1362 , _ublock(NULL) |
1363 , _ublock(NULL) |
1363 , _stub(NULL) { } |
1364 , _stub(NULL) { } |
1364 |
1365 |
2051 append(new LIR_OpBranch(lir_cond_always, T_ILLEGAL, block)); |
2052 append(new LIR_OpBranch(lir_cond_always, T_ILLEGAL, block)); |
2052 } |
2053 } |
2053 void jump(CodeStub* stub) { |
2054 void jump(CodeStub* stub) { |
2054 append(new LIR_OpBranch(lir_cond_always, T_ILLEGAL, stub)); |
2055 append(new LIR_OpBranch(lir_cond_always, T_ILLEGAL, stub)); |
2055 } |
2056 } |
2056 void branch(LIR_Condition cond, Label* lbl) { append(new LIR_OpBranch(cond, lbl)); } |
2057 void branch(LIR_Condition cond, BasicType type, Label* lbl) { append(new LIR_OpBranch(cond, type, lbl)); } |
2057 void branch(LIR_Condition cond, BasicType type, BlockBegin* block) { |
2058 void branch(LIR_Condition cond, BasicType type, BlockBegin* block) { |
2058 assert(type != T_FLOAT && type != T_DOUBLE, "no fp comparisons"); |
2059 assert(type != T_FLOAT && type != T_DOUBLE, "no fp comparisons"); |
2059 append(new LIR_OpBranch(cond, type, block)); |
2060 append(new LIR_OpBranch(cond, type, block)); |
2060 } |
2061 } |
2061 void branch(LIR_Condition cond, BasicType type, CodeStub* stub) { |
2062 void branch(LIR_Condition cond, BasicType type, CodeStub* stub) { |