~ubuntu-branches/debian/squeeze/erlang/squeeze

« back to all changes in this revision

Viewing changes to erts/emulator/hipe/hipe_arm.h

  • Committer: Bazaar Package Importer
  • Author(s): Erlang Packagers, Sergei Golovan
  • Date: 2006-12-03 17:07:44 UTC
  • mfrom: (2.1.11 feisty)
  • Revision ID: james.westby@ubuntu.com-20061203170744-rghjwupacqlzs6kv
Tags: 1:11.b.2-4
[ Sergei Golovan ]
Fixed erlang-base and erlang-base-hipe prerm scripts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* $Id$
 
2
 */
 
3
#ifndef HIPE_ARM_H
 
4
#define HIPE_ARM_H
 
5
 
 
6
extern void hipe_flush_icache_word(void *address);
 
7
extern void hipe_flush_icache_range(void *address, unsigned int nbytes);
 
8
 
 
9
/* for stack descriptor hash lookup */
 
10
#define HIPE_RA_LSR_COUNT       2       /* low 2 bits are always zero */
 
11
 
 
12
/* for hipe_bifs_{read,write}_{s,u}32 */
 
13
static __inline__ int hipe_word32_address_ok(void *address)
 
14
{
 
15
    return ((unsigned long)address & 0x3) == 0;
 
16
}
 
17
 
 
18
/* Used when a BIF can trigger a stack walk. */
 
19
static __inline__ void hipe_set_narity(Process *p, unsigned int arity)
 
20
{
 
21
    /* XXX: for now; later we should have sufficient # of args in regs */
 
22
    p->hipe.narity = arity;
 
23
}
 
24
 
 
25
/* Native stack growth direction. */
 
26
#define HIPE_NSTACK_GROWS_DOWN
 
27
 
 
28
#define hipe_arch_name  am_arm
 
29
 
 
30
/* for hipe_bifs_enter_code_2 */
 
31
extern void *hipe_alloc_code(Uint nrbytes, Eterm callees, Eterm *trampolines, Process *p);
 
32
#define HIPE_ALLOC_CODE(n,c,t,p) hipe_alloc_code((n),(c),(t),(p))
 
33
 
 
34
extern void hipe_arm_inc_stack(void);
 
35
 
 
36
#endif /* HIPE_ARM_H */