-
Notifications
You must be signed in to change notification settings - Fork 513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Equation: 120, when w=JUMPI, outcome of JUMPI depends on µs[1] too, so the exception Z and its coding #151
base: master
Are you sure you want to change the base?
Conversation
|
Done! |
needs rebasing/merging |
I guess it's OK now: |
still needs rebasing/merging |
@efaysal can you please rebase? |
After a number of trails, It shows this "This branch has no conflicts with the base branch |
I tried to fix the issues with Travis, I got this, remote: Permission to ethereum/yellowpaper.git denied to efaysal. |
this is now broken. please ensure it is merged properly. if you're unsure how to do this, please read up on how git works. |
I only need to reread a Pull Request Tutorial, indeed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The identified issue needs correcting, but this PR still needs a proper resolution/rebase.
I'm sharing with you the steps, everything was OK. However when I pushed as it was required, faysal@faysal-VPCEH12FX:
You are currently rebasing. nothing to commit, working directory clean |
This PR is getting all messed up. Recommendation:
|
@@ -451,7 +451,11 @@ \subsubsection{Block Header Validity} | |||
\begin{equation} | |||
D(H) \equiv \begin{dcases} | |||
\mindifficulty & \text{if} \quad H_i = 0\\ | |||
<<<<<<< HEAD | |||
\text{max}\!\left(\mindifficulty, {P(H)_H}_d + \diffadjustment\times\frontiermod + \expdiffsymb \right) & \text{if} \quad H_i<\mathit{TBD}\\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is changing anything compared to the latest (indeed it's outdated): \text{max}\!\left(\mindifficulty, {P(H)_{H}}_{\mathrm{d}} + \diffadjustment\times\homesteadmod + \expdiffsymb \right) & \text{otherwise}\\
@@ -769,11 +773,15 @@ \section{Message Call} \label{ch:call} | |||
\boldsymbol{\sigma} & \text{if} \quad \boldsymbol{\sigma}^{**} = \varnothing \\ | |||
\boldsymbol{\sigma}^{**} & \text{otherwise} | |||
\end{cases} \\ | |||
<<<<<<< HEAD | |||
(\boldsymbol{\sigma}^{**}, g', \mathbf{s}, \mathbf{o}) & \equiv & \begin{cases} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently we have:
Lines 817 to 829 in fb260c1
\begin{eqnarray} | |
\boldsymbol{\sigma}' & \equiv & \begin{cases} | |
\boldsymbol{\sigma} & \text{if} \quad \boldsymbol{\sigma}^{**} = \varnothing \\ | |
\boldsymbol{\sigma}^{**} & \text{otherwise} | |
\end{cases} \\ | |
g' & \equiv & \begin{cases} | |
0 & \text{if} \quad \boldsymbol{\sigma}^{**} = \varnothing \ \wedge \ \mathbf{o} = \varnothing \\ | |
g^{**} & \text{otherwise} | |
\end{cases} \\ \nonumber | |
z & \equiv & \begin{cases} | |
0 & \text{if} \quad \boldsymbol{\sigma}^{**} = \varnothing \\ | |
1 & \text{otherwise} | |
\end{cases} \\ |
I'm not sure what the benefit of including this is.
\mathbf{\delta}_w = \varnothing \quad \vee \nonumber \\ | ||
\lVert\boldsymbol{\mu}_\mathbf{s}\rVert < \mathbf{\delta}_w \quad \vee \nonumber \\ | ||
( w = \text{\small JUMP} \quad \wedge \quad \boldsymbol{\mu}_\mathbf{s}[0] \notin D(I_\mathbf{b}) ) \quad \vee \nonumber \\ | ||
( w = \text{\small JUMPI} \quad \wedge \quad \boldsymbol{\mu}_\mathbf{s}[1] \neq 0 \quad \wedge \quad \boldsymbol{\mu}_\mathbf{s}[0] \notin D(I_\mathbf{b}) ) \quad \vee \nonumber \\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In Exceptional Halting: Equation: 120,
(w ∈ {JUMP, JUMPI} ∧ µs[0] not in D(Ib)) --^^--
should be separated as the outcome of JUMPI is also depending on the value of µs[1]. Better to use the following:
(w =JUMP ∧ µs[0] not in D(Ib)) V (w =JUMPI ∧ µs[1] != 0 ∧ µs[0] not in D(Ib)) ... if µs[1] = 0, JUMPI is just shifting the pc by one, and it should be an opcode not data assuming that pc+1 is less than the total number of opdodes in Ib.
--^^-- comes to:
(w =JUMP ∧ µs[0] not in D(Ib)) V (w =JUMPI ∧ µs[1] != 0 ∧ µs[0] not in D(Ib)) V (w =JUMPI ∧ µs[1] = 0 ∧ pc+1 > Ic|), Paper.tex has my committed changes.
Also is the C++ coding of JUMPI used µs[1]?
Implicitly the condition related to µs[1] is tested in "if (m_stack[m_stack.size() - 2])", is this robust?
At least the topmost two elements from the stack should exist if not an issue is there because JUMPI needs, accordingly to the value of µs[1], to decide to jump to µs[0] or to just increment by one the current pc.
Much safe to test the existence of µs[1] && if (m_stack.size()>2) to decide.
case Instruction::JUMPI:
if (m_stack[m_stack.size() - 2]) \ only OK when m_stack.size() >2 ...
nextPC = verifyJumpDest(m_stack.back(), m_jumpDests);
m_stack.pop_back();
m_stack.pop_back();
break;