OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 | 142 |
143 // Gets the major key from a code object that is a code stub or binary op IC. | 143 // Gets the major key from a code object that is a code stub or binary op IC. |
144 static Major GetMajorKey(Code* code_stub) { | 144 static Major GetMajorKey(Code* code_stub) { |
145 return static_cast<Major>(code_stub->major_key()); | 145 return static_cast<Major>(code_stub->major_key()); |
146 } | 146 } |
147 | 147 |
148 static const char* MajorName(Major major_key, bool allow_unknown_keys); | 148 static const char* MajorName(Major major_key, bool allow_unknown_keys); |
149 | 149 |
150 virtual ~CodeStub() {} | 150 virtual ~CodeStub() {} |
151 | 151 |
152 bool CompilingCallsToThisStubIsGCSafe() { | 152 bool CompilingCallsToThisStubIsGCSafe(Isolate* isolate) { |
153 bool is_pregenerated = IsPregenerated(); | 153 bool is_pregenerated = IsPregenerated(); |
154 Code* code = NULL; | 154 Code* code = NULL; |
155 CHECK(!is_pregenerated || FindCodeInCache(&code, Isolate::Current())); | 155 CHECK(!is_pregenerated || FindCodeInCache(&code, isolate)); |
156 return is_pregenerated; | 156 return is_pregenerated; |
157 } | 157 } |
158 | 158 |
159 // See comment above, where Instanceof is defined. | 159 // See comment above, where Instanceof is defined. |
160 virtual bool IsPregenerated() { return false; } | 160 virtual bool IsPregenerated() { return false; } |
161 | 161 |
162 static void GenerateStubsAheadOfTime(Isolate* isolate); | 162 static void GenerateStubsAheadOfTime(Isolate* isolate); |
163 static void GenerateFPStubs(Isolate* isolate); | 163 static void GenerateFPStubs(Isolate* isolate); |
164 | 164 |
165 // Some stubs put untagged junk on the stack that cannot be scanned by the | 165 // Some stubs put untagged junk on the stack that cannot be scanned by the |
(...skipping 1453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1619 | 1619 |
1620 // The current function entry hook. | 1620 // The current function entry hook. |
1621 static FunctionEntryHook entry_hook_; | 1621 static FunctionEntryHook entry_hook_; |
1622 | 1622 |
1623 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); | 1623 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); |
1624 }; | 1624 }; |
1625 | 1625 |
1626 } } // namespace v8::internal | 1626 } } // namespace v8::internal |
1627 | 1627 |
1628 #endif // V8_CODE_STUBS_H_ | 1628 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |