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

Unified Diff: src/lithium.h

Issue 20680002: Rebase of partial ia32 implementation of optimized try/catch (started by Kevin Millikin, continued … (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix detection of CATCH frames (fixes debuger exception reporting anf breaks another assertion...). Created 7 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/isolate.cc ('k') | src/objects.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/lithium.h
diff --git a/src/lithium.h b/src/lithium.h
index ab34453beff6015a37dc9a00afc02e4251f93414..0f7f2d2346279d982951b628b1361d990422170f 100644
--- a/src/lithium.h
+++ b/src/lithium.h
@@ -512,27 +512,25 @@ class LPointerMap: public ZoneObject {
class LEnvironment: public ZoneObject {
public:
- LEnvironment(Handle<JSFunction> closure,
- FrameType frame_type,
- BailoutId ast_id,
- int parameter_count,
+ LEnvironment(HEnvironment* hydrogen, // Mutable! Do not store.
int argument_count,
int value_count,
LEnvironment* outer,
HEnterInlined* entry,
Zone* zone)
- : closure_(closure),
- frame_type_(frame_type),
+ : closure_(hydrogen->closure()),
+ frame_type_(hydrogen->frame_type()),
arguments_stack_height_(argument_count),
+ handler_count_(hydrogen->handler_count()),
deoptimization_index_(Safepoint::kNoDeoptimizationIndex),
translation_index_(-1),
- ast_id_(ast_id),
- translation_size_(value_count),
- parameter_count_(parameter_count),
+ ast_id_(hydrogen->ast_id()),
+ translation_size_(value_count), //FIXME(mmassi) Maybe this was "hydrogen->parameter_count()"
+ parameter_count_(hydrogen->parameter_count()),
pc_offset_(-1),
values_(value_count, zone),
is_tagged_(value_count, zone),
- is_uint32_(value_count, zone),
+ is_uint32_(hydrogen->length(), zone),
spilled_registers_(NULL),
spilled_double_registers_(NULL),
outer_(outer),
@@ -542,6 +540,7 @@ class LEnvironment: public ZoneObject {
Handle<JSFunction> closure() const { return closure_; }
FrameType frame_type() const { return frame_type_; }
int arguments_stack_height() const { return arguments_stack_height_; }
+ int handler_count() const { return handler_count_; }
int deoptimization_index() const { return deoptimization_index_; }
int translation_index() const { return translation_index_; }
BailoutId ast_id() const { return ast_id_; }
@@ -603,6 +602,7 @@ class LEnvironment: public ZoneObject {
Handle<JSFunction> closure_;
FrameType frame_type_;
int arguments_stack_height_;
+ int handler_count_;
int deoptimization_index_;
int translation_index_;
BailoutId ast_id_;
« no previous file with comments | « src/isolate.cc ('k') | src/objects.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698