<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>40179</bug_id>
          
          <creation_ts>2010-06-04 11:58:41 -0700</creation_ts>
          <short_desc>Re-enable JIT_OPTIMIZE_NATIVE_CALL on MIPS</short_desc>
          <delta_ts>2010-07-02 18:49:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chao-ying Fu">fu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>loki</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>234314</commentid>
    <comment_count>0</comment_count>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-04 11:58:41 -0700</bug_when>
    <thetext>Hi All,

  I will submit a patch to re-enable JIT_OPTIMIZE_NATIVE_CALL on MIPS.
One issue that I have is in JITOpcodes.cpp.
Ex:
JIT::Label JIT::privateCompileCTINativeCall(JSGlobalData* globalData, bool isConstruct)
{
... 
    poke(callFrameRegister, 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof (void*)); &lt;-------
    poke(ImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()));

    ret();

    return nativeCallThunk;
}

Why do we put callFrameRegister to the stack location of 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof (void*)?
Previously, we put it to the location of OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof (void*).

Thanks!

Regards,
Chao-ying</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234320</commentid>
    <comment_count>1</comment_count>
      <attachid>57903</attachid>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-04 12:12:07 -0700</bug_when>
    <thetext>Created attachment 57903
MIPS Native Call Support

Here is the patch.  Thanks!

0 regressions found.
0 tests fixed.
OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234366</commentid>
    <comment_count>2</comment_count>
      <attachid>57912</attachid>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-04 13:55:10 -0700</bug_when>
    <thetext>Created attachment 57912
Update Platform.h

Resolve conflicts in Platform.h . Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234368</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-04 13:57:45 -0700</bug_when>
    <thetext>Attachment 57912 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
JavaScriptCore/jit/JITOpcodes.cpp:273:  Extra space before ( in function call  [whitespace/parens] [4]
JavaScriptCore/wtf/Platform.h:973:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234411</commentid>
    <comment_count>4</comment_count>
      <attachid>57924</attachid>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-04 16:04:22 -0700</bug_when>
    <thetext>Created attachment 57924
Returned value in a register

Ok.  The return value is now in a register.  Need to fix the MIPS support.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234413</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-04 16:05:15 -0700</bug_when>
    <thetext>Attachment 57924 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
JavaScriptCore/wtf/Platform.h:973:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236518</commentid>
    <comment_count>6</comment_count>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-10 14:03:04 -0700</bug_when>
    <thetext>Could someone review this patch and help to answer the question in my first post?  Thanks a lot!

Regards,
Chao-ying</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237956</commentid>
    <comment_count>7</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-06-14 11:48:46 -0700</bug_when>
    <thetext>&gt; Why do we put callFrameRegister to the stack location of 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof (void*)?

We need &quot;1 +&quot; because the return address has been pushed onto the stack by call.

In the old implementation, we would pop the return address off the stack before this code ran.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238034</commentid>
    <comment_count>8</comment_count>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-14 14:02:46 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; Why do we put callFrameRegister to the stack location of 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof (void*)?
&gt; 
&gt; We need &quot;1 +&quot; because the return address has been pushed onto the stack by call.
&gt; 
&gt; In the old implementation, we would pop the return address off the stack before this code ran.

  Thanks for the explanation!  This helps me to understand.

For MIPS native call, I manage the return address in the stack differently (at the -4 location).  I use &quot;#if CPU(MIPS)&quot; in several places to make MIPS work.  Thanks!

Regards,
Chao-ying</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241022</commentid>
    <comment_count>9</comment_count>
      <attachid>57924</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-06-21 17:48:28 -0700</bug_when>
    <thetext>Comment on attachment 57924
Returned value in a register

Sorry for the delay in review

&gt; +#if CPU(MIPS)
&gt; +    // move the returned address to regT1
&gt; +    move(MIPSRegisters::ra, regT1);
&gt; +#else
&gt;      peek(regT1);
&gt; +#endif
This is bad, we should simply have a loadReturnAddress(RegisterID dst) function to do this, rather than having an architecture check everywhere we need to do this (eg. ARM, PPC, etc would need to have a branch as well)

&gt;      emitPutToCallFrameHeader(regT1, RegisterFile::ReturnPC);
&gt;  
&gt;  #if CPU(X86_64)
&gt; @@ -204,6 +209,31 @@ JIT::Label JIT::privateCompileCTINativeC
&gt;  
&gt;      addPtr(Imm32(16 - sizeof(void*)), stackPointerRegister);
&gt;  
&gt; +#elif CPU(MIPS)
&gt; +    // Calling convention:      f(a0, a1, a2, a3);
&gt; +    // Host function signature: f(ExecState*);
&gt; +
&gt; +    // Allocate stack space for 24 bytes (8-byte aligned)
&gt; +    // 16 bytes (unused) for 4 arguments
&gt; +    // 4 bytes (unused)
&gt; +    // 4 bytes for the returned address 
&gt; +    subPtr(Imm32(24), stackPointerRegister);
&gt; +
&gt; +    // Save the returned address to 20($sp)
&gt; +    storePtr(MIPSRegisters::ra, Address(stackPointerRegister, 20));
&gt; +
&gt; +    // Setup arg0
&gt; +    move(callFrameRegister, MIPSRegisters::a0);
&gt; +
&gt; +    // Call
&gt; +    emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, MIPSRegisters::a2);
&gt; +    loadPtr(Address(MIPSRegisters::a2, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
&gt; +    move(regT0, callFrameRegister); // Eagerly restore caller frame register to avoid loading from stack.
&gt; +    call(Address(regT2, executableOffsetToFunction));
&gt; +
&gt; +    // Restore stack space
&gt; +    addPtr(Imm32(24), stackPointerRegister);
&gt; +

Our normal model for a callframe this complicated is to make a struct that describes it and then use OBJECT_OFFSETOF to do the stores

&gt; +#if CPU(MIPS)
&gt; +    loadPtr(Address(stackPointerRegister, -4), MIPSRegisters::ra);
&gt; +#endif
-4? should be -sizeof(void*)?


&gt; +
&gt;      // Return.
&gt;      ret();
&gt;  
&gt;      // Handle an exception
&gt;      exceptionHandler.link(this);
&gt;      // Grab the return address.
&gt; +#if CPU(MIPS)
&gt; +    loadPtr(Address(stackPointerRegister, -4), regT1);
&gt; +#else
&gt;      peek(regT1);
&gt; +#endif

why doesn&apos;t peek() work here?

&gt; +#if CPU(MIPS)
&gt; +    poke(callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*));
&gt; +    move(ImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), MIPSRegisters::ra);
&gt; +#else
&gt;      poke(callFrameRegister, 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof (void*));
&gt;      poke(ImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()));
&gt; +#endif
a setReturnAddress function is probably better here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241484</commentid>
    <comment_count>10</comment_count>
      <attachid>59421</attachid>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-22 15:29:36 -0700</bug_when>
    <thetext>Created attachment 59421
Revise the patch for all CPUs

Hi Oliver,

  I revised the patch, so that all CPUs can share the same mechanism (based on the original JITOpcodes.cpp). The patch uses the standard functions to access and restore the returned address. The callFrameRegister is restored after the native call. People may need to test x86.

  Thanks for your review!

Regards,
Chao-ying</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241540</commentid>
    <comment_count>11</comment_count>
      <attachid>59421</attachid>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-22 16:51:35 -0700</bug_when>
    <thetext>Comment on attachment 59421
Revise the patch for all CPUs

Need to merge the patch.  Will submit it soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241951</commentid>
    <comment_count>12</comment_count>
      <attachid>59534</attachid>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-23 11:16:09 -0700</bug_when>
    <thetext>Created attachment 59534
A new version for MIPS Native Call

Here is a new version that follows the current design.  Thanks!

Regards,
Chao-ying</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241980</commentid>
    <comment_count>13</comment_count>
      <attachid>59544</attachid>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-23 11:36:34 -0700</bug_when>
    <thetext>Created attachment 59544
Use svn-create-patch

I forgot to use svn-create-patch for the previous one.  Sent it again.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242390</commentid>
    <comment_count>14</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-06-24 02:14:17 -0700</bug_when>
    <thetext>&gt; +     || (CPU(MIPS) &amp;&amp; PLATFORM(QT) &amp;&amp; OS(LINUX))

It should *not* be platform dependent.

