johnmccutchan@google.com
420aa94c56
Split profiler.cc into profiler.cc and profiler_service.cc
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//864173008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43623 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 23:22:19 +00:00
turnidge@google.com
e1f31e1513
Add a working command line debugger to Observatory.
...
Try it!
Review URL: https://codereview.chromium.org//866663003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43618 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 22:03:31 +00:00
johnmccutchan@google.com
a6483aefd1
Per isolate Log with block support
...
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org//913503004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43604 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 18:54:20 +00:00
turnidge@google.com
d554f4fbfe
Finish moving service protocol to json rpc.
...
Service
- Remove support for old-style service requests.
- Drop 'arguments' from JsonStream and ServiceRequestHandler.
- Json-rpc inspired renaming: command->method, options->params all over.
- Implement getFlagList, setFlag, getObjectByAddress.
- Add helpers PrintMissingParamError and PrintInvalidParamError
to make our error messages more regular.
- Update tests.
- Service_SetSource removed for now. John will resurrect.
Observatory
- Drop all Deprecated 'get' functions. We now use json rpc for everything.
- Drop 'link' and 'relativeLink' from ServiceObject -- they were
ui-specific and they are no longer meaningful anyways. Use 'id' instead.
- New pages: VMPage, FlagsPage, InspectPage, ErrorPage. All urls
used by Observatory are now 'new school' and have a proper
prefix. ErrorPage is the new catch-all.
- Pages now use a Uri instead of a url String. This lets them
grab query parameters more easily.
- SimplePage replaces IsolateSuffixPage.
- We now use gotoLink() or makeLink() to make our navigation
links. gotoLink gets some optional parameters to make it
easier to construct links to ServiceObjects.
- Rework mouse clicks on the heap map to use getObjectByAddress.
- Remove the breakpoint_list. It wasn't working. I'll add it back later.
- Silence logging of getIsolateMetric/getVMMetric.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//897193002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43514 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 17:45:52 +00:00
johnmccutchan@google.com
1426cfc03b
Port metrics to RPC
...
R=turnidge@google.com
Review URL: https://codereview.chromium.org//886353006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43486 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 21:27:49 +00:00
zra@google.com
1299ad1485
Allows turning on checked mode on a per-isolate basis
...
using the embedding API.
R=regis@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//883263004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43481 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 18:32:48 +00:00
johnmccutchan@google.com
d9e951d5a3
Port _echo, etc commands to RPC
...
BUG=
R=turnidge@google.com
Review URL: https://codereview.chromium.org//869773007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43447 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 23:17:05 +00:00
turnidge@google.com
91afcbdfc9
Rename the get* methods in preparation for removing them.
...
Add proper caching to getObject, etc.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//892913003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43431 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 21:47:39 +00:00
johnmccutchan@google.com
9d1bb3aa6b
Port type arguments to new RPC protocol
...
R=turnidge@google.com
Review URL: https://codereview.chromium.org//887413003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43428 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 21:26:19 +00:00
turnidge@google.com
3fbbf4edc2
Support root-level json rpc requests in the vm service.
...
Add getVM and getIsolate rpcs.
Add support for Code objects to getObject.
Begin using getVM, getIsolate, and getObject in the Observatory.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//895943002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43423 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 20:31:11 +00:00
johnmccutchan@google.com
57ea35671c
Add getClassList RPC
...
BUG=
Review URL: https://codereview.chromium.org//895093002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43414 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 17:59:45 +00:00
turnidge@google.com
e65e6fab9d
Begin migrating the vm service from a rest-style interface to a json-rpc style interface.
...
BUG=
Review URL: https://codereview.chromium.org//823403004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43370 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-02 23:15:40 +00:00
johnmccutchan@google.com
19792aa4d5
Always use isolate creation callback passed to Dart_Initialize for service isolate startup
...
BUG=
R=turnidge@google.com
Review URL: https://codereview.chromium.org//891343006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43358 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-02 19:35:57 +00:00
johnmccutchan@google.com
36a1740aa5
Make service lifecycle checks thread safe
...
RunLoop tests were getting wedged trying to communicate with the vm-isolate that was shutdown before a test isolate started up. dartbug.com/22219
This CL:
* ensures that any 'is the service running' checks are done with a lock held.
* Normalizes trace messages printed from the vm-service.
Review URL: https://codereview.chromium.org//871373012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43348 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-30 22:03:18 +00:00
johnmccutchan@google.com
172baa03ff
Service isolate rework take 2
...
Review URL: https://codereview.chromium.org//889443002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43306 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 18:31:27 +00:00
johnmccutchan@google.com
db271b0477
Revert r43217, r43215, r43208, r43207, and r43202.
...
Reverting because of some isolate spawn issues (on Windows, and pub bots).
Review URL: https://codereview.chromium.org//867113003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43219 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 22:56:18 +00:00
johnmccutchan@google.com
66aa470fc6
* Create vm-service isolate at Dart_Initialize time.
...
* Remove Service create callback.
* Simplify creation of service isolate.
* Creation is done on thread pool.
* Use vm-service isolate for loading in standalone embedder.
* Remove import of dart:io from builtin library.
performance changes:
no service isolate:
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | - 0]
always start service isolate (as a thread pool task):
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:45 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:44 | 100% | +12363 | - 0]
service does I/O (calls to Dart_LoadScript block until service is running):
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | - 0]
R=asiva@google.com
Review URL: https://codereview.chromium.org//584023004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43202 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 19:45:48 +00:00
asiva@google.com
ca1c3241c4
Fix for issue 21398.
...
Accept only 'literal-like' objects when sending messages to isolates
spawned using spawnURI. Allow all objects for isolates spawned using
spawnFunction.
R=iposva@google.com
Review URL: https://codereview.chromium.org//834233003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42793 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-12 23:14:30 +00:00
koda@google.com
85907b42ae
Make helper functions static to avoid accidental collision and potentially aid optimization.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//838663003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42650 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 01:02:40 +00:00
koda@google.com
7e07dc5951
Add option to get only reference.
...
This allows quick lookups for addresses of very long lists, for instance.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//812123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42444 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-17 22:19:18 +00:00
koda@google.com
8422f331ec
Fix bugs in heapmap, binary payloads, 'address' request.
...
- Remove forbidden extra slash.
- Update binary payload parsing after type changes.
- 'address' should return a full object, not a ref.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//779103003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42169 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 18:45:57 +00:00
johnmccutchan@google.com
f216834af8
Expose set_source service command for functions
...
- Can change signatures
- Currently only works for unexecuted functions.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//751183003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42124 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-04 23:35:24 +00:00
koda@google.com
951fa0ab22
observatory: populate 'architecture' in VM, and add numerical vmId in Class.
...
Knowing the word size and having an efficient (non-String) representation for class ids is important for the upcoming heap serialization features.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//773303003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42115 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-04 19:07:32 +00:00
koda@google.com
96576ad59e
vmservice: basic object graph serialization.
...
Sends a service event with binary data encoding the basic shape of the object graph; for each object, its:
* size
* class id
* neighbors (excluding smis and nulls)
This is a minimal implementation to make the first unit test pass (TDD).
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//773573005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42070 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 19:33:09 +00:00
koda@google.com
1fbac47d9e
Write barrier audit: const raw_ptr()
...
raw_ptr() now returns a const*, and all writes within objects must be routed through a well-defined set of methods on Object.
Note: This also includes writes to non-pointer fields, to enable low-level verification of all writes. Additionally, it allows enforcing a NoGCScope around such writes to protect against moving objects.
Add a bunch of these (now required) NoGCScopes.
R=iposva@google.com
Review URL: https://codereview.chromium.org//612133004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41058 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-11 00:26:54 +00:00
johnmccutchan@google.com
435c6ad7ac
Reduce service isolate startup time from ~80ms to ~30ms
...
- Get access to dart:io internal signal listening function using API instead of mirrors.
- Service isolate can start with service deactivated.
- Load Observatory front end resources only when service activated.
- Do not execute Dart Service code until service is activated.
- Register live isolates when service is activated.
- Startup refactored to allow for future use of script snapshots.
R=asiva@google.com
Review URL: https://codereview.chromium.org//533073005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40124 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-10 22:38:33 +00:00
turnidge@google.com
8a3c490f6b
Add a new Sentinel type for sentinel responses. (They are not Null).
...
Fix some stray problems.
Silence warnings about stray GC events.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//514833003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39663 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-28 16:52:01 +00:00
rmacnak@google.com
2396c11a3c
Treat null like the object it is in the Observatory and Service.
...
BUG=http://dartbug.com/20649
R=turnidge@google.com
Review URL: https://codereview.chromium.org//501583007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39616 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 19:36:29 +00:00
johnmccutchan@google.com
3c6822fde3
- Keep track of stack base whenever Dart code is invoked.
...
- Update stack limit based on stack base.
R=asiva@google.com , turnidge@google.com
Review URL: https://codereview.chromium.org//506933002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39613 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 18:28:47 +00:00
rmacnak@google.com
bd4263bff2
Incoming references service request and UI.
...
Misses references from stack frames and embedder handles.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//483103003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39534 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-25 22:31:45 +00:00
koda@google.com
5d5deec4e6
Optional binary payloads in VM service events.
...
Allow an event to send a binary blob in addition to its JSON message.
For testing, add _Echo event type that is triggered by an _echo/event request.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//474633002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39332 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-18 15:35:03 +00:00
johnmccutchan@google.com
3299ed4a81
- Add VMMetric and some sample metrics
...
- Per isolate:
* heap.old.used
* heap.old.capacity
* heap.old.external
* heap.new.used
* heap.new.capacity
* heap.new.external
- VM:
* vm.isolate.count
- New metrics service namespace: /metrics/vm/...
R=koda@google.com
Review URL: https://codereview.chromium.org//464953002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39305 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-15 17:35:00 +00:00
koda@google.com
cc2b9ab0c4
Use function names as service IDs, rather than indices.
...
This gives more descriptive ids and removes dependency on implementation details of Class.
Special kinds of functions still use indices and oddballs still fall back to the object ring.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//466183002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39217 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-13 19:59:15 +00:00
koda@google.com
05e30d37a2
Support non-ASCII script URLs in VM service by using IRIs (generalized URIs).
...
IRIs (RFC 3987) first UTF-8-encode the string and then percent-encode each byte.
Thus, this change has no effect for ASCII strings.
BUG=dart:20472
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//466813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39145 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-12 16:33:07 +00:00
koda@google.com
6312736130
Add a new event family for GC-related events, and generate an event after each garbage collection with basic stats.
...
One reason for this is to provide a structured alternative to the ad hoc logging format of --verbose_gc, and to move some functionality currently provided by standalone one-off scripts into the observatory.
Add first unit test for events.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//434763002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39014 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 23:52:18 +00:00
rmacnak@google.com
e803f27641
Make Dart_LoadLibrary and Dart_LoadSource take line and column offsets like Dart_LoadScript.
...
BUG=http://dartbug.com/13460
R=hausner@google.com
Review URL: https://codereview.chromium.org//429013002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38801 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 21:25:23 +00:00
johnmccutchan@google.com
2e59674838
Initial backend for metrics in Observatory.
...
Two types of metrics:
* Counter - a measured value
* Gauge - A measured value with a min and max
Follow up CLs for the backend:
* Support for internal VM metrics (implemented in C++ but visible over the service).
Follow up CLs for the frontend:
* Query list of metrics
* Get latest value of a metric
* Collect values over time and graph them.
I'd like some feedback on the API and the data reported.
R=koda@google.com
Review URL: https://codereview.chromium.org//409213004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38793 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 18:27:38 +00:00
turnidge@google.com
7595f9e69e
Add breakpoints and single-stepping to Observatory.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//381383010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38654 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 23:08:47 +00:00
iposva@google.com
28c8553cb6
- Fix a lot of warnings generated by -Wshorten-64-to-32
...
when compiling for ia32 on Mac.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//415513002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38499 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-23 14:10:13 +00:00
asiva@google.com
97b903c665
Fix for issue 19817
...
- do not try to finalize classes on every Dart API call which could
potentially result in calls to dart code
- Invoke Dart_FinalizeLoading after all loads are done to ensure that
classes are finalized
R=hausner@google.com
Review URL: https://codereview.chromium.org//411633002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38471 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 20:08:15 +00:00
mlippautz@google.com
a97bafab93
vm/observatory: Clean up script access
...
Addresses issues from https://codereview.chromium.org/346003003/
BUG=
R=hausner@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org//392933003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38264 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 22:55:19 +00:00
johnmccutchan@google.com
58a4356ef6
Dartium doesn't have a library tag handler installed in the service isolate. Allow for no embedder provided library tag handler so long as no imports need to be handled.
...
Fixes part of https://code.google.com/p/dart/issues/detail?id=20049
R=asiva@google.com
Review URL: https://codereview.chromium.org//391943003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38239 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 16:33:56 +00:00
mlippautz@google.com
e0d40e8d3b
BUG=
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//376333002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38165 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-11 18:39:09 +00:00
iposva@google.com
5686b6a793
- Implement Isolate.pause and Isolate.resume.
...
- Implement a minimum Capability functionality.
R=asiva@google.com
Review URL: https://codereview.chromium.org//354763004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37982 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-03 12:56:02 +00:00
koda@google.com
655b16b2d6
Include parent field/list index in retaining path.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//350403005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37956 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-02 20:37:56 +00:00
turnidge@google.com
f849afc751
Add support for asynchronous event notification to the observatory.
...
Implement "isolate pause" notifications.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//340443006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37841 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-30 22:46:27 +00:00
mlippautz@google.com
f2db35a741
Coverage API supports proper filtering
...
(Partly) addressing concerns of https://codereview.chromium.org/346003003/
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//351373002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37793 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-27 17:51:52 +00:00
mlippautz@google.com
85ce6bffb9
Coverage data for single entities can be obtained by querying:
...
* script: isolate/id/script/name/coverage
* class: isolate/id/class/id/coverage
* library: isolate/id/library/id/coverage
Some numbers (curl on vm service):
* old base line (full coverage of dart:core + script computing faculty): ~1.2s
* generation for just the script file: ~12ms
* generation of dart:core (after executing fac script): ~150ms
* generation of dart:core-patch/array.dart: ~12ms
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//346003003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37676 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-25 00:06:53 +00:00
koda@google.com
bdab04234a
Class view: list all/sample instances on request.
...
The returned list can be filtered, etc., using its eval box.
Change VM code to only get reachable instances, using ObjectGraph.
BUG=dart:
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//351703002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37661 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-24 16:14:37 +00:00
fschneider@google.com
bd110db87a
Use range information for optimizing integer boxing and fix bug in range analysis.
...
1. When the input to a BoxInteger operation is in smi-range, we can eliminate
the range check and just perform a smi-tag operation on the input.
2. There was a bug in checking for smi-overflow for range boundaries: Calling Smi::IsValid
with a int64_t argument resulted in silent truncation of the input and therefore a wrong result.
Compiling with -Wconversion would have caught this, but currently we cannot compile with this flag
because of too many broken places.
Instead, I removed Smi::IsValid64 and created one variant Smi::IsValid that is specialized for the
input type with a template parameter. This way calling Smi::IsValid is always safe and will never
result in silent alteration of the input argument.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//353513002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37657 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-24 13:41:48 +00:00