OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 | 64 |
65 static void SetFunctionInfo(Handle<JSFunction> fun, | 65 static void SetFunctionInfo(Handle<JSFunction> fun, |
66 FunctionLiteral* lit, | 66 FunctionLiteral* lit, |
67 bool is_toplevel, | 67 bool is_toplevel, |
68 Handle<Script> script); | 68 Handle<Script> script); |
69 | 69 |
70 static bool RecordPositions(MacroAssembler* masm, | 70 static bool RecordPositions(MacroAssembler* masm, |
71 int pos, | 71 int pos, |
72 bool right_here = false); | 72 bool right_here = false); |
73 | 73 |
74 // Constants related to patching of inlined load/store. | |
75 static int GetInlinedKeyedLoadInstructionsAfterPatch() { | |
76 // This is in correlation with the padding in MacroAssembler::Abort. | |
77 return FLAG_debug_code ? 45 : 20; | |
78 } | |
79 | |
80 static const int kInlinedKeyedStoreInstructionsAfterPatch = 13; | |
81 | |
82 static int GetInlinedNamedStoreInstructionsAfterPatch() { | |
83 ASSERT(Isolate::Current()->inlined_write_barrier_size() != -1); | |
84 // Magic number 5: instruction count after patched map load: | |
85 // li: 2 (liu & ori), Branch : 2 (bne & nop), sw : 1 | |
86 return Isolate::Current()->inlined_write_barrier_size() + 5; | |
87 } | |
88 | |
89 private: | 74 private: |
90 DISALLOW_COPY_AND_ASSIGN(CodeGenerator); | 75 DISALLOW_COPY_AND_ASSIGN(CodeGenerator); |
91 }; | 76 }; |
92 | 77 |
93 | 78 |
94 } } // namespace v8::internal | 79 } } // namespace v8::internal |
95 | 80 |
96 #endif // V8_MIPS_CODEGEN_MIPS_H_ | 81 #endif // V8_MIPS_CODEGEN_MIPS_H_ |
OLD | NEW |