MCPcopy Index your code
hub / github.com/clojure/clojure / emitThenForHashes

Method emitThenForHashes

src/jvm/clojure/lang/Compiler.java:9571–9584  ·  view source on GitHub ↗
(ObjExpr objx, GeneratorAdapter gen, Expr test, Expr then, Label defaultLabel, boolean emitUnboxed)

Source from the content-addressed store, hash-verified

9569 }
9570
9571 private void emitThenForHashes(ObjExpr objx, GeneratorAdapter gen, Expr test, Expr then, Label defaultLabel, boolean emitUnboxed){
9572 expr.emit(C.EXPRESSION, objx, gen);
9573 test.emit(C.EXPRESSION, objx, gen);
9574 if(testType == hashIdentityKey)
9575 {
9576 gen.visitJumpInsn(IF_ACMPNE, defaultLabel);
9577 }
9578 else
9579 {
9580 gen.invokeStatic(UTIL_TYPE, equivMethod);
9581 gen.ifZCmp(GeneratorAdapter.EQ, defaultLabel);
9582 }
9583 emitExpr(objx, gen, then, emitUnboxed);
9584 }
9585
9586 private static void emitExpr(ObjExpr objx, GeneratorAdapter gen, Expr expr, boolean emitUnboxed){
9587 if (emitUnboxed && expr instanceof MaybePrimitiveExpr)

Callers 1

doEmitMethod · 0.95

Calls 5

emitExprMethod · 0.95
ifZCmpMethod · 0.80
emitMethod · 0.65
visitJumpInsnMethod · 0.45
invokeStaticMethod · 0.45

Tested by

no test coverage detected