~ubuntu-branches/ubuntu/raring/parrot/raring-proposed

« back to all changes in this revision

Viewing changes to src/gc/system.c

  • Committer: Bazaar Package Importer
  • Author(s): Allison Randal
  • Date: 2011-07-30 18:45:03 UTC
  • mfrom: (1.1.13 upstream)
  • Revision ID: james.westby@ubuntu.com-20110730184503-34d4mprtfx6pt5h3
Tags: 3.6.0-1
* New upstream release
* debian/watch:
  - Modified regular expression to capture numbered directory name
    (patch from Dominique Dumont).
* debian/rules:
  - Split build-arch and build-indep, resolving lintian warning.
  - Update path to pbc_disassemble for manpage generation (patch
    from Dominique Dumont).
* debian/patches:
  - Added patch 02_fix_perl_interpreter_path.patch, resolving
    lintian warnings.
* debian/control:
  - Added DM-Upload-Allowed field.

Show diffs side-by-side

added added

removed removed

Lines of Context:
128
128
           register windows. Store the code in a union with a double to
129
129
           ensure proper memory alignment. */
130
130
        /* TT #271: This needs to be fixed in a variety of ways */
 
131
/* Using inline assember if available instead of the hand-coded version. */
 
132
#  if defined(__GNUC__) && (defined(__sparcv9) || defined(__sparcv9__) || defined(__arch64__))
 
133
        asm("flushw");
 
134
#  else
131
135
        static union {
132
136
            unsigned int insns[4];
133
137
            double align_hack[2];
134
138
        } u = { {
135
 
#  ifdef __sparcv9
 
139
#    if defined(__sparcv9) || defined(__sparcv9__) || defined(__arch64__)
 
140
 
136
141
                            0x81580000, /* flushw */
137
 
#  else
 
142
#    else
138
143
                            0x91d02003, /* ta ST_FLUSH_WINDOWS */
139
 
#  endif
 
144
#    endif
140
145
                            0x81c3e008, /* retl */
141
146
                            0x01000000  /* nop */
142
147
        } };
145
150
           Call the new function pointer to flush the register windows. */
146
151
        static void (*fn_ptr)(void) = (void (*)(void))&u.align_hack[0];
147
152
        fn_ptr();
 
153
#  endif
148
154
 
149
155
#elif defined(__ia64__)
150
156