Probably you could also remove the OS check. I do not hear any attempt to port MIPS-JIT on other OS than linux. Am I right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242583</commentid>
    <comment_count>15</comment_count>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-24 10:41:53 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; &gt; +     || (CPU(MIPS) &amp;&amp; PLATFORM(QT) &amp;&amp; OS(LINUX))
&gt; 
&gt; It should *not* be platform dependent.

  Ok.

&gt; 
&gt; Probably you could also remove the OS check. I do not hear any attempt to port MIPS-JIT on other OS than linux. Am I right?

  I guess so.  I don&apos;t hear, either.  Thanks!

Regards,
Chao-ying</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242584</commentid>
    <comment_count>16</comment_count>
      <attachid>59675</attachid>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-06-24 10:44:35 -0700</bug_when>
    <thetext>Created attachment 59675
Update Platform.h

Platform.h just checks CPU(MIPS).  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>246182</commentid>
    <comment_count>17</comment_count>
      <attachid>59675</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-02 18:49:13 -0700</bug_when>
    <thetext>Comment on attachment 59675
Update Platform.h

Clearing flags on attachment: 59675

Committed r62422: &lt;http://trac.webkit.org/changeset/62422&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>246183</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-02 18:49:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57903</attachid>
            <date>2010-06-04 12:12:07 -0700</date>
            <delta_ts>2010-06-04 13:55:10 -0700</delta_ts>
            <desc>MIPS Native Call Support</desc>
            <filename>mips-jit20100604.diff</filename>
            <type>text/plain</type>
            <size>4291</size>
            <attacher name="Chao-ying Fu">fu</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDYwNjkyKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDYtMDQgIENoYW8teWlu
ZyBGdSAgPGZ1QG1pcHMuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlLWVuYWJsZSBKSVRfT1BUSU1JWkVfTkFUSVZFX0NBTEwgb24gTUlQUwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAxNzkKKwor
ICAgICAgICBBZGQgdGhlIE1JUFMgcGFydCB0byByZS1lbmFibGUgSklUX09QVElNSVpFX05BVElW
RV9DQUxMLgorCisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZlQ2FsbCk6CisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6CisKIDIwMTAtMDYtMDQgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAkocmV2aXNpb24gNjA2MzApCisrKyBKYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bj
b2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw3ICsxODcsMTIgQEAgSklUOjpMYWJlbCBK
SVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZlQwogICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVh
ZGVyUHRyKFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbiwgcmVnVDEsIHJlZ1QwKTsKICAgICBlbWl0
UHV0VG9DYWxsRnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbik7CiAK
KyNpZiBDUFUoTUlQUykKKyAgICAvLyBtb3ZlIHRoZSByZXR1cm5lZCBhZGRyZXNzIHRvIHJlZ1Qx
CisgICAgbW92ZShNSVBTUmVnaXN0ZXJzOjpyYSwgcmVnVDEpOworI2Vsc2UKICAgICBwZWVrKHJl
Z1QxKTsKKyNlbmRpZgogICAgIGVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihyZWdUMSwgUmVnaXN0
ZXJGaWxlOjpSZXR1cm5QQyk7CiAKICNpZiBDUFUoWDg2XzY0KQpAQCAtMjA0LDYgKzIwOSwzOCBA
QCBKSVQ6OkxhYmVsIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDCiAKICAgICBhZGRQdHIo
SW1tMzIoMTYgLSBzaXplb2Yodm9pZCopKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogCisjZWxp
ZiBDUFUoTUlQUykKKyAgICAvLyBDYWxsaW5nIGNvbnZlbnRpb246ICAgICAgZihhMCwgYTEsIGEy
LCBhMyk7CisgICAgLy8gSG9zdCBmdW5jdGlvbiBzaWduYXR1cmU6IGYoRXhlY1N0YXRlKik7CisK
KyAgICAvLyBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3IgMjQgYnl0ZXMgKDgtYnl0ZSBhbGlnbmVk
KQorICAgIC8vIDE2IGJ5dGVzICh1bnVzZWQpIGZvciA0IGFyZ3VtZW50cworICAgIC8vIDQgYnl0
ZXMgZm9yIHRoZSByZXR1cm5lZCBzdHJ1Y3R1cmUKKyAgICAvLyA0IGJ5dGVzIGZvciB0aGUgcmV0
dXJuZWQgYWRkcmVzcyAKKyAgICBzdWJQdHIoSW1tMzIoMjQpLCBzdGFja1BvaW50ZXJSZWdpc3Rl
cik7CisKKyAgICAvLyBTYXZlIHRoZSByZXR1cm5lZCBhZGRyZXNzIHRvIDIwKCRzcCkKKyAgICBz
dG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpyYSwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3Rlciwg
MjApKTsKKworICAgIC8vIFNldHVwIGFyZzEKKyAgICBtb3ZlKGNhbGxGcmFtZVJlZ2lzdGVyLCBN
SVBTUmVnaXN0ZXJzOjphMSk7CisKKyAgICAvLyBTZXR1cCBhcmcwIGFzIDE2KCRzcCkgdG8gaG9s
ZCB0aGUgcmV0dXJuZWQgc3RydWN0dXJlCisgICAgQVNTRVJUKHNpemVvZihKU1ZhbHVlKSA9PSA0
KTsKKyAgICBhZGRQdHIoSW1tMzIoMTYpLCBzdGFja1BvaW50ZXJSZWdpc3RlciwgTUlQU1JlZ2lz
dGVyczo6YTApOworCisgICAgLy8gQ2FsbAorICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVy
UHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbGVlLCBNSVBTUmVnaXN0ZXJzOjphMik7CisgICAgbG9hZFB0
cihBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OmEyLCBPQkpFQ1RfT0ZGU0VUT0YoSlNGdW5jdGlvbiwg
bV9leGVjdXRhYmxlKSksIHJlZ1QyKTsKKyAgICBtb3ZlKHJlZ1QwLCBjYWxsRnJhbWVSZWdpc3Rl
cik7IC8vIEVhZ2VybHkgcmVzdG9yZSBjYWxsZXIgZnJhbWUgcmVnaXN0ZXIgdG8gYXZvaWQgbG9h
ZGluZyBmcm9tIHN0YWNrLgorICAgIGNhbGwoQWRkcmVzcyhyZWdUMiwgZXhlY3V0YWJsZU9mZnNl
dFRvRnVuY3Rpb24pKTsKKworICAgIC8vIEdldCByZXR1cm5lZCB2YWx1ZSBmcm9tIDAoJHYwKSB3
aGljaCBpcyB0aGUgc2FtZSBhcyAxNigkc3ApCisgICAgbG9hZFB0cihBZGRyZXNzKHJldHVyblZh
bHVlUmVnaXN0ZXIsIDApLCByZXR1cm5WYWx1ZVJlZ2lzdGVyKTsKKworICAgIC8vIFJlc3RvcmUg
c3RhY2sgc3BhY2UKKyAgICBhZGRQdHIoSW1tMzIoMjQpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7
CisKICNlbGlmIEVOQUJMRShKSVRfT1BUSU1JWkVfTkFUSVZFX0NBTEwpCiAjZXJyb3IgIkpJVF9P
UFRJTUlaRV9OQVRJVkVfQ0FMTCBub3QgeWV0IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiIK
ICNlbHNlCkBAIC0yMTQsMTcgKzI1MSwzMiBAQCBKSVQ6OkxhYmVsIEpJVDo6cHJpdmF0ZUNvbXBp
bGVDVElOYXRpdmVDCiAgICAgbG9hZFB0cigmKGdsb2JhbERhdGEtPmV4Y2VwdGlvbiksIHJlZ1Qy
KTsKICAgICBKdW1wIGV4Y2VwdGlvbkhhbmRsZXIgPSBicmFuY2hUZXN0UHRyKE5vblplcm8sIHJl
Z1QyKTsKIAorI2lmIENQVShNSVBTKQorICAgIGxvYWRQdHIoQWRkcmVzcyhzdGFja1BvaW50ZXJS
ZWdpc3RlciwgLTQpLCBNSVBTUmVnaXN0ZXJzOjpyYSk7CisjZW5kaWYKKwogICAgIC8vIFJldHVy
bi4KICAgICByZXQoKTsKIAogICAgIC8vIEhhbmRsZSBhbiBleGNlcHRpb24KICAgICBleGNlcHRp
b25IYW5kbGVyLmxpbmsodGhpcyk7CiAgICAgLy8gR3JhYiB0aGUgcmV0dXJuIGFkZHJlc3MuCisj
aWYgQ1BVKE1JUFMpCisgICAgbG9hZFB0cihBZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCAt
NCksIHJlZ1QxKTsKKyNlbHNlCiAgICAgcGVlayhyZWdUMSk7CisjZW5kaWYKICAgICBtb3ZlKElt
bVB0cigmZ2xvYmFsRGF0YS0+ZXhjZXB0aW9uTG9jYXRpb24pLCByZWdUMik7CiAgICAgc3RvcmVQ
dHIocmVnVDEsIHJlZ1QyKTsKKworI2lmIENQVShNSVBTKQorICAgIHBva2UoY2FsbEZyYW1lUmVn
aXN0ZXIsIE9CSkVDVF9PRkZTRVRPRihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwgY2FsbEZyYW1lKSAv
IHNpemVvZiAodm9pZCopKTsKKyAgICBtb3ZlKEltbVB0cihGdW5jdGlvblB0cihjdGlWTVRocm93
VHJhbXBvbGluZSkudmFsdWUoKSksIE1JUFNSZWdpc3RlcnM6OnJhKTsKKyNlbHNlCiAgICAgcG9r
ZShjYWxsRnJhbWVSZWdpc3RlciwgMSArIE9CSkVDVF9PRkZTRVRPRihzdHJ1Y3QgSklUU3RhY2tG
cmFtZSwgY2FsbEZyYW1lKSAvIHNpemVvZiAodm9pZCopKTsKICAgICBwb2tlKEltbVB0cihGdW5j
dGlvblB0cihjdGlWTVRocm93VHJhbXBvbGluZSkudmFsdWUoKSkpOworI2VuZGlmCisKICAgICBy
ZXQoKTsKIAogICAgIHJldHVybiBuYXRpdmVDYWxsVGh1bms7CkluZGV4OiBKYXZhU2NyaXB0Q29y
ZS93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZv
cm0uaAkocmV2aXNpb24gNjA2MzApCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAko
d29ya2luZyBjb3B5KQpAQCAtOTc2LDcgKzk3Niw3IEBAIG9uIE1pbkdXLiBTZWUgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2gKICNkZWZpbmUgRU5BQkxFX0pJVF9PUFRJTUlaRV9DQUxMIDEKICNl
bmRpZgogI2lmbmRlZiBFTkFCTEVfSklUX09QVElNSVpFX05BVElWRV9DQUxMCi0jaWYgUExBVEZP
Uk0oTUFDKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBDUFUoTUlQUykg
JiYgT1MoTElOVVgpKQogI2RlZmluZSBFTkFCTEVfSklUX09QVElNSVpFX05BVElWRV9DQUxMIDEK
ICNlbmRpZgogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57912</attachid>
            <date>2010-06-04 13:55:10 -0700</date>
            <delta_ts>2010-06-04 16:04:22 -0700</delta_ts>
            <desc>Update Platform.h</desc>
            <filename>mips-jit20100604-2.diff</filename>
            <type>text/plain</type>
            <size>4357</size>
            <attacher name="Chao-ying Fu">fu</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDYwNzA0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDYtMDQgIENoYW8teWlu
