示例#1
0
 /// <summary>
 /// Write instruction operands into bytecode stream.
 /// </summary>
 /// <param name="writer">Bytecode writer.</param>
 public override void WriteOperands(WordWriter writer)
 {
     Queue.Write(writer);
     Flags.Write(writer);
     NDRange.Write(writer);
     NumEvents.Write(writer);
     WaitEvents.Write(writer);
     RetEvent.Write(writer);
     Invoke.Write(writer);
     Param.Write(writer);
     ParamSize.Write(writer);
     ParamAlign.Write(writer);
     LocalSize.Write(writer);
 }
示例#2
0
        /// <summary>
        /// Calculate number of words to fit complete instruction bytecode.
        /// </summary>
        /// <returns>Number of words in instruction bytecode.</returns>
        public override uint GetWordCount()
        {
            uint wordCount = 0;

            wordCount += IdResultType.GetWordCount();
            wordCount += IdResult.GetWordCount();
            wordCount += Queue.GetWordCount();
            wordCount += Flags.GetWordCount();
            wordCount += NDRange.GetWordCount();
            wordCount += NumEvents.GetWordCount();
            wordCount += WaitEvents.GetWordCount();
            wordCount += RetEvent.GetWordCount();
            wordCount += Invoke.GetWordCount();
            wordCount += Param.GetWordCount();
            wordCount += ParamSize.GetWordCount();
            wordCount += ParamAlign.GetWordCount();
            wordCount += LocalSize.GetWordCount();
            return(wordCount);
        }