Skip to content

Commit beba1ba

Browse files
fangerertimfel
authored andcommitted
Merge branch 'master'
2 parents 3c2d35c + de1733d commit beba1ba

File tree

4 files changed

+15
-9
lines changed

4 files changed

+15
-9
lines changed

graalpython/com.oracle.graal.python.jni/src/hpy_jni.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -316,10 +316,12 @@ static long augment_Long_AsLong(HPyContext *ctx, HPy h) {
316316
static unsigned long augment_Long_AsUnsignedLong(HPyContext *ctx, HPy h) {
317317
uint64_t bits = toBits(h);
318318
if (isBoxedInt(bits)) {
319-
return unboxInt(bits);
320-
} else {
321-
return original_Long_AsUnsignedLong(ctx, h);
319+
int32_t unboxed = unboxInt(bits);
320+
if (unboxed >= 0) {
321+
return unboxed;
322+
}
322323
}
324+
return original_Long_AsUnsignedLong(ctx, h);
323325
}
324326

325327
static double augment_Long_AsDouble(HPyContext *ctx, HPy h) {

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContext.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,10 @@
8383
import com.oracle.graal.python.builtins.objects.cext.capi.CApiContext;
8484
import com.oracle.graal.python.builtins.objects.cext.common.CArrayWrappers;
8585
import com.oracle.graal.python.builtins.objects.cext.common.CArrayWrappers.CStringWrapper;
86-
import com.oracle.graal.python.builtins.objects.cext.common.CExtCommonNodesFactory.AsNativePrimitiveNodeGen;
8786
import com.oracle.graal.python.builtins.objects.cext.common.CExtContext;
8887
import com.oracle.graal.python.builtins.objects.cext.common.LoadCExtException.ApiInitException;
8988
import com.oracle.graal.python.builtins.objects.cext.common.LoadCExtException.ImportException;
89+
import com.oracle.graal.python.builtins.objects.cext.common.CExtCommonNodesFactory.AsNativePrimitiveNodeGen;
9090
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctions.GraalHPyAsIndex;
9191
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctions.GraalHPyAsPyObject;
9292
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctions.GraalHPyBinaryArithmetic;
@@ -188,12 +188,12 @@
188188
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctions.ReturnType;
189189
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodes.HPyAttachFunctionTypeNode;
190190
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodes.PCallHPyFunction;
191+
import com.oracle.graal.python.builtins.objects.cext.hpy.HPyExternalFunctionNodes.HPyCheckFunctionResultNode;
191192
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodesFactory.HPyAsPythonObjectNodeGen;
192193
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodesFactory.HPyGetNativeSpacePointerNodeGen;
193194
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodesFactory.HPyRaiseNodeGen;
194195
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodesFactory.HPyTransformExceptionToNativeNodeGen;
195196
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyNodesFactory.PCallHPyFunctionNodeGen;
196-
import com.oracle.graal.python.builtins.objects.cext.hpy.HPyExternalFunctionNodes.HPyCheckFunctionResultNode;
197197
import com.oracle.graal.python.builtins.objects.common.EmptyStorage;
198198
import com.oracle.graal.python.builtins.objects.common.HashMapStorage;
199199
import com.oracle.graal.python.builtins.objects.common.HashingStorage;
@@ -369,7 +369,7 @@ public static Object loadHPyModule(Node location, PythonContext context, String
369369
if (llvmInteropLib.isMemberExisting(llvmLibrary, hpyInitFuncName)) {
370370
return hpyContext.initHPyModule(context, llvmLibrary, hpyInitFuncName, name, path, debug, llvmInteropLib, checkResultNode);
371371
}
372-
throw new ImportException(null, name, path, ErrorMessages.CANNOT_INITIALIZE_WITH, path, basename, "");
372+
throw new ImportException(null, name, path, ErrorMessages.CANNOT_INITIALIZE_EXT_NO_ENTRY, basename, path, hpyInitFuncName);
373373
} catch (UnsupportedTypeException | ArityException | UnsupportedMessageException e) {
374374
throw new ImportException(CExtContext.wrapJavaException(e, location), name, path, ErrorMessages.CANNOT_INITIALIZE_WITH, path, basename, "");
375375
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/ErrorMessages.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ public abstract class ErrorMessages {
168168
public static final String CANNOT_IMPORT_NAME = "cannot import name '%s' from '%s' (%s)";
169169
public static final String CANNOT_IMPORT_NAME_CIRCULAR = "cannot import name '%s' from partially initialized module '%s' (most likely due to a circular import)";
170170
public static final String CANNOT_INITIALIZE_WITH = "cannot initialize %s with %s%s";
171+
public static final String CANNOT_INITIALIZE_EXT_NO_ENTRY = "cannot initialize extension '%s' at path '%s', entry point '%s' not found";
171172
public static final String CANNOT_LOAD = "cannot load %s: %s";
172173
public static final String CANNOT_LOAD_M = "cannot load %s: %m";
173174
public static final String CANNOT_RELEASE_UNAQUIRED_LOCK = "cannot release un-acquired lock";

mx.graalpython/mx_graalpython.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,7 @@ def patch_batch_launcher(launcher_path, jvm_args):
758758
launcher.writelines(lines)
759759

760760

761-
def run_hpy_unittests(python_binary, args=None):
761+
def run_hpy_unittests(python_binary, args=None, include_native=True):
762762
args = [] if args is None else args
763763
with tempfile.TemporaryDirectory(prefix='hpy-test-site-') as d:
764764
env = os.environ.copy()
@@ -783,7 +783,10 @@ def run(self):
783783
except Exception as e: # pylint: disable=broad-except;
784784
self.exc = e
785785

786-
for abi in ['cpython', 'universal', 'debug', 'nfi']:
786+
abi_list = ['cpython', 'universal', 'debug']
787+
if include_native:
788+
abi_list.append('nfi')
789+
for abi in abi_list:
787790
env["TEST_HPY_ABI"] = abi
788791
threads.append(RaisingThread(target=run_python_unittests, args=(python_binary, ), kwargs={
789792
"args": args, "paths": [_hpy_test_root()], "env": env.copy(), "use_pytest": True, "lock": lock,
@@ -855,7 +858,7 @@ def graalpython_gate_runner(args, tasks):
855858

856859
with Task('GraalPython HPy sandboxed tests', tasks, tags=[GraalPythonTags.unittest_hpy_sandboxed]) as task:
857860
if task:
858-
run_hpy_unittests(python_managed_svm())
861+
run_hpy_unittests(python_managed_svm(), include_native=False)
859862

860863
with Task('GraalPython posix module tests', tasks, tags=[GraalPythonTags.unittest_posix]) as task:
861864
if task:

0 commit comments

Comments
 (0)