ZyBGdSAgPGZ1QG1pcHMuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlLWVuYWJsZSBKSVRfT1BUSU1JWkVfTkFUSVZFX0NBTEwgb24gTUlQUwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAxNzkKKwor
ICAgICAgICBBZGQgdGhlIE1JUFMgcGFydCB0byByZS1lbmFibGUgSklUX09QVElNSVpFX05BVElW
RV9DQUxMLgorCisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZlQ2FsbCk6CisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6CisKIDIwMTAtMDYtMDQgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAkocmV2aXNpb24gNjA3MDQpCisrKyBKYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bj
b2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw3ICsxODcsMTIgQEAgSklUOjpMYWJlbCBK
SVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZlQwogICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVh
ZGVyUHRyKFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbiwgcmVnVDEsIHJlZ1QwKTsKICAgICBlbWl0
UHV0VG9DYWxsRnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbik7CiAK
KyNpZiBDUFUoTUlQUykKKyAgICAvLyBtb3ZlIHRoZSByZXR1cm5lZCBhZGRyZXNzIHRvIHJlZ1Qx
CisgICAgbW92ZShNSVBTUmVnaXN0ZXJzOjpyYSwgcmVnVDEpOworI2Vsc2UKICAgICBwZWVrKHJl
Z1QxKTsKKyNlbmRpZgogICAgIGVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihyZWdUMSwgUmVnaXN0
ZXJGaWxlOjpSZXR1cm5QQyk7CiAKICNpZiBDUFUoWDg2XzY0KQpAQCAtMjA0LDYgKzIwOSwzOCBA
QCBKSVQ6OkxhYmVsIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDCiAKICAgICBhZGRQdHIo
SW1tMzIoMTYgLSBzaXplb2Yodm9pZCopKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogCisjZWxp
ZiBDUFUoTUlQUykKKyAgICAvLyBDYWxsaW5nIGNvbnZlbnRpb246ICAgICAgZihhMCwgYTEsIGEy
LCBhMyk7CisgICAgLy8gSG9zdCBmdW5jdGlvbiBzaWduYXR1cmU6IGYoRXhlY1N0YXRlKik7CisK
KyAgICAvLyBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3IgMjQgYnl0ZXMgKDgtYnl0ZSBhbGlnbmVk
KQorICAgIC8vIDE2IGJ5dGVzICh1bnVzZWQpIGZvciA0IGFyZ3VtZW50cworICAgIC8vIDQgYnl0
ZXMgZm9yIHRoZSByZXR1cm5lZCBzdHJ1Y3R1cmUKKyAgICAvLyA0IGJ5dGVzIGZvciB0aGUgcmV0
dXJuZWQgYWRkcmVzcyAKKyAgICBzdWJQdHIoSW1tMzIoMjQpLCBzdGFja1BvaW50ZXJSZWdpc3Rl
cik7CisKKyAgICAvLyBTYXZlIHRoZSByZXR1cm5lZCBhZGRyZXNzIHRvIDIwKCRzcCkKKyAgICBz
dG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpyYSwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3Rlciwg
MjApKTsKKworICAgIC8vIFNldHVwIGFyZzEKKyAgICBtb3ZlKGNhbGxGcmFtZVJlZ2lzdGVyLCBN
SVBTUmVnaXN0ZXJzOjphMSk7CisKKyAgICAvLyBTZXR1cCBhcmcwIGFzIDE2KCRzcCkgdG8gaG9s
ZCB0aGUgcmV0dXJuZWQgc3RydWN0dXJlCisgICAgQVNTRVJUKHNpemVvZihKU1ZhbHVlKSA9PSA0
KTsKKyAgICBhZGRQdHIoSW1tMzIoMTYpLCBzdGFja1BvaW50ZXJSZWdpc3RlciwgTUlQU1JlZ2lz
dGVyczo6YTApOworCisgICAgLy8gQ2FsbAorICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVy
UHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbGVlLCBNSVBTUmVnaXN0ZXJzOjphMik7CisgICAgbG9hZFB0
cihBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OmEyLCBPQkpFQ1RfT0ZGU0VUT0YoSlNGdW5jdGlvbiwg
bV9leGVjdXRhYmxlKSksIHJlZ1QyKTsKKyAgICBtb3ZlKHJlZ1QwLCBjYWxsRnJhbWVSZWdpc3Rl
cik7IC8vIEVhZ2VybHkgcmVzdG9yZSBjYWxsZXIgZnJhbWUgcmVnaXN0ZXIgdG8gYXZvaWQgbG9h
ZGluZyBmcm9tIHN0YWNrLgorICAgIGNhbGwoQWRkcmVzcyhyZWdUMiwgZXhlY3V0YWJsZU9mZnNl
dFRvRnVuY3Rpb24pKTsKKworICAgIC8vIEdldCByZXR1cm5lZCB2YWx1ZSBmcm9tIDAoJHYwKSB3
aGljaCBpcyB0aGUgc2FtZSBhcyAxNigkc3ApCisgICAgbG9hZFB0cihBZGRyZXNzKHJldHVyblZh
bHVlUmVnaXN0ZXIsIDApLCByZXR1cm5WYWx1ZVJlZ2lzdGVyKTsKKworICAgIC8vIFJlc3RvcmUg
c3RhY2sgc3BhY2UKKyAgICBhZGRQdHIoSW1tMzIoMjQpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7
CisKICNlbGlmIEVOQUJMRShKSVRfT1BUSU1JWkVfTkFUSVZFX0NBTEwpCiAjZXJyb3IgIkpJVF9P
UFRJTUlaRV9OQVRJVkVfQ0FMTCBub3QgeWV0IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiIK
ICNlbHNlCkBAIC0yMTQsMTcgKzI1MSwzMiBAQCBKSVQ6OkxhYmVsIEpJVDo6cHJpdmF0ZUNvbXBp
bGVDVElOYXRpdmVDCiAgICAgbG9hZFB0cigmKGdsb2JhbERhdGEtPmV4Y2VwdGlvbiksIHJlZ1Qy
KTsKICAgICBKdW1wIGV4Y2VwdGlvbkhhbmRsZXIgPSBicmFuY2hUZXN0UHRyKE5vblplcm8sIHJl
Z1QyKTsKIAorI2lmIENQVShNSVBTKQorICAgIGxvYWRQdHIoQWRkcmVzcyhzdGFja1BvaW50ZXJS
ZWdpc3RlciwgLTQpLCBNSVBTUmVnaXN0ZXJzOjpyYSk7CisjZW5kaWYKKwogICAgIC8vIFJldHVy
bi4KICAgICByZXQoKTsKIAogICAgIC8vIEhhbmRsZSBhbiBleGNlcHRpb24KICAgICBleGNlcHRp
b25IYW5kbGVyLmxpbmsodGhpcyk7CiAgICAgLy8gR3JhYiB0aGUgcmV0dXJuIGFkZHJlc3MuCisj
aWYgQ1BVKE1JUFMpCisgICAgbG9hZFB0cihBZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCAt
NCksIHJlZ1QxKTsKKyNlbHNlCiAgICAgcGVlayhyZWdUMSk7CisjZW5kaWYKICAgICBtb3ZlKElt
bVB0cigmZ2xvYmFsRGF0YS0+ZXhjZXB0aW9uTG9jYXRpb24pLCByZWdUMik7CiAgICAgc3RvcmVQ
dHIocmVnVDEsIHJlZ1QyKTsKKworI2lmIENQVShNSVBTKQorICAgIHBva2UoY2FsbEZyYW1lUmVn
aXN0ZXIsIE9CSkVDVF9PRkZTRVRPRihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwgY2FsbEZyYW1lKSAv
IHNpemVvZiAodm9pZCopKTsKKyAgICBtb3ZlKEltbVB0cihGdW5jdGlvblB0cihjdGlWTVRocm93
VHJhbXBvbGluZSkudmFsdWUoKSksIE1JUFNSZWdpc3RlcnM6OnJhKTsKKyNlbHNlCiAgICAgcG9r
ZShjYWxsRnJhbWVSZWdpc3RlciwgMSArIE9CSkVDVF9PRkZTRVRPRihzdHJ1Y3QgSklUU3RhY2tG
cmFtZSwgY2FsbEZyYW1lKSAvIHNpemVvZiAodm9pZCopKTsKICAgICBwb2tlKEltbVB0cihGdW5j
dGlvblB0cihjdGlWTVRocm93VHJhbXBvbGluZSkudmFsdWUoKSkpOworI2VuZGlmCisKICAgICBy
ZXQoKTsKIAogICAgIHJldHVybiBuYXRpdmVDYWxsVGh1bms7CkluZGV4OiBKYXZhU2NyaXB0Q29y
ZS93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZv
cm0uaAkocmV2aXNpb24gNjA3MDQpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAko
d29ya2luZyBjb3B5KQpAQCAtOTcwLDcgKzk3MCw3IEBAIG9uIE1pbkdXLiBTZWUgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2gKICNkZWZpbmUgRU5BQkxFX0pJVF9PUFRJTUlaRV9NT0QgMQogI2Vu
ZGlmCiAjZW5kaWYKLSNpZiAoQ1BVKFg4NikgJiYgVVNFKEpTVkFMVUUzMl82NCkpIHx8IChDUFUo
WDg2XzY0KSAmJiBVU0UoSlNWQUxVRTY0KSkKKyNpZiAoQ1BVKFg4NikgJiYgVVNFKEpTVkFMVUUz
Ml82NCkpIHx8IChDUFUoWDg2XzY0KSAmJiBVU0UoSlNWQUxVRTY0KSkgfHwgKENQVShNSVBTKSAm
JiBQTEFURk9STShRVCkgJiYgT1MoTElOVVgpKQogI2RlZmluZSBFTkFCTEVfSklUX09QVElNSVpF
X05BVElWRV9DQUxMIDEKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57924</attachid>
            <date>2010-06-04 16:04:22 -0700</date>
            <delta_ts>2010-06-22 15:29:36 -0700</delta_ts>
            <desc>Returned value in a register</desc>
            <filename>mips-jit20100604-3.diff</filename>
            <type>text/plain</type>
            <size>4044</size>
            <attacher name="Chao-ying Fu">fu</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDYwNzA0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDYtMDQgIENoYW8teWlu
