i.e. #ifndef VM_WHATEVER -> #ifndef RUNTIME_VM_WHATEVER
This lets us remove a hack from the PRESUBMIT.py script that existed
for reasons that are no longer valid, and sets us up to add some
presubmit checks for the GN build.
R=asiva@google.com, rmacnak@google.com
Review URL: https://codereview.chromium.org/2450713004 .
Some stubs (and intrinsics) do not push a frame onto the stack leaving
the frame pointer in the caller.
PC -> STUB
FP -> DART3 <-+
DART2 <-| <- TOP FRAME RETURN ADDRESS.
DART1 <-|
.....
In this case, traversing the linked stack frames will not collect a PC
inside DART3. The stack will incorrectly be: STUB, DART2, DART1.
In Dart code, after pushing the FP onto the stack, an IP in the current
function is pushed onto the stack as well. This stack slot is called
the PC marker. We can use the PC marker to insert DART3 into the stack
so that it will correctly be: STUB, DART3, DART2, DART1. Note the
inserted PC may not accurately reflect the true return address from STUB.
R=asiva@google.com, srdjan@google.com
Review URL: https://codereview.chromium.org//264933006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35762 260f80e4-7a28-3924-810f-c04153c831b5
on the dartium usage pattern:
- Dart_GetNativeStringArgument (gets a String object, peer etc. directly from
the native arguments)
- Dart_SetWeakHandleReturnValue (allows a weak handle to be passed to the
return value, this ensures a new local handle does not have to be created
from a weak handle just to return a value)
- Dart_StringGetProperties (gets some common properties of a string, avoids
multiple API calls to set up a native string)
R=srdjan@google.com, vsm@google.com
Review URL: https://codereview.chromium.org//22632010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26046 260f80e4-7a28-3924-810f-c04153c831b5