Edit C:\Program Files\Java\jre8\lib\ext\jdk\nashorn\internal\codegen\Splitter.class
Êþº¾ 3È g ñ g ò l ó ô ó g õ g ö ÷ ø g ù g ú û ü ý þ ÿ 0 g g g 0 9 g ) ó ) ) ! "# ( $% g& g'( 6) 9* ó+ ; ó, =- ÷& 9./012134 D5/ g6/7 98 99 9: ;< ;= > 9?@ PA 9BCD E FH VI É VJ L \M VN OP/Q RS/TU cV GW OXY Z[\ ? ]^_` InnerClasses compiler 'Ljdk/nashorn/internal/codegen/Compiler; outermost &Ljdk/nashorn/internal/ir/FunctionNode; outermostCompileUnit *Ljdk/nashorn/internal/codegen/CompileUnit; weightCache Ljava/util/Map; Signature ?Ljava/util/Map<Ljdk/nashorn/internal/ir/Node;Ljava/lang/Long;>; SPLIT_THRESHOLD J log 2Ljdk/nashorn/internal/runtime/logging/DebugLogger; $assertionsDisabled Z <init> z(Ljdk/nashorn/internal/codegen/Compiler;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/CompileUnit;)V Code LineNumberTable LocalVariableTable this 'Ljdk/nashorn/internal/codegen/Splitter; functionNode initLogger Z(Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger; context &Ljdk/nashorn/internal/runtime/Context; getLogger 4()Ljdk/nashorn/internal/runtime/logging/DebugLogger; split O(Ljdk/nashorn/internal/ir/FunctionNode;Z)Ljdk/nashorn/internal/ir/FunctionNode; fn top weight body Ljdk/nashorn/internal/ir/Block; dc Ljava/util/List; newBody LocalVariableTypeTable 8Ljava/util/List<Ljdk/nashorn/internal/ir/FunctionNode;>; StackMapTable*a directChildren 8(Ljdk/nashorn/internal/ir/FunctionNode;)Ljava/util/List; `(Ljdk/nashorn/internal/ir/FunctionNode;)Ljava/util/List<Ljdk/nashorn/internal/ir/FunctionNode;>; findUnit -(J)Ljdk/nashorn/internal/codegen/CompileUnit; splitBlock f(Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Block; statement #Ljdk/nashorn/internal/ir/Statement; block function splits statements statementsWeight 5Ljava/util/List<Ljdk/nashorn/internal/ir/Statement;>;Yb4 createBlockSplitNode {(Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/List;J)Ljdk/nashorn/internal/ir/SplitNode; parent token finish I name Ljava/lang/String; newBlock (Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/List<Ljdk/nashorn/internal/ir/Statement;>;J)Ljdk/nashorn/internal/ir/SplitNode; enterBlock "(Ljdk/nashorn/internal/ir/Block;)Z leaveBlock ?(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Node; currentFunction leaveLiteralNode E(Ljdk/nashorn/internal/ir/LiteralNode;)Ljdk/nashorn/internal/ir/Node; unit postset element Ljdk/nashorn/internal/ir/Node; i arrayLiteralNode ArrayLiteralNode 6Ljdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode; value [Ljdk/nashorn/internal/ir/Node; postsets [I ranges totalWeight lo literal %Ljdk/nashorn/internal/ir/LiteralNode; SplitRange ALjava/util/List<Ljdk/nashorn/internal/ir/Splittable$SplitRange;>;cH Ë leaveObjectNode D(Ljdk/nashorn/internal/ir/ObjectNode;)Ljdk/nashorn/internal/ir/Node; property &Ljdk/nashorn/internal/ir/PropertyNode; isConstant objectNode $Ljdk/nashorn/internal/ir/ObjectNode; properties isSpillObject 8Ljava/util/List<Ljdk/nashorn/internal/ir/PropertyNode;>;dU enterFunctionNode )(Ljdk/nashorn/internal/ir/FunctionNode;)Z node access$000 P(Ljdk/nashorn/internal/codegen/Splitter;)Ljdk/nashorn/internal/codegen/Compiler; x0 access$100 S(Ljdk/nashorn/internal/codegen/Splitter;)Ljdk/nashorn/internal/codegen/CompileUnit; <clinit> ()V SourceFile Splitter.java RuntimeVisibleAnnotations -Ljdk/nashorn/internal/runtime/logging/Logger; splitter s t o p ë java/util/HashMap u v q refg ? ? { |hij ?k java/lang/Object Initiating split of 'lm 'nopqr } ~stuvw java/lang/AssertionError LexicalContext not empty x y z Splitting ' ' as its weight yz{ exceeds split threshold |p}~ $jdk/nashorn/internal/ir/FunctionNodewq??????? ¢ £???? java/lang/StringBuilder compile unit already set for ???m outermost compile unit is null?? 'jdk/nashorn/internal/codegen/WeighNodes??? ¡ ? ? 'jdk/nashorn/internal/codegen/Splitter$1 ? jdk/nashorn/internal/ir/Block java/util/ArrayList 'jdk/nashorn/internal/codegen/Splitter$2 ???a??b?w?? !jdk/nashorn/internal/ir/Statement?w ¯ °??? ¡¢£¤¥¦§¨m©ª « !jdk/nashorn/internal/ir/SplitNode ¬w®¯°±²?³c 4jdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode´?µ¶· -jdk/nashorn/internal/ir/Splittable$SplitRange ¸¹ºd»?¼¤½¾ ´¿À $jdk/nashorn/internal/ir/PropertyNode´Á Ú?¹Â %jdk/nashorn/internal/codegen/SplitterÃÄw #nashorn.compiler.splitter.thresholdÅÆÇ 1jdk/nashorn/internal/ir/visitor/SimpleNodeVisitor -jdk/nashorn/internal/runtime/logging/Loggable java/util/List java/util/Iterator #jdk/nashorn/internal/ir/LiteralNode "jdk/nashorn/internal/ir/ObjectNode %jdk/nashorn/internal/codegen/Compiler getContext (()Ljdk/nashorn/internal/runtime/Context; getClass ()Ljava/lang/Class; $jdk/nashorn/internal/runtime/Context E(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger; getName ()Ljava/lang/String; 0jdk/nashorn/internal/runtime/logging/DebugLogger fine ([Ljava/lang/Object;)V weigh !(Ljdk/nashorn/internal/ir/Node;)J lc (Ljdk/nashorn/internal/ir/LexicalContext; &jdk/nashorn/internal/ir/LexicalContext isEmpty ()Z (Ljava/lang/Object;)V java/lang/Long valueOf (J)Ljava/lang/Long; info accept M(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node; isSplit 0(Ljdk/nashorn/internal/ir/Node;Ljava/util/Map;)J getBody !()Ljdk/nashorn/internal/ir/Block; setNeedsScope I(Ljdk/nashorn/internal/ir/LexicalContext;)Ljdk/nashorn/internal/ir/Block; setBody o(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode; setFlag Q(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode; getCompileUnit ,()Ljdk/nashorn/internal/codegen/CompileUnit; append -(Ljava/lang/String;)Ljava/lang/StringBuilder; toString setCompileUnit z(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/codegen/CompileUnit;)Ljdk/nashorn/internal/ir/FunctionNode; (jdk/nashorn/internal/codegen/CompileUnit addWeight (J)V :(Ljdk/nashorn/internal/codegen/Splitter;Ljava/util/List;)V 9(Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/List;)V getStatements ()Ljava/util/List; iterator ()Ljava/util/Iterator; hasNext next ()Ljava/lang/Object; isTerminal add (Ljava/lang/Object;)Z setStatements Y(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/Block; getToken ()J getFinish ()I .jdk/nashorn/internal/codegen/CompilerConstants SPLIT_PREFIX 0Ljdk/nashorn/internal/codegen/CompilerConstants; symbolName uniqueName &(Ljava/lang/String;)Ljava/lang/String; (JILjava/util/List;)V ^(Ljava/lang/String;Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/codegen/CompileUnit;)V isCatchBlock java/util/Map put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; getCurrentFunction (()Ljdk/nashorn/internal/ir/FunctionNode; 0(Ljdk/nashorn/internal/ir/LexicalContextNode;I)V getValue getPostsets ()[I "jdk/nashorn/internal/ir/Splittable /(Ljdk/nashorn/internal/codegen/CompileUnit;II)V setSplitRanges p(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode; getElements size *jdk/nashorn/internal/codegen/CodeGenerator OBJECT_SPILL_THRESHOLD get (I)Ljava/lang/Object; &()Ljdk/nashorn/internal/ir/Expression; ^(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/ObjectNode; java/lang/Class desiredAssertionStatus ,jdk/nashorn/internal/runtime/options/Options getIntProperty (Ljava/lang/String;I)I 0 g l m o p q r s t u v w x y z { | } ~ ? ? ? +*· *» Y· µ *+µ *,µ *-µ **+¶ ¶ µ ± ? P B Q R S T * U ? * + ? ? + o p + ? r + s t ? ? ? = +*¶ ¶ ° ? Y ? ? ? ? ? ? ? ? / *´ ° ? ^ ? ? ? ? ? ? ? z+N*´ ½ YSY-¶ SYS¶ -¸ 7² ? *´ ¶ ? » Y· ¿² ?? ?*´ ½ YSY-¶ SYSY¸ SYSY² ¸ S¶ -*¶ À N-¶ !? -*´ ¸ "7--¶ #¶ $¶ %N² ?? '-*-¶ #-· &¶ %N-¶ 'N-¶ #*´ ¸ "7² ? (-¶ (Æ !» Y» )Y· *+¶ ,-¶ ¶ ,¶ -· ¿? 4² ? *´ Ç » Y.· ¿-*´ ¶ /N*´ 1a¶ 3§ -*¶ 4¶ /N-¶ #:-¸ 5:» 6Y*· 7¶ 8À 9:-¶ %N² ? -¶ (Ç » Y· :¿-° ? j g i k $ o >