ZyBGdSAgPGZ1QG1pcHMuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlLWVuYWJsZSBKSVRfT1BUSU1JWkVfTkFUSVZFX0NBTEwgb24gTUlQUwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAxNzkKKwor
ICAgICAgICBBZGQgdGhlIE1JUFMgcGFydCB0byByZS1lbmFibGUgSklUX09QVElNSVpFX05BVElW
RV9DQUxMLgorCisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZlQ2FsbCk6CisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6CisKIDIwMTAtMDYtMDQgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAkocmV2aXNpb24gNjA3MDQpCisrKyBKYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bj
b2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw3ICsxODcsMTIgQEAgSklUOjpMYWJlbCBK
SVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZlQwogICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVh
ZGVyUHRyKFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbiwgcmVnVDEsIHJlZ1QwKTsKICAgICBlbWl0
UHV0VG9DYWxsRnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbik7CiAK
KyNpZiBDUFUoTUlQUykKKyAgICAvLyBtb3ZlIHRoZSByZXR1cm5lZCBhZGRyZXNzIHRvIHJlZ1Qx
CisgICAgbW92ZShNSVBTUmVnaXN0ZXJzOjpyYSwgcmVnVDEpOworI2Vsc2UKICAgICBwZWVrKHJl
Z1QxKTsKKyNlbmRpZgogICAgIGVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihyZWdUMSwgUmVnaXN0
ZXJGaWxlOjpSZXR1cm5QQyk7CiAKICNpZiBDUFUoWDg2XzY0KQpAQCAtMjA0LDYgKzIwOSwzMSBA
QCBKSVQ6OkxhYmVsIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDCiAKICAgICBhZGRQdHIo
SW1tMzIoMTYgLSBzaXplb2Yodm9pZCopKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogCisjZWxp
ZiBDUFUoTUlQUykKKyAgICAvLyBDYWxsaW5nIGNvbnZlbnRpb246ICAgICAgZihhMCwgYTEsIGEy
LCBhMyk7CisgICAgLy8gSG9zdCBmdW5jdGlvbiBzaWduYXR1cmU6IGYoRXhlY1N0YXRlKik7CisK
KyAgICAvLyBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3IgMjQgYnl0ZXMgKDgtYnl0ZSBhbGlnbmVk
KQorICAgIC8vIDE2IGJ5dGVzICh1bnVzZWQpIGZvciA0IGFyZ3VtZW50cworICAgIC8vIDQgYnl0
ZXMgKHVudXNlZCkKKyAgICAvLyA0IGJ5dGVzIGZvciB0aGUgcmV0dXJuZWQgYWRkcmVzcyAKKyAg
ICBzdWJQdHIoSW1tMzIoMjQpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisKKyAgICAvLyBTYXZl
IHRoZSByZXR1cm5lZCBhZGRyZXNzIHRvIDIwKCRzcCkKKyAgICBzdG9yZVB0cihNSVBTUmVnaXN0
ZXJzOjpyYSwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgMjApKTsKKworICAgIC8vIFNl
dHVwIGFyZzAKKyAgICBtb3ZlKGNhbGxGcmFtZVJlZ2lzdGVyLCBNSVBTUmVnaXN0ZXJzOjphMCk7
CisKKyAgICAvLyBDYWxsCisgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoUmVnaXN0
ZXJGaWxlOjpDYWxsZWUsIE1JUFNSZWdpc3RlcnM6OmEyKTsKKyAgICBsb2FkUHRyKEFkZHJlc3Mo
TUlQU1JlZ2lzdGVyczo6YTIsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX2V4ZWN1dGFi
bGUpKSwgcmVnVDIpOworICAgIG1vdmUocmVnVDAsIGNhbGxGcmFtZVJlZ2lzdGVyKTsgLy8gRWFn
ZXJseSByZXN0b3JlIGNhbGxlciBmcmFtZSByZWdpc3RlciB0byBhdm9pZCBsb2FkaW5nIGZyb20g
c3RhY2suCisgICAgY2FsbChBZGRyZXNzKHJlZ1QyLCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlv
bikpOworCisgICAgLy8gUmVzdG9yZSBzdGFjayBzcGFjZQorICAgIGFkZFB0cihJbW0zMigyNCks
IHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKwogI2VsaWYgRU5BQkxFKEpJVF9PUFRJTUlaRV9OQVRJ
VkVfQ0FMTCkKICNlcnJvciAiSklUX09QVElNSVpFX05BVElWRV9DQUxMIG5vdCB5ZXQgc3VwcG9y
dGVkIG9uIHRoaXMgcGxhdGZvcm0uIgogI2Vsc2UKQEAgLTIxNCwxNyArMjQ0LDMyIEBAIEpJVDo6
TGFiZWwgSklUOjpwcml2YXRlQ29tcGlsZUNUSU5hdGl2ZUMKICAgICBsb2FkUHRyKCYoZ2xvYmFs
RGF0YS0+ZXhjZXB0aW9uKSwgcmVnVDIpOwogICAgIEp1bXAgZXhjZXB0aW9uSGFuZGxlciA9IGJy
YW5jaFRlc3RQdHIoTm9uWmVybywgcmVnVDIpOwogCisjaWYgQ1BVKE1JUFMpCisgICAgbG9hZFB0
cihBZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCAtNCksIE1JUFNSZWdpc3RlcnM6OnJhKTsK
KyNlbmRpZgorCiAgICAgLy8gUmV0dXJuLgogICAgIHJldCgpOwogCiAgICAgLy8gSGFuZGxlIGFu
IGV4Y2VwdGlvbgogICAgIGV4Y2VwdGlvbkhhbmRsZXIubGluayh0aGlzKTsKICAgICAvLyBHcmFi
IHRoZSByZXR1cm4gYWRkcmVzcy4KKyNpZiBDUFUoTUlQUykKKyAgICBsb2FkUHRyKEFkZHJlc3Mo
c3RhY2tQb2ludGVyUmVnaXN0ZXIsIC00KSwgcmVnVDEpOworI2Vsc2UKICAgICBwZWVrKHJlZ1Qx
KTsKKyNlbmRpZgogICAgIG1vdmUoSW1tUHRyKCZnbG9iYWxEYXRhLT5leGNlcHRpb25Mb2NhdGlv
biksIHJlZ1QyKTsKICAgICBzdG9yZVB0cihyZWdUMSwgcmVnVDIpOworCisjaWYgQ1BVKE1JUFMp
CisgICAgcG9rZShjYWxsRnJhbWVSZWdpc3RlciwgT0JKRUNUX09GRlNFVE9GKHN0cnVjdCBKSVRT
dGFja0ZyYW1lLCBjYWxsRnJhbWUpIC8gc2l6ZW9mKHZvaWQqKSk7CisgICAgbW92ZShJbW1QdHIo
RnVuY3Rpb25QdHIoY3RpVk1UaHJvd1RyYW1wb2xpbmUpLnZhbHVlKCkpLCBNSVBTUmVnaXN0ZXJz
OjpyYSk7CisjZWxzZQogICAgIHBva2UoY2FsbEZyYW1lUmVnaXN0ZXIsIDEgKyBPQkpFQ1RfT0ZG
U0VUT0Yoc3RydWN0IEpJVFN0YWNrRnJhbWUsIGNhbGxGcmFtZSkgLyBzaXplb2YgKHZvaWQqKSk7
CiAgICAgcG9rZShJbW1QdHIoRnVuY3Rpb25QdHIoY3RpVk1UaHJvd1RyYW1wb2xpbmUpLnZhbHVl
KCkpKTsKKyNlbmRpZgorCiAgICAgcmV0KCk7CiAKICAgICByZXR1cm4gbmF0aXZlQ2FsbFRodW5r
OwpJbmRleDogSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2
YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDYwNzA0KQorKysgSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTk3MCw3ICs5NzAsOCBAQCBv
biBNaW5HVy4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3NoCiAjZGVmaW5lIEVOQUJMRV9K
SVRfT1BUSU1JWkVfTU9EIDEKICNlbmRpZgogI2VuZGlmCi0jaWYgKENQVShYODYpICYmIFVTRShK
U1ZBTFVFMzJfNjQpKSB8fCAoQ1BVKFg4Nl82NCkgJiYgVVNFKEpTVkFMVUU2NCkpCisjaWYgKENQ
VShYODYpICYmIFVTRShKU1ZBTFVFMzJfNjQpKSB8fCAoQ1BVKFg4Nl82NCkgJiYgVVNFKEpTVkFM
VUU2NCkpIFwKKyAgICB8fCAoQ1BVKE1JUFMpICYmIFBMQVRGT1JNKFFUKSAmJiBPUyhMSU5VWCkp
CiAjZGVmaW5lIEVOQUJMRV9KSVRfT1BUSU1JWkVfTkFUSVZFX0NBTEwgMQogI2VuZGlmCiAK
</data>
<flag name="review"
          id="42636"
          type_id="1"
          status="-"
          setter="oliver"
    />
    <flag name="commit-queue"
          id="42637"
          type_id="3"
          status="-"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59421</attachid>
            <date>2010-06-22 15:29:36 -0700</date>
            <delta_ts>2010-06-22 16:51:35 -0700</delta_ts>
            <desc>Revise the patch for all CPUs</desc>
            <filename>mips-native-call.diff</filename>
            <type>text/plain</type>
            <size>4287</size>
            <attacher name="Chao-ying Fu">fu</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDYxNjI4KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDYtMjIgIENoYW8teWlu
