META-INF.modules.java.base.classes.java.lang.invoke.LambdaForm.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java.base Show documentation
Show all versions of java.base Show documentation
Bytecoder java.base Module
???? 6.u w (x
y
1z { |
}~
z
? ?
??4 ? ? ? ?
??
??
?
?
??
??
?
? ??
? (?
?
?
?
?
;??
'z
'??
'?
?
??
*?
??
.?
.? .? *? ?
? ?
?
??
? (?
@?
??
@?
'?
'?
'?
'?
'?
??
.?
'??? ? ? ?
.?
??
.? .?
.?
??
?
.?
.?
?? .?
.?????????
? .??
? *?
?
?
?
'?
*?
;?
?
;?
*?
;?
*?
?
?
???
.?
.?
.?
??
???
? ?
?
??
??
?
??
?? ?
?
?
??
?
?
?
?
*
!"#$%&'
() @?
?*
?+ ?,
?-
1?
f.
f/
f0
1
2
3
4
56?
7
?8 .9
:;<=>?@ABCDE
?F
G
.H
IJKL
.MN
.OPQRST
U
?V
?W
XY
.Z
*[
;\
;]
'^
._
.` ab
c d
e f g h
i
jkl
?m no
Lpqr
s *t (u
vw
?x
yz
{ |}
~
?
?? |?
?
H
f?
?
?? *?J *?
?? *?
??
z
??
??
w? InnerClasses Holder? Hidden? Compiled Name
NamedFunction? Kind? BasicType arity I result forceInline Z
customized Ljava/lang/invoke/MethodHandle; names #[Ljava/lang/invoke/LambdaForm$Name; RuntimeVisibleAnnotations #Ljdk/internal/vm/annotation/Stable; kind "Ljava/lang/invoke/LambdaForm$Kind; vmentry Ljava/lang/invoke/MemberName;
isCompiled transformCache Ljava/lang/Object; VOID_RESULT
ConstantValue???? LAST_RESULT???? LF_FAILED Ljdk/internal/perf/PerfCounter; COMPILE_THRESHOLD invocationCounter INTERNED_ARGUMENT_LIMIT
INTERNED_ARGUMENTS $[[Ljava/lang/invoke/LambdaForm$Name;
IMPL_NAMES? Factory %Ljava/lang/invoke/MemberName$Factory; LF_identity [Ljava/lang/invoke/LambdaForm; LF_zero NF_identity ,[Ljava/lang/invoke/LambdaForm$NamedFunction; NF_zero DEBUG_NAME_COUNTERS Ljava/util/HashMap; Signature :Ljava/util/HashMap; DEBUG_NAMES DLjava/util/HashMap; TRACE_INTERPRETER $assertionsDisabled ((I[Ljava/lang/invoke/LambdaForm$Name;I)V Code LineNumberTable LocalVariableTable this Ljava/lang/invoke/LambdaForm; J(I[Ljava/lang/invoke/LambdaForm$Name;ILjava/lang/invoke/LambdaForm$Kind;)V H(I[Ljava/lang/invoke/LambdaForm$Name;IZLjava/lang/invoke/MethodHandle;)V j(I[Ljava/lang/invoke/LambdaForm$Name;IZLjava/lang/invoke/MethodHandle;Ljava/lang/invoke/LambdaForm$Kind;)V maxOutArity
StackMapTable '(I[Ljava/lang/invoke/LambdaForm$Name;)V I(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V ((I[Ljava/lang/invoke/LambdaForm$Name;Z)V J(I[Ljava/lang/invoke/LambdaForm$Name;ZLjava/lang/invoke/LambdaForm$Kind;)V k([Ljava/lang/invoke/LambdaForm$Name;[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Name;)V formals temps "Ljava/lang/invoke/LambdaForm$Name; l([Ljava/lang/invoke/LambdaForm$Name;[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Name;Z)V
buildNames ?([Ljava/lang/invoke/LambdaForm$Name;[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Name;)[Ljava/lang/invoke/LambdaForm$Name; length (Ljava/lang/invoke/MethodType;)V mt Ljava/lang/invoke/MethodType; sig Ljava/lang/String; buildEmptyNames D(ILjava/lang/invoke/MethodType;Z)[Ljava/lang/invoke/LambdaForm$Name; zero isVoid fixResult '(I[Ljava/lang/invoke/LambdaForm$Name;)I
debugNames ()Z associateWithDebugName 2(Ljava/lang/invoke/LambdaForm;Ljava/lang/String;)V form name
lambdaName ()Ljava/lang/String; generateDebugName i
debugNameStem ctr Ljava/lang/Integer; buf Ljava/lang/StringBuilder; leadingZero namesOK '(I[Ljava/lang/invoke/LambdaForm$Name;)Z n customize >(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/LambdaForm; mh
customForm uncustomize ()Ljava/lang/invoke/LambdaForm; uncustomizedForm normalize ()I fixed startFixing n2 oldNames changesStart maxInterned
needIntern nameRefsAreLegal i2 arg
returnType )()Ljava/lang/invoke/LambdaForm$BasicType;
parameterType *(I)Ljava/lang/invoke/LambdaForm$BasicType; parameter %(I)Ljava/lang/invoke/LambdaForm$Name; param parameterConstraint (I)Ljava/lang/Object; expressionCount
methodType ()Ljava/lang/invoke/MethodType; ptypes [Ljava/lang/Class; LocalVariableTypeTable [Ljava/lang/Class<*>;? basicTypeSignature a signatureArity (Ljava/lang/String;)I signatureReturn ;(Ljava/lang/String;)Ljava/lang/invoke/LambdaForm$BasicType; isValidSignature (Ljava/lang/String;)Z c C siglen
signatureType 1(Ljava/lang/String;)Ljava/lang/invoke/MethodType; rtype Ljava/lang/Class; Ljava/lang/Class<*>; basicMethodType <(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType; isSelectAlternative (I)Z pos name0 name1 isMatchingIdiom (ILjava/lang/String;I)Z idiomName nArgs name2 isGuardWithCatch isTryFinally isLoop prepare ()V mtype prep failedCompilationCounter !()Ljdk/internal/perf/PerfCounter; compileToBytecode bge BytecodeGenerationException GLjava/lang/invoke/InvokerBytecodeGenerator$BytecodeGenerationException; e Ljava/lang/Error; Ljava/lang/Exception; invokerType argumentTypesMatch ((Ljava/lang/String;[Ljava/lang/Object;)Z pt av [Ljava/lang/Object; valueMatches M(Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class;Ljava/lang/Object;)Z tc 'Ljava/lang/invoke/LambdaForm$BasicType; type x P(Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class<*>;Ljava/lang/Object;)Z checkInt &(Ljava/lang/Class;Ljava/lang/Object;)Z w Lsun/invoke/util/Wrapper; x1? )(Ljava/lang/Class<*>;Ljava/lang/Object;)Z checkRef forceInterpretation interpretWithArguments '([Ljava/lang/Object;)Ljava/lang/Object; argumentValues values rv
Exceptions $Ljava/lang/invoke/LambdaForm$Hidden; 'Ljdk/internal/vm/annotation/DontInline;
interpretName I(Ljava/lang/invoke/LambdaForm$Name;[Ljava/lang/Object;)Ljava/lang/Object; arguments checkInvocationCounter interpretWithArgumentsTracing rval ex Ljava/lang/Throwable; traceInterpreter :(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V event obj args? '(Ljava/lang/String;Ljava/lang/Object;)V
arityCheck ([Ljava/lang/Object;)Z resultCheck (([Ljava/lang/Object;Ljava/lang/Object;)Z isEmpty toString equals (Ljava/lang/Object;)Z (Ljava/lang/invoke/LambdaForm;)Z that hashCode editor %()Ljava/lang/invoke/LambdaFormEditor; contains %(Ljava/lang/invoke/LambdaForm$Name;)Z 1(Ljava/lang/invoke/MethodType;)Ljava/lang/String; params [C sigp! shortenSignature &(Ljava/lang/String;)Ljava/lang/String; c0reps c0 signature NO_CHAR MIN_RUN c1 c1reps len lastUseIndex %(Ljava/lang/invoke/LambdaForm$Name;)I ni nmax useCount end count beg argument L(ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm$Name; which internArgument F(Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaForm$Name; C(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name; extra types identityForm F(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm; ord zeroForm identity T(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm$NamedFunction; function +Ljava/lang/invoke/LambdaForm$NamedFunction; constantZero createFormsFor *(Ljava/lang/invoke/LambdaForm$BasicType;)V (Ljava/lang/ReflectiveOperationException; idNames idFun zeForm zeFun zeValue zeNames idForm btChar btClass zeType idType idMem zeMem?
identity_I (I)I
identity_J (J)J J
identity_F (F)F F
identity_D (D)D D
identity_L &(Ljava/lang/Object;)Ljava/lang/Object;
identity_V zero_I zero_J ()J zero_F ()F zero_D ()D zero_L ()Ljava/lang/Object;
access$000 ?
SourceFile LambdaForm.java? .java/lang/invoke/MethodHandleNatives$Constants Constants[0?8]f]?F-\0?? java/lang/AssertionError,-~.-4?n34/01278?? java/lang/invoke/MethodType?? java/lang/invoke/LambdaFormrs]e???????????? java/lang/Voidz{?8??????? java/lang/StringBuilder?? != ?]?; java/lang/invoke/LambdaForm$Name??FC java/lang/Object]???????UV??YV???d java/lang/String???y???? java/lang/Integer??]?t????????? n is null???? is not param at
is param at E-;0<=??4????????9:?????????? %: 0 <= i2 && i2 < names.length: 0 <= < -1- -2- -3- -4- -5- -6-???= java/lang/Class??R?????,?]????Y????????????? !java/lang/invoke/MethodHandleImpl selectAlternative????./ guardWithCatch??
tryFinally loop??9:???? java/lang/invoke/MethodTypeForm??]u?????CD -java.lang.invoke.failedLambdaFormCompilations????????? Ejava/lang/invoke/InvokerBytecodeGenerator$BytecodeGenerationException??????0?? LambdaForm compilation failed: ???? java/lang/Error java/lang/Exception?? av.length == arity: av.length= , arity= java/lang/invoke/MethodHandle #av[0] not instace of MethodHandle: ?????? == basicType( )=?????? checkInt( , ) java/lang/Long instanceof Long: java/lang/Float instanceof Float: java/lang/Double instanceof Double: ?? checkRef(???????d??????? | interpretName
??DE?? [ interpretWithArguments | invocationCounter java/lang/Throwable
] throw => ] return => LFI: != .length not MH: ???? ??? =Lambda( )=>{
? =? ; void } : /??
?2/]
IJ not param: 67OPGHQPRSTS?? java/lang/invoke/MemberName identity_]KN java/lang/NoSuchMethodException zero_ java/lang/IllegalAccessException??8]d )java/lang/invoke/LambdaForm$NamedFunction?]]?|n? ?!?"?#-$?%&'-(? java/util/HashMap)* "java/lang/invoke/LambdaForm$Holder+,- java/lang/invoke/LambdaForm$1 "java/lang/invoke/LambdaForm$Hidden $java/lang/invoke/LambdaForm$Compiled java/lang/invoke/LambdaForm$Kind %java/lang/invoke/LambdaForm$BasicType #java/lang/invoke/MemberName$Factory sun/invoke/util/Wrapper java/io/PrintStream &java/lang/ReflectiveOperationException ([Ljava/lang/invoke/LambdaForm$BasicType; $java/lang/invoke/MethodHandleNatives GENERIC clone java/util/Arrays copyOf )([Ljava/lang/Object;I)[Ljava/lang/Object; java/lang/System arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V parameterCount ()Ljava/lang/Class; TYPE ZERO append -(Ljava/lang/String;)Ljava/lang/StringBuilder; (Ljava/lang/Object;)V basicType :(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType; A(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V newIndex V_TYPE put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; get defaultLambdaName valueOf (I)Ljava/lang/Integer; getOrDefault intValue (Ljava/lang/String;)V (I)Ljava/lang/StringBuilder; insert (IC)Ljava/lang/StringBuilder; (C)Ljava/lang/StringBuilder; isParam -(Ljava/lang/Object;)Ljava/lang/StringBuilder; initIndex cloneWithIndex replaceNames l([Ljava/lang/invoke/LambdaForm$Name;[Ljava/lang/invoke/LambdaForm$Name;II)Ljava/lang/invoke/LambdaForm$Name; java/lang/Math min (II)I internArguments index asList %([Ljava/lang/Object;)Ljava/util/List; S debugString
constraint makeImpl C(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType; (I)V
basicTypeChar ()C indexOf charAt (I)C *(C)Ljava/lang/invoke/LambdaForm$BasicType; isArgBasicTypeChar (C)Z refersTo &(Ljava/lang/Class;Ljava/lang/String;)Z
isInvokeBasic #()Ljava/lang/invoke/MethodTypeForm; cachedLambdaForm (I)Ljava/lang/invoke/LambdaForm; )java/lang/invoke/InvokerBytecodeGenerator 'generateLambdaFormInterpreterEntryPoint <(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName; setCachedLambdaForm =(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm; jdk/internal/perf/PerfCounter newPerfCounter 3(Ljava/lang/String;)Ljdk/internal/perf/PerfCounter;
getMethodType generateCustomizedCode Y(Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName; increment $java/lang/invoke/MethodHandleStatics LOG_LF_COMPILATION_FAILURE out Ljava/io/PrintStream; println printStackTrace (Ljava/io/PrintStream;)V newInternalError B(Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/InternalError; (I)Ljava/lang/Class; 0$SwitchMap$java$lang$invoke$LambdaForm$BasicType [I ordinal forBasicType ,(Ljava/lang/Class;)Lsun/invoke/util/Wrapper; isSubwordOrInt INT wrap isPrimitive isInterface
isInstance :([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object; invokeWithArguments internalForm isConstantZero paramString
exprString )([Ljava/lang/Object;[Ljava/lang/Object;)Z ([Ljava/lang/Object;)I !java/lang/invoke/LambdaFormEditor lambdaFormEditor B(Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaFormEditor; (Ljava/lang/Class;)C ([C)Ljava/lang/String; substring (II)Ljava/lang/String; 5(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder; +(ILjava/lang/invoke/LambdaForm$BasicType;)V 0(Ljava/lang/Class;)Ljava/lang/invoke/MethodType; A(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType; D(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
resolveOrFail _(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName; 0(Ljava/lang/Exception;)Ljava/lang/InternalError; L_TYPE IDENTITY getInvocationType #java/lang/invoke/SimpleMethodHandle make `(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle; ?(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;)V +java/lang/invoke/MethodHandleImpl$Intrinsic Intrinsic -Ljava/lang/invoke/MethodHandleImpl$Intrinsic; l(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V (C)Lsun/invoke/util/Wrapper;
isIdentity desiredAssertionStatus max ARG_TYPE_LIMIT ARG_TYPES
getFactory '()Ljava/lang/invoke/MemberName$Factory;
TYPE_LIMIT debugEnabled UNSAFE Ljdk/internal/misc/Unsafe; jdk/internal/misc/Unsafe ensureClassInitialized (Ljava/lang/Class;)V 1 ,- .- /0 12 34 5 6 78 9: ;0 @<= >- ? @ A- ? B
CD 5 6 E- F- G- ? H IJ KN OP 5 6 QP 5 6 RS 5 6 TS 5 6 UV W X YV W Z [0 \0 Y ]^ _ Y
*,? ? ? `
h ia *
bc
,-
34
.- ]d _ b *,? ? `
k la 4 bc ,- 34 .- 78 ]e _ o *,? ? ? `
n oa > bc ,- 34 .- /0 12 ]f _ : s*? *? ? ? ,? ? ? Y?
?*? *,? ?
*,? ? ? *? *? *? *? 6 ?? ? ? ?? ? Y?
?*? ? ` : p ? q r $s -t 8u >v Dw Jx Py X{ n| r~a R sbc s,- s34 s.- s/0 s12 s78 P #g- h ? ?( ? N ]i _ P *,?? ? ? `
?
?a bc ,- 34 ]j _ X *,?-? ? `
? ?a * bc ,- 34 78 ]k _ Z *,?? ? ? `
?
?a * bc ,- 34 /0 ]l _ c
*,?? ? `
? ?a 4
bc
,-
34
/0
78 ]m _ ] *+?+,-? ?? ? `
? ?a * bc n4 o4 .p ]q _ h *+?+,-? ?? ? `
? ?a 4 bc n4 o4 .p /0
rs _ ? 7*?>+?`,? ? `6*? ? :++?? ,? d,S? ` ? ? ? ? (? ,? 4?a > 7n4 7o4 7.p 4,- $t- 34 h . ? . ? . ? # ]u _ ? ?*? *? *+? ? *+? ? ? +? ? ? *? ?
**? +*?
? ? ? ? *? *? *? !? ? ? *? "? ? Y?
?? ? *? #? ? Y?
?M? ? *? $YM? %? ? Y?
?? ? 0,*? $? &? %? Y? 'Y? (,? )*? )*? $? )? +? ,?? ` : ? ? ? ? 0? I? N? S? Z? o? ?? ?? ?? ??a ?bc ?vw ? Nxy h Y ? % C ? ? ? +? ;2
z{ _ ? 4? ? +? -N? #? .Y+? ? /? 0? 1? 2:-? 3S-? ` ? ? ? )? 2?a 4 ) |p 4,- 4vw 4}0 &34 h @? (
~ _ m ?? +?d;? +2? 4? 5? ;? ` ? ? ? ? ?a .- 34 h ?? _ / ? 6? ? ? ` ?h
@ ?? _ ? .? ? ? 7? ? Y?
?? 8YM² 8*+? 9W,ç N,?-?? % ( ( + ( ` ? ? ? #? -?a .?c .?y h ? ; 1 ?? ?? _ ? 1? 8? &? 8YL² 8*? :? ;M,? *?