Upgrade to Pro — share decks privately, control downloads, hide ads and more …

古典的なStack Overflow から JIT-ROPまで

20c5ddcad23304aed77ce8c3aa020562?s=47 @tkmru
December 15, 2016

古典的なStack Overflow から JIT-ROPまで

ゼミにて

20c5ddcad23304aed77ce8c3aa020562?s=128

@tkmru

December 15, 2016
Tweet

Transcript

  1. ݹయతͳ4UBDL0WFSqPX ͔Β +*5301·Ͱ θϛ !ULNSV

  2. ؔ਺ݺͼग़࣌͠ͷελοΫ w DBMMGVODUJPOOBNF w ΞηϯϒϦͰ͸DBMM໋ྩͰؔ਺͕͋ΔΞυϨεʹඈͿ w ͦͷࡍɺ໭ΓઌͷΞυϨεΛϦλʔϯΞυϨεͱͯ͠
 ελοΫʹஔ͘ w ؔ਺Λ࣮ߦ͠ऴ͑ΔͱSFU໋ྩͰϦλʔϯΞυϨεʹ໭Δ

    w DBMMGVODUJPOOBNFΛ࣮ߦͨ͠ͱ͖ͷ
 ɹɹɹɹɹɹɹɹɹɹɹɹɹελοΫͷ༷ࢠ
 ม਺ ม਺ ϦλʔϯΞυϨε
  3. PWFSqPX͢Δίʔυྫ w ಡΈࠐΈαΠζΛνΣοΫ͠ͳ͍ؔ਺Λ࢖͍ͬͯΔͱ
 PWFSqPXͷݪҼͱͳΔ w FY TUSDQZ HFUT

  4. 4UBDL0WFSqPX w PWFSqPXͤ͞ɺ࣮ߦ͍ͨ͠ίʔυΛελοΫʹॻ͖ࠐΉ w ͦͷࡍɺϦλʔϯΞυϨεΛ࣮ߦ͍ͨ͠ίʔυ͕͋Δ
 ΞυϨεʹॻ͖׵͑Δ w ॻ͖׵͑ΒΕͨΞυϨεʹ͋Δίʔυ͕࣮ߦ͞ΕΔ CVG<> PME&#1

    ϦλʔϯΞυϨε BBBB BBBB BBBB BBBB Y PWFSqPX͢ΔલͷελοΫͷ༷ࢠ PWFSqPXͨ͠ޙͷελοΫͷ༷ࢠ
  5. ରࡦͷҰྫ w $16ͷ/9CJU /PF9FDVUFCJU  w ελοΫʹ࣮ߦͰ͖ͳ͍ྖҬΛ࡞Δ w ࣮૷ྫʣ-JOVY&YFD4IJFMEɺ8JO%&1 w

    PWFSqPXʹΑΓελοΫ্ʹ߈ܸίʔυΛ഑ஔ͞Εͯ΋
 ελοΫ্ͷίʔυ͸࣮ߦͰ͖ͳ͍
  6. 301 w 3FUVSO0SJFOUFE1SPHSBNNJOH w /9CJU༗ޮԼͰ͸TUBDL্ͷίʔυΛ࣮ߦͰ͖ͳ͍ w ͔͠͠ɺ࣮ߦՄೳͳྖҬ FYϥΠϒϥϦ ͸͋Δ w

    ࣮ߦՄೳͳྖҬͷதͰ࢖͑ͦ͏ͳίʔυΛ
 அยతʹݺͼग़͢͜ͱͰ೚ҙͷಈ࡞Λͤ͞Δ͜ͱ͕
 Ͱ͖Δ
  7. w 301Ͱར༻͢Δஅยతͳίʔυͷ͜ͱΛ301HBEHFUͱ ݺͿ w SFU໋ྩ͕ޙΖʹ͍͍ͭͯΔίʔυ w FY QPQSEJSFU w SFU໋ྩΛ࣮ߦ͠Ϧλʔϯ͢ΔஅยతͳίʔυΛ


    ෳ਺ݺͿ͜ͱͰ໨తͷಈ࡞Λୡ੒͢Δ͜ͱ͔Β
 3FUVSO0SJFOUFE1SPHSBNNJOHͱ໊෇͚ΒΕͨ 301
  8. FYQMPJUͷྫ w ϦλʔϯΞυϨεΛҎԼͷॱͰॻ͖׵͑Δ w TZTUFN lCJOTIz Λ࣮ߦ͠γΣϧΛىಈ w QPQSEJSFUͷΞυϨεҾ਺Ληοτ͢Δ w

    ελοΫʹ͸CJOTIͷΞυϨεΛੵΜͰ͓͘ w DBMMTZTUFN ͷΞυϨεTZTUFN ΛݺͿ
  9. 301ͷσϞ

  10. ରࡦͷҰྫ w "4-3 "EESFTT4QBDF-BZPVU3BOEPNJ[BUJPO  w ΞυϨεۭؒ഑ஔΛϥϯμϜʹ͢Δ w ελοΫɺώʔϓɺσʔλྖҬͷΞυϨε͕ϥϯμϜʹ w

    ܾΊଧͪͰΞυϨεΛࢦఆ͢Δ߈ܸΛແޮԽͰ͖Δ
  11. "4-3 -JOVY ͷ໰୊఺ w (05ͷΞυϨε͕ݻఆͷ·· w (05 (MPCBM0⒎TFU5BCMF  w

    γϯϘϧ ؔ਺ ΁ͷϙΠϯλͷ഑ྻ w ؔ਺ͷΞυϨεΛղܾ͢ΔͨΊͷྖҬ
  12. +*5301 w +VTU*O5JNF301 w (05ʹొ࿥͞Ε͍ͯΔؔ਺Λ࢖ͬͯɺ࣮ߦதʹ
 ࣮ߦՄೳྖҬΛಡΈऔΔ w ಡΈऔͬͨྖҬʹ͋Δ301HBEHFUΛ࢖͏ w ΞυϨε͕ϥϯμϜԽ͞Εͨ͋ͱʹಡΈऔΔ͜ͱͰɹ

    "4-3Λճආ
  13. +*5301ͷରࡦ w ͍Ζ͍Ζ࿦จ͕ग़͍ͯΔ͕ɺ࣮ࡍʹ04΍ίϯύΠϥʹ࣮ ૷͞Εͨ΋ͷ͸ݱ࣌఺Ͱ͸ͳ͍ɻ w ࠓޙɺ஫ࢹ͍͖͍ͯͨ͠

  14. ࢀߟจݙ w "OUJ301ࡇΓͩͥʂ64&/*94FDVSJUZ301 3FUVSOPGUIFFEJZV[VIBSBͷ೔ه
 IUUQZV[VIBSBIBUFOBCMPHKQFOUSZ  w +*5301؇࿨ख๏)FJTFOCZUFʹ͍ͭͯ·ͱΊͯΈΔ΋ ΋͍ΖςΫϊϩδʔIUUQJOB[IBUFOBCMPHDPN FOUSZ