ZyBGdSAgPGZ1QG1pcHMuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlLWVuYWJsZSBKSVRfT1BUSU1JWkVfTkFUSVZFX0NBTEwgb24gTUlQUwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAxNzkKKwor
ICAgICAgICBBZGQgdGhlIE1JUFMgcGFydCB0byByZS1lbmFibGUgSklUX09QVElNSVpFX05BVElW
RV9DQUxMLgorCisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZlQ2FsbCk6CisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6CisKIDIwMTAtMDYtMjIgIFJlbmF0YSBIb2RvdmFuICA8aG9kb3ZhbkBpbmYudS1zemVnZWQu
aHU+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMuY3BwCShyZXZpc2lvbiA2MTU1NikKKysrIEphdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg3LDcgKzE4Nyw3IEBAIEpJVDo6
TGFiZWwgSklUOjpwcml2YXRlQ29tcGlsZUNUSU5hdGl2ZUMKICAgICBlbWl0R2V0RnJvbUNhbGxG
cmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4sIHJlZ1QxLCByZWdUMCk7CiAg
ICAgZW1pdFB1dFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBSZWdpc3RlckZpbGU6OlNjb3BlQ2hh
aW4pOwogCi0gICAgcGVlayhyZWdUMSk7CisgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJD
YWxsKHJlZ1QxKTsKICAgICBlbWl0UHV0VG9DYWxsRnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVy
RmlsZTo6UmV0dXJuUEMpOwogCiAjaWYgQ1BVKFg4Nl82NCkKQEAgLTE5OSwxMSArMTk5LDI5IEBA
IEpJVDo6TGFiZWwgSklUOjpwcml2YXRlQ29tcGlsZUNUSU5hdGl2ZUMKIAogICAgIGVtaXRHZXRG
cm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbGVlLCBYODZSZWdpc3RlcnM6
OmVzaSk7CiAgICAgbG9hZFB0cihBZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZXNpLCBPQkpFQ1RfT0ZG
U0VUT0YoSlNGdW5jdGlvbiwgbV9leGVjdXRhYmxlKSksIFg4NlJlZ2lzdGVyczo6cjkpOwotICAg
IG1vdmUocmVnVDAsIGNhbGxGcmFtZVJlZ2lzdGVyKTsgLy8gRWFnZXJseSByZXN0b3JlIGNhbGxl
ciBmcmFtZSByZWdpc3RlciB0byBhdm9pZCBsb2FkaW5nIGZyb20gc3RhY2suCiAgICAgY2FsbChB
ZGRyZXNzKFg4NlJlZ2lzdGVyczo6cjksIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKSk7CiAK
ICAgICBhZGRQdHIoSW1tMzIoMTYgLSBzaXplb2Yodm9pZCopKSwgc3RhY2tQb2ludGVyUmVnaXN0
ZXIpOwogCisjZWxpZiBDUFUoTUlQUykKKyAgICAvLyBDYWxsaW5nIGNvbnZlbnRpb246ICAgICAg
ZihhMCwgYTEsIGEyLCBhMyk7CisgICAgLy8gSG9zdCBmdW5jdGlvbiBzaWduYXR1cmU6IGYoRXhl
Y1N0YXRlKik7CisKKyAgICAvLyBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3IgMTYgYnl0ZXMgKDgt
Ynl0ZSBhbGlnbmVkKQorICAgIC8vIDE2IGJ5dGVzICh1bnVzZWQpIGZvciA0IGFyZ3VtZW50cwor
ICAgIHN1YlB0cihJbW0zMigxNiksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKworICAgIC8vIFNl
dHVwIGFyZzAKKyAgICBtb3ZlKGNhbGxGcmFtZVJlZ2lzdGVyLCBNSVBTUmVnaXN0ZXJzOjphMCk7
CisKKyAgICAvLyBDYWxsCisgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoUmVnaXN0
ZXJGaWxlOjpDYWxsZWUsIE1JUFNSZWdpc3RlcnM6OmEyKTsKKyAgICBsb2FkUHRyKEFkZHJlc3Mo
TUlQU1JlZ2lzdGVyczo6YTIsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX2V4ZWN1dGFi
bGUpKSwgcmVnVDIpOworICAgIGNhbGwoQWRkcmVzcyhyZWdUMiwgZXhlY3V0YWJsZU9mZnNldFRv
RnVuY3Rpb24pKTsKKworICAgIC8vIFJlc3RvcmUgc3RhY2sgc3BhY2UKKyAgICBhZGRQdHIoSW1t
MzIoMTYpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisKICNlbGlmIEVOQUJMRShKSVRfT1BUSU1J
WkVfTkFUSVZFX0NBTEwpCiAjZXJyb3IgIkpJVF9PUFRJTUlaRV9OQVRJVkVfQ0FMTCBub3QgeWV0
IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiIKICNlbHNlCkBAIC0yMTUsMTcgKzIzMywyNiBA
QCBKSVQ6OkxhYmVsIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDCiAgICAgbG9hZFB0cigm
KGdsb2JhbERhdGEtPmV4Y2VwdGlvbiksIHJlZ1QyKTsKICAgICBKdW1wIGV4Y2VwdGlvbkhhbmRs
ZXIgPSBicmFuY2hUZXN0UHRyKE5vblplcm8sIHJlZ1QyKTsKIAorICAgIC8vIEdyYWIgdGhlIHJl
dHVybiBhZGRyZXNzLgorICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVy
RmlsZTo6UmV0dXJuUEMsIHJlZ1QxKTsKKworICAgIC8vIFJlc3RvcmUgb3VyIGNhbGxlcidzICJy
Ii4KKyAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OkNhbGxl
ckZyYW1lLCBjYWxsRnJhbWVSZWdpc3Rlcik7CisKICAgICAvLyBSZXR1cm4uCisgICAgcmVzdG9y
ZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4ocmVnVDEpOwogICAgIHJldCgpOwogCiAgICAgLy8g
SGFuZGxlIGFuIGV4Y2VwdGlvbgogICAgIGV4Y2VwdGlvbkhhbmRsZXIubGluayh0aGlzKTsKICAg
ICAvLyBHcmFiIHRoZSByZXR1cm4gYWRkcmVzcy4KLSAgICBwZWVrKHJlZ1QxKTsKKyAgICBlbWl0
R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OlJldHVyblBDLCByZWdUMSk7
CiAgICAgbW92ZShJbW1QdHIoJmdsb2JhbERhdGEtPmV4Y2VwdGlvbkxvY2F0aW9uKSwgcmVnVDIp
OwogICAgIHN0b3JlUHRyKHJlZ1QxLCByZWdUMik7Ci0gICAgcG9rZShjYWxsRnJhbWVSZWdpc3Rl
ciwgMSArIE9CSkVDVF9PRkZTRVRPRihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwgY2FsbEZyYW1lKSAv
IHNpemVvZiAodm9pZCopKTsKLSAgICBwb2tlKEltbVB0cihGdW5jdGlvblB0cihjdGlWTVRocm93
VHJhbXBvbGluZSkudmFsdWUoKSkpOworICAgIG1vdmUoSW1tUHRyKEZ1bmN0aW9uUHRyKGN0aVZN
VGhyb3dUcmFtcG9saW5lKS52YWx1ZSgpKSwgcmVnVDIpOworICAgIGVtaXRHZXRGcm9tQ2FsbEZy
YW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbGVyRnJhbWUsIGNhbGxGcmFtZVJlZ2lzdGVy
KTsKKyAgICBwb2tlKGNhbGxGcmFtZVJlZ2lzdGVyLCBPQkpFQ1RfT0ZGU0VUT0Yoc3RydWN0IEpJ
VFN0YWNrRnJhbWUsIGNhbGxGcmFtZSkgLyBzaXplb2Yodm9pZCopKTsKKyAgICByZXN0b3JlUmV0
dXJuQWRkcmVzc0JlZm9yZVJldHVybihyZWdUMik7CiAgICAgcmV0KCk7CiAKICAgICByZXR1cm4g
bmF0aXZlQ2FsbFRodW5rOwpJbmRleDogSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDYxNTU2
KQorKysgSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTk3
Myw3ICs5NzMsOCBAQCBvbiBNaW5HVy4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3NoCiAj
ZGVmaW5lIEVOQUJMRV9KSVRfT1BUSU1JWkVfTU9EIDEKICNlbmRpZgogI2VuZGlmCi0jaWYgKENQ
VShYODYpICYmIFVTRShKU1ZBTFVFMzJfNjQpKSB8fCAoQ1BVKFg4Nl82NCkgJiYgVVNFKEpTVkFM
VUU2NCkpCisjaWYgKENQVShYODYpICYmIFVTRShKU1ZBTFVFMzJfNjQpKSB8fCAoQ1BVKFg4Nl82
NCkgJiYgVVNFKEpTVkFMVUU2NCkpIFwKKyAgICB8fCAoQ1BVKE1JUFMpICYmIFBMQVRGT1JNKFFU
KSAmJiBPUyhMSU5VWCkpCiAjZGVmaW5lIEVOQUJMRV9KSVRfT1BUSU1JWkVfTkFUSVZFX0NBTEwg
MQogI2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59534</attachid>
            <date>2010-06-23 11:16:09 -0700</date>
            <delta_ts>2010-06-23 11:36:34 -0700</delta_ts>
            <desc>A new version for MIPS Native Call</desc>
            <filename>mips_call.diff</filename>
            <type>text/plain</type>
            <size>2726</size>
            <attacher name="Chao-ying Fu">fu</attacher>
            
              <data encoding="base64">SW5kZXg6IHd0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHd0Zi9QbGF0Zm9ybS5oCShyZXZp
