Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
3c3292d5
Commit
3c3292d5
authored
Jul 24, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added recoverable option
parent
306b5bcf
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
9 deletions
+13
-9
vm.go
ethvm/vm.go
+13
-9
No files found.
ethvm/vm.go
View file @
3c3292d5
...
...
@@ -37,6 +37,8 @@ type Vm struct {
BreakPoints
[]
int64
Stepping
bool
Fn
string
Recoverable
bool
}
type
Environment
interface
{
...
...
@@ -62,18 +64,20 @@ func New(env Environment) *Vm {
lt
=
LogTyDiff
}
return
&
Vm
{
env
:
env
,
logTy
:
lt
}
return
&
Vm
{
env
:
env
,
logTy
:
lt
,
Recoverable
:
true
}
}
func
(
self
*
Vm
)
RunClosure
(
closure
*
Closure
)
(
ret
[]
byte
,
err
error
)
{
// Recover from any require exception
defer
func
()
{
if
r
:=
recover
();
r
!=
nil
{
ret
=
closure
.
Return
(
nil
)
err
=
fmt
.
Errorf
(
"%v"
,
r
)
vmlogger
.
Errorln
(
"vm err"
,
err
)
}
}()
if
self
.
Recoverable
{
// Recover from any require exception
defer
func
()
{
if
r
:=
recover
();
r
!=
nil
{
ret
=
closure
.
Return
(
nil
)
err
=
fmt
.
Errorf
(
"%v"
,
r
)
vmlogger
.
Errorln
(
"vm err"
,
err
)
}
}()
}
// Debug hook
if
self
.
Dbg
!=
nil
{
...
...
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