com presentations: DPC: All about the goto: jump-dpc17.xml slides/internals/deadcode-vld.xml

[email protected] (Derick Rethans) Thu, 29 Jun 2017 09:15:33 +0000
Newsgroups php.pres
Message-ID <[email protected]>
Commit:    696c3c74c5f0f4c01b9fac84bb528e7dd7941b21
Author:    Derick Rethans <[email protected]>         Thu, 29 Jun 2017 11:15:33 +0200
Parents:   b3d776b6d142bf17067452725f611087db969284
Branches:  master

Link:       http://git.php.net/?p=presentations.git;a=commitdiff;h=696c3c74c5f0f4c01b9fac84bb528e7dd7941b21

Log:
DPC: All about the goto

Changed paths:
  A  jump-dpc17.xml
  M  slides/internals/deadcode-vld.xml


Diff:
diff --git a/jump-dpc17.xml b/jump-dpc17.xml
new file mode 100644
index 0000000..d680c98
--- /dev/null
+++ b/jump-dpc17.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>
+<presentation css="10gen-strict.css">
+<topic>PHP</topic>
+<title>It's All About the Goto</title>
+<event>Dutch PHP Conference</event>
+<location>Amsterdam, Netherlands</location>
+<date>July 1st</date>
+<speaker>Derick Rethans</speaker>
+<email>[email protected]</email>
+<twitter>derickr</twitter>
+<joindin>https://joind.in/21166</joindin>
+
+<slide>slides/mongodb/title.xml</slide>
+<slide>slides/mongodb/me.xml</slide>
+
+<slide>slides/internals/title-agenda.xml</slide>
+
+<slide>slides/internals/title-stages.xml</slide>
+<!-- INTRODUCTION
+Compile stages:
+Parse script
+Create AST
+Convert to opcodes
+Run the code
+Opcache for caching
+-->
+<slide>slides/internals/stages.xml</slide>
+
+<!-- STAGES
+Parse
+- Show parser rules
+- Show "compiler" rules
+-->
+
+<slide>slides/internals/title-parsing.xml</slide>
+<slide>slides/internals/parse-state-machine.xml</slide>
+<slide>slides/internals/parse-tokenization.xml</slide>
+<slide>slides/internals/scanner.xml</slide>
+<slide>slides/internals/scanner-rules.xml</slide>
+<slide>slides/internals/ast.xml</slide>
+<slide>slides/internals/ast1.xml</slide>
+<!--<slide>slides/internals/scanner-ast.xml</slide>-->
+<slide>slides/internals/scanner-ast2.xml</slide>
+<slide>slides/internals/bytecode0.xml</slide>
+<slide>slides/internals/bytecode½.xml</slide>
+<slide>slides/internals/bytecode1.xml</slide>
+
+<slide>slides/internals/jumps.xml</slide>
+
+<!--
+AST
+- Show AST for various control structures
+
+Opcodes
+- Show AST for the same control structures
+-->
+
+<slide>slides/internals/jumps-if.xml</slide>
+<slide>slides/internals/jumps-if-else.xml</slide>
+
+<slide>slides/internals/rings.xml</slide>
+<slide>slides/internals/jumps-for.xml</slide>
+<slide>slides/internals/jumps-for-rewritten.xml</slide>
+<!--<slide>slides/internals/jumps-while.xml</slide>-->
+<!--<slide>slides/internals/jumps-do-while.xml</slide>-->
+<slide>slides/internals/jumps-foreach.xml</slide>
+<!--<slide>slides/internals/jumps-complex.xml</slide>-->
+<slide>slides/internals/loops.xml</slide>
+<slide>slides/internals/jumps-complex-dot.xml</slide>
+
+<!--
+Try/Catch nonsense
+- FASTCALL/FASTRET
+-->
+<!-- <slide>slides/internals/catch.xml</slide>-->
+<!-- <slide>slides/internals/jumps-try-catch.xml</slide>-->
+
+<!--
+Dead code analysis
+- Show how Xdebug does it through VLD
+-->
+<slide>slides/internals/deadcode.xml</slide>
+<slide>slides/internals/deadcode-vld.xml</slide>
+
+<!--
+Path analysis
+- Branch and Path
+-->
+<slide>slides/internals/branches.xml</slide>
+<slide>slides/xdebug/vld-path-2-paths.xml</slide>
+<slide>slides/xdebug/vld-path-4-code.xml</slide>
+<slide>slides/xdebug/vld-path-4-output.xml</slide>
+
+<slide>slides/xdebug/vld-path-3-code.xml</slide>
+<!--<slide>slides/xdebug/vld-path-3-output.xml</slide>-->
+<slide>slides/xdebug/vld-path-3-paths.xml</slide>
+
+<!-- Conclusion
+
+Code -> Tokens -> AST -> opode
+
+Transformation of control structures
+
+Useful implementations 
+
+-->
+<slide>slides/internals/recap.xml</slide>
+<slide>slides/internals/recap-content.xml</slide>
+
+
+
+<slide>slides/mongodb/questions.xml</slide>
+
+<slide>slides/mongodb/resources.xml</slide>
+
+</presentation>
diff --git a/slides/internals/deadcode-vld.xml b/slides/internals/deadcode-vld.xml
index 14c8224..8edab6e 100644
--- a/slides/internals/deadcode-vld.xml
+++ b/slides/internals/deadcode-vld.xml
@@ -23,6 +23,6 @@ line   #* E I O op             return  operands
 
 <list>
 <bullet>Follow all branches</bullet>
-<bullet>Find unreached opcodes</bullet>
+<bullet>Find unreachable opcodes</bullet>
 </list>
 </slide>