c2lvbiA2MTYzMikKKysrIHd0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC05NzQsNyAr
OTc0LDggQEAKICNlbmRpZgogI2VuZGlmCiAjaWYgKENQVShYODYpICYmIFVTRShKU1ZBTFVFMzJf
NjQpKSB8fCAoQ1BVKFg4Nl82NCkgJiYgVVNFKEpTVkFMVUU2NCkpIFwKLSAgICAgfHwgQ1BVKEFS
TSkKKyAgICAgfHwgQ1BVKEFSTSkgXAorICAgICB8fCAoQ1BVKE1JUFMpICYmIFBMQVRGT1JNKFFU
KSAmJiBPUyhMSU5VWCkpCiAjaWYgRU5BQkxFKEpJVCkgJiYgIWRlZmluZWQoRU5BQkxFX0pJVF9P
UFRJTUlaRV9OQVRJVkVfQ0FMTCkKICNkZWZpbmUgRU5BQkxFX0pJVF9PUFRJTUlaRV9OQVRJVkVf
Q0FMTCAxCiAjZW5kaWYKSW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJ
KHJldmlzaW9uIDYxNjMyKQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTAtMDYtMjIgIENoYW8teWluZyBGdSAgPGZ1QG1pcHMuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlLWVuYWJsZSBKSVRfT1BU
SU1JWkVfTkFUSVZFX0NBTEwgb24gTUlQUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDAxNzkKKworICAgICAgICBBZGQgdGhlIE1JUFMgcGFydCB0byBy
ZS1lbmFibGUgSklUX09QVElNSVpFX05BVElWRV9DQUxMLgorCisgICAgICAgICogaml0L0pJVE9w
Y29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZlQ2Fs
bCk6CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTAtMDYtMjIgIFJlbmF0YSBIb2Rv
dmFuICA8aG9kb3ZhbkBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2Vv
ZmZyZXkgR2FyZW4uCkluZGV4OiBqaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaml0
L0pJVE9wY29kZXMuY3BwCShyZXZpc2lvbiA2MTYzMikKKysrIGppdC9KSVRPcGNvZGVzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQxLDYgKzI0MSwzNyBAQAogCiAgICAgcmVzdG9yZVJldHVybkFk
ZHJlc3NCZWZvcmVSZXR1cm4ocmVnVDMpOwogCisjZWxpZiBDUFUoTUlQUykKKyAgICAvLyBMb2Fk
IGNhbGxlciBmcmFtZSdzIHNjb3BlIGNoYWluIGludG8gdGhpcyBjYWxsZnJhbWUgc28gdGhhdCB3
aGF0ZXZlciB3ZSBjYWxsIGNhbgorICAgIC8vIGdldCB0byBpdHMgZ2xvYmFsIGRhdGEuCisgICAg
ZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoUmVnaXN0ZXJGaWxlOjpDYWxsZXJGcmFtZSwg
cmVnVDApOworICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6
U2NvcGVDaGFpbiwgcmVnVDEsIHJlZ1QwKTsKKyAgICBlbWl0UHV0VG9DYWxsRnJhbWVIZWFkZXIo
cmVnVDEsIFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbik7CisKKyAgICBwcmVzZXJ2ZVJldHVybkFk
ZHJlc3NBZnRlckNhbGwocmVnVDMpOyAvLyBDYWxsZWUgcHJlc2VydmVkCisgICAgZW1pdFB1dFRv
Q2FsbEZyYW1lSGVhZGVyKHJlZ1QzLCBSZWdpc3RlckZpbGU6OlJldHVyblBDKTsKKworICAgIC8v
IENhbGxpbmcgY29udmVudGlvbjogICAgICBmKGEwLCBhMSwgYTIsIGEzKTsKKyAgICAvLyBIb3N0
IGZ1bmN0aW9uIHNpZ25hdHVyZTogZihFeGVjU3RhdGUqKTsKKworICAgIC8vIEFsbG9jYXRlIHN0
YWNrIHNwYWNlIGZvciAxNiBieXRlcyAoOC1ieXRlIGFsaWduZWQpCisgICAgLy8gMTYgYnl0ZXMg
KHVudXNlZCkgZm9yIDQgYXJndW1lbnRzCisgICAgc3ViUHRyKEltbTMyKDE2KSwgc3RhY2tQb2lu
dGVyUmVnaXN0ZXIpOworCisgICAgLy8gU2V0dXAgYXJnMAorICAgIG1vdmUoY2FsbEZyYW1lUmVn
aXN0ZXIsIE1JUFNSZWdpc3RlcnM6OmEwKTsKKworICAgIC8vIENhbGwKKyAgICBlbWl0R2V0RnJv
bUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OkNhbGxlZSwgTUlQU1JlZ2lzdGVyczo6
YTIpOworICAgIGxvYWRQdHIoQWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjphMiwgT0JKRUNUX09GRlNF
VE9GKEpTRnVuY3Rpb24sIG1fZXhlY3V0YWJsZSkpLCByZWdUMik7CisgICAgbW92ZShyZWdUMCwg
Y2FsbEZyYW1lUmVnaXN0ZXIpOyAvLyBFYWdlcmx5IHJlc3RvcmUgY2FsbGVyIGZyYW1lIHJlZ2lz
dGVyIHRvIGF2b2lkIGxvYWRpbmcgZnJvbSBzdGFjay4KKyAgICBjYWxsKEFkZHJlc3MocmVnVDIs
IGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKSk7CisKKyAgICAvLyBSZXN0b3JlIHN0YWNrIHNw
YWNlCisgICAgYWRkUHRyKEltbTMyKDE2KSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworCisgICAg
cmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4ocmVnVDMpOworCiAjZWxpZiBFTkFCTEUo
SklUX09QVElNSVpFX05BVElWRV9DQUxMKQogI2Vycm9yICJKSVRfT1BUSU1JWkVfTkFUSVZFX0NB
TEwgbm90IHlldCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4iCiAjZWxzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59544</attachid>
            <date>2010-06-23 11:36:34 -0700</date>
            <delta_ts>2010-06-24 10:44:35 -0700</delta_ts>
            <desc>Use svn-create-patch</desc>
            <filename>mips_call2.diff</filename>
            <type>text/plain</type>
            <size>2937</size>
            <attacher name="Chao-ying Fu">fu</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDYxNzAxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDYtMjMgIENoYW8teWlu
