Commit Graph

119 Commits

Author SHA1 Message Date
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