| 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 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 int prologue_offset() const { | 250 int prologue_offset() const { |
| 251 ASSERT_NE(kPrologueOffsetNotSet, prologue_offset_); | 251 ASSERT_NE(kPrologueOffsetNotSet, prologue_offset_); |
| 252 return prologue_offset_; | 252 return prologue_offset_; |
| 253 } | 253 } |
| 254 | 254 |
| 255 void set_prologue_offset(int prologue_offset) { | 255 void set_prologue_offset(int prologue_offset) { |
| 256 ASSERT_EQ(kPrologueOffsetNotSet, prologue_offset_); | 256 ASSERT_EQ(kPrologueOffsetNotSet, prologue_offset_); |
| 257 prologue_offset_ = prologue_offset; | 257 prologue_offset_ = prologue_offset; |
| 258 } | 258 } |
| 259 | 259 |
| 260 int frame_destroy_offset() const { |
| 261 ASSERT_NE(kPrologueOffsetNotSet, frame_destroy_offset_); |
| 262 return frame_destroy_offset_; |
| 263 } |
| 264 |
| 265 void set_frame_destroy_offset(int frame_destroy_offset) { |
| 266 ASSERT_EQ(kPrologueOffsetNotSet, frame_destroy_offset_); |
| 267 frame_destroy_offset_ = frame_destroy_offset; |
| 268 } |
| 269 |
| 270 |
| 260 private: | 271 private: |
| 261 Isolate* isolate_; | 272 Isolate* isolate_; |
| 262 | 273 |
| 263 // Compilation mode. | 274 // Compilation mode. |
| 264 // BASE is generated by the full codegen, optionally prepared for bailouts. | 275 // BASE is generated by the full codegen, optionally prepared for bailouts. |
| 265 // OPTIMIZE is optimized code generated by the Hydrogen-based backend. | 276 // OPTIMIZE is optimized code generated by the Hydrogen-based backend. |
| 266 // NONOPT is generated by the full codegen and is not prepared for | 277 // NONOPT is generated by the full codegen and is not prepared for |
| 267 // recompilation/bailouts. These functions are never recompiled. | 278 // recompilation/bailouts. These functions are never recompiled. |
| 268 enum Mode { | 279 enum Mode { |
| 269 BASE, | 280 BASE, |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 void SaveHandle(Handle<T> *object) { | 364 void SaveHandle(Handle<T> *object) { |
| 354 if (!object->is_null()) { | 365 if (!object->is_null()) { |
| 355 Handle<T> handle(*(*object)); | 366 Handle<T> handle(*(*object)); |
| 356 *object = handle; | 367 *object = handle; |
| 357 } | 368 } |
| 358 } | 369 } |
| 359 | 370 |
| 360 const char* bailout_reason_; | 371 const char* bailout_reason_; |
| 361 | 372 |
| 362 int prologue_offset_; | 373 int prologue_offset_; |
| 374 int frame_destroy_offset_; |
| 363 | 375 |
| 364 // A copy of shared_info()->opt_count() to avoid handle deref | 376 // A copy of shared_info()->opt_count() to avoid handle deref |
| 365 // during graph optimization. | 377 // during graph optimization. |
| 366 int opt_count_; | 378 int opt_count_; |
| 367 | 379 |
| 368 DISALLOW_COPY_AND_ASSIGN(CompilationInfo); | 380 DISALLOW_COPY_AND_ASSIGN(CompilationInfo); |
| 369 }; | 381 }; |
| 370 | 382 |
| 371 | 383 |
| 372 // Exactly like a CompilationInfo, except also creates and enters a | 384 // Exactly like a CompilationInfo, except also creates and enters a |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 554 | 566 |
| 555 static void RecordFunctionCompilation(Logger::LogEventsAndTags tag, | 567 static void RecordFunctionCompilation(Logger::LogEventsAndTags tag, |
| 556 CompilationInfo* info, | 568 CompilationInfo* info, |
| 557 Handle<SharedFunctionInfo> shared); | 569 Handle<SharedFunctionInfo> shared); |
| 558 }; | 570 }; |
| 559 | 571 |
| 560 | 572 |
| 561 } } // namespace v8::internal | 573 } } // namespace v8::internal |
| 562 | 574 |
| 563 #endif // V8_COMPILER_H_ | 575 #endif // V8_COMPILER_H_ |
| OLD | NEW |