Skip to content

Commit 46170d8

Browse files
committed
[GR-36430] intrinsify _posixshmem.
PullRequest: graalpython/2111
2 parents 10b3cde + f44f709 commit 46170d8

File tree

7 files changed

+39
-167
lines changed

7 files changed

+39
-167
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/Python3Core.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017, 2021, Oracle and/or its affiliates.
2+
* Copyright (c) 2017, 2022, Oracle and/or its affiliates.
33
* Copyright (c) 2013, Regents of the University of California
44
*
55
* All rights reserved.
@@ -346,19 +346,16 @@ public abstract class Python3Core extends ParserErrorCallback {
346346
private static String[] initializeCoreFiles() {
347347
// Order matters!
348348
List<String> coreFiles = new ArrayList<>(Arrays.asList(
349-
"object",
350349
"type",
351350
"_imp",
352351
"function",
353-
"method",
354352
"_frozen_importlib",
355353
"__graalpython__",
356354
"_weakref",
357355
"faulthandler",
358356
PythonCextBuiltins.PYTHON_CEXT,
359357
"bytearray",
360358
"unicodedata",
361-
"_locale",
362359
"_sre",
363360
"function",
364361
"_sysconfig",
@@ -367,8 +364,7 @@ private static String[] initializeCoreFiles() {
367364
"java",
368365
"_contextvars",
369366
"pip_hook",
370-
"_struct",
371-
"_posixshmem"));
367+
"_struct"));
372368
// add service loader defined python file extensions
373369
if (!ImageInfo.inImageRuntimeCode()) {
374370
ServiceLoader<PythonBuiltins> providers = ServiceLoader.load(PythonBuiltins.class, Python3Core.class.getClassLoader());

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/LocaleModuleBuiltins.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* The Universal Permissive License (UPL), Version 1.0
@@ -51,6 +51,8 @@
5151

5252
import com.oracle.graal.python.builtins.Builtin;
5353
import com.oracle.graal.python.builtins.CoreFunctions;
54+
import com.oracle.graal.python.builtins.Python3Core;
55+
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
5456
import com.oracle.graal.python.builtins.PythonBuiltins;
5557
import com.oracle.graal.python.builtins.objects.PNone;
5658
import com.oracle.graal.python.builtins.objects.dict.PDict;
@@ -78,6 +80,7 @@ public class LocaleModuleBuiltins extends PythonBuiltins {
7880
static final int LC_MONETARY = 4;
7981
static final int LC_NUMERIC = 1;
8082
static final int LC_TIME = 2;
83+
static final int CHAR_MAX = 127;
8184

8285
@TruffleBoundary
8386
public static Locale fromPosix(String posixLocaleId) {
@@ -163,6 +166,22 @@ protected List<? extends NodeFactory<? extends PythonBuiltinNode>> getNodeFactor
163166
return LocaleModuleBuiltinsFactory.getFactories();
164167
}
165168

169+
@Override
170+
public void initialize(Python3Core core) {
171+
builtinConstants.put("LC_ALL", 6);
172+
builtinConstants.put("LC_COLLATE", 3);
173+
builtinConstants.put("LC_CTYPE", 0);
174+
builtinConstants.put("LC_MESSAGES", 5);
175+
builtinConstants.put("LC_MONETARY", 4);
176+
builtinConstants.put("LC_NUMERIC", 1);
177+
builtinConstants.put("LC_TIME", 2);
178+
builtinConstants.put("CHAR_MAX", 127);
179+
180+
builtinConstants.put("Error", PythonBuiltinClassType.ValueError);
181+
182+
super.initialize(core);
183+
}
184+
166185
// _locale.localeconv()
167186
@Builtin(name = "localeconv")
168187
@GenerateNodeFactory

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/PosixShMemModuleBuiltins.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2021, 2022, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* The Universal Permissive License (UPL), Version 1.0
@@ -40,19 +40,33 @@
4040
*/
4141
package com.oracle.graal.python.builtins.modules;
4242

43+
import com.oracle.graal.python.builtins.Builtin;
4344
import com.oracle.graal.python.builtins.CoreFunctions;
4445
import com.oracle.graal.python.builtins.PythonBuiltins;
46+
import com.oracle.graal.python.builtins.objects.PNone;
4547
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
48+
import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
49+
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
4650
import com.oracle.truffle.api.dsl.NodeFactory;
47-
import java.util.ArrayList;
51+
import com.oracle.truffle.api.dsl.Specialization;
4852
import java.util.List;
4953

5054
@CoreFunctions(defineModule = "_posixshmem")
5155
public class PosixShMemModuleBuiltins extends PythonBuiltins {
5256

5357
@Override
5458
protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFactories() {
55-
return new ArrayList<>();
59+
return PosixShMemModuleBuiltinsFactory.getFactories();
60+
}
61+
62+
@Builtin(name = "shm_unlink", minNumOfPositionalArgs = 1)
63+
@GenerateNodeFactory
64+
public abstract static class LocaleConvNode extends PythonUnaryBuiltinNode {
65+
@SuppressWarnings("unused")
66+
@Specialization
67+
public Object doit(Object path) {
68+
return PNone.NONE;
69+
}
5670
}
5771

5872
}

graalpython/lib-graalpython/_locale.py

Lines changed: 0 additions & 51 deletions
This file was deleted.

graalpython/lib-graalpython/_posixshmem.py

Lines changed: 0 additions & 43 deletions
This file was deleted.

graalpython/lib-graalpython/method.py

Lines changed: 0 additions & 40 deletions
This file was deleted.

graalpython/lib-graalpython/object.py

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)