Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(495)

Side by Side Diff: src/mips/assembler-mips.cc

Issue 15691017: Make assertion scopes thread safe. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 233
234 234
235 // ----------------------------------------------------------------------------- 235 // -----------------------------------------------------------------------------
236 // Implementation of Operand and MemOperand. 236 // Implementation of Operand and MemOperand.
237 // See assembler-mips-inl.h for inlined constructors. 237 // See assembler-mips-inl.h for inlined constructors.
238 238
239 Operand::Operand(Handle<Object> handle) { 239 Operand::Operand(Handle<Object> handle) {
240 #ifdef DEBUG 240 #ifdef DEBUG
241 Isolate* isolate = Isolate::Current(); 241 Isolate* isolate = Isolate::Current();
242 #endif 242 #endif
243 ALLOW_HANDLE_DEREF(isolate, "using and embedding raw address"); 243 AllowDeferredHandleDereference using_raw_address;
244 rm_ = no_reg; 244 rm_ = no_reg;
245 // Verify all Objects referred by code are NOT in new space. 245 // Verify all Objects referred by code are NOT in new space.
246 Object* obj = *handle; 246 Object* obj = *handle;
247 ASSERT(!isolate->heap()->InNewSpace(obj)); 247 ASSERT(!isolate->heap()->InNewSpace(obj));
248 if (obj->IsHeapObject()) { 248 if (obj->IsHeapObject()) {
249 imm32_ = reinterpret_cast<intptr_t>(handle.location()); 249 imm32_ = reinterpret_cast<intptr_t>(handle.location());
250 rmode_ = RelocInfo::EMBEDDED_OBJECT; 250 rmode_ = RelocInfo::EMBEDDED_OBJECT;
251 } else { 251 } else {
252 // No relocation needed. 252 // No relocation needed.
253 imm32_ = reinterpret_cast<intptr_t>(obj); 253 imm32_ = reinterpret_cast<intptr_t>(obj);
(...skipping 2032 matching lines...) Expand 10 before | Expand all | Expand 10 after
2286 } 2286 }
2287 2287
2288 if (patched) { 2288 if (patched) {
2289 CPU::FlushICache(pc+2, sizeof(Address)); 2289 CPU::FlushICache(pc+2, sizeof(Address));
2290 } 2290 }
2291 } 2291 }
2292 2292
2293 } } // namespace v8::internal 2293 } } // namespace v8::internal
2294 2294
2295 #endif // V8_TARGET_ARCH_MIPS 2295 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« src/api.cc ('K') | « src/marking-thread.cc ('k') | src/mips/deoptimizer-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698