ZyBGdSAgPGZ1QG1pcHMuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlLWVuYWJsZSBKSVRfT1BUSU1JWkVfTkFUSVZFX0NBTEwgb24gTUlQUwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAxNzkKKwor
ICAgICAgICBBZGQgdGhlIE1JUFMgcGFydCB0byByZS1lbmFibGUgSklUX09QVElNSVpFX05BVElW
RV9DQUxMLgorCisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZlQ2FsbCk6CisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6CisKIDIwMTAtMDYtMjMgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1v
Ymk+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXguCkluZGV4OiBKYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMuY3BwCShyZXZpc2lvbiA2MTcwMSkKKysrIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQxLDYgKzI0MSwzNyBAQCBKSVQ6OkxhYmVs
IEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDCiAKICAgICByZXN0b3JlUmV0dXJuQWRkcmVz
c0JlZm9yZVJldHVybihyZWdUMyk7CiAKKyNlbGlmIENQVShNSVBTKQorICAgIC8vIExvYWQgY2Fs
bGVyIGZyYW1lJ3Mgc2NvcGUgY2hhaW4gaW50byB0aGlzIGNhbGxmcmFtZSBzbyB0aGF0IHdoYXRl
dmVyIHdlIGNhbGwgY2FuCisgICAgLy8gZ2V0IHRvIGl0cyBnbG9iYWwgZGF0YS4KKyAgICBlbWl0
R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OkNhbGxlckZyYW1lLCByZWdU
MCk7CisgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoUmVnaXN0ZXJGaWxlOjpTY29w
ZUNoYWluLCByZWdUMSwgcmVnVDApOworICAgIGVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihyZWdU
MSwgUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWluKTsKKworICAgIHByZXNlcnZlUmV0dXJuQWRkcmVz
c0FmdGVyQ2FsbChyZWdUMyk7IC8vIENhbGxlZSBwcmVzZXJ2ZWQKKyAgICBlbWl0UHV0VG9DYWxs
RnJhbWVIZWFkZXIocmVnVDMsIFJlZ2lzdGVyRmlsZTo6UmV0dXJuUEMpOworCisgICAgLy8gQ2Fs
bGluZyBjb252ZW50aW9uOiAgICAgIGYoYTAsIGExLCBhMiwgYTMpOworICAgIC8vIEhvc3QgZnVu
Y3Rpb24gc2lnbmF0dXJlOiBmKEV4ZWNTdGF0ZSopOworCisgICAgLy8gQWxsb2NhdGUgc3RhY2sg
c3BhY2UgZm9yIDE2IGJ5dGVzICg4LWJ5dGUgYWxpZ25lZCkKKyAgICAvLyAxNiBieXRlcyAodW51
c2VkKSBmb3IgNCBhcmd1bWVudHMKKyAgICBzdWJQdHIoSW1tMzIoMTYpLCBzdGFja1BvaW50ZXJS
ZWdpc3Rlcik7CisKKyAgICAvLyBTZXR1cCBhcmcwCisgICAgbW92ZShjYWxsRnJhbWVSZWdpc3Rl
ciwgTUlQU1JlZ2lzdGVyczo6YTApOworCisgICAgLy8gQ2FsbAorICAgIGVtaXRHZXRGcm9tQ2Fs
bEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbGVlLCBNSVBTUmVnaXN0ZXJzOjphMik7
CisgICAgbG9hZFB0cihBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OmEyLCBPQkpFQ1RfT0ZGU0VUT0Yo
SlNGdW5jdGlvbiwgbV9leGVjdXRhYmxlKSksIHJlZ1QyKTsKKyAgICBtb3ZlKHJlZ1QwLCBjYWxs
RnJhbWVSZWdpc3Rlcik7IC8vIEVhZ2VybHkgcmVzdG9yZSBjYWxsZXIgZnJhbWUgcmVnaXN0ZXIg
dG8gYXZvaWQgbG9hZGluZyBmcm9tIHN0YWNrLgorICAgIGNhbGwoQWRkcmVzcyhyZWdUMiwgZXhl
Y3V0YWJsZU9mZnNldFRvRnVuY3Rpb24pKTsKKworICAgIC8vIFJlc3RvcmUgc3RhY2sgc3BhY2UK
KyAgICBhZGRQdHIoSW1tMzIoMTYpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisKKyAgICByZXN0
b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihyZWdUMyk7CisKICNlbGlmIEVOQUJMRShKSVRf
T1BUSU1JWkVfTkFUSVZFX0NBTEwpCiAjZXJyb3IgIkpJVF9PUFRJTUlaRV9OQVRJVkVfQ0FMTCBu
b3QgeWV0IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiIKICNlbHNlCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaAkocmV2aXNpb24gNjE3MDEpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZv
cm0uaAkod29ya2luZyBjb3B5KQpAQCAtOTc0LDcgKzk3NCw4IEBAIG9uIE1pbkdXLiBTZWUgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2gKICNlbmRpZgogI2VuZGlmCiAjaWYgKENQVShYODYpICYm
IFVTRShKU1ZBTFVFMzJfNjQpKSB8fCAoQ1BVKFg4Nl82NCkgJiYgVVNFKEpTVkFMVUU2NCkpIFwK
LSAgICAgfHwgQ1BVKEFSTSkKKyAgICAgfHwgQ1BVKEFSTSkgXAorICAgICB8fCAoQ1BVKE1JUFMp
ICYmIFBMQVRGT1JNKFFUKSAmJiBPUyhMSU5VWCkpCiAjaWYgRU5BQkxFKEpJVCkgJiYgIWRlZmlu
ZWQoRU5BQkxFX0pJVF9PUFRJTUlaRV9OQVRJVkVfQ0FMTCkKICNkZWZpbmUgRU5BQkxFX0pJVF9P
UFRJTUlaRV9OQVRJVkVfQ0FMTCAxCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59675</attachid>
            <date>2010-06-24 10:44:35 -0700</date>
            <delta_ts>2010-07-02 18:49:13 -0700</delta_ts>
            <desc>Update Platform.h</desc>
            <filename>mips_call3.diff</filename>
            <type>text/plain</type>
            <size>2906</size>
            <attacher name="Chao-ying Fu">fu</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDYxNzAxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDYtMjMgIENoYW8teWlu
ZyBGdSAgPGZ1QG1pcHMuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlLWVuYWJsZSBKSVRfT1BUSU1JWkVfTkFUSVZFX0NBTEwgb24gTUlQUwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAxNzkKKwor
ICAgICAgICBBZGQgdGhlIE1JUFMgcGFydCB0byByZS1lbmFibGUgSklUX09QVElNSVpFX05BVElW
RV9DQUxMLgorCisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZlQ2FsbCk6CisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6CisKIDIwMTAtMDYtMjMgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1v
Ymk+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXguCkluZGV4OiBKYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMuY3BwCShyZXZpc2lvbiA2MTcwMSkKKysrIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQxLDYgKzI0MSwzNyBAQCBKSVQ6OkxhYmVs
IEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDCiAKICAgICByZXN0b3JlUmV0dXJuQWRkcmVz
c0JlZm9yZVJldHVybihyZWdUMyk7CiAKKyNlbGlmIENQVShNSVBTKQorICAgIC8vIExvYWQgY2Fs
bGVyIGZyYW1lJ3Mgc2NvcGUgY2hhaW4gaW50byB0aGlzIGNhbGxmcmFtZSBzbyB0aGF0IHdoYXRl
dmVyIHdlIGNhbGwgY2FuCisgICAgLy8gZ2V0IHRvIGl0cyBnbG9iYWwgZGF0YS4KKyAgICBlbWl0
R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OkNhbGxlckZyYW1lLCByZWdU
MCk7CisgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoUmVnaXN0ZXJGaWxlOjpTY29w
ZUNoYWluLCByZWdUMSwgcmVnVDApOworICAgIGVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihyZWdU
MSwgUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWluKTsKKworICAgIHByZXNlcnZlUmV0dXJuQWRkcmVz
c0FmdGVyQ2FsbChyZWdUMyk7IC8vIENhbGxlZSBwcmVzZXJ2ZWQKKyAgICBlbWl0UHV0VG9DYWxs
RnJhbWVIZWFkZXIocmVnVDMsIFJlZ2lzdGVyRmlsZTo6UmV0dXJuUEMpOworCisgICAgLy8gQ2Fs
bGluZyBjb252ZW50aW9uOiAgICAgIGYoYTAsIGExLCBhMiwgYTMpOworICAgIC8vIEhvc3QgZnVu
Y3Rpb24gc2lnbmF0dXJlOiBmKEV4ZWNTdGF0ZSopOworCisgICAgLy8gQWxsb2NhdGUgc3RhY2sg
c3BhY2UgZm9yIDE2IGJ5dGVzICg4LWJ5dGUgYWxpZ25lZCkKKyAgICAvLyAxNiBieXRlcyAodW51
c2VkKSBmb3IgNCBhcmd1bWVudHMKKyAgICBzdWJQdHIoSW1tMzIoMTYpLCBzdGFja1BvaW50ZXJS
ZWdpc3Rlcik7CisKKyAgICAvLyBTZXR1cCBhcmcwCisgICAgbW92ZShjYWxsRnJhbWVSZWdpc3Rl
ciwgTUlQU1JlZ2lzdGVyczo6YTApOworCisgICAgLy8gQ2FsbAorICAgIGVtaXRHZXRGcm9tQ2Fs
bEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbGVlLCBNSVBTUmVnaXN0ZXJzOjphMik7
CisgICAgbG9hZFB0cihBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OmEyLCBPQkpFQ1RfT0ZGU0VUT0Yo
SlNGdW5jdGlvbiwgbV9leGVjdXRhYmxlKSksIHJlZ1QyKTsKKyAgICBtb3ZlKHJlZ1QwLCBjYWxs
RnJhbWVSZWdpc3Rlcik7IC8vIEVhZ2VybHkgcmVzdG9yZSBjYWxsZXIgZnJhbWUgcmVnaXN0ZXIg
dG8gYXZvaWQgbG9hZGluZyBmcm9tIHN0YWNrLgorICAgIGNhbGwoQWRkcmVzcyhyZWdUMiwgZXhl
Y3V0YWJsZU9mZnNldFRvRnVuY3Rpb24pKTsKKworICAgIC8vIFJlc3RvcmUgc3RhY2sgc3BhY2UK
KyAgICBhZGRQdHIoSW1tMzIoMTYpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisKKyAgICByZXN0
b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihyZWdUMyk7CisKICNlbGlmIEVOQUJMRShKSVRf
T1BUSU1JWkVfTkFUSVZFX0NBTEwpCiAjZXJyb3IgIkpJVF9PUFRJTUlaRV9OQVRJVkVfQ0FMTCBu
b3QgeWV0IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiIKICNlbHNlCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaAkocmV2aXNpb24gNjE3MDEpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZv
cm0uaAkod29ya2luZyBjb3B5KQpAQCAtOTc0LDcgKzk3NCw4IEBAIG9uIE1pbkdXLiBTZWUgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2gKICNlbmRpZgogI2VuZGlmCiAjaWYgKENQVShYODYpICYm
IFVTRShKU1ZBTFVFMzJfNjQpKSB8fCAoQ1BVKFg4Nl82NCkgJiYgVVNFKEpTVkFMVUU2NCkpIFwK
LSAgICAgfHwgQ1BVKEFSTSkKKyAgICAgfHwgQ1BVKEFSTSkgXAorICAgICB8fCBDUFUoTUlQUykK
ICNpZiBFTkFCTEUoSklUKSAmJiAhZGVmaW5lZChFTkFCTEVfSklUX09QVElNSVpFX05BVElWRV9D
QUxMKQogI2RlZmluZSBFTkFCTEVfSklUX09QVElNSVpFX05BVElWRV9DQUxMIDEKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>