Numworks Epsilon  1.4.1
Graphing Calculator Operating System
nlr.h File Reference
#include <limits.h>
#include <setjmp.h>
#include <assert.h>
#include "py/mpconfig.h"
#include "py/mpstate.h"

Go to the source code of this file.

Classes

struct  _nlr_buf_t
 

Macros

#define MICROPY_NLR_SETJMP   (1)
 
#define nlr_push(buf)   ((buf)->prev = MP_STATE_THREAD(nlr_top), MP_STATE_THREAD(nlr_top) = (buf), setjmp((buf)->jmpbuf))
 
#define nlr_pop()   { MP_STATE_THREAD(nlr_top) = MP_STATE_THREAD(nlr_top)->prev; }
 
#define nlr_jump(val)   nlr_setjmp_jump(val)
 
#define nlr_raise(val)   nlr_jump(MP_OBJ_TO_PTR(val))
 

Typedefs

typedef struct _nlr_buf_t nlr_buf_t
 

Functions

NORETURN void nlr_setjmp_jump (void *val)
 
NORETURN void nlr_jump_fail (void *val)
 

Macro Definition Documentation

◆ MICROPY_NLR_SETJMP

#define MICROPY_NLR_SETJMP   (1)

Definition at line 57 of file nlr.h.

◆ nlr_jump

#define nlr_jump (   val)    nlr_setjmp_jump(val)

Definition at line 75 of file nlr.h.

◆ nlr_pop

#define nlr_pop ( )    { MP_STATE_THREAD(nlr_top) = MP_STATE_THREAD(nlr_top)->prev; }

Definition at line 74 of file nlr.h.

◆ nlr_push

#define nlr_push (   buf)    ((buf)->prev = MP_STATE_THREAD(nlr_top), MP_STATE_THREAD(nlr_top) = (buf), setjmp((buf)->jmpbuf))

Definition at line 73 of file nlr.h.

◆ nlr_raise

#define nlr_raise (   val)    nlr_jump(MP_OBJ_TO_PTR(val))

Definition at line 89 of file nlr.h.

Typedef Documentation

◆ nlr_buf_t

typedef struct _nlr_buf_t nlr_buf_t

Definition at line 38 of file nlr.h.

Function Documentation

◆ nlr_jump_fail()

NORETURN void nlr_jump_fail ( void *  val)

Definition at line 142 of file port.cpp.

◆ nlr_setjmp_jump()

NORETURN void nlr_setjmp_jump ( void *  val)