From 509e8b512fb0c18f5ec77690da11b04200aa389d Mon Sep 17 00:00:00 2001 From: gingerBill Date: Mon, 22 Jun 2020 15:53:16 +0100 Subject: [PATCH] Add `time.read_cycle_counter` --- build.bat | 14 ++++++++++---- core/time/time.odin | 8 ++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/build.bat b/build.bat index f39e8cbac..27cec4ea1 100644 --- a/build.bat +++ b/build.bat @@ -9,7 +9,7 @@ if "%1" == "1" ( ) else if "%1" == "release" ( set release_mode=1 ) else ( - set release_mode=0 + set release_mode=1 ) set compiler_flags= -nologo -Oi -TP -fp:precise -Gm- -MP -FC -EHsc- -GR- -GF @@ -49,9 +49,15 @@ set linker_settings=%libs% %linker_flags% del *.pdb > NUL 2> NUL del *.ilk > NUL 2> NUL -cl %compiler_settings% "src\main.cpp" ^ - /link %linker_settings% -OUT:%exe_name% ^ - && odin run examples/demo/demo.odin +rem cl %compiler_settings% "src\main.cpp" ^ +rem /link %linker_settings% -OUT:%exe_name% ^ +rem && odin run examples/demo/demo.odin -llvm-api -vet +rem odin build examples/wasm.odin -llvm-api -target:wasm32 -keep-temp-files +rem odin run generate-wasm.odin +rem odin build examples/threading -llvm-api -target:darwin_amd64 +odin run examples/threading -llvm-api + + if %errorlevel% neq 0 ( goto end_of_build ) diff --git a/core/time/time.odin b/core/time/time.odin index 6500d7c93..46f18f89a 100644 --- a/core/time/time.odin +++ b/core/time/time.odin @@ -124,6 +124,14 @@ clock :: proc(t: Time) -> (hour, min, sec: int) { } +read_cycle_counter :: proc() -> u64 { + foreign _ { + @(link_name="llvm.readcyclecounter") + llvm_readcyclecounter :: proc "none" () -> u64 --- + } + return llvm_readcyclecounter(); +} +