1 /* 2 * X86Options 3 * 4 * Author: Lasse Collin <lasse.collin@tukaani.org> 5 * 6 * This file has been put into the public domain. 7 * You can do whatever you want with this file. 8 */ 9 10 package org.tukaani.xz; 11 12 import java.io.InputStream; 13 import org.tukaani.xz.simple.X86; 14 15 /** 16 * BCJ filter for x86 (32-bit and 64-bit) instructions. 17 */ 18 public class X86Options extends BCJOptions { 19 private static final int ALIGNMENT = 1; 20 X86Options()21 public X86Options() { 22 super(ALIGNMENT); 23 } 24 getOutputStream(FinishableOutputStream out, ArrayCache arrayCache)25 public FinishableOutputStream getOutputStream(FinishableOutputStream out, 26 ArrayCache arrayCache) { 27 return new SimpleOutputStream(out, new X86(true, startOffset)); 28 } 29 getInputStream(InputStream in, ArrayCache arrayCache)30 public InputStream getInputStream(InputStream in, ArrayCache arrayCache) { 31 return new SimpleInputStream(in, new X86(false, startOffset)); 32 } 33 getFilterEncoder()34 FilterEncoder getFilterEncoder() { 35 return new BCJEncoder(this, BCJCoder.X86_FILTER_ID); 36 } 37 } 38