Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(342)

Side by Side Diff: src/objects.h

Issue 1995323002: Revert of Refactor script position calculation (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@20160517_refactor_position_info
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/js/messages.js ('k') | src/objects.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_OBJECTS_H_ 5 #ifndef V8_OBJECTS_H_
6 #define V8_OBJECTS_H_ 6 #define V8_OBJECTS_H_
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 9
10 #include "src/assert-scope.h" 10 #include "src/assert-scope.h"
(...skipping 6400 matching lines...) Expand 10 before | Expand all | Expand 10 after
6411 // this through. Encoded in the 'flags' field. 6411 // this through. Encoded in the 'flags' field.
6412 inline v8::ScriptOriginOptions origin_options(); 6412 inline v8::ScriptOriginOptions origin_options();
6413 inline void set_origin_options(ScriptOriginOptions origin_options); 6413 inline void set_origin_options(ScriptOriginOptions origin_options);
6414 6414
6415 DECLARE_CAST(Script) 6415 DECLARE_CAST(Script)
6416 6416
6417 // If script source is an external string, check that the underlying 6417 // If script source is an external string, check that the underlying
6418 // resource is accessible. Otherwise, always return true. 6418 // resource is accessible. Otherwise, always return true.
6419 inline bool HasValidSource(); 6419 inline bool HasValidSource();
6420 6420
6421 // Convert code offset into column number.
6422 static int GetColumnNumber(Handle<Script> script, int code_offset);
6423
6424 // Convert code offset into (zero-based) line number.
6425 // The non-handlified version does not allocate, but may be much slower.
6426 static int GetLineNumber(Handle<Script> script, int code_offset);
6427 int GetLineNumber(int code_pos);
6428
6421 static Handle<Object> GetNameOrSourceURL(Handle<Script> script); 6429 static Handle<Object> GetNameOrSourceURL(Handle<Script> script);
6422 6430
6423 // Set eval origin for stack trace formatting. 6431 // Set eval origin for stack trace formatting.
6424 static void SetEvalOrigin(Handle<Script> script, 6432 static void SetEvalOrigin(Handle<Script> script,
6425 Handle<SharedFunctionInfo> outer, 6433 Handle<SharedFunctionInfo> outer,
6426 int eval_position); 6434 int eval_position);
6427 // Retrieve source position from where eval was called. 6435 // Retrieve source position from where eval was called.
6428 int GetEvalPosition(); 6436 int GetEvalPosition();
6429 6437
6430 // Init line_ends array with source code positions of line ends. 6438 // Init line_ends array with source code positions of line ends.
6431 static void InitLineEnds(Handle<Script> script); 6439 static void InitLineEnds(Handle<Script> script);
6432 6440
6433 // Convert code offset into column number.
6434 static int GetColumnNumber(Handle<Script> script, int code_offset);
6435
6436 // Convert code offset into (zero-based) line number.
6437 // The non-handlified version does not allocate, but may be much slower.
6438 static int GetLineNumber(Handle<Script> script, int code_offset);
6439 int GetLineNumber(int code_pos);
6440
6441 // Carries information about a source position.
6442 struct PositionInfo {
6443 PositionInfo() : line(-1), column(-1), line_start(-1), line_end(-1) {}
6444
6445 int line; // Zero-based line number.
6446 int column; // Zero-based column number.
6447 int line_start; // Position of first character in line.
6448 int line_end; // Position of last (non-linebreak) character in line.
6449 };
6450
6451 // Specifies whether to add offsets to position infos.
6452 enum OffsetFlag { NO_OFFSET = 0, WITH_OFFSET = 1 };
6453
6454 // Retrieves information about the given position, optionally with an offset.
6455 // Returns false on failure, and otherwise writes into the given info object
6456 // on success.
6457 bool GetPositionInfo(int position, PositionInfo* info,
6458 OffsetFlag offset_flag);
6459
6460 // Get the JS object wrapping the given script; create it if none exists. 6441 // Get the JS object wrapping the given script; create it if none exists.
6461 static Handle<JSObject> GetWrapper(Handle<Script> script); 6442 static Handle<JSObject> GetWrapper(Handle<Script> script);
6462 6443
6463 // Look through the list of existing shared function infos to find one 6444 // Look through the list of existing shared function infos to find one
6464 // that matches the function literal. Return empty handle if not found. 6445 // that matches the function literal. Return empty handle if not found.
6465 MaybeHandle<SharedFunctionInfo> FindSharedFunctionInfo(FunctionLiteral* fun); 6446 MaybeHandle<SharedFunctionInfo> FindSharedFunctionInfo(FunctionLiteral* fun);
6466 6447
6467 // Iterate over all script objects on the heap. 6448 // Iterate over all script objects on the heap.
6468 class Iterator { 6449 class Iterator {
6469 public: 6450 public:
(...skipping 4298 matching lines...) Expand 10 before | Expand all | Expand 10 after
10768 } 10749 }
10769 return value; 10750 return value;
10770 } 10751 }
10771 }; 10752 };
10772 10753
10773 10754
10774 } // NOLINT, false-positive due to second-order macros. 10755 } // NOLINT, false-positive due to second-order macros.
10775 } // NOLINT, false-positive due to second-order macros. 10756 } // NOLINT, false-positive due to second-order macros.
10776 10757
10777 #endif // V8_OBJECTS_H_ 10758 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/js/messages.js ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698