summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/python/python3/04-default-is-optimized.patch
blob: d5afd4002591e577c04bb313bcb6222c08db336f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Upstream-Status: Inappropriate [embedded specific]

Updated original patch for python 2.7.3

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
2012/05/01


# when compiling for an embedded system, we need every bit of
# performance we can get. default to optimized with the option
# of opt-out.
# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>

Index: Python-3.2.3/Python/compile.c
===================================================================
--- Python-3.2.3.orig/Python/compile.c	2012-04-10 23:54:08.000000000 -0700
+++ Python-3.2.3/Python/compile.c	2012-09-19 15:58:46.649123998 -0700
@@ -30,7 +30,7 @@
 #include "symtable.h"
 #include "opcode.h"
 
-int Py_OptimizeFlag = 0;
+int Py_OptimizeFlag = 1;
 
 #define DEFAULT_BLOCK_SIZE 16
 #define DEFAULT_BLOCKS 8
Index: Python-3.2.3/Modules/main.c
===================================================================
--- Python-3.2.3.orig/Modules/main.c	2012-04-10 23:54:07.000000000 -0700
+++ Python-3.2.3/Modules/main.c	2012-09-19 16:00:32.153124053 -0700
@@ -46,7 +46,7 @@
 static int  orig_argc;
 
 /* command line options */
-#define BASE_OPTS L"bBc:dEhiJm:OqRsStuvVW:xX:?"
+#define BASE_OPTS L"bBc:dEhiJm:NOqRsStuvVW:xX:?"
 
 #define PROGRAM_OPTS BASE_OPTS
 
@@ -71,6 +71,7 @@
 -m mod : run library module as a script (terminates option list)\n\
 -O     : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x\n\
 -OO    : remove doc-strings in addition to the -O optimizations\n\
+-N     : do NOT optimize generated bytecode\n\
 -q     : don't print version and copyright messages on interactive startup\n\
 -R     : use a pseudo-random salt to make hash() values of various types be\n\
          unpredictable between separate invocations of the interpreter, as\n\
@@ -407,8 +408,8 @@
 
         /* case 'J': reserved for Jython */
 
-        case 'O':
-            Py_OptimizeFlag++;
+        case 'N':
+            Py_OptimizeFlag=0;
             break;
 
         case 'B':