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

Side by Side Diff: src/assembler.h

Issue 77035: Add ENABLE_DEBUGGER_SUPPORT macro.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 8 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
« no previous file with comments | « src/api.cc ('k') | src/assembler.cc » ('j') | src/serialize.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 int mode_mask_; 339 int mode_mask_;
340 DISALLOW_COPY_AND_ASSIGN(RelocIterator); 340 DISALLOW_COPY_AND_ASSIGN(RelocIterator);
341 }; 341 };
342 342
343 343
344 //------------------------------------------------------------------------------ 344 //------------------------------------------------------------------------------
345 // External function 345 // External function
346 346
347 //---------------------------------------------------------------------------- 347 //----------------------------------------------------------------------------
348 class IC_Utility; 348 class IC_Utility;
349 class SCTableReference;
350 #ifdef ENABLE_DEBUGGER_SUPPORT
349 class Debug_Address; 351 class Debug_Address;
350 class SCTableReference; 352 #endif
351 353
352 // An ExternalReference represents a C++ address called from the generated 354 // An ExternalReference represents a C++ address called from the generated
353 // code. All references to C++ functions and must be encapsulated in an 355 // code. All references to C++ functions and must be encapsulated in an
354 // ExternalReference instance. This is done in order to track the origin of 356 // ExternalReference instance. This is done in order to track the origin of
355 // all external references in the code. 357 // all external references in the code.
356 class ExternalReference BASE_EMBEDDED { 358 class ExternalReference BASE_EMBEDDED {
357 public: 359 public:
358 explicit ExternalReference(Builtins::CFunctionId id); 360 explicit ExternalReference(Builtins::CFunctionId id);
359 361
360 explicit ExternalReference(Builtins::Name name); 362 explicit ExternalReference(Builtins::Name name);
361 363
362 explicit ExternalReference(Runtime::FunctionId id); 364 explicit ExternalReference(Runtime::FunctionId id);
363 365
364 explicit ExternalReference(Runtime::Function* f); 366 explicit ExternalReference(Runtime::Function* f);
365 367
366 explicit ExternalReference(const IC_Utility& ic_utility); 368 explicit ExternalReference(const IC_Utility& ic_utility);
367 369
370 #ifdef ENABLE_DEBUGGER_SUPPORT
368 explicit ExternalReference(const Debug_Address& debug_address); 371 explicit ExternalReference(const Debug_Address& debug_address);
372 #endif
369 373
370 explicit ExternalReference(StatsCounter* counter); 374 explicit ExternalReference(StatsCounter* counter);
371 375
372 explicit ExternalReference(Top::AddressId id); 376 explicit ExternalReference(Top::AddressId id);
373 377
374 explicit ExternalReference(const SCTableReference& table_ref); 378 explicit ExternalReference(const SCTableReference& table_ref);
375 379
376 // One-of-a-kind references. These references are not part of a general 380 // One-of-a-kind references. These references are not part of a general
377 // pattern. This means that they have to be added to the 381 // pattern. This means that they have to be added to the
378 // ExternalReferenceTable in serialize.cc manually. 382 // ExternalReferenceTable in serialize.cc manually.
379 383
380 static ExternalReference builtin_passed_function(); 384 static ExternalReference builtin_passed_function();
381 385
382 // Static variable Factory::the_hole_value.location() 386 // Static variable Factory::the_hole_value.location()
383 static ExternalReference the_hole_value_location(); 387 static ExternalReference the_hole_value_location();
384 388
385 // Static variable StackGuard::address_of_jslimit() 389 // Static variable StackGuard::address_of_jslimit()
386 static ExternalReference address_of_stack_guard_limit(); 390 static ExternalReference address_of_stack_guard_limit();
387 391
388 // Static variable RegExpStack::limit_address() 392 // Static variable RegExpStack::limit_address()
389 static ExternalReference address_of_regexp_stack_limit(); 393 static ExternalReference address_of_regexp_stack_limit();
390 394
391 // Function Debug::Break()
392 static ExternalReference debug_break();
393
394 // Static variable Heap::NewSpaceStart() 395 // Static variable Heap::NewSpaceStart()
395 static ExternalReference new_space_start(); 396 static ExternalReference new_space_start();
396 static ExternalReference heap_always_allocate_scope_depth(); 397 static ExternalReference heap_always_allocate_scope_depth();
397 398
398 // Used for fast allocation in generated code. 399 // Used for fast allocation in generated code.
399 static ExternalReference new_space_allocation_top_address(); 400 static ExternalReference new_space_allocation_top_address();
400 static ExternalReference new_space_allocation_limit_address(); 401 static ExternalReference new_space_allocation_limit_address();
401 402
402 // Used to check if single stepping is enabled in generated code.
403 static ExternalReference debug_step_in_fp_address();
404
405 static ExternalReference double_fp_operation(Token::Value operation); 403 static ExternalReference double_fp_operation(Token::Value operation);
406 404
407 Address address() const {return address_;} 405 Address address() const {return address_;}
408 406
407 #ifdef ENABLE_DEBUGGER_SUPPORT
408 // Function Debug::Break()
409 static ExternalReference debug_break();
410
411 // Used to check if single stepping is enabled in generated code.
412 static ExternalReference debug_step_in_fp_address();
413 #endif
414
409 private: 415 private:
410 explicit ExternalReference(void* address) 416 explicit ExternalReference(void* address)
411 : address_(reinterpret_cast<Address>(address)) {} 417 : address_(reinterpret_cast<Address>(address)) {}
412 418
413 Address address_; 419 Address address_;
414 }; 420 };
415 421
416 422
417 // ----------------------------------------------------------------------------- 423 // -----------------------------------------------------------------------------
418 // Utility functions 424 // Utility functions
(...skipping 15 matching lines...) Expand all
434 static inline bool is_uint4(int x) { return is_uintn(x, 4); } 440 static inline bool is_uint4(int x) { return is_uintn(x, 4); }
435 static inline bool is_uint5(int x) { return is_uintn(x, 5); } 441 static inline bool is_uint5(int x) { return is_uintn(x, 5); }
436 static inline bool is_uint8(int x) { return is_uintn(x, 8); } 442 static inline bool is_uint8(int x) { return is_uintn(x, 8); }
437 static inline bool is_uint12(int x) { return is_uintn(x, 12); } 443 static inline bool is_uint12(int x) { return is_uintn(x, 12); }
438 static inline bool is_uint16(int x) { return is_uintn(x, 16); } 444 static inline bool is_uint16(int x) { return is_uintn(x, 16); }
439 static inline bool is_uint24(int x) { return is_uintn(x, 24); } 445 static inline bool is_uint24(int x) { return is_uintn(x, 24); }
440 446
441 } } // namespace v8::internal 447 } } // namespace v8::internal
442 448
443 #endif // V8_ASSEMBLER_H_ 449 #endif // V8_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/api.cc ('k') | src/assembler.cc » ('j') | src/serialize.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698