Edit C:\Program Files\Java\jre8\lib\ext\jdk\nashorn\internal\codegen\ObjectClassGenerator.class
Êþº¾ 3û?? ?? &? &? &?? ? &? &? &?? ?? ?? ??? ??? ??? ?? ¡ ?¢ £ ¤ ¥ ¦ §¨ §© §ª :« &¬® ¯°± ^² &³ :´ :µ :¶ :· :¸ ¹ µº»¼ µ½ §¾ §¿ ÀÁ À»ÃÄÅÄÆÇ ÀÈ ÀÉ :Ê Ë ? &Ì &Í &ÎÏ §Ð &Ñ &Ò &Ó ÀÔ ÀÕ &Ö &× &Ø &Ù &ÚÛ &Ü &Ý &Þß S? &à &á &â µã [ä»åæ [ç [èéê [ë Àè §ì §í Àîïð µñ µò §ó §ô [õ Àö §÷ øù øú ûü §ý [þ µÿ À À À [Õ [ ? ? & ? ? ? ? & ! ^" #»$%& &' () &*+ , - ./ 0 12 3 ?4 &5 6 &7 &8 &9: ;<=> &?@ ¯A ^Bj C &DE µF &G<N ;HIJK IS_TYPE_GUARD Ljava/lang/invoke/MethodHandle; SCOPE_MARKER Ljava/lang/String; ConstantValue FIELD_PADDING I log 2Ljdk/nashorn/internal/runtime/logging/DebugLogger; FIELD_TYPES_OBJECT *[Ljdk/nashorn/internal/codegen/types/Type; FIELD_TYPES_DUAL PRIMITIVE_FIELD_TYPE )Ljdk/nashorn/internal/codegen/types/Type; GET_DIFFERENT GET_DIFFERENT_UNDEFINED initialized Z context &Ljdk/nashorn/internal/runtime/Context; dualFields PACK_DOUBLE UNPACK_DOUBLE $assertionsDisabled <init> *(Ljdk/nashorn/internal/runtime/Context;Z)V Code LineNumberTable LocalVariableTable this 3Ljdk/nashorn/internal/codegen/ObjectClassGenerator; StackMapTable°L getLogger 4()Ljdk/nashorn/internal/runtime/logging/DebugLogger; initLogger Z(Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger; ctxt pack (Ljava/lang/Number;)J n Ljava/lang/Number; getPrefixName (Z)Ljava/lang/String;Ç &(Ljava/lang/String;)Ljava/lang/String; className getClassName (IZ)Ljava/lang/String; fieldCount prefix (IIZ)Ljava/lang/String; paramCount getFieldCount (Ljava/lang/Class;)I clazz Ljava/lang/Class; name scopeMarker LocalVariableTypeTable Ljava/lang/Class<*>; Signature (Ljava/lang/Class<*>;)I getFieldName >(ILjdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String; fieldIndex type initializeToUndefined Q(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljava/lang/String;Ljava/util/List;)V fieldName init ,Ljdk/nashorn/internal/codegen/MethodEmitter; fieldNames Ljava/util/List; iter Ljava/util/Iterator; $Ljava/util/List<Ljava/lang/String;>; (Ljava/util/Iterator<Ljava/lang/String;>;M e(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)V generate (Ljava/lang/String;)[B descriptor counts [Ljava/lang/String; (I)[B superName classEmitter +Ljdk/nashorn/internal/codegen/ClassEmitter; initWithSpillArrays (II)[B initFields initWithArguments addFields >(Ljdk/nashorn/internal/codegen/ClassEmitter;I)Ljava/util/List; i fieldTypesN É R(Ljdk/nashorn/internal/codegen/ClassEmitter;I)Ljava/util/List<Ljava/lang/String;>; newClassEmitter Q(Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/ClassEmitter; newInitMethod Y(Ljdk/nashorn/internal/codegen/ClassEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter; newInitWithSpillArraysMethod j(Ljdk/nashorn/internal/codegen/ClassEmitter;Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter; superClass m(Ljdk/nashorn/internal/codegen/ClassEmitter;Ljava/lang/Class<*>;)Ljdk/nashorn/internal/codegen/MethodEmitter; newInitScopeMethod newInitScopeWithArgumentsMethod newEmptyInit @(Ljava/lang/String;Ljdk/nashorn/internal/codegen/ClassEmitter;)V emptyInit newAllocate allocate toByteArray A(Ljava/lang/String;Ljdk/nashorn/internal/codegen/ClassEmitter;)[B code [B env 0Ljdk/nashorn/internal/runtime/ScriptEnvironment;7O getDifferent v(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/Object; value Ljava/lang/Object; e Ljava/lang/Throwable; receiver forType primitiveGetter objectGetter programPoint sameTypeGetter mhé% y(Ljava/lang/Object;Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/Object; getDifferentUndefined (I)Ljava/lang/Object; getterForType p(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; s(Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; createGetterInner ?(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/util/List;I)Ljava/lang/invoke/MethodHandle; tgetter converters fti ti isOptimistic isPrimitiveStorage getter tgetterType Ljava/lang/invoke/MethodType; 1Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;P ¹(Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;I)Ljava/lang/invoke/MethodHandle; createGetter ?(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle; ?(Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle; createSetter ?(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; primitiveSetter objectSetter pmt ?(Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; isType &(Ljava/lang/Class;Ljava/lang/Object;)Z boxedForType x )(Ljava/lang/Class<*>;Ljava/lang/Object;)Z getBoxedType $(Ljava/lang/Class;)Ljava/lang/Class; <(Ljava/lang/Class<*>;)Ljava/lang/Class<+Ljava/lang/Number;>; createGuardBoxedPrimitiveSetter &Ljava/lang/Class<+Ljava/lang/Number;>; getPaddedFieldCount (I)I count findOwnMH V(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; rtype types [Ljava/lang/Class; [Ljava/lang/Class<*>; \(Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle; createAllocationStrategy 5(IZ)Ljdk/nashorn/internal/runtime/AllocationStrategy; thisProperties paddedFieldCount <clinit> ()V SourceFile ObjectClassGenerator.java RuntimeVisibleAnnotations -Ljdk/nashorn/internal/runtime/logging/Logger; fields #jdk/nashorn/internal/runtime/JSType %jdk/nashorn/internal/codegen/Compiler ×? Ñ Ò Ó Ð Ö Ð java/lang/AssertionError ã ä Æ Ç Ï Ð ERunning with object fields only - this is a deprecated configuration.QRSTUL áV java/lang/IntegerWXY java/lang/LongZ[ java/lang/Double\]I^ java/lang/StringBuilder cannot pack_`_abc ×defghcigjk ê ë Not a structure class: jdk/nashorn/internal/scripts/_l 1jdk/nashorn/internal/codegen/ObjectClassGenerator Pmc ê ínopqrYstsuvqwcNxyz Ì{g|Y}~????M?y?? java/lang/String???????? ï ð )jdk/nashorn/internal/runtime/ScriptObject î?%&'(????)*/02045 ï ó *jdk/nashorn/internal/runtime/FunctionScope-(.( java/util/LinkedList Ê É È É ÿ ?U???o )jdk/nashorn/internal/codegen/ClassEmitter ×??? java/lang/Class (jdk/nashorn/internal/runtime/PropertyMap??g???? [J [Ljava/lang/Object; ¡¢¡£g¤g?¥??¦§©ª«ª¬®¯g°±²³´µ¶?·?4¸¹º»¼½O¾ пÀPQÁÂÃÄ java/lang/ObjectPÅÆÇÈÉÊË 9jdk/nashorn/internal/runtime/UnwarrantedOptimismException ×Ì java/lang/Error java/lang/RuntimeException java/lang/Throwable ×ÍÎÏÐÑ öÒ øÓÉ Õ ¿ÔÕÖ ×yØ ÙO java/lang/invoke/MethodHandleÚÛ Î ¿?ÜÝÞ Í ¿ßàá âãäå ¿æU 'java/lang/UnsupportedOperationException => ×SçèSTéê Ô ¿op ¾ ¿ëìíîñòóôtu /jdk/nashorn/internal/runtime/AllocationStrategy ×õöy÷wx 'jdk/nashorn/internal/codegen/types/Typeø Ì Ë Ìùñ doubleToRawLongBits longBitsToDouble -jdk/nashorn/internal/runtime/logging/Loggable $jdk/nashorn/internal/runtime/Context java/util/Iterator java/util/List .jdk/nashorn/internal/runtime/ScriptEnvironment java/lang/invoke/MethodType 0jdk/nashorn/internal/runtime/logging/DebugLogger warning (Ljava/lang/String;)V getClass ()Ljava/lang/Class; E(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger; java/lang/Number intValue ()I longValue ()J doubleValue ()D (D)J append -(Ljava/lang/String;)Ljava/lang/StringBuilder; -(Ljava/lang/Object;)Ljava/lang/StringBuilder; toString ()Ljava/lang/String; (Ljava/lang/Object;)V .jdk/nashorn/internal/codegen/CompilerConstants JS_OBJECT_DUAL_FIELD_PREFIX 0Ljdk/nashorn/internal/codegen/CompilerConstants; symbolName JS_OBJECT_SINGLE_FIELD_PREFIX startsWith (Ljava/lang/String;)Z (I)Ljava/lang/StringBuilder; getSimpleName equals (Ljava/lang/Object;)Z indexOf (Ljava/lang/String;)I length substring (I)Ljava/lang/String; (II)Ljava/lang/String; parseInt getDescriptor isEmpty ()Z OBJECT JAVA_THIS slot *jdk/nashorn/internal/codegen/MethodEmitter load X(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter; loadUndefined W(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter; iterator ()Ljava/util/Iterator; hasNext next ()Ljava/lang/Object; dup2 .()Ljdk/nashorn/internal/codegen/MethodEmitter; putField 9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V split '(Ljava/lang/String;)[Ljava/lang/String; valueOf '(Ljava/lang/String;)Ljava/lang/Integer; %(Ljava/lang/Class;)Ljava/lang/String; returnVoid end getTypeClass field &(Ljava/lang/String;Ljava/lang/Class;)V add `(Ljdk/nashorn/internal/runtime/Context;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V begin @([Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter; INIT_MAP constructorNoLookup Call InnerClasses Z(Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call; invoke c(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter; LONG_ARRAY .Ljdk/nashorn/internal/codegen/types/ArrayType; OBJECT_ARRAY INIT_SCOPE INIT_ARGUMENTS loadNull [(Ljava/lang/String;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call; .jdk/nashorn/internal/codegen/ClassEmitter$Flag Flag PUBLIC 0Ljdk/nashorn/internal/codegen/ClassEmitter$Flag; STATIC java/util/EnumSet of 5(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet; ALLOCATE method v(Ljava/util/EnumSet;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter; typeFor <(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type; _new i(Ljava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter; dup _return ()[B getEnv 2()Ljdk/nashorn/internal/runtime/ScriptEnvironment; )jdk/nashorn/internal/codegen/DumpBytecode dumpBytecode y(Ljdk/nashorn/internal/runtime/ScriptEnvironment;Ljdk/nashorn/internal/runtime/logging/DebugLogger;[BLjava/lang/String;)V _verify_code verify ([B)V "jdk/nashorn/internal/lookup/Lookup MH 7Ljdk/nashorn/internal/lookup/MethodHandleFunctionality; ()Ljava/lang/invoke/MethodType; changeReturnType 0(Ljava/lang/Class;)Ljava/lang/invoke/MethodType; 5jdk/nashorn/internal/lookup/MethodHandleFunctionality asType ](Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; invokeExact &(Ljava/lang/Object;)Ljava/lang/Object; (Ljava/lang/Object;I)V (Ljava/lang/Throwable;)V &jdk/nashorn/internal/runtime/Undefined getUndefined *()Ljdk/nashorn/internal/runtime/Undefined; getAccessorTypeIndex TYPE explicitCastArguments filterReturnValue _(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; CONVERT_OBJECT_OPTIMISTIC isPrimitive GET_UNDEFINED get dropArguments S(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; (I)Ljava/lang/Integer; insertArguments T(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle; filterArguments a(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; CONVERT_OBJECT TO_INT32_D 5Ljdk/nashorn/internal/codegen/CompilerConstants$Call; 3jdk/nashorn/internal/codegen/CompilerConstants$Call methodHandle returnType isValid (I)Z changeParameterType 1(ILjava/lang/Class;)Ljava/lang/invoke/MethodType; guardWithTest ~(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; java/lang/invoke/MethodHandles lookupú Lookup )()Ljava/lang/invoke/MethodHandles$Lookup; B(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType; findStatic ?(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; (IZ)V desiredAssertionStatus java/lang/Boolean LONG publicLookup %java/lang/invoke/MethodHandles$Lookup 1 &