Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mruby
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
mruby
Commits
d01118d2
Commit
d01118d2
authored
8 years ago
by
Yukihiro "Matz" Matsumoto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
OP_RESCUE refactored; ref #3519
parent
8d1468ea
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
17 deletions
+9
-17
src/vm.c
src/vm.c
+9
-17
No files found.
src/vm.c
View file @
d01118d2
...
...
@@ -1091,16 +1091,17 @@ RETRY_TRY_BLOCK:
int
c
=
GETARG_C
(
i
);
mrb_value
exc
;
if
(
b
!=
0
)
{
mrb_value
e
=
regs
[
b
];
struct
RClass
*
ec
;
if
(
c
==
0
)
{
exc
=
mrb_obj_value
(
mrb
->
exc
);
mrb
->
exc
=
0
;
}
else
{
/* continued; exc taken from R(A) */
exc
=
regs
[
a
];
}
if
(
b
!=
0
)
{
mrb_value
e
=
regs
[
b
];
struct
RClass
*
ec
;
switch
(
mrb_type
(
e
))
{
case
MRB_TT_CLASS
:
case
MRB_TT_MODULE
:
...
...
@@ -1110,20 +1111,11 @@ RETRY_TRY_BLOCK:
break
;
}
ec
=
mrb_class_ptr
(
e
);
if
(
mrb_obj_is_kind_of
(
mrb
,
exc
,
ec
))
{
regs
[
b
]
=
mrb_true_value
();
}
else
{
regs
[
b
]
=
mrb_false_value
();
}
}
else
if
(
c
==
0
)
{
exc
=
mrb_obj_value
(
mrb
->
exc
);
regs
[
b
]
=
mrb_bool_value
(
mrb_obj_is_kind_of
(
mrb
,
exc
,
ec
));
}
if
(
a
!=
0
&&
c
==
0
)
{
regs
[
GETARG_A
(
i
)
]
=
exc
;
regs
[
a
]
=
exc
;
}
mrb
->
exc
=
0
;
NEXT
;
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment