< prev index next >

make/gensrc/GensrcVarHandles.gmk

Print this page

        

*** 157,176 **** --- 157,283 ---- GENSRC_VARHANDLES += $$($1_FILENAME) endef ################################################################################ + ################################################################################ + # Setup a rule for generating a VarHandleMemoryAddress java class + # Param 1 - Variable declaration prefix + # Param 2 - Type with first letter capitalized + define GenerateVarHandleMemoryAddress + + $1_Type := $2 + + $1_FILENAME := $(VARHANDLES_GENSRC_DIR)/VarHandleMemoryAddressAs$$($1_Type)s.java + + ifeq ($$($1_Type), Byte) + $1_type := byte + $1_BoxType := $$($1_Type) + + $1_rawType := $$($1_type) + $1_RawType := $$($1_Type) + $1_RawBoxType := $$($1_BoxType) + + $1_ARGS += -Kbyte + endif + + ifeq ($$($1_Type), Short) + $1_type := short + $1_BoxType := $$($1_Type) + + $1_rawType := $$($1_type) + $1_RawType := $$($1_Type) + $1_RawBoxType := $$($1_BoxType) + endif + + ifeq ($$($1_Type), Char) + $1_type := char + $1_BoxType := Character + + $1_rawType := $$($1_type) + $1_RawType := $$($1_Type) + $1_RawBoxType := $$($1_BoxType) + endif + + ifeq ($$($1_Type), Int) + $1_type := int + $1_BoxType := Integer + + $1_rawType := $$($1_type) + $1_RawType := $$($1_Type) + $1_RawBoxType := $$($1_BoxType) + + $1_ARGS += -KCAS + $1_ARGS += -KAtomicAdd + $1_ARGS += -KBitwise + endif + + ifeq ($$($1_Type), Long) + $1_type := long + $1_BoxType := $$($1_Type) + + $1_rawType := $$($1_type) + $1_RawType := $$($1_Type) + $1_RawBoxType := $$($1_BoxType) + + $1_ARGS += -KCAS + $1_ARGS += -KAtomicAdd + $1_ARGS += -KBitwise + endif + + ifeq ($$($1_Type), Float) + $1_type := float + $1_BoxType := $$($1_Type) + + $1_rawType := int + $1_RawType := Int + $1_RawBoxType := Integer + + $1_ARGS += -KCAS + $1_ARGS += -KfloatingPoint + endif + + ifeq ($$($1_Type), Double) + $1_type := double + $1_BoxType := $$($1_Type) + + $1_rawType := long + $1_RawType := Long + $1_RawBoxType := Long + + $1_ARGS += -KCAS + $1_ARGS += -KfloatingPoint + endif + + $$($1_FILENAME): $(VARHANDLES_SRC_DIR)/X-VarHandleMemoryAddressView.java.template $(BUILD_TOOLS_JDK) + $$(call MakeDir, $$(@D)) + $(RM) $$@ + $(TOOL_SPP) -nel -K$$($1_type) \ + -Dtype=$$($1_type) -DType=$$($1_Type) -DBoxType=$$($1_BoxType) \ + -DrawType=$$($1_rawType) -DRawType=$$($1_RawType) -DRawBoxType=$$($1_RawBoxType) \ + $$($1_ARGS) -i$$< -o$$@ + + GENSRC_VARHANDLES += $$($1_FILENAME) + endef + + ################################################################################ + # List the types to generate source for, with capitalized first letter VARHANDLES_TYPES := Boolean Byte Short Char Int Long Float Double Reference $(foreach t, $(VARHANDLES_TYPES), \ $(eval $(call GenerateVarHandle,VAR_HANDLE_$t,$t))) # List the types to generate source for, with capitalized first letter VARHANDLES_BYTE_ARRAY_TYPES := Short Char Int Long Float Double $(foreach t, $(VARHANDLES_BYTE_ARRAY_TYPES), \ $(eval $(call GenerateVarHandleByteArray,VAR_HANDLE_BYTE_ARRAY_$t,$t))) + # List the types to generate source for, with capitalized first letter + VARHANDLES_MEMORY_ADDRESS_TYPES := Byte Short Char Int Long Float Double + $(foreach t, $(VARHANDLES_MEMORY_ADDRESS_TYPES), \ + $(eval $(call GenerateVarHandleMemoryAddress,VAR_HANDLE_BYTE_ARRAY_$t,$t))) + GENSRC_JAVA_BASE += $(GENSRC_VARHANDLES) # Include custom extension post hook $(eval $(call IncludeCustomExtension, gensrc/GensrcVarHandles-post.gmk))
